Aller au contenu

APT : Advanced Package Tool

Infrastructure

APT : Advanced Package Tool. « Outil avancé de gestion de paquets », par analogie avec un magasinier qui rapporte la pièce demandée et toutes celles dont elle a besoin pour fonctionner. C'est le gestionnaire de paquets de Debian et de ses dérivés (Ubuntu, Kali Linux).

Diagramme de séquence entre cinq acteurs : apt, Dépôt, Clé Signed-By, Index et dpkg. Pendant apt update, apt demande au dépôt le fichier InRelease, c'est-à-dire le Release signé (1). Le dépôt renvoie InRelease et l'index des paquets (2). apt vérifie la signature avec la clé Signed-By (3). Si la vérification échoue, le dépôt est refusé avec une erreur. apt contrôle ensuite l'empreinte listée dans Release (4). Pendant apt install, apt télécharge depuis le dépôt les paquets requis, dépendances comprises (5). Il les passe à dpkg pour l'installation seulement si l'empreinte du paquet est conforme à l'index (6).

Dépendances : On demande un logiciel, APT calcule la liste complète des paquets qu'il requiert, tranche les conflits de versions et fait installer le tout dans le bon ordre. Le travail de bas niveau (dépaqueter, configurer) revient à dpkg ; APT orchestre, télécharge et vérifie.

Dépôts, suites et noms de code : Les sources se déclarent dans /etc/apt/sources.list ou, au format deb822 (celui de Debian 13), dans des fichiers .sources sous /etc/apt/sources.list.d/. Chaque entrée vise une suite, désignée soit par son rôle (stable, testing), soit par son nom de code (trixie pour Debian 13) ; le nom de code évite de changer de version majeure sans le savoir le jour où « stable » désigne une nouvelle version.

Chaîne de confiance : Chaque dépôt publie un fichier Release (ou InRelease) signé qui liste les empreintes des index, et ces index listent à leur tour les empreintes des paquets ; le champ Signed-By rattache chaque dépôt à sa propre clé, là où l'ancien apt-key faisait confiance à un trousseau global. Ajouter [trusted=yes] pour faire taire une erreur de signature revient à débrancher le détecteur de fumée parce qu'il sonne : le silence revient, l'incendie reste.

Commandes et homonyme : apt update rafraîchit les index, apt upgrade met à jour sans rien supprimer (apt full-upgrade s'autorise les retraits) et apt install ajoute un paquet avec ses dépendances. À ne pas confondre avec APT au sens Advanced Persistent Threat (menace persistante avancée), qui désigne un attaquant organisé et durable, pas un gestionnaire de paquets.

Ce qui arrive si on s'en passe

Sans APT, chaque logiciel s'installe à la main : paquet .deb récupéré puis passé à dpkg, archive compilée depuis les sources ou script téléchargé. La vérification automatique disparaît : APT contrôle la signature OpenPGP du fichier Release d'un dépôt puis l'empreinte de chaque paquet, et refuse un fichier altéré en chemin ; un téléchargement manuel ne repose que sur la vigilance de l'opérateur. Les dépendances ne sont plus résolues, d'où des programmes qui refusent de démarrer ou des bibliothèques copiées hors de tout suivi. Les correctifs de sécurité publiés par la distribution n'arrivent plus d'eux-mêmes : ni apt upgrade ni unattended-upgrades, et une bibliothèque vulnérable reste en place tant que personne ne la remplace. Enfin, les logiciels installés hors gestionnaire échappent à l'inventaire (dpkg -l), ce qui complique l'audit et la reprise après incident.

Explication de la marmotte

Imagine un magasinier très consciencieux. Tu lui demandes un jeu vidéo ; il sait que ce jeu a besoin d'une manette, de piles et d'un câble, alors il rapporte tout d'un coup, dans le bon ordre. Il ne se sert que dans des entrepôts dont il connaît l'adresse, et chaque carton porte un tampon officiel : si le tampon est faux ou abîmé, il refuse la livraison. De temps en temps, tu lui demandes de relire les catalogues pour connaître les nouveautés, puis de remplacer les vieux objets par leurs versions réparées. C'est exactement ce que fait cet outil pour les logiciels d'un ordinateur.

Où ce terme est utilisé

← Tout le glossaire