AppImage, uygulamayı yüklemek için superuser izinlerine ihtiyaç duymadan taşınabiliryazılımıLinux üzerinde dağıtmak için kullanılan bir biçimdir.[2] Ayrıca "upstream paketleme" olarak da bilinen, uygulama geliştiricileri için Linux dağıtımından bağımsız ikili yazılım dağıtımına izin vermeye çalışır.[3] İlk olarak 2004'te klik adı altında piyasaya sürüldü, sürekli geliştirildi, ardından 2011'de PortableLinuxApps ve daha sonra 2013'te AppImage olarak yeniden adlandırıldı.
Tanım
Hedef
AppImage, Linux için şu hedeflere sahip bir uygulama dağıtım sistemi olmayı amaçlamaktadır: basitlik, ikili uyumluluk, dağıtımdan bağımsız, kurulumsuz, kök izni istememe, taşınabilir olma ve temel işletim sistemine dokunulmama.[4]
Özellikler
AppImage, uygulamayı geleneksel Linux mantığı ile yüklemez. Uygulamanın çeşitli dosyalarını dosya sistemindeki dağıtımın uygun yerlerine koymaz. Bunun yerine AppImage dosyası yalnızca uygulamanın sıkıştırılmış görüntüsüdür. Çalıştığında, dosya FUSE ile bağlanır. Bu davranış, AppImage'ın öncülleri olan klik ve PortableLinuxApps ile uyumludur.
Uygulama başına bir dosya kullanır. Her dosya bağımsızdır: uygulamanın bağlı olduğu ve hedeflenen temel sistemin parçası olmayan tüm kütüphaneleri içerir. 1.0 sürümünün bir AppImage'ı, minimum bir AppDir ve küçük bir çalışma zamanı içeren bir ISO 9660Rock Ridge dosyasıdır (isteğe bağlı olarak zisofs sıkıştırılabilir).[5] (Sürüm 2, SquashFS [6][7] gibi diğer dosya sistemi görüntü formatlarını kullanabilir). Canlı CD'ye yalnızca bir dosya eklenerek canlı CD'ye bir AppImage uygulaması eklenebilir.
AppImage dosyaları bir uygulama yüklemekten daha basittir. Çıkarma araçlarına veya işletim sistemini veya kullanıcı ortamını değiştirmeye gerek yoktur. Ortak Linux dağıtımlarındaki normal kullanıcılar indirebilir, çalıştırılabilir hale getirebilir ve çalıştırabilir.
AppImage, harici bir yardımcı programla doğrulanması gereken gömülü dijital imza oluşturulmasına izin verir. Biçim, paket orijinalliği doğrulaması veya korumalı alan yoluyla çalışma zamanı sınırlaması ile kendi kendine kontrol biçimi sunmaz.[8]
Geçmiş
klik
AppImage'ın öncülü klik, 2004 yılında Simon Peter tarafından tasarlandı.[9] İstemci tarafı yazılımı GPL lisanslıdır. klik, kullanıcının bilgisayarındaki web tarayıcıları ile entegredir. Kullanıcılar, klik:// ile başlayan bir URL yazarak yazılımı indirip yükleyebilir. Bu, bir .cmg dosyası oluşturmak için kullanılan bir klik "recipe" dosyası indirdi. Ana bileşenler için, genellikle Debian Stable depolarından önceden oluşturulmuş .deb paketleri, recipe'nin .cmg oluşturma sürecine beslenir. Bu şekilde, çok çeşitli platformlara paket tedarik etmek için tek bir tarif kullanılabilir. klik ile, FUSE kullanılmadığı sürece, sıkıştırılmış görüntülerin Linux çekirdeği ile monte edilmesinin sınırlaması nedeniyle aynı anda yalnızca sekiz program çalıştırılabilir. Dosya, program her çalıştırıldığında yeniden bağlanır; bu, kullanıcının .cmg dosyasını silerek programı kaldırabileceği anlamına gelir. Bir sonraki sürüm olan klik2 geliştirilmekteydi; ve FUSE çekirdek modülünü doğal olarak dahil edecekti, ancak hiçbir zaman beta aşamasını geçmedi.[10] 2011 civarında, klik projesinin faaliyeti durdu ve ana sayfa bir süre çevrimdışı kaldı.[11]
PortableLinuxApps
Simon Peter, o sıralarda benzer hedeflere sahip PortableLinuxApps adlı bir ardıl projeye başladı.[3] Teknoloji, örneğin, çoğunlukla açık kaynaklı yüzlerce video oyunu sağlayan "portablelinuxgames.org" deposu tarafından uyarlandı.[12]
AppImage
2013 civarında, yazılım yeniden taşınabilirLinuxApps'ten AppImage olarak yeniden adlandırıldı; lisansı MIT lisansı oldu. AppImage biçimidir ve AppImageKit somut bir açık kaynak uygulamasıdır. Geliştirme bir GitHub deposunda gerçekleşir.[13]
Tepkiler ve kullanım
Klik, 2016 yılında piyasaya sürülen Flatpak'ın öncüsü olan Alexander Larsson'ın glick projesine 2007 yılında ilham kaynağı olmuştur.[14]
Linus Torvalds'ın dive log uygulaması Subsurface, AppImage'ı 2015 yılı civarında kullanmaya başladı. Subsurface'in geleneksel ambalajı, çeşitli Linux dağıtımlarının Linux kullanıcıları için ikili yazılım dağıtımının sorunlu olduğu ortaya çıktığından, taşınabilir, dağıtımdan bağımsız bir AppImage olarak değiştirildi.[15][16][17]
MuseScore, tüm Linux çeşitleri için yazılım dağıtımı için AppImage yapılarını kullanmaya Nisan 2016'da başladı.[18]
Açık kaynaklı bir fotoğraf yönetimi uygulaması olan digiKam, ayrıca Kasım 2016'da yayınlanan 5.3.0 sürümünden bir AppImage paketi içermektedir.[21]
Network World'den Bryan Lunduke, 31 Mart 2017'de OpenShot'ın AppImage ile Linux dağıtımından bağımsız paketlenmesine olumlu bir şekilde dikkat çekti.[22]
^ab"AppImageKit Documentation 1.0"(PDF). PortableLinuxApps.org. 2010. ss. 2-3. 29 Kasım 2010 tarihinde kaynağından(PDF) arşivlendi. Erişim tarihi: 29 Temmuz 2011. 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 [...]Yazar |ad1= eksik |soyadı1= (yardım)
^Linus Torvalds (29 Ağustos 2014). "Q&A with Linus Torvalds"(video). DebConf 2014 Portland. debian.net. 18 Mart 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Mayıs 2016. I have seen this first hand with the other project I'm involved with, which is my dive log app. We make binaries for Windows and OSX, we basically don't make binaries for Linux. Why? Because making binaries for Linux desktop applications is a major fucking pain in the ass.
^"This is just very cool". Google+. 14 Eylül 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2022. I finally got around to play with the "AppImage" version of +Subsurface, and it really does seem to "just work".Yazar |ad1= eksik |soyadı1= (yardım)
^"This is just very cool". Google+. 25 Kasım 2015. 14 Eylül 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2022. I, as the app maintainer, don't want my app bundled in a distribution anymore. Way to much pain for absolutely zero gain. Whenever I get a bug report my first question is "oh, which version of which distribution? which version of which library? What set of insane patches were applied to those libraries?". No, Windows and Mac get this right. I control the libraries my app runs against. [...] With an AppImage I can give them just that. Something that runs on their computer.Yazar |ad1= eksik |soyadı1= (yardım)
^Bryan Lunduke (31 Mart 2017). "Linux video editor OpenShot 2.3 impresses: New tools, fast performance". Network World. 3 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Nisan 2017. Interestingly, OpenShot is distributed via appimage. That means they provide a single binary that can be run on just about any modern Linux distribution. I personally tested this out on openSUSE Tumbleweed with great success—but it should run just as easily on Debian, Fedora or others. I love this approach to distributing software directly from the developers.