AppImage (anciennement connu sous le nom de klik et PortableLinuxApps ) est un format open source pour la distribution de logiciels portables sous Linux . Il vise à permettre l'installation de logiciels binaires indépendamment de distributions Linux spécifiques , un concept souvent appelé packaging en amont . En conséquence, une AppImage peut être installée et exécutée sur Ubuntu , Arch Linux et Red Hat Enterprise Linux sans avoir besoin d'utiliser des fichiers différents. Il vise à être un format autonome, sans racine et indépendant de la distribution Linux sous-jacente.
Sorti pour la première fois en 2004 sous le nom de klik, il a été continuellement développé, puis renommé en 2011 en PortableLinuxApps et plus tard en 2013 en AppImage. La version 2 est sortie en 2016.
Histoire
Le prédécesseur d'AppImage, klik, a été conçu en 2004 par Simon Peter. Le logiciel côté client est sous licence GNU GPL . klik s'intègre aux navigateurs Web sur l'ordinateur de l'utilisateur. Les utilisateurs téléchargent et installent le logiciel en saisissant une URL commençant par klik://. Cela télécharge un fichier de « recette » klik, qui est utilisé pour générer un fichier .cmg . Pour les ingrédients principaux, des paquets .deb pré-construits à partir des dépôts Debian Stable sont généralement intégrés au processus de génération de la recette. De cette façon, une recette peut être utilisée pour fournir des paquets à une grande variété de plates-formes. Avec klik, seuls huit programmes peuvent être exécutés à la fois en raison de la limitation du montage d'images compressées avec le noyau Linux , à moins que FUSE ne soit utilisé. Le fichier est remonté à chaque exécution du programme, ce qui signifie que l'utilisateur peut supprimer entièrement le programme en supprimant simplement le fichier. La version suivante, klik2, est en cours de développement et incorporera nativement le module de noyau FUSE, mais elle n'a jamais dépassé le stade bêta. Vers 2011, le projet klik est devenu inactif et le site Web a été mis hors ligne.
Simon Peter a lancé un projet successeur nommé PortableLinuxApps avec des objectifs similaires à cette époque. jeux vidéo, principalement open source .
Vers 2013, le logiciel a été renommé à nouveau de portableLinuxApps à AppImage ; la licence est devenue la licence MIT . AppImage est le format et AppImageKit est une implémentation open source concrète. Le développement se déroule dans un dépôt GitHub .
En 2016, la version 2 de la spécification AppImage a été rédigée. La version 2 n'est pas restreinte en termes de type de système de fichiers (une implémentation préliminaire utilisait SquashFS ). Elle supprime le décalage fixe pour l'endroit où l'image du système de fichiers commence dans le fichier et permet aux signatures numériques d'être intégrées directement dans l'AppImage plutôt que dans un fichier séparé.
Conception

AppImage vise à être un système de déploiement d'applications pour Linux avec les objectifs suivants : simplicité, compatibilité binaire , portabilité , agnosticisme de distribution , aucune installation , aucune autorisation root et conservation du système d'exploitation sous-jacent intact. Pour cette raison, AppImage n'installe pas de logiciel en plaçant des exécutables à différents emplacements. Au lieu de cela, le fichier est une image de système de fichiers unique . Lorsqu'il est exécuté, le fichier est monté avec FUSE . AppImage est conçu pour être plus simple à utiliser que les formats d'installation traditionnels tels que Deb et RPM , car il n'est pas nécessaire de modifier le système d'exploitation ou l'environnement utilisateur.
Chaque fichier est autonome ; il inclut toutes les bibliothèques dont dépend l'application et qui ne font pas déjà partie du système ciblé. Une AppImage version 1.0 est un fichier ISO 9660 Rock Ridge (qui peut être éventuellement compressé via zisofs) contenant un AppDir minimal et un runtime .
AppImage permet l'intégration de signatures numériques, qui doivent être vérifiées en externe. Le format ne nécessite pas que les signatures soient validées, mais seulement qu'elles puissent être incluses. AppImage n'impose pas le sandboxing , mais cela peut être fait par certaines applications.
Réception et utilisation
En 2007, Klik a été l'inspiration du projet Glick d'Alexander Larsson, le précurseur de Flatpak .
En 2015, Linus Torvalds , créateur du noyau Linux , a déclaré que « c'est vraiment très cool. J'ai finalement pu jouer avec la version « AppImage » de Subsurface , et cela semble vraiment « fonctionner ». » Mark Shuttleworth a déclaré que « les AppImages sont une expérience assez propre et j'admire le travail qui les sous-tend. »