Comparaison des principaux systèmes de gestion de paquets Linux
Le gestionnaire de paquets fait partie intégrante de chaque système d’exploitation Linux. Tout utilisateur Linux qui souhaite installer, supprimer ou mettre à niveau un logiciel interagira inévitablement avec le gestionnaire de paquets d’une manière ou d’une autre. Les systèmes de gestion de paquets diffèrent souvent en termes de fonctionnalités entre les différentes distributions Linux, et la syntaxe de commande pour chacune d’entre elles est également légèrement différente. Étant donné que les gestionnaires de paquets jouent un rôle important dans l’entretien d’un système, ils peuvent parfois être le facteur décisif lors du choix d’une distribution Linux à utiliser comme pilote quotidien.
Dans ce tutoriel, nous allons comparer certains des systèmes de gestion de paquets les plus courants et les plus populaires qui sont par défaut sur les principales distributions Linux. Couvrir les principaux gestionnaires de paquets nous aidera à comprendre les différences entre les fonctionnalités et la syntaxe, et permettra aux utilisateurs de prendre une décision éclairée sur le gestionnaire de paquets qui répond le mieux à leurs besoins. Nous couvrirons également les gestionnaires de paquets universels qui sont disponibles sur diverses distributions, telles que Snap et Flatpak.
REMARQUE
: Les dépôts de logiciels vont également de pair avec les gestionnaires de paquets. Même si deux distributions utilisent le même gestionnaire de paquets, il peut y avoir certains logiciels disponibles dans les dépôts par défaut d’une distribution qui ne sont pas présents dans ceux d’une autre. Lorsque les programmes dont un utilisateur a besoin sont disponibles dans le dépôt par défaut, l’installation et la maintenance sont beaucoup plus faciles.
Dans ce tutoriel, vous allez apprendre :
- Avantages et inconvénients de l’utilisation d’un gestionnaire de paquets plutôt qu’un autre
- Comment rechercher, installer, supprimer et exécuter d’autres fonctions avec divers gestionnaires de paquets Linux
Avantages et inconvénients des gestionnaires de paquets populaires
Avant de plonger dans les détails de chaque gestionnaire de paquets, passons d’abord en revue certains des avantages et des inconvénients de chacun d’entre eux. Les sections suivantes mettront en lumière les avantages de chaque gestionnaire de paquets, mais le tableau suivant les résume d’une manière plus rapide à digérer :
| Gestionnaire de paquets | Avantages | Contre |
|---|---|---|
| APTE | Polyvalent avec beaucoup d’outils pour différents travaux (apte pour général ; apt-get pour les scripts ; aptitude à l’interactif) | Beaucoup d’outils avec des fonctionnalités qui se chevauchent de manière déroutante ; Nécessite des mises à jour distinctes du cache du package |
| DNF | Simple et très simple à utiliser | Contrôle moins granulaire et polyvalence que certains autres gestionnaires de paquets |
| Pacman | nettement plus rapide que les autres ; léger | Syntaxe de commande moins intuitive ; gestionnaire distinct requis pour l’AUR |
| Zypper | Rapide, robuste et efficace | Limité aux distributions SUSE ; Syntaxe complexe pour des utilisations avancées |
| Portage | Hautement personnalisable ; Compilation à partir de la source | Courbe d’apprentissage abrupte ; plus lent à installer des paquets en raison du temps de compilation |
| Gestionnaires universels (Snapd, Flatpak) | Distribution indépendante ; Installations en bac à sable | Moins de personnalisation ; paquets gonflés en raison des exigences de portabilité |
La famille APT
Le gestionnaire de paquets APT est par défaut disponible pour Debian Linux et les distributions basées sur Debian, telles que Ubuntu Linux et Linux Mint. Nous avons choisi le regroupement « famille » parce qu’il existe différents outils qui composent les logiciels de gestion de paquets dans les distributions basées sur Debian. En voici un bref aperçu :
- dpkg – il s’agit du gestionnaire de paquets backend qu’APT utilise (dpkg ne fait techniquement pas partie d’APT), qui gère l’installation et la suppression des logiciels. En règle générale, les utilisateurs n’ont jamais besoin d’interagir directement avec dpkg
- APT – il s’agit de l’intergiciel entre le backend dpkg et les outils en ligne de commande frontend comme
aptetapt-get - APT – L’outil frontend que les utilisateurs utilisent généralement pour l’installation et la suppression de progiciels
- apt-get – une autre interface et une alternative plus ancienne à
apt, mais destinée aux scripts et aux services système - aptitude – un autre outil frontend APT qui est plus convivial et interactif
L’utilisation de noms similaires et chevauchants de gestionnaires de paquets dont les fonctionnalités se chevauchent également est la raison pour laquelle de nombreux utilisateurs finissent par être confus lorsqu’ils essaient de comprendre pleinement le système de gestion de paquets de Debian ou Ubuntu.
En tant qu’utilisateur final, le seul outil avec lequel vous devez vraiment vous familiariser est apt – Remarquez les lettres minuscules, ce qui signifie que nous faisons référence à l’outil en ligne de commande lui-même et non à la bibliothèque/middleware APT. Alternativement, vous pouvez également utiliser aptitude, qui n’est qu’un remplacement plus moderne d’apt. Mais, la plupart de la documentation et des utilisateurs s’en tiennent généralement à l’utilisation de la commande apt.
LE SAVIEZ-VOUS ?
Beaucoup de documentation plus ancienne font référence à la commande apt-get et demandent aux lecteurs de l’utiliser. Cela devrait fonctionner correctement, mais la méthode moderne et recommandée pour installer ou gérer des paquets logiciels est apt. Plus d’infos : apt vs. apt-get
Mise à jour du cache du package
Voyons d’abord comment mettre à jour le cache des paquets avec la famille APT. Vous devrez le faire à chaque fois avant de mettre à jour ou d’installer un paquet sur le système. C’est un processus qui n’est pas requis par la plupart des autres gestionnaires de paquets, mais cela ne prend qu’un instant et n’est pas un gros problème.
La mise à jour du cache du paquet indique simplement à votre système où télécharger le logiciel et quelle version installer, car les hôtes et les liens changent constamment. Donc, tout d’abord, nous allons exécuter cette commande :
sudo apt update
En aptitude, nous exécuterions :
sudo aptitude update
Installation de packages
Maintenant, nous sommes prêts à installer le logiciel en utilisant la commande apt install et le nom du progiciel. Par exemple, pour installer vim :
sudo apt install vim
Ou, pour installer le même paquet avec aptitude :
sudo aptitude install vim
REMARQUE
: Ces mêmes commandes peuvent également être utilisées pour mettre à jour un paquet individuel. En d’autres termes, l’exécution de sudo apt install vim mettra à jour le paquet vim s’il a déjà été installé.
Mise à jour des packages
Voyons maintenant comment mettre à jour les paquets actuellement installés avec la famille APT. Notez que cette méthode est utilisée pour mettre à jour tous les packages actuellement sur le système.
Comme toujours, mettez d’abord à jour le cache du paquet :
sudo apt update
OR
sudo aptitude update
Ensuite, exécutez l’une des commandes suivantes pour mettre à jour les packages, sans supprimer les packages installés :
sudo apt upgrade
OR
sudo aptitude safe-upgrade
Alternativement, si vous voulez permettre à apt de supprimer les paquets installés qui ne sont plus nécessaires, et/ou si vous voulez mettre à jour le noyau vers la dernière version, nous changeons la commande upgrade en :
sudo apt full-upgrade
OR
sudo aptitude full-upgrade
Recherche d’un colis
Une fonction importante d’APT est la possibilité de rechercher des paquets à installer. Il nous permet également de voir les logiciels actuellement installés.
La syntaxe de base de la commande apt est la suivante :
apt search vim
Cela répertoriera tous les packages qui correspondent à votre terme de recherche.
La syntaxe de la commande aptitude est la même :
aptitude search vim
Étant donné que aptitude est l’alternative la plus interactive et la plus conviviale, le résultat de la recherche nous donne des informations utiles sous la forme de caractères uniques à côté de chaque paquet qui indiquent :
P– non installéI– Actuellement installéV– Forfait virtuel
Nous obtenons également le nom de chaque paquet qui correspond à notre terme de recherche, ainsi qu’une description du logiciel. Les deux outils APT renverront ces informations.
Suppression d’un paquet
Pour supprimer un paquet avec apt ou aptitude, il existe deux commandes différentes : remove et purge. L’option de suppression désinstallera le logiciel mais laissera derrière elle les fichiers de configuration. Cela peut être utile si vous pensez que vous pourriez réinstaller le programme plus tard et que vous ne voulez pas perdre les paramètres que vous aviez.
D’autre part, purge désinstallera le programme et tentera de supprimer tous les fichiers supplémentaires, tels que les fichiers de configuration fournis avec le logiciel. Jetons un coup d’œil aux deux syntaxes :
Pour supprimer le paquet sans toucher aux fichiers de configuration :
sudo apt remove vim
OR
sudo aptitude remove vim
Pour supprimer le paquet avec ses fichiers de configuration :
sudo apt purge vim
OR
sudo aptitude purge vim
Enfin, il arrive que des packages de dépendances doivent être installés, mais qu’ils ne soient plus nécessaires. C’est ce qu’on appelle des dépendances orphelines. Pour les supprimer, nous pouvons utiliser les commandes suivantes :
sudo apt autoremove
OR
sudo aptitude remove ~o
DNF
Le gestionnaire de paquets dnf a supplanté yum sur les systèmes basés sur Red Hat tels que Fedora, CentOS, Oracle Linux, Rocky Linux, AlmaLinux, etc. La commande yum est toujours utilisable sur beaucoup de ces systèmes, mais il s’agit simplement d’un lien symbolique vers la nouvelle commande dnf, qui a introduit de nombreuses fonctionnalités modernes.
Ce que vous aurez tendance à remarquer à propos de dnf, c’est qu’il est très simple à utiliser et qu’il n’a pas beaucoup de commandes ou de façons alternatives d’utiliser l’outil. Cela plaira aux utilisateurs qui souhaitent une expérience simplifiée, tandis que d’autres pourraient penser qu’il est édulcoré et n’offre pas beaucoup de personnalisation ou de moyens uniques d’exploiter le gestionnaire de packages.
Mise à jour des packages
Contrairement à apt, dnf actualisera automatiquement son cache de paquet chaque fois qu’un utilisateur interagit avec le gestionnaire de paquets, il n’est donc pas nécessaire de le mettre à jour manuellement. Pour mettre à jour tous les packages actuellement installés sur le système, les utilisateurs peuvent exécuter :
sudo dnf update
Installation de packages
L’installation de paquets avec dnf utilise une syntaxe simple :
sudo dnf install neovim
Suppression d’un paquet
Pour supprimer un paquet avec fng :
sudo dnf remove neovim
Recherche d’un colis
Dans le cas où vous ne connaissez pas le nom du paquet que vous souhaitez installer, nous pouvons utiliser l’argument de recherche, suivi du mot-clé ou du terme de recherche d’un paquet :
dnf search neovim
Pacman (et Pamac)
Le gestionnaire de paquets pacman est utilisé sur Arch Linux et ses distributions dérivées comme Manjaro Linux. Il est nettement plus rapide que de nombreux autres gestionnaires de paquets, et bien qu’il soit simple à utiliser, la syntaxe est moins intuitive. C’est un favori commun parmi les utilisateurs expérimentés de Linux et ceux qui recherchent la flexibilité et la personnalisation.
Pour ceux qui trouvent pacman difficile à utiliser, Pamac est une interface graphique pour pacman, qui est installée par défaut sur Manjaro. C’est une bonne alternative à pacman si vous voulez quelque chose de plus simple à utiliser, tout en profitant de la puissance de pacman sur le backend. Pamac peut également être installé sur Arch Linux.
Mettre à jour tous les packages
Vous pouvez mettre à jour tous les paquets installés, et donc l’ensemble du système (puisque Arch Linux est une version continue), avec les options -Syu :
sudo pacman -Syu
Voici ce que signifient les options :
-S: synchronise les paquets de votre système avec ceux du dépôt officiel-y: télécharger les bases de données de paquets fraîches depuis le serveur-u: mettre à jour tous les paquets installés
Installer un paquet
Pour installer un paquet avec pacman, fournissez l’option -S et le nom du paquet que vous souhaitez installer :
sudo pacman -S vim
Supprimer un paquet
Fournissez l’option -R pour supprimer un paquet dans pacman :
sudo pacman -R vim
Pour supprimer toutes les dépendances inutilisées avec le paquet que vous souhaitez désinstaller, incluez les options -Rns :
sudo pacman -Rns vim
Rechercher un forfait
Pour rechercher un package, utilisez les options -Ss, suivies de votre terme de recherche :
sudo pacman -Ss vim
Pamac
Pacman est l’alternative conviviale avec une interface graphique. Il peut être utilisé pour rechercher, installer, mettre à jour et supprimer des paquets selon les besoins.
Si vous trouvez le pacman un peu difficile à utiliser en raison de la syntaxe peu intuitive, la commande pamac offre des alternatives plus simples. Par exemple, pour installer un paquet avec pamac :
sudo pamac install vim
Aides AUR
L’AUR (Arch User Repository) est un catalogue en ligne de logiciels qui a été organisé par la communauté Arch Linux. Si un certain paquet logiciel n’est pas disponible nativement pour l’installation via pacman, il y a souvent de fortes chances que le paquet que vous recherchez ait été téléchargé par quelqu’un sur l’AUR.
L’AUR est l’une des parties les plus attrayantes d’Arch Linux, car il augmente considérablement la quantité de logiciels disponibles à l’installation. Comme pacman ne peut pas interagir avec l’AUR, vous aurez besoin de ce qu’on appelle un « AUR helper », essentiellement un gestionnaire de paquets séparé qui utilise l’AUR comme dépôt de logiciels.
L’une de ces aides AUR est Pamac, comme nous l’avons vu ci-dessus. Un autre choix populaire est yay, dont nous aborderons la syntaxe ci-dessous. Vous remarquerez que les options de commande sont les mêmes que celles de pacman.
Installer un paquet
Pour installer un paquet à partir de l’AUR avec yay, utilisez l’option -S. Par exemple, installons Spotify :
yay -S spotify
Pour mettre à jour tous les packages AUR sur votre système :
yay -Syu
Rechercher un forfait
Pour rechercher un forfait dans l’AUR, vous pouvez toujours visiter le site officiel de l’AUR et trouver ce que vous cherchez. Ou, pour rechercher un paquet AUR dans yay, utilisez les options -Ss :
yay -Ss [search term]
Supprimer un paquet
Pour supprimer un paquet AUR avec yay, fournissez l’option -R :
yay -R spotify
Pour supprimer un paquet AUR et toutes les dépendances inutilisées, ajoutez les options -Rns :
yay -Rns spotify
Vérifier les paquets installés
Si vous oubliez si un paquet provient d’AUR ou de pacman, vous pouvez utiliser yay pour vérifier quels paquets AUR vous avez actuellement installés sur votre système :
yay -Qm
Zypper
Le gestionnaire de paquets zypper est le gestionnaire de paquets par défaut pour openSUSE et SUSE Linux Enterprise. Il est facile à utiliser et offre à la fois une interface de ligne de commande et une interface graphique, de sorte que vous pouvez utiliser ce qui vous convient le mieux.
Mettre à jour le cache et les packages
Pour mettre à jour le cache du package et tous les packages installés, nous exécutons les commandes suivantes :
sudo zypper refresh
sudo zypper update
Installer un paquet
Pour installer un paquet avec zypper, exécutez :
sudo zypper install vim
Supprimer un paquet
Pour supprimer un paquet avec zypper, fournissez l’argument remove :
sudo zypper remove vim
Rechercher un forfait
Recherchez un forfait avec zypper :
zypper search [search term]
Portage
La distribution Linux Gentoo utilise Portage comme gestionnaire de paquets. Portage est le gestionnaire de paquets le plus unique de cette liste, car il compile les paquets à partir du code source. Pour ceux qui sont fermement ancrés dans Linux et qui veulent se retrousser les manches et tirer le meilleur parti de la personnalisation de leur système, ils peuvent apprendre à utiliser Gentoo et Portage pour avoir un contrôle granulaire sur tous les aspects de leur système Linux. Maîtriser Gentoo est un long voyage, mais l’une des premières choses que vous devrez comprendre est d’utiliser Portage.
Portage donne aux utilisateurs la possibilité d’affiner le processus de compilation de nouveaux paquets avec des drapeaux USE. De cette façon, les utilisateurs peuvent choisir exactement les fonctionnalités ou les composants à compiler dans un programme en cours d’installation.
Synchronisation de l’arborescence Portage
Vous remarquerez qu’une partie de la terminologie est différente ici. Mais la synchronisation de l’arborescence Portage équivaut à la mise à jour du cache de paquets dans d’autres gestionnaires de paquets courants. Pour ce faire, nous exécutons :
sudo emerge --sync
Installer un paquet
Pour installer un paquet, tel que vim, avec Portage :
sudo emerge vim
La seule différence ici est que le processus prendra plus de temps que celui des autres gestionnaires de paquets, car le code sera compilé à partir des sources, plutôt que d’installer des fichiers binaires déjà compilés.
Suppression d’un paquet
Pour supprimer un paquet avec Portage, nous exécutons :
sudo emerge --unmerge vim
Rechercher un forfait
Nous pouvons utiliser Portage pour rechercher un paquet en utilisant l’option --search :
emerge --search [search term]
Gestionnaires de paquets universels - Snap, Flatpak, etc.
Les systèmes de gestion de paquets tels que Snapd, Flatpak et AppImage sont fréquemment mentionnés et comparés. Tous les trois sont des gestionnaires de paquets indépendants de la distribution, ce qui signifie qu’ils peuvent être utilisés sur n’importe quel système Linux, quelle que soit la distribution que vous utilisez.
Les gestionnaires de paquets universels offrent l’avantage d’utiliser toujours la même syntaxe, quelle que soit la distribution sur laquelle vous vous trouvez. Ils s’assurent également que les packages se comporteront de la même manière sur tous les systèmes. Ce sont des fonctionnalités intéressantes, mais rendre les paquets portables sur tous les systèmes signifie que certaines personnalisations sont perdues dans le processus.
Commandes d’accrochage
Installation d’un paquet :
sudo snap install spotify
Suppression d’un paquet :
sudo snap remove spotify
Mettez à jour tous les forfaits Snap :
sudo snap refresh
Commandes Flatpak
Flatpak peut utiliser différents dépôts de logiciels, appelés « distants » dans le jargon Flatpak. Flathub est le dépôt le plus populaire, nous pouvons donc l’ajouter à notre système en exécutant :
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Ensuite, pour installer un programme comme GIMP, nous exécuterions :
sudo flatpak install flathub org.gimp.GIMP
Pour rechercher un logiciel dans la télécommande, nous utilisons la syntaxe suivante :
flatpak search gimp
Vous pouvez mettre à jour toutes vos applications installées avec :
sudo flatpak update
Enfin, pour supprimer un paquet avec Flatpak, exécutez :
sudo flatpak uninstall org.gimp.GIMP
Réflexions finales
Dans ce tutoriel, nous avons découvert les avantages et les inconvénients de divers gestionnaires de paquets système Linux. Nous avons également vu les syntaxes utilisées pour interagir avec les gestionnaires de paquets afin d’installer des paquets, de les supprimer et d’exécuter d’autres fonctions. Le système de gestion de paquets est un élément central de chaque distribution Linux, et comme ils ont tous des caractéristiques et des avantages uniques, ils peuvent jouer un rôle important dans le choix de la distribution Linux qui convient le mieux à un utilisateur.


