![]() | |
Расширение имени файла | .AppImage |
---|---|
Магическое число | 41 49 02 (3 байта в шестнадцатеричном формате со смещения 8) |
Разработано | Саймон Питер |
Первоначальный выпуск | 2004 ( 2004 ) |
Последний релиз | V13. 31 декабря 2020 г. ( 2020-12-31 ) |
Контейнер для | Установка программного обеспечения |
Открытый формат ? | Да |
Свободный формат ? | Да |
Веб-сайт | appimage.org |
AppImage (ранее известный как klik и PortableLinuxApps ) — это формат с открытым исходным кодом для распространения портативного программного обеспечения в Linux . Он направлен на то, чтобы разрешить установку двоичного программного обеспечения независимо от конкретных дистрибутивов Linux , концепция, часто называемая upstream- упаковкой. В результате один AppImage может быть установлен и запущен в различных дистрибутивах GNU /Linux без необходимости использования различных файлов. Он направлен на то, чтобы быть форматом, который является самодостаточным, без рута и независимым от базового дистрибутива Linux. [1]
Впервые выпущенный в 2004 году под названием klik, он постоянно развивался, затем в 2011 году был переименован в PortableLinuxApps, а затем в 2013 году в AppImage. Версия 2 была выпущена в 2016 году.
Предшественник AppImage, klik, был разработан в 2004 году Саймоном Питером. [2] Клиентское программное обеспечение лицензировано по GNU GPL . klik интегрировано с веб-браузерами на компьютере пользователя. Пользователи загружали и устанавливали программное обеспечение, вводя URL, начинающийся с klik://
. Это загружало файл «рецепта» klik, который использовался для генерации файла .cmg . Для основных ингредиентов в процесс генерации рецепта обычно подавались предварительно собранные пакеты .deb из репозиториев Debian Stable. Таким образом, один рецепт мог использоваться для поставки пакетов на самые разные платформы. С klik одновременно можно было запустить только восемь программ из-за ограничения монтирования сжатых образов с ядром Linux , если не использовался FUSE . Файл перемонтировался каждый раз при запуске программы, то есть пользователь мог полностью удалить программу, просто удалив файл. Следующая версия, klik2, находилась в разработке и изначально включала модуль ядра FUSE, но она так и не вышла за рамки бета-стадии. [3] Примерно в 2011 году проект klik затих, а сайт перестал работать. [4]
Саймон Питер начал проект-преемник под названием PortableLinuxApps с похожими целями примерно в то же время. [5] Технология была принята, например, репозиторием "portablelinuxgames.org", который предоставлял сотни в основном открытых видеоигр . [6]
Около 2013 года программное обеспечение снова переименовали из portableLinuxApps в AppImage; лицензия стала лицензией MIT . AppImage — это формат, а AppImageKit — это конкретная реализация с открытым исходным кодом. Разработка происходит в репозитории GitHub . [7]
В 2016 году была разработана версия 2 спецификации AppImage. Версия 2 не имеет ограничений по типу файловой системы (черновая реализация использовала SquashFS ). [8] [9] Она удаляет фиксированное смещение начала образа файловой системы в файле и позволяет встраивать цифровые подписи непосредственно в AppImage, а не в отдельный файл.
AppImage стремится стать системой развертывания приложений для Linux со следующими целями: простота, двоичная совместимость , переносимость , независимость от дистрибутивов , отсутствие установки , отсутствие прав root и сохранение базовой операционной системы нетронутой. [10] Из-за этого AppImage не устанавливает программное обеспечение, размещая исполняемые файлы в различных местах. Вместо этого файл сам по себе является образом единой файловой системы . При запуске файл монтируется с помощью FUSE . AppImage разработан так, чтобы быть более простым в использовании, чем традиционные форматы установщиков, такие как Deb и RPM , поскольку не нужно изменять операционную систему или пользовательскую среду.
Каждый файл является самодостаточным; он включает все библиотеки, от которых зависит приложение , которые еще не являются частью целевой системы. Версия 1.0 AppImage — это файл ISO 9660 Rock Ridge (который может быть опционально сжат с помощью zisofs), содержащий минимальный AppDir и среду выполнения . [11]
AppImage позволяет встраивать цифровые подписи, которые должны быть проверены извне. Формат не требует проверки подписей, а только то, что они могут быть включены. [12] AppImage не принуждает к изоляции , но это может быть сделано некоторыми приложениями. [13]
В 2007 году Klik послужил источником вдохновения для проекта Glick Александра Ларссона, предшественника Flatpak . [14]
В 2015 году Линус Торвальдс , создатель ядра Linux , сказал, что «[т]оно просто очень крутое. Я наконец-то добрался до версии Subsurface для AppImage , и она, похоже, действительно «просто работает». [15] Марк Шаттлворт заявил, что «AppImages — это довольно чистый опыт, и я восхищаюсь работой, стоящей за ними». [16]