GNU/Linux >> Tutoriels Linux >  >> Linux

Flatpak contre Snap contre AppImage

Présentation

Sous Linux, les logiciels sont distribués à l'aide de packages, de fichiers logiciels compressés comprenant des exécutables binaires, des fichiers de configuration et des dépendances. Les packages sont distribués via des référentiels et gérés via des gestionnaires de packages sur les systèmes des utilisateurs.

Les formats de package indépendants de la distribution fonctionnent sur tous les systèmes Linux car ils regroupent l'application avec toutes ses dépendances requises. Certains des formats de packages indépendants de la distribution les plus populaires sont Snap, Flatpak et AppImage.

Dans cet article, vous découvrirez les différences entre Snap, Flatpack et AppImage.

Comparaison entre Flatpak, Snap et AppImage

Flatpak, Snap et AppImage sont tous des formats de package disponibles sur toutes les distributions Linux. Cependant, certaines différences clés peuvent vous aider à décider d'utiliser l'un plutôt qu'un autre.

Vous trouverez ci-dessous un tableau de comparaison qui couvre certaines des principales fonctionnalités et des principales différences entre chaque format de package :

Fonctionnalités Cliquer Flatpack AppImage
Créé par Canonique RedHat, Ordinateurs sans fin, Collabora Pierre Simon
Prise en charge du bac à sable Oui Oui Oui
Sandbox obligatoire Non Oui Non
Exécution sans accès root Après l'installation Après l'installation Oui
Prise en charge des thèmes natifs Oui Oui Oui
Prise en charge des bibliothèques groupées Oui Oui Oui
Portabilité complète de l'application Oui Oui
Magasin d'applications en ligne Oui Oui Oui
Prise en charge de plusieurs installations parallèles Oui (un par canal) Oui (nombre illimité) Oui (nombre illimité)
Mises à jour automatiques Oui Oui Oui (via AppImageUpdate)
Taille de l'application Variable, généralement supérieur à AppImage Variable, généralement supérieur à AppImage Taille d'application la plus faible
Applications disponibles Le plus Le moins Montant moyen
Applications graphiques de bureau Oui Oui Oui
Services système de package Oui Non Non

Les sections suivantes traitent de chaque format de package individuellement.

Cliquer

Snap est un format de package indépendant de la distribution initialement développé pour Ubuntu par Canonical. Plus tard, il a également été adopté par d'autres distributions Linux.

L'objectif principal de la création de Snap était d'unifier le format du progiciel sur de nombreux appareils. La prise en charge de Snap inclut l'IoT (Internet des objets), les appareils embarqués exécutant Ubuntu Core ou toute autre version d'Ubuntu.

Remarque : Apprenez à utiliser les packages Snap dans Ubuntu ou installez Snap sur Ubuntu.

Des packages open source et propriétaires sont disponibles sur la boutique en ligne Snapcraft. Si vous le souhaitez, installez les applications Snap à l'aide de la ligne de commande.

L'image suivante montre la page d'accueil de la boutique Snapcraft :

Avantages

Le principal avantage de Snap est que le package Snap comprend toutes les bibliothèques et dépendances nécessaires à l'exécution de cette application. Ainsi, les développeurs gagnent du temps lors de la publication de nouvelles versions sur différents systèmes.

Inconvénients

Le principal inconvénient des applications Snap est leur taille et leur démarrage plus lent par rapport aux packages Flatpak ou AppImage. De plus, Snaps ne peut utiliser que les bibliothèques incluses dans le package.

Remarque : Voyez comment Snap se compare au gestionnaire de packages apt.

Flatpack

Flatpak, anciennement connu sous le nom de xdg-app, est un autre format de package indépendant de la distribution développé en 2015 par Red Hat, Endless Computers et Collabora. Son objectif principal est d'exécuter des applications dans un bac à sable virtuel sécurisé qui ne nécessite pas de privilèges root, éliminant ainsi les menaces de sécurité. Le bac à sable contient tout le nécessaire pour exécuter le logiciel.

Flatpak a d'abord été développé pour FreeDesktop, KDE et GNOME. Plus tard, il a étendu son support à Arch Linux, Debian, Fedora, Mageia, Solus et Ubuntu. Flatpak est basé sur le langage de programmation C.

Les packages sont disponibles en téléchargement sur l'App Store Flathub ou via la CLI. Au départ, il ne prenait en charge que les applications open source, mais il a récemment ajouté la prise en charge des logiciels propriétaires.

L'image suivante montre la boutique d'applications Flathub :

Avantages

L'avantage de Flatpak par rapport aux autres formats de packages est qu'il permet aux utilisateurs de télécharger des packages à partir de plusieurs référentiels, appelés télécommandes. La télécommande la plus populaire est Flathub, le référentiel officiel avec des milliers d'applications disponibles.

Remarque : Voir plusieurs méthodes pour supprimer des packages logiciels d'Ubuntu.

Inconvénients

Les principaux inconvénients de Flatpak sont le manque de prise en charge des serveurs et la plus grande taille de package par rapport aux packages Snap ou AppImage. Le temps de démarrage est plus rapide par rapport à Snap mais plus lent par rapport à AppImage.

AppImage

AppImage est un autre format de package indépendant de la distribution largement utilisé, créé en 2004 par Simon Peter. À l'origine, le prédécesseur d'AppImage était klik. Il s'agissait d'un format de package portable qui comprenait tout ce qui était nécessaire pour qu'une seule application fonctionne.

Les applications AppImage étant portables, les utilisateurs peuvent les exécuter sans installation. L'exécution d'une AppImage ne nécessite pas de privilèges d'administrateur.

Remarque : Suivez notre tutoriel et installez Etcher sur Ubuntu en utilisant AppImage.

Les packages AppImage fonctionnent de la même manière que .exe fichiers sous Windows. Pour exécuter une application AppImage, rendez-la exécutable et double-cliquez sur le fichier pour exécuter le package.

AppImage distribue les packages via le référentiel AppImageHub et les stocke sur le site Web AppImage. Chaque package contient des informations sur l'installation des mises à jour à l'aide d'un outil tel que AppImageUpdate .

L'image suivante montre le AppImageHub référentiel :

Avantages

L'un des avantages des packages AppImage est un démarrage plus rapide par rapport aux Snaps et Flatpaks, et moins d'espace de stockage requis par application. Les AppImages sont facilement supprimées du système en supprimant le package téléchargé.

Inconvénients

L'inconvénient des packages AppImage est le manque de mises à jour, qui sont peu fréquentes et non disponibles pour chaque package. Parfois, un autre package AppImage est requis pour mettre à jour d'autres packages installés sur le gestionnaire AppImage.

Flatpak contre Snap contre AppImage - Lequel utiliser ?

Chaque format de package fonctionne bien sur n'importe quelle distribution Linux car ils sont livrés avec toutes les dépendances et bibliothèques requises. Cependant, il y a plusieurs facteurs à prendre en compte qui pourraient être cruciaux pour vous aider à décider du format de package à utiliser :

  • Numéro d'application . La boutique en ligne Snapcraft gagne si le nombre d'applications disponibles est le facteur le plus critique.
  • Vitesse de l'application . AppImage est le plus rapide des trois en ce qui concerne le démarrage, la vitesse et les performances de l'application. C'est la solution idéale pour une expérience performante.
  • Intégration d'applications . Certains formats de packages s'intègrent mieux sur des distributions spécifiques. Par exemple, Snaps s'intègre mieux à Ubuntu, Arch Linux et CentOS, tandis que Flatpak s'intègre de manière transparente à Fedora, Linux Mint ou Debian. AppImages fonctionne parfaitement sur Arch Linux, CentOS, Debian, OpenSUSE, Red Hat Linux et Fedora.
  • Contrôle des applications . Les Flatpaks offrent plus de contrôle aux développeurs par rapport à AppImage ou Snaps.
  • Portabilité . Les packages AppImage sont de premier ordre en matière de portabilité. Les Snaps peuvent avoir des dépendances dans d'autres applications Snap, et les Flatpaks peuvent partager des bibliothèques avec un autre Flatpak. AppImages utilise uniquement les ressources du package lui-même.
  • Mises à jour de l'application . Snaps et Flatpaks utilisent les référentiels pour mettre à jour automatiquement les applications, tandis qu'AppImage utilise l'outil AppImageUpdate. De plus, AppImage ne reçoit pas autant de mises à jour que les deux autres formats de package.
  • Convivialité . Les packages Flatpak et AppImage sont conçus pour installer et mettre à jour des applications. Bien que les Snaps aient le même objectif, leur convivialité s'étend à l'installation de n'importe quoi. Par exemple, les développeurs travaillent actuellement à mettre l'ensemble de la pile d'impression Linux dans un seul Snap.

Après avoir examiné tous les facteurs, il devrait être plus facile de décider du format de package à utiliser. Cependant, comme tous les formats sont disponibles sur la plupart des distributions Linux, il est facile de tous les essayer et de décider.

Conclusion

Cet article a présenté les principales différences entre les packages Snap, AppImage et Flatpak, ainsi que leurs avantages et leurs inconvénients. Bien qu'ils soient loin d'être parfaits et nécessitent encore quelques améliorations, ils peuvent coexister dans le même système et fournir des fonctionnalités et des packages que d'autres n'offrent pas.

Ensuite, découvrez comment répertorier les packages installés sur Ubuntu ou apprendre à réparer les packages défectueux dans Ubuntu.


Linux
  1. SMPlayer 21.8.0 ajoute la prise en charge de macOS, Linux Appimage, Flatpak et Snap

  2. Comment ouvrir Appimage sous Linux

  3. Comment installer et utiliser Flatpak sous Linux

  4. Ssh 7.4 Pause prolongée à "pledge :réseau" ?

  5. AWK contre NAWK contre GAWK

Comment installer Flatpak sur CentOS 8

Installez Snap et Flatpak dans openSUSE Tumbleweed Linux

Comment installer Snap Store dans Linux Mint 20 / Linux Mint 20.1

Snap vs Flatpak vs AppImage :Connaître les différences | Ce qui est mieux

Comment convertir tous vos packages Snap en Flatpak sur Ubuntu avec Unsnap

Comment installer Eclipse IDE sur Linux