Cinq gestionnaires de paquets natifs pour les principales familles de distributions, plus deux formats universels et sandboxés : snap et flatpak.
Debian / Ubuntu — apt
APT (Advanced Package Tool) gère les paquets .deb de la famille Debian : Debian, Ubuntu, Mint, Kali, Pop!_OS, Raspberry Pi OS et la plupart des dérivés. Au-dessus, apt est l'interface conviviale ; en dessous, apt-get et dpkg restent disponibles.
apt
Gestion des paquets sur Debian, Ubuntu et dérivés
apt rassemble en une commande ce qu'apt-get, apt-cache et quelques autres faisaient séparément. Préfix sudo pour toute opération qui modifie le système.
Opérations courantes
apt update
Recharge la liste des paquets disponibles depuis les dépôts. Première chose à faire avant tout install.
apt upgrade
Met à jour les paquets installés (sans rien désinstaller).
apt full-upgrade
Met à jour en autorisant aussi les suppressions nécessaires à la résolution des dépendances ; examiner la transaction proposée.
apt install PKG
Installe et résout les dépendances. Plusieurs paquets en une fois acceptés.
apt remove PKG
Désinstalle, mais conserve les fichiers de configuration.
apt purge PKG
Désinstalle et supprime la configuration. Pour un nettoyage complet.
apt search TERME
Cherche dans les noms et descriptions des paquets disponibles.
apt show PKG
Détails d'un paquet (version, dépendances, taille, description).
apt list --installed
Liste les paquets installés. Combinable avec grep.
apt autoremove
Supprime les dépendances orphelines (installées par d'autres paquets, devenues inutiles).
$ sudo apt update && sudo apt upgrade -y
Routine quotidienne : on recharge l'index puis on met à jour. Le -y répond automatiquement « oui » aux prompts. Sans update préalable, upgrade travaille sur une vue obsolète des dépôts.
$ apt search --names-only '^nginx-' | head
Cherche les paquets dont le nom commence par nginx- (variantes : nginx-light, nginx-extras, etc.). apt search accepte des regex.
Illustre une installation puis une suppression. purge retire les fichiers de configuration gérés par le paquet ; les données et configurations personnelles peuvent rester. autoremove peut supprimer toutes les dépendances automatiques devenues inutiles, pas uniquement celles de nginx : examiner la liste proposée.
Pour les scripts
préférer apt-get install / apt-get update qui ont une interface stable et ne changent pas leur format de sortie entre versions. apt émet un avertissement explicite à ce sujet quand stdout n'est pas un terminal.
Niveau bas (dpkg) :dpkg -i fichier.deb installe un .deb téléchargé manuellement (sans gestion des dépendances — un apt install -f ensuite répare). dpkg -l liste tous les paquets, dpkg -L pkg affiche tous les fichiers d'un paquet, dpkg -S /chemin retrouve à quel paquet appartient un fichier.
DNF (Dandified YUM) est le successeur de yum sur la famille Red Hat depuis Fedora 22 et RHEL 8. Format de paquet .rpm. Commandes très proches de yum, mais avec un système de transactions/historique très puissant.
dnf
Gestion des paquets sur Fedora, RHEL et dérivés
Fedora utilise désormais DNF5 ; les distributions RHEL et dérivées peuvent encore utiliser DNF4. Les verbes de base sont proches de yum, mais certains alias, options, formats de sortie et plugins diffèrent. Les formes group list et list --installed évitent ici des alias historiques.
Opérations courantes
dnf check-update
Liste les mises à jour, en rafraîchissant les métadonnées selon leur expiration. Statut 100 si des mises à jour existent, 0 sinon ; ne pas traiter systématiquement 100 comme une erreur.
dnf upgrade
Applique toutes les mises à jour. Pas besoin d'update préalable, dnf rafraîchit ses caches automatiquement.
dnf install PKG
Installe et résout les dépendances.
dnf remove PKG
Désinstalle, ainsi que les dépendances orphelines.
dnf search TERME
Cherche dans noms et résumés.
dnf info PKG
Détails d'un paquet.
dnf list --installed
Liste les paquets installés.
dnf provides /chemin
Quel paquet fournit ce fichier ? Très utile pour retrouver une dépendance.
dnf history list
Liste les transactions (chaque install/remove est une transaction).
dnf history undo N
Annule la transaction N. Une des grandes forces de dnf.
dnf group list / dnf group install GROUPE
Groupes de paquets thématiques (« Development Tools », « Server with GUI »…).
$ sudo dnf upgrade -y
Mise à jour complète. -y répond automatiquement aux prompts. À faire régulièrement, surtout sur Fedora qui sort des mises à jour quotidiennes.
$ sudo dnf install nginx
dnf history list
sudo dnf history undo last
Installe nginx puis illustre l’annulation de la dernière transaction. history undo dépend de l’état actuel et de la disponibilité des versions dans les dépôts ; ce n’est pas une restauration des données, des fichiers modifiés ni de tous les effets des scripts de paquets.
$ dnf provides /usr/bin/host
Demande quel paquet fournit la commande host (réponse : bind-utils). Indispensable quand on suit une doc qui mentionne une commande inconnue.
Niveau bas (rpm) :rpm -qa liste tous les paquets installés, rpm -ivh fichier.rpm installe un .rpm téléchargé sans gestion des dépendances, rpm -qf /chemin/du/fichier retrouve à quel paquet appartient un fichier (équivalent dnf provides sur du local).
yum vs dnf :
sur RHEL 8+, yum existe encore comme alias de dnf pour la rétrocompatibilité des scripts. Sur RHEL 7 et antérieur, c'est yum tout court (et dnf n'est peut-être pas installé).
pacman est le gestionnaire de paquets d'Arch Linux et de ses dérivés. Syntaxe à drapeaux qui se combinent : -S synchronize (depuis les dépôts), -R remove, -Q query (le local). Très rapide, mais avec quelques pièges typiques d'une rolling release.
pacman
Gestion des paquets sur Arch Linux et dérivés
Distros : Arch Linux, Manjaro, EndeavourOS, Garuda. Toutes rolling release : chaque -Syu peut emporter des gros morceaux du système, à faire en pleine conscience plutôt qu'en automatique.
Opérations courantes
pacman -Syu
La commande de mise à jour. Synchronize la base et upgrade tout. Toujours faire les deux ensemble.
pacman -S PKG
Installe.
pacman -R PKG
Désinstalle (sans toucher aux dépendances).
pacman -Rs PKG
Désinstalle + dépendances orphelines (le standard dans la pratique).
pacman -Rns PKG
Idem + supprime la config (sinon sauvée en .pacsave).
pacman -Ss TERME
Cherche dans les dépôts officiels.
pacman -Qs TERME
Cherche parmi les paquets installés (local).
pacman -Si PKG
Infos sur un paquet du dépôt.
pacman -Q
Liste tous les paquets installés.
pacman -Qdt
Liste les orphelins (installés en dépendance, plus utilisés).
pacman -Qo /chemin
Quel paquet possède ce fichier (équivalent dpkg -S / rpm -qf).
$ sudo pacman -Syu
Mise à jour complète. C'est la commande à mémoriser sur Arch. À faire régulièrement (au moins une fois par semaine) pour éviter les sauts de version trop gros qui compliquent la résolution de conflits.
$ sudo pacman -S firefox postgresql redis
Installation multi-paquets. Pacman demande confirmation et résout les dépendances.
$ pacman -Qdt
sudo pacman -Rns $(pacman -Qdtq)
Nettoyage des orphelins : on liste d'abord, on vérifie, puis on les supprime tous d'un coup. -Qdtq avec le q final donne juste les noms (quiet), parfait pour piper.
Jamais pacman -Sy seul.-Sy rafraîchit la base sans upgrader, ce qui crée un partial upgrade : une nouvelle version de paquet peut s'installer contre l'ancienne version de ses dépendances, et tout casse. La règle est simple : c'est -Syu, ou rien.
AUR (Arch User Repository) :
des dizaines de milliers de paquets communautaires non officiels. Pacman ne sait pas y accéder seul. On installe un helper tiers qui parle pacman et sait construire depuis l'AUR : yay -S nom-paquet-aur ou paru -S nom-paquet-aur se comportent comme pacman -S.
zypper gère les paquets RPM sur openSUSE et SLES. Format identique à la famille Red Hat, mais gestionnaire et logique de dépôts spécifiques. Distinction importante entre Leap (releases stables) et Tumbleweed (rolling).
zypper
Gestion des paquets sur openSUSE et SLES
Distros : openSUSE Leap, openSUSE Tumbleweed, SUSE Linux Enterprise Server. Comme dnf, utilise les paquets .rpm, mais avec ses propres dépôts et sa propre commande.
Opérations courantes
zypper refresh
Recharge la liste des paquets depuis les dépôts. Souvent abrégé zypper ref.
zypper update
Met à jour les paquets selon les dépôts configurés et les règles du solveur, sans promettre le maintien d’une version majeure de chaque logiciel.
zypper dist-upgrade
Synchronise l’installation avec les dépôts configurés et autorise notamment remplacements, rétrogradations et suppressions nécessaires. Commande de mise à jour habituelle sur Tumbleweed ; pour une migration de Leap, suivre la procédure de la distribution.
zypper install PKG
Installe. Aussi zypper in.
zypper remove PKG
Désinstalle. Aussi zypper rm.
zypper search TERME
Cherche. Aussi zypper se.
zypper info PKG
Détails du paquet.
zypper patch
Applique uniquement les patchs (sécurité, recommandés). Plus ciblé qu'update.
$ sudo zypper refresh && sudo zypper update
Routine sur openSUSE Leap : on rafraîchit puis on met à jour conservativement. À utiliser quand on veut des mises à jour stables, sans saut de version major.
$ sudo zypper dist-upgrade
Commande habituelle de mise à jour de Tumbleweed : aligne les paquets sur les dépôts de la distribution. Sa différence avec update ne se réduit pas aux numéros de version majeure ; le solveur peut aussi remplacer ou supprimer des paquets. Examiner la transaction.
$ sudo zypper in nginx
sudo zypper patch
Installe nginx puis applique les patchs applicables publiés par les dépôts SUSE (sécurité, recommandés et autres catégories selon les options). patch ne signifie pas exclusivement sécurité ; lire la transaction proposée.
Alpine Linux est une distribution ultra-légère, très populaire pour les images Docker. Son gestionnaire apk reflète cette philosophie : rapide, petit, syntaxe minimale.
apk
Gestion des paquets sur Alpine Linux
Distro : Alpine Linux. Aussi présent dans la plupart des images Docker dérivées d'Alpine (alpine:latest, beaucoup d'images officielles).
Opérations courantes
apk update
Recharge l'index.
apk upgrade
Met à jour les paquets installés.
apk add PKG
Installe (verbe add, pas install).
apk del PKG
Désinstalle (verbe del, pas remove).
apk search TERME
Cherche.
apk info PKG
Détails.
apk list -I
Liste les paquets installés.
apk add --no-cache PKG
Installe sans laisser de cache local. Idiome Docker pour réduire la taille de l'image.
$ sudo apk update && sudo apk upgrade
Routine de mise à jour standard.
$ # Dans un Dockerfile
FROM alpine:latest
RUN apk add --no-cache python3 py3-pip curl ca-certificates
Le --no-cache évite de stocker l'index dans /var/cache/apk/ (sinon il faudrait un rm -rf /var/cache/apk/* à la fin pour ne pas grossir l'image).
$ sudo apk add nginx postgresql-client
apk info -L nginx | head
Installation, puis listage des fichiers installés par nginx (-L). Équivalent de dpkg -L ou rpm -ql.
Alpine utilise musl libc
pas glibc. La plupart des paquets précompilés marchent (l'écosystème Alpine est mature), mais certains binaires externes compilés pour glibc (Node.js avec modules natifs, wheels Python manylinux, binaires propriétaires) peuvent refuser de se lancer ou crasher silencieusement. Quand on peut, partir d'images Alpine officielles ou de paquets apk.
Au-dessus du gestionnaire natif, ces deux formats fournissent des paquets sandboxés, identiques d'une distro à l'autre. Idéal pour les applications desktop ou les versions plus récentes que ce que le dépôt officiel propose.
snap
Format universel sandboxé de Canonical
Préinstallé sur Ubuntu récent, installable partout via le paquet snapd. Les applications snap sont auto-mises à jour en arrière-plan. Confinement strict (chaque app dans son cocon avec accès limité).
Opérations courantes
snap find TERME
Cherche dans le Snap Store.
snap install PKG
Installe.
snap remove PKG
Désinstalle.
snap refresh
Force une mise à jour immédiate (sinon auto en arrière-plan).
snap list
Liste les snaps installés.
snap info PKG
Détails et canaux disponibles.
snap install PKG --channel=edge
Choisir le canal : stable (défaut), candidate, beta, edge.
$ snap find spotify
sudo snap install spotify
Cherche puis installe la version snap de Spotify. Les autres modes de distribution éventuels sont indépendants de cet exemple.
$ sudo snap install --classic code
--classic désactive le confinement strict pour les applications qui en ont besoin (VS Code, par exemple, doit accéder librement au système de fichiers et aux outils de build).
$ snap list
sudo snap refresh --hold=24h
Liste des snaps installés, puis gel des mises à jour automatiques pour 24h. Pratique avant une démo ou une session de travail où on ne veut pas être dérangé par un redémarrage forcé.
Auto-update obligatoire :
Avec snapd 2.58 ou plus récent, snap refresh --hold=24h suspend les mises à jour automatiques pour une durée donnée et --hold=forever les suspend indéfiniment. --unhold retire la suspension. Une actualisation manuelle ciblée peut rester possible selon la portée du hold.
Format ouvert, agnostique de la distro, principalement orienté desktop. Le store principal est Flathub. Forte adoption côté GNOME / Fedora ; disponible partout après installation du paquet flatpak de la distro.
Opérations courantes
flatpak remote-add
Ajoute un dépôt. Standard : Flathub (voir exemple).
À faire une seule fois après installation de flatpak : ajouter Flathub, le dépôt qui contient la majorité des applications. Sans dépôt, flatpak install ne trouve rien.
Cycle complet. Les identifiants sont au format reverse-DNS (org.mozilla.firefox, com.spotify.Client, org.gimp.GIMP) — plus verbeux que les noms courts d'apt mais évite les collisions de noms entre projets.
Ajoute une autorisation sur le dossier XDG de téléchargement pour le compte courant. Les permissions initiales dépendent du manifeste de l’application et des overrides existants ; Firefox peut déjà disposer de cet accès. Le jeton xdg-download s’adapte au nom localisé du dossier.