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).

Dépannages

Erreur "The SUID sandbox helper binary was found, but is not configured correctly."

Certaines applications refusent de se lancer et retourne un message du type :

The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_pia-3.vvemOE/chrome-sandbox is owned by root and has mode 4755.

Décompresser l'image et modifier les droits sur le fichier chrome-sandbox présent à la racine de l'arborescence de l'application :

# Décompresser l'image
/pia-3.0.3.AppImage --appimage-extract
 
cd squashfs-root/
sudo chown root: chrome-sandbox
sudo chmod 4755 chrome-sandbox

Le problème a été rencontré pour les applications Pia,etcher, joplin

Références

sysadmin/linux/format_appimage.txt · Dernière modification : 2024/10/31 13:26 de yoann