AppImage
AppImage — формат для распространения переносимых приложений для Linux. Также пытается создать среду развёртывания дистрибутиво-независимых бинарных файлов, которая названа Upstream. Впервые представлен как klik в 2004[2][3][4], в 2011 переименованный в PortableLinuxApps и в 2013, окончательно, в AppImage.
Что важно знать
| AppImage | |
|---|---|
| Тип | свободное и открытое программное обеспечение и формат файла |
| Написана на | Си |
| Операционная система | Linux |
| Первый выпуск | 2004 |
| Последняя версия |
|
| Репозиторий | github.com/AppImage/AppI… |
| Лицензия | лицензия MIT |
| Сайт | appimage.org |
Описание
AppImage стремится стать системой запуска приложений для Linux со следующими целями: простота, двоичная совместимость, независимость от дистрибутива, запуск без установки, запуск без прав суперпользователя, переносимость и сохранение операционной системы нетронутой.
AppImage не подразумевает под собой установку в привычном смысле этого слова. AppImage не размещает файлы приложения по системным папкам, а использует один сжатый файл. При запуске файла, он монтируется под FUSE. Это поведение сохранялось с самого начала существования проекта, и ранее использовалось в klik и PortableLinuxApps.
Каждое приложение самодостаточно: оно включает в себя все библиотеки, от которых зависит приложение. Стандарт AppImage 1.0 представлял собой ISO-образ стандарта Rock Ridge (zisofs), включая в себя минимальный AppDir[5] и небольшую библиотеку среды выполнения. Вторая версия может использовать другие файловые системы, такие как SquashFS[6].
История
Изначально AppImage предшествовал klik, разработанный в 2004 году Симоном Питером (англ. Simon Peter)[7] Приложение на клиентской стороне было лицензировано по GPL. klik интегрировался в браузер, пользователи могли скачивать и устанавливать приложение, просто введя ссылку, начинающуюся с klik://. Это действие запускало процесс загрузки «рецепта» — файла, который помогал генерировать файл формата .cmg. В основном для генерации использовались файлы формата .deb из репозитория Debian Stable, таким образом достигалось покрытие большинства платформ при использовании одного файла-«рецепта». klik умел запускать не более 8 программ одновременно, так как существовало ограничение ядра Linux, не дававшее подключать более 8 образов одновременно. Обойти такое ограничение можно было, используя FUSE. Образы переподключались при каждом запуске, не оставляя за собой ничего, поэтому удалить программу можно было всего лишь удалив файл .cmg. Вторая версия klik была призвана исправить проблему множественных подключений, но не вышла даже из стадии бета. К 2011 году проект был заморожен и домашняя страница ушла в офлайн.
Симон Питер запустил проект PortableLinuxApps, преследуя похожие цели:[8]
| The AppImage format has been created with specific objectives in mind: Be Simple [...], Maintain binary compatibility [...], Be distribution-agnostic [...], Remove the need for installation [...], Allow to put apps anywhere [...], Do not require recompilation [...], Keep base operating system untouched [...], Do not require root [...] | Формат AppImage был создан с такими спецификациями: быть простым […], совместимость бинарников […], быть дистрибутиво-независимым […], удалить все зависимости после завершения […], позволять запускать файлы в любом месте […], не требовать перекомпиляции для сборки […], сохранять операционную систему нетронутой […], не требовать прав суперпользователя […] | |||
AppImageKit
| ||||
Технология была адаптирована для существующего проекта portablelinuxgames.org, где хранились игры для Linux с открытыми исходными кодами.
Около 2013 года продукт было решено переименовать в AppImage и изменить лицензию на MIT. Формат и спецификация теперь имеют конкретную реализацию, которая выложена в открытый доступ[9].
Влияние
Примеры приложений
- Subsurface — Линус Торвальдс в 2015 применил AppImage для перевода Subsurface в режим переносимого приложения[11][12].
- MuseScore — с апреля 2016 года выпускается в виде AppImage-образа[13].
- Krita — с версии 3.0 также имеет версии AppImage[14].
- digiKam — открытое приложение для управления фотографиями тоже имеет сборки в AppImage с версии 5.3.[15]
- OpenShot — Брайан Люндюк (англ. Bryan Lunduke) позитивно отметил выпуск OpenShot в виде AppImage[16].
- LMMS — цифровая звуковая рабочая станция с открытым исходным кодом тоже начала использовать AppImage с версии 1.2.0-RC5[17].
- RPCS3 — популярный эмулятор PS3 для Linux, распространяется через AppImage.
- FreeCAD — параметрическая САПР общего назначения с открытым исходным кодом, использует AppImage в качестве основной двоичной загрузки для Linux[18].
- OpenSCAD — ещё одна параметрическая САПР общего назначения с открытым исходным кодом, также использует AppImage в качестве опции бинарной загрузки Linux[19].
- OpenRGB — приложение с открытым исходным кодом для управления RGB-подсветкой в ПК (в том числе подсветкой, оперативной памяти, видеокарт, подсветки систем охлаждения и подключенных периферийных устройств (клавиатура, мышь) и RGB-лентами подключенными к материнской плате), которое не зависит от программного обеспечения производителя и поддерживает Windows и Linux[20].
- Linphone — клиент IP-телефонии.



