Maîtriser apt-mark : figer les paquets et dépendances Ubuntu

Vue d’ensemble

Lors de l’administration d’un serveur Ubuntu en production, préserver la stabilité de l’infrastructure exige parfois d’empêcher la mise à niveau intempestive de certains logiciels critiques ou d’ajuster finement l’arbre des dépendances. Cet article détaille l’utilisation pratique de l’utilitaire apt-mark, un outil incontournable pour verrouiller (hold) des binaires et basculer intelligemment les statuts d’installation manuelle ou automatique. À travers plusieurs démonstrations en ligne de commande, vous découvrirez comment sécuriser la maintenance de votre distribution sans risquer de régression applicative.

Bloquer les montées de version : exploiter hold et showhold

Afin de disposer d’une base concrète pour cette manipulation, nous rafraîchissons l’index des dépôts avant d’installer l’outil de transfert réseau curl à l’aide de la commande sudo apt-get update -qq && sudo apt-get install -y curl.

Actualisation de l’index des dépôts et installation de curl

L’exécution de sudo apt-mark hold curl assigne un drapeau de rétention au composant cible, neutralisant toute actualisation automatique lors des futurs cycles de maintenance exécutés avec apt upgrade.
⚙️ [Options fondamentales]

hold : Épingle le paquet spécifié dans sa révision courante afin d’interdire les mises à niveau automatiques.
unhold : Lève le verrouillage précédemment appliqué pour réautoriser l’incorporation de correctifs ou de nouvelles versions.
showhold : Énumère l’ensemble des paquets actuellement gelés sur la machine.
auto : Marque un paquet comme une dépendance implicite installée à la demande d’un autre logiciel.
manual : Définit un paquet comme ayant été explicitement demandé par l’administrateur.
showauto : Restitue la liste complète des dépendances automatiques recensées sur le système.
showmanual : Affiche l’inventaire des composants installés explicitement par l’utilisateur.

Application du verrouillage de version avec sudo apt-mark hold curl

La commande apt-mark showhold permet d’inspecter l’inventaire des éléments faisant l’objet d’un gel de version.
La réponse du terminal atteste que curl a bien rejoint la liste des paquets maintenus en l’état.

Vérification des paquets verrouillés via apt-mark showhold

Débloquer les mises à niveau : rétablir le cycle avec unhold

L’instruction sudo apt-mark unhold curl supprime la contrainte de gel imposée à curl, redonnant au gestionnaire de paquets l’autorisation d’appliquer les mises à jour standard.
Le retour console affiche la notification Canceled hold on curl., signalant la libération effective du paquet.

Levée du verrou sur le paquet via sudo apt-mark unhold curl

Pour certifier que le statut a bien été réinitialisé, nous invoquons de nouveau apt-mark showhold.
L’absence totale de résultat confirme que la règle de gel a disparu et qu’aucun verrouillage résiduel n’affecte curl.

Contrôle de la levée de blocage avec apt-mark showhold

Ajuster les statuts d’installation : maîtriser markauto et unmarkauto

Pour aborder la gestion fine du statut des dépendances, déployons l’utilitaire de traitement JSON jq via la directive sudo apt-get install -y jq.

Déploiement de l’utilitaire jq avec apt-get install

En saisissant sudo apt-mark markauto jq, vous modifiez l’attribut du paquet pour signaler au gestionnaire APT qu’il doit être traité comme une dépendance automatique plutôt qu’un choix manuel.
Cette requalification permet à la commande de nettoyage apt autoremove d’éliminer automatiquement ce composant dès lors que les paquets qui en dépendent viennent à être désinstallés.

Requalification du paquet en dépendance avec sudo apt-mark markauto jq

L’interrogation ciblée apt-mark showauto jq vérifie la prise en compte immédiate de cette nouvelle classification.
La mention de jq dans la sortie standard atteste du basculement réussi vers l’état automatique.

Contrôle de l’indicateur automatique via apt-mark showauto jq

À l’inverse, l’appel à sudo apt-mark unmarkauto jq retire le fanion d’installation indirecte pour replacer le paquet parmi les logiciels explicitement voulus par l’administrateur.
Sous ce profil manuel, le logiciel sera protégé contre toute suppression inattendue lors de l’exécution de apt autoremove.

Rétablissement du statut manuel via sudo apt-mark unmarkauto jq

Un contrôle avec apt-mark showmanual jq certifie la présence de jq dans l’inventaire des composants maintenus explicitement.
L’affichage confirme que le logiciel ne dépend plus d’aucune chaîne de purge automatique.

Vérification du statut d’installation manuelle avec apt-mark showmanual jq

Diagnostic global et audit des paquets manuels et automatiques

Le pipeline apt-mark showmanual | head -n 10 extrait les dix premiers éléments déclarés comme installations manuelles au sein de votre environnement.
Ce relevé met en évidence la présence des utilitaires système essentiels ainsi que des outils ajoutés plus tôt, à l’image de curl.

Inspection des premières entrées manuelles via apt-mark showmanual

De manière symétrique, apt-mark showauto | head -n 10 dévoile les dix premières dépendances intégrées de façon transparente lors de déploiements tiers.
On y distingue les bibliothèques d’exécution et les modules partagés gérés en arrière-plan par l’ordonnanceur de paquets.

Consultation des dépendances gérées automatiquement

La maîtrise d’apt-mark s’avère déterminante pour prévenir les ruptures de compatibilité logicielle et assainir durablement l’écosystème d’un serveur Debian ou Ubuntu.
En verrouillant les briques critiques et en catégorisant judicieusement vos dépendances, vous garantissez à votre environnement une fiabilité optimale au fil des mises à niveau.