Outils pour utilisateurs

Outils du site


sysadmin:linux:format_appimage

Le format AppImage

Le format AppImage est un format d'application portable/autonome. Une application empaquetée au format AppImage intègre toute les dépendances nécessaires à son fonctionnement. Elle peut ainsi s’exécuter sur de nombreuses distributions GNU/Linux simplement par copier coller et positionnement du droit d'exécution.

De nombreux logiciels sont à présent proposés sous ce format et téléchargeables directement sur les sites web appartenant auteurs/développeurs.

Les versions récentes d'Ubuntu intègrent un système équivalent : Snap

Puisque l'application est autonome, elle n'est pas intégrée au système de paquetage de la distribution GNU/Linux, elle doit être mise à jour par l'utilisateur ou intégrer son propre système de notification de mises à jours.

L'utilisateur n'a pas besoin de privilèges administrateur pour télécharger et lancer une application AppImage. Après téléchargement, le fichier doit être rendu exécutable par exemple via la commande chmod:

chmod u+x my_app_example.AppImage

Emplacements

Pas d'installation nécessaire, par convention les fichiers AppImage sont placés dans les répertoires:

  • $HOME/Applications pour les applications avec interface graphique
  • $HOME/.local/bin ou $HOME/bin pour les applications en CLI

Gestion des fichiers AppImage

Plusieurs logiciels proposent d'assister l'utilisateur dans la gestion des paquets AppImages (notamment pour les intégrer dans l'environnement de bureau virtuel):

  • AppImageLauncher: Permet de générer les lanceurs dans la plupart des environnements de bureaux virtuels.
  • App Outlet: équivalent d'un market ou d'un store agnostique aux distributions proposant tous types d'applications portables aux formats AppImage, Flatpak ou Snap.
  • AppImage installer: CLI télécharge et intègre les fichiers AppImage à l'environnement de bureau virtuel.

Prérequis : fuse

Sur de nombreuses distributions, il est nécessaire d'installer le composant fuse (Filesystem in UserSpacE) pour pouvoir exécuter les applications AppImage.

Dans l'exemple ci-dessous la tentative d'exécution d'une application AppImage retourne une erreur :

./FreeCAD-0.21.2-Linux-x86_64.AppImage 
dlopen(): error loading libfuse.so.2
 
AppImages require FUSE to run. 
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information

Le système n'arrive pas à charger la bibliothèque fuse en version 2. Sur les versions Ubuntu récentes (>= 22.04), le système est livré avec fuse en version 3.

# Affiche la version du système
cat /etc/os-release | grep VERSION_ID
VERSION_ID="23.10"
 
# Affiche la version du paquet fuse
dpkg -l | grep fuse
ii    fuse3    3.14.0-4    amd64    Filesystem in Userspace (3.x version)

Pour installer la bibliothèque fuse2 :

sudo add-apt-repository universe
sudo apt install libfuse2

Manipulation du format AppImage

Extraction des fichiers

Il est possible d'extraire les fichiers du paquet AppImage avec l'option --appimage-extract

# Extraction des fichiers de l'image dans le dossier courant
./myImage.AppImage --appimage-extract

Créer un fichier AppImage

:TODO:

Exécution hors sandbox

Normalement les images s'exécutent dans un environnement confiné (sandbox). Dans certains cas il peut être utile de lancer l'application sans confinement :

 

Raccourcis / Lanceurs

Pour créer un raccourcis sur le bureau virtuel, confère le wiki créer un icône (lanceur).

Références

sysadmin/linux/format_appimage.txt · Dernière modification : 2024/09/17 14:15 de yoann