В операционной системе Windows мы довольно часто используем портативные программы. Это программы которые не требуют установки, сохраняют конфигурационные файлы при себе и запускаются независимо от установленных в системе компонентов. Их возможности могут быть очень полезны при создании флешек восстановления, тестирования нового программного обеспечения или просто установки новых программ, которых пока еще нет в репозиториях.

Для Linux был придуман формат портативных программ AppImage. Одна программа состоит из одного файла образа, в котором находятся все необходимые для ее работы библиотеки, конфиги и сама программа. Конфигурация сохраняется по прежнему в домашней папке пользователя. В этой статье мы рассмотрим как запустить и установить AppImage в Linux.

Что такое AppImage?

Фактически программа AppImage представляет собой ISO образ, содержащий всё необходимое для запуска программы, упакованный специальным способом со включённым битом исполняемости. Для запуска программ не нужно ничего устанавливать достаточно скачать образ, сделать его исполняемой и запускать. А благодаря тому, что все библиотеки находятся внутри образа, программу можно использовать в большинстве дистрибутивов Linux. Также такой способ подходит для запуска тестовых программ, которые требуют особые зависимости, но вы можете не засорять систему и просто скачать программу одним файлом.

Многие разработчики начали использовать AppImage для своих приложений потому что это удобно и больше нет необходимости создавать отдельные пакеты приложений для каждого дистрибутива.

Где взять AppImage?

На официальном сайте AppImage есть список программ, распространяемых таким образом. Небольшую коллекцию программ AppImage можно найти на этом сайте. Здесь находятся программы собранные их разработчиками и сторонними пользователями. Здесь есть популярные браузеры, медиаплееры и текстовые редакторы и другие утилиты:

Как установить AppImage

На сайте есть поиск, поэтому вы можете попытаться найти нужную программу:

Как установить AppImage

Чтобы скачать программу, вам нужно перейти на вкладку Files, затем выбрать подходящую версию и просто кликнуть по ней.

Как установить AppImage

Но не только здесь можно найти программы в формате AppImage, некоторые разработчики сами распространяют свои продукты в этом формате, например известный видеоредактор OpenShot и многие другие.

Как запустить и установить AppImage?

После окончания загрузки файла AppImage осталось сделать файл исполняемым. Чтобы сделать это в терминале, например, для Firefox, выполните:

Аналогично можно всё сделать через графический интерфейс, откройте контекстное меню для файла, выберите Свойства, а затем на вкладке Права установите флажок напротив Разрешить выполнение файла как программы:

Как установить AppImage

И можно запускать выполнение:

Как видите, программа полностью работает, и теперь её можно записать на флешку и пробовать в другом дистрибутиве.

Как установить AppImage

Поскольку AppImage – это портативные программы многих интересует, как их всё таки установить в систему чтобы программой было удобно пользоваться. Файлы AppImage можно разместить в папках

/bin/, а затем просто создать ярлык для удобного запуска. Разместить его можно в

/.local/share/applications/, это папка в которой находятся локальные ярлыки пользователя. Например для Firefox в папке

/bin/ ярлык будет выглядеть так:

[Desktop Entry]
Version=1.0
Name=Firefox
Comment=Start AppImage Firefox Browser
Exec=

/bin/Firefox-x86_64-20200413141725.AppImage
Icon=/usr/share/icons/hicolor/128×128/apps/firefox.png
Terminal=false
Type=Application

Для создания ярлыков в графическом интерфейсе вы можете использовать пакет gnome-panel и утилиту gnome-desktop-item-edit.

Выводы

Портативные программы Linux – это очень спорная технология. С одной стороны это очень удобно, потому что можно распространять софт поддерживаемый любым дистрибутивом, решается проблема с зависимостями, но с другой, такой способ распространения программ может повлечь за собой увеличение количества вирусов для Linux, ведь минимальное распространение вирусов обусловлено тем, что все программы устанавливаются из небольшого количества надежных и хорошо проверенных источников. А как вы считаете? Нужны ли Portable программы в Linux? Будете ими пользоваться? Напишите в комментариях!

Вы пропустили

AEGIS Algorithms Android Angular Apache Airflow Apache Druid Apache Flink Apache Spark API API Canvas AppSec Architecture Artificial Intelligence Astro Authentication Authorization AutoGPT AWS AWS Aurora AWS Boto3 AWS EC2 AWS Lambda Azure Babylon.js Backend bash Beautiful Soup Bento UI Big Data Binary Tree Browser API Bun Career Cassandra Charts ChatGPT Chrome Extension Clean Code CLI ClickHouse Coding Codux Combine Compose Computer Context Fusion Copilot Cosmo Route CProgramming cron Cryptography CSS CTF Cypress DALL-E Data Analysis Data science Database dbt dbt Cloud deno Design Design Patterns Detekt Development Distributed Systems Django Docker Docker Hub Drizzle DRY DuckDB Express FastAPI Flask Flutter For Beginners Front End Development Game Development GCN GCP Geospatial Git GitHub Actions GitHub Pages Gitlab GMS GoFr Golang Google Google Sheets Google Wire GPT-3 GPT3 Gradio Gradle Grafana Graphic Design GraphQL gRPC Guidance HMS Hotwire HTML Huawei HuggingFace IndexedDB InfoSec Interview iOS Jackknife Java JavaScript Jetpack Compose JSON Kafka Kotlin Kubernetes LangChain Laravel Linux LlaMA LLM localStorage Logging Machine Learning Magento Math Mermaid Micro Frontends Mobile Mobile App Development mondayDB MongoDB Mongoose MySQL Naming NestJS NET NetMock Networks NextJS NLP Node.js Nodejs NoSQL NPM OOP OpenAI OTP Pandas PDF PHP Playwright Plotly Polars PostgreSQL Prefect Productivity Programming Prometheus Puppeteer Pushover Python Pytorch Quarkus Rabbitmq RAG Ramda Raspberry Pi React React Native Reactor Redis REST API Revolut Riverpod RProgramming Ruby Ruby on Rails Rust Scalene SCDB ScyllaDB Selenium Servers Sklearn SLO SnowFlake Snowkase Software Architecture Software Development Solara Solid Spring Boot SQL SQLite Streamlit SudoLang Supabase Swift SwiftUI Tailwind CSS Taipy Terraform Testing Transformers TURN TypeScript Ubuntu UI Design Unix UX UX Design Vim Vite VSCode Vue Web Architecture Web Components Web Development Web Frameworks Web Scraping Web-разработка Webassembly Websocket Whisper Widgets WordPress YAML YouTube Zed Наука о данных Разное Тренды

Современный подход к разработке с использованием Next.js