sinbad83
Bonjour à tous,
il existe maintenant plusieurs méthodes d'installation sur Ubuntu, comme apt, snap et flatpak; Quels sont les avantages et les inconvénients d'utiliser l'une ou l'autre ? Si on a installé avec apt, faut-il désinstaller si on réinstalle avec snap ou flatpak ?
Merci de m'éclairer sur le sujet.
Bwice
Bonjours,
apt (advance package tool) est le gestionnaire des paquets de Debian et donc de Ubuntu, il contient des dépôts contenant la liste des paquets et de leurs dépendances. Ainsi, si tu installes un logiciel, présent dans les dépôts Ubuntu, les d'dépendances vont s'installer toutes seules sans faire de conflits.
Seulement, certains paquets ne sont pas présents dans les dépôts Ubuntu (sois parce qu’il crée des conflits soit parce que personnes ne les maintiennent.).
Dans ce cas, snap et flathub servent de "bac a sable", ils font des conteneurs avec les logiciels et leurs dépendances complétement séparer du système APT, pour plus de sécurité ou pour éviter les conflits. De plus les paquets sur flathub peuvent être installés sur de multiples système, les développeurs n'ont pas à maintenir leurs paquets sur de multiples systèmes. Snap c'est en gros la même chose, mais c'est une création de Cannonical.
Avantage de flat et snap:
sépare certain logiciels du système pour plus de sécurité (logiciel propriétaire par exemple).
Permet d'installer des logiciels absents des dépôts apt sans avoir à les compiler manuellement.
Inconvénient:
Plus lourd, plus lent, obligation d'installer les dépendances à chaque fois et donc de parfois avoir des dépendances en doublons.
Donc: (mon avis)
Passe toujours par les dépôts APT et si ton logiciel n'est pas présent, passe par flatpak ou Snap.
abelthorne
Tout d'abord, elles sont indépendantes, les logiciels ne s'installent pas au même endroit. Si tu installes un logiciel avec APT, puis en Flatpak, puis en Snap, tu vas te retrouver avec le logiciel en trois fois dans ton menu Applications. De fait, c'est conseillé de n'utiliser qu'une méthode quand tu as le choix, à moins que tu veuilles spécifiquement avoir accès à plusieurs versions d'un logiciel en même temps.
Pour ce qui est des formats :
- APT installe des paquets DEB depuis des dépôts dédiés. Ceux-ci contiennent le strict minimum et reposent sur d'autres éléments (bibliothèques, etc.) qui sont alors installés via le jeu des dépendances. Si trois logiciels ont besoin de la même bibliothèque, celle-ci n'est installée qu'une fois. On divise les éléments pour optimiser l'ensemble.
- Flatpak et Snap utilisent aussi des dépôts dédiés mais qui contiennent les paquets à ces formats. Un Flatpak/Snap intègre tout ce dont un logiciel a besoin (à quelques exceptions près : ils ont tout de même un système de dépendances limitées pour des éléments communs du style thème d'icônes...). L'avantage c'est que ça évite les problèmes de compatibilité : ton paquet Flatpak/Snap peut s'installer sur n'importe quelle version de n'importe quelle distribution sans que tu te retrouves avec des problèmes du genre "le logiciel a besoin de la bibliothèque machin en version 123.45.6 spécifiquement alors que sur ma distro il y a la 124.30.58". L'inconvénient, c'est que comme le paquet Flatpak/Snap intègre toutes les dépendances nécessaires, il sera mécaniquement plus gros et prendra facilement 300 Mo là où la version des dépôts aurait ces 300 Mo répartis dans divers paquets qui servent à plusieurs. Autrement dit, plus tu as de Flatpaks/Snaps, plus ça va prendre de la place pour des éléments qui sont redondants.
Un autre inconvénient des paquets Flatpak/Snap, c'est que pour des raisons de sécurité, ils fonctionnent en mode sandbox, dans une "boîte" qui n'a pas accès au reste du système. Ce qui peut poser problème pour accéder au réseau, à certains matériels, utiliser des plugins... On peut leur autoriser l'accès à certains éléments tiers mais ça doit se faire au cas par cas et de façon pas tellement user-friendly (généralement via des lignes de commandes).
Note : le principe des paquets Flatpak et Snap est similaire, c'est pour ça que je les ai regroupés dans les explications. Flatpak a été plus ou moins standardisé par toutes les distros alors que Snap est un format spécifique à Canonical qui l'a créé parce que Flatpak ne convenait pas aux développeurs.
J'ajoute qu'il reste un autre format sur lequel tu peux tomber : AppImage. Le principe est comparable aux Flatpaks et Snaps, à savoir que tu as un logiciel et toutes ses dépendances empaquetés dans un seul fichier pour qu'il fonctionne sans avoir besoin d'autre chose, mais il ne s'installe pas via des dépôts : tu télécharges une AppImage, tu la mets où tu veux dans ton dossier perso et tu la lances de là en double-cliquant dessus (c'est bien sûr possible de faire un lanceur pour le menu des Applications). Tu ne passes pas par un gestionnaire de paquets comme avec le reste, tu le télécharges et tu le supprimes si tu n'en as plus besoin. C'est similaire aux applications "portables" qu'on trouve sur Windows.
sinbad83
Merci à vous deux, c'est plus clair pour moi maintenant.