glossaire-linux

Paquets

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 updateRecharge la liste des paquets disponibles depuis les dépôts. Première chose à faire avant tout install.
apt upgradeMet à jour les paquets installés (sans rien désinstaller).
apt full-upgradeMet à jour en autorisant aussi les suppressions nécessaires à la résolution des dépendances ; examiner la transaction proposée.
apt install PKGInstalle et résout les dépendances. Plusieurs paquets en une fois acceptés.
apt remove PKGDésinstalle, mais conserve les fichiers de configuration.
apt purge PKGDésinstalle et supprime la configuration. Pour un nettoyage complet.
apt search TERMECherche dans les noms et descriptions des paquets disponibles.
apt show PKGDétails d'un paquet (version, dépendances, taille, description).
apt list --installedListe les paquets installés. Combinable avec grep.
apt autoremoveSupprime 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.
$ sudo apt install nginx postgresql redis-server
sudo apt purge nginx && sudo apt autoremove
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.

Voir aussi : dnf pacman snap flatpak

Fedora / RHEL — dnf

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-updateListe 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 upgradeApplique toutes les mises à jour. Pas besoin d'update préalable, dnf rafraîchit ses caches automatiquement.
dnf install PKGInstalle et résout les dépendances.
dnf remove PKGDésinstalle, ainsi que les dépendances orphelines.
dnf search TERMECherche dans noms et résumés.
dnf info PKGDétails d'un paquet.
dnf list --installedListe les paquets installés.
dnf provides /cheminQuel paquet fournit ce fichier ? Très utile pour retrouver une dépendance.
dnf history listListe les transactions (chaque install/remove est une transaction).
dnf history undo NAnnule la transaction N. Une des grandes forces de dnf.
dnf group list / dnf group install GROUPEGroupes 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é).

Voir aussi : apt zypper flatpak

Arch — pacman

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 -SyuLa commande de mise à jour. Synchronize la base et upgrade tout. Toujours faire les deux ensemble.
pacman -S PKGInstalle.
pacman -R PKGDésinstalle (sans toucher aux dépendances).
pacman -Rs PKGDésinstalle + dépendances orphelines (le standard dans la pratique).
pacman -Rns PKGIdem + supprime la config (sinon sauvée en .pacsave).
pacman -Ss TERMECherche dans les dépôts officiels.
pacman -Qs TERMECherche parmi les paquets installés (local).
pacman -Si PKGInfos sur un paquet du dépôt.
pacman -QListe tous les paquets installés.
pacman -QdtListe les orphelins (installés en dépendance, plus utilisés).
pacman -Qo /cheminQuel 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.

Voir aussi : apt dnf flatpak

openSUSE — zypper

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 refreshRecharge la liste des paquets depuis les dépôts. Souvent abrégé zypper ref.
zypper updateMet à 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-upgradeSynchronise 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 PKGInstalle. Aussi zypper in.
zypper remove PKGDésinstalle. Aussi zypper rm.
zypper search TERMECherche. Aussi zypper se.
zypper info PKGDétails du paquet.
zypper patchApplique 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.

Voir aussi : dnf apt flatpak

Alpine — apk

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 updateRecharge l'index.
apk upgradeMet à jour les paquets installés.
apk add PKGInstalle (verbe add, pas install).
apk del PKGDésinstalle (verbe del, pas remove).
apk search TERMECherche.
apk info PKGDétails.
apk list -IListe les paquets installés.
apk add --no-cache PKGInstalle 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.

Voir aussi : apt dnf

Multi-distro — snap et flatpak

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 TERMECherche dans le Snap Store.
snap install PKGInstalle.
snap remove PKGDésinstalle.
snap refreshForce une mise à jour immédiate (sinon auto en arrière-plan).
snap listListe les snaps installés.
snap info PKGDétails et canaux disponibles.
snap install PKG --channel=edgeChoisir 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.

Voir aussi : flatpak apt

flatpak

Format universel sandboxé, distribué via Flathub

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-addAjoute un dépôt. Standard : Flathub (voir exemple).
flatpak search TERMECherche dans les dépôts ajoutés.
flatpak install REMOTE PKGInstalle un paquet depuis un dépôt nommé.
flatpak uninstall PKGDésinstalle.
flatpak updateMet à jour tous les flatpaks.
flatpak list --appListe les applications installées.
flatpak run APP_IDLance l'application.
flatpak override APP_ID --filesystem=homeAjuste les permissions du sandbox au cas par cas.
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
À 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.
$ flatpak search firefox
flatpak install flathub org.mozilla.firefox
flatpak run org.mozilla.firefox
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.
$ flatpak override --user --filesystem=xdg-download org.mozilla.firefox
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.

Voir aussi : snap dnf