Sujet : dpkg
-
Codes de sortie d'apt-get, dpkg, dnf et zypper : quand 100 signale des mises à jour et non un échec
apt-get applique un découpage binaire : 0 pour le succès, 100 pour l'erreur. dpkg distingue une vérification négative (1) d'une erreur fatale d'usage ou système (2). Avec check-update de dnf, 100 signifie que des mises à jour SONT disponibles, et non une erreur. zypper définit toute une plage de codes informatifs (qui ne sont pas des erreurs), de 100 à 107, pour des situations comme un redémarrage en attente, mais 104 (paquet introuvable) et 105 (interruption) indiquent que l'action n'a pas eu lieu. Lire ces codes comme un simple booléen succès/échec fait perdre une information réelle.
-
Vérifier l'intégrité des paquets installés sur Debian et Ubuntu avec debsums et dpkg --verify
debsums compare les fichiers installés aux sommes MD5 enregistrées lors de la construction du paquet, dpkg --verify (depuis dpkg 1.17.2) compare les métadonnées enregistrées dans la base de données de dpkg elle-même, et dpkg -S/-L indiquent à quel paquet appartient un fichier et quels fichiers un paquet a installés, avant de décider de le réinstaller.
-
Exécuter apt et dpkg en mode non interactif sur Debian et Ubuntu sans blocage sur les invites
Une exécution scriptée d'apt-get ou de dpkg peut se bloquer sur une invite debconf, sur une question concernant un fichier de configuration modifié ou sur un verrou dpkg détenu. Définir DEBIAN_FRONTEND, choisir les bonnes options confold/confdef et préremplir au préalable les réponses debconf transforme une installation en une commande qui soit se termine, soit échoue de manière explicite.
Lisible par machine : JSON