AppImage — формат для распространения переносимых приложений для Linux. Также пытается создать среду развёртывания дистрибутиво-независимых бинарных файлов, которая названа Upstream. Впервые представлен как klik в 2004, в 2011 переименованный в PortableLinuxApps и в 2013, окончательно, в AppImage.

Описание

Цели AppImage стремится стать системой запуска приложений для Linux со следующими целями: простота, двоичная совместимость, независимость от дистрибутива, запуск без установки, запуск без прав суперпользователя, переносимость и сохранение операционной системы нетронутой.

Свойства AppImage не подразумевает под собой установку в привычном смысле этого слова. AppImage не размещает файлы приложения по системным папкам, а использует один сжатый файл. При запуске файла, он монтируется под FUSE. Это поведение сохранялось с самого начала существования проекта, и ранее использовалось в klik и PortableLinuxApps.

Каждое приложение самодостаточно: оно включает в себя все библиотеки, от которых зависит приложение. Стандарт AppImage 1.0 представлял собой ISO-образ стандарта Rock Ridge (zisofs), включая в себя минимальный и небольшую библиотеку среды выполнения. Вторая версия может использовать другие файловые системы, такие как SquashFS.

История

klik

Изначально AppImage предшествовал klik, разработанный в 2004 году Симоном Питером Приложение на клиентской стороне было лицензировано по GPL. klik интегрировался в браузер, пользователи могли скачивать и устанавливать приложение, просто введя ссылку, начинающуюся с klik://. Это действие запускало процесс загрузки «рецепта» — файла, который помогал генерировать файл формата .cmg. В основном для генерации использовались файлы формата .deb из репозитория Debian Stable, таким образом достигалось покрытие большинства платформ при использовании одного файла-«рецепта». klik умел запускать не более 8 программ одновременно, так как существовало ограничение ядра Linux, не дававшее подключать более 8 образов одновременно. Обойти такое ограничение можно было, используя FUSE. Образы переподключались при каждом запуске, не оставляя за собой ничего, поэтому удалить программу можно было всего лишь удалив файл .cmg. Вторая версия klik была призвана исправить проблему множественных подключений, но не вышла даже из стадии бета. К 2011 году проект был заморожен и домашняя страница ушла в офлайн.

PortableLinuxApps Симон Питер запустил проект PortableLinuxApps, преследуя похожие цели: Технология была адаптирована для существующего проекта portablelinuxgames.org, где хранились игры для Linux с открытыми исходными кодами.

AppImage Около 2013 года продукт было решено переименовать в AppImage и изменить лицензию на MIT. Формат и спецификация теперь имеют конкретную реализацию, которая выложена в открытый доступ.

Влияние В 2007 году klik повлиял на Александра Ларссона , создавшего проект glick — предшественника flatpak, выпущенного в 2016.

Примеры приложений  — Линус Торвальдс в 2015 применил AppImage для перевода Subsurface в режим переносимого приложения (см. с 6:28). MuseScore — с апреля 2016 года выпускается в виде AppImage-образа. Krita — с версии 3.0 также имеет версии AppImage. digiKam — открытое приложение для управления фотографиями тоже имеет сборки в AppImage с версии 5.3. OpenShot — Брайан Люндюк позитивно отметил выпуск OpenShot в виде AppImage. LMMS — цифровая звуковая рабочая станция с открытым исходным кодом тоже начала использовать AppImage с версии 1.2.0-RC5. RPCS3 — популярный эмулятор PS3 для Linux, распространяется через AppImage. FreeCAD — параметрическая САПР общего назначения с открытым исходным кодом, использует AppImage в качестве основной двоичной загрузки для Linux. OpenSCAD — ещё одна параметрическая САПР общего назначения с открытым исходным кодом, также использует AppImage в качестве опции бинарной загрузки Linux. OpenRGB — приложение с открытым исходным кодом для управления RGB-подсветкой в ПК (в том числе подсветкой, оперативной памяти, видеокарт, подсветки систем охлаждения и подключенных периферийных устройств (клавиатура, мышь) и RGB-лентами подключенными к материнской плате), которое не зависит от программного обеспечения производителя и поддерживает Windows и Linux. Linphone — клиент IP-телефонии.

См. также

Snappy Flatpak

Репозиторий клиента klik на Google Code

Примечания

Категория:Распространение программного обеспечения Категория:Программное обеспечение с лицензией MIT