Кіріспе

Linux орындалатын файл форматы

AppImage (бұрын klik және PortableLinuxApps деп белгілі болған) – Linux жүйесінде портативті бағдарламалық құралдарды таратуға арналған ашық кодты формат. Оның мақсаты – бинарлық бағдарламалық құралдарды нақты Linux дистрибутивтеріне тәуелсіз орнатуға мүмкіндік беру, бұл көбінесе бастапқы қаптама деп аталады. Осының нәтижесінде, бір AppImage Ubuntu, Arch Linux және Red Hat Enterprise Linux жүйелерінде әртүрлі файлдарды қолданбастан орнатылып, жұмыс істеуі мүмкін. Ол өзіне-өзі жететін, root құқығын қажет етпейтін және негізгі Linux дистрибутивінен тәуелсіз формат болуға тырысады. Алғаш рет 2004 жылы klik деген атпен шығарылған, содан бері үздіксіз дамытылып, 2011 жылы PortableLinuxApps, ал 2013 жылы AppImage деп қайта аталды. 2-ші нұсқасы 2016 жылы жарық көрді.

Тарих

AppImage-дің алдыңғы нұсқасы klik 2004 жылы Саймон Питер жасаған. Клиенттік бағдарламалық қамтамасыз ету GNU GPL лицензиясымен лицензияланған. klik пайдаланушының компьютеріндегі веб-браузерлермен үйлесімді болды. Пайдаланушылар бағдарламаны жүктеу және орнату үшін klik:// деп басталатын URL-ді енгізе алды. Бұл klik "рецептісін" жүктеді, ол cmg файлын жасау үшін қолданылды. Рецепт жасау процесіне негізгі компоненттер ретінде Debian Stable репозиторийлерінен алдын ала құрастырылған deb пакеттері енгізілді. Осылайша, бір рецепт әртүрлі платформаларға пакеттерді жеткізу үшін пайдаланылуы мүмкін. Linux ядросының қысылған бейнелерді орнату шектеулеріне байланысты, FUSE қолданылмаса, klik көмегімен бір уақытта сегіз бағдарламаны ғана іске асыруға болады. Файл бағдарлама іске қосылған сайын қайта орнатылды, яғни пайдаланушы бағдарламаны файлды жою арқылы толығымен алып тастауға мүмкіндік алды. Келесі нұсқасы, klik2, әзірленуде болды және FUSE ядролық модулін енгізуі тиіс еді, бірақ ол ешқашан бета-тестілеуден өте алмады. 2011 жылға қарай klik жобасы тоқтап, веб-сайты қолжетімсіз болды. Сол шамада Саймон Питер ұқсас мақсаттармен PortableLinuxApps деп аталатын жаңа жобаны бастады. Технология, мысалы, "portablelinuxgames.org" репозиторийімен қабылданып, жүздеген ашық кодты бейне ойындарды ұсынды. 2013 жылға қарай бағдарламалық қамтамасыз ету тағы бір рет portableLinuxApps-тан AppImage-ке өзгертілді, ал лицензия MIT лицензиясына ауыстырылды. AppImage – бұл формат, ал AppImageKit – нақты ашық кодты іске асыру. Әзірлеме GitHub репозиторийінде жүргізіледі. 2016 жылы AppImage спецификациясының 2-ші нұсқасы жасалды. 2-ші нұсқа файлдық жүйе түріне шектеу қоймайды (жобалық нұсқада SquashFS қолданылған). Бұл файлдағы файлдық жүйе бейнесі басталатын орны үшін белгіленген офсетті жояды және жеке файл ретінде емес, AppImage-ке тікелей енгізілген цифрлық қолтаңбаларды қосуға мүмкіндік береді.

Дизайн

AppImage – Linux үшін келесі мақсаттармен қолданбаларды тарату жүйесі болуға тырысады: қарапайымдық, бинарлық үйлесімділік, тасымалданатындық, дистрибутивке тәуелсіздік, орнату қажеттілігінің жоқтығы, root рұқсатының қажеттілігінің жоқтығы және негізгі операциялық жүйені өзгеріссіз сақтау. Осы себепті, AppImage әртүрлі жерлерге орындалатын файлдарды орналастыру арқылы бағдарламалық жасақтаманы орнатпайды. Оның орнына, файл өзі жеке файлдық жүйе бейнесі болып табылады. Іске қосылғанда, файл FUSE арқылы орнатылады. AppImage, Deb және RPM сияқты дәстүрлі орнату форматтарына қарағанда пайдалануға оңай болу үшін жасалған, себебі операциялық жүйені немесе пайдаланушы ортасын өзгертудің қажеті жоқ. Әрбір файл өздігінен жеке болып табылады; ол қолданбаға қажетті, бірақ мақсатты жүйеде жоқ барлық кітапханаларды қамтиды. 1.0 нұсқасы AppImage – бұл ISO 9660 Rock Ridge файлы (оны zisofs арқылы шартты түрде сығуға болады), минималды AppDir және орындалу уақытын қамтиды. AppImage сыртқы тексеруді қажет ететін цифрлық қолтаңбаларды қосуға мүмкіндік береді. Формат қолтаңбаларды міндетті түрде тексеруді талап етпейді, тек оларды қосуға рұқсат береді. AppImage құмдық ортаны (sandboxing) міндетті түрде қолданбайды, бірақ кейбір қолданбалар оны қолдануы мүмкін.

Қабылдау және пайдалану

2007 жылы Klik Александр Ларссонның Flatpak-тың алғысы болған glick жобасына әсер етті. 2015 жылы Linux ядросын жасаған Линус Торвальдс: «Бұл керемет! Мен Subsurface-тің "AppImage" нұсқасымен танысып, ол шынымен "жұмыс істейтінін" көрдім» деді. Марк Шаттлворт «AppImage өте ыңғайлы және оның артындағы еңбекке ризамын» деп мәлімдеді.