Table des matières

Packages

Les packages managers : la solution historique sous linux

Dans un système linux, on installe habituellement ses applications depuis le package manager (apt pour debian, ''pacman'' pour archlinux, yum ou dnf pour l'univers RedHat).
L'intérêt principal est de pouvoir installer automatiquement les dépendances, et mutualiser ces dépendances entre plusieurs applications. Un autre aspect intéressant est que les dépôts sont gérés par les responsables de la distribution linux, et qu'on peut souvent leur faire confiance, on parle de source fiable. Souvent, les paquets sont testés avant d'être livrés, on peut trouver des systèmes particulièrement cohérents, homogènes et stables comme debian.
L'inconvénient est qu'il faut attendre que les mainteneurs des dépôts intègrent la dernière version d'une application avant de pouvoir l'installer, et parfois cela peut prendre du temps, surtout sur des distributions versionnées, fixed-release, comme debian. Il est également possible que l'application, trop confidentielle, ne soit jamais publiée dans les dépôts. Dans certains cas, il peut y avoir des conflits entre les versions de dépendances de certaines applications.

Pour répondre à ces inconvénients, publier des applications selon le modèle windows est arrivé sur Linux : les dépendances sont intégrées dans l'application. C'est le modèle inverse, et les inconvénients deviennent des avantages, et vice et versa. Citons dans les avantages le fait d'être indépendant de la distribution Linux. Et parmi les inconvénients : la taille des applications qui enfle sérieusement.
Ce mode de déploiement facilite la vie des développeurs, qui n'ont pas à gérer les questions de dépendances particulières à chaque distribution Linux. Plusieurs solutions logicielles d'empactage, chacune avec ses propres dépôts, sont arrivés, citons : Flatpak, Snap, AppImage.

Flatpak : La solution opensource made in RedHat

Snap : La solution Ubuntu

AppImage : Le mono-fichier

Comparaison

Il n'y a pas de meilleur, ça dépend des critères :