Linux / Commande apt-get : simuler les changements et gérer les paquets
apt-get gère l’installation, la suppression et les mises à niveau de paquets sur Debian et Ubuntu. update actualise les index des dépôts, tandis que upgrade agit sur les paquets installés. Pour préparer un changement, utilisez -s afin de simuler le plan, puis examinez les dépendances et les codes de sortie avant l’exécution réelle.
Choisir apt-get et préparer les informations locales
apt-get fait partie d’APT, Advanced Package Tool. Il offre une interface dédiée aux opérations de paquets, à privilégier dans les scripts par rapport à l’affichage interactif d’apt. Cela ne dispense pas de préciser les options ni de prévoir les erreurs. Le guide apt pour Debian et Ubuntu présente la recherche et les choix au terminal.
cat /etc/os-release
apt-get --version
Ces commandes permettent de confirmer la famille de distribution et la version de l’outil. Les changements nécessitent les droits appropriés, des dépôts correspondant à votre distribution et une connexion pour récupérer les index ou paquets manquants.
apt-get [OPTIONS] COMMANDE [PAQUET ...]
sudo apt-get update
update rafraîchit les métadonnées locales ; il ne met pas à niveau les logiciels déjà installés. Examinez aussi les avertissements de récupération : une partie des sources peut échouer et des listes antérieures rester utilisées. Dans les versions prenant en charge l’option, apt-get --error-on=any update demande un échec même pour une erreur transitoire ; vérifiez man apt-get sur le système visé avant de l’intégrer à un script.
Lire une simulation puis installer curl
curl sert ici d’exemple de paquet précis. Après une actualisation correcte des listes, consultez la candidate et simulez l’installation :
apt-cache policy curl
sudo apt-get -s install curl
La version candidate dépend des dépôts et priorités locales ; ce n’est pas automatiquement la dernière version du projet en amont. Dans la simulation, lisez le résumé et les lignes d’opérations. Les abréviations importantes sont :
| Marqueur | Interprétation |
|---|---|
| Inst | Dépaquetage prévu, pour une installation ou une mise à niveau. |
| Conf | Configuration prévue du paquet. |
| Remv | Suppression prévue : vérifier le nom et sa nécessité. |
Aucune liste fixe de versions ou de dépendances ne convient à toutes les machines. Une simulation peut ne rien proposer si le paquet est déjà à la version attendue. Elle ne télécharge ni n’exécute les opérations de paquets ; elle ne garantit donc pas la disponibilité future des fichiers, la réussite des scripts d’installation ou l’absence d’un conflit au moment d’appliquer le plan.
Le mode -s ne verrouille pas l’état du système. Une autre opération peut le modifier entre la prévision et l’installation. Une simulation sans droits suffisants peut aussi manquer certaines configurations : utilisez les mêmes conditions de lecture que pour l’opération préparée.
Si le plan et le logiciel conviennent, exécutez l’installation réelle sans acceptation automatique :
sudo apt-get install curl
Relisez les ajouts, mises à niveau et éventuelles suppressions à la confirmation. Les dépendances font partie de l’opération et certains paquets exécutent des scripts ou modifient des services. Après réussite, consultez de nouveau apt-cache policy curl et exécutez curl --version pour vérifier le programme attendu. Cette vérification du binaire n’est pas un test de connexion réseau.
Comprendre upgrade, dist-upgrade et les suppressions
sudo apt-get -s upgrade
sudo apt-get -s dist-upgrade
Ces lignes sont des simulations à comparer, pas deux mises à niveau réelles à appliquer successivement. Par défaut, apt-get upgrade met à niveau les paquets déjà présents sans ajouter de nouveaux paquets ni retirer ceux installés. Il laisse donc en attente une mise à niveau nécessitant ces changements. L’option --with-new-pkgs permet l’ajout de dépendances avec upgrade, sans autoriser leur suppression.
dist-upgrade peut résoudre les changements de dépendances en retirant des paquets. C’est le nom documenté utilisé ici pour apt-get ; apt emploie notamment full-upgrade pour l’opération correspondante. Ce choix n’est pas à lui seul une procédure complète de migration vers une nouvelle version de Debian ou Ubuntu.
remove retire un paquet en laissant normalement certains fichiers de configuration ; purge retire aussi ces configurations gérées par le paquet. autoremove vise les dépendances installées automatiquement et devenues inutiles. Ce ne sont pas des commandes à lancer comme suite obligatoire d’une installation.
sudo apt-get -s remove curl
sudo apt-get -s autoremove
Inspectez les propositions avant toute suppression réelle. Retirer le paquet n’annule pas exactement l’installation et toutes ses conséquences : les dépendances conservées, les données et les modifications de configuration doivent aussi être examinées. Préparez sauvegarde et fenêtre d’intervention lorsque l’état des services est important.
Écrire un petit script complet de prévision
Voici un script Bash complet qui affiche la candidate de curl et simule son installation. Il suppose que les index ont déjà été actualisés et qu’apt-cache et apt-get sont disponibles. Enregistrez ce contenu dans preview-curl.sh :
#!/usr/bin/env bash
set -euo pipefail
if (( EUID != 0 )); then
printf 'Executer avec sudo pour lire la configuration complete.\n' >&2
exit 1
fi
command -v apt-cache >/dev/null
command -v apt-get >/dev/null
apt-cache policy curl
apt-get -s install curl
Vérifiez la syntaxe, puis lancez la prévision sur la machine Debian ou Ubuntu concernée :
bash -n preview-curl.sh
sudo bash preview-curl.sh
Le script ne contient aucune installation réelle et n’actualise pas les index. Il doit afficher les informations de sélection et le plan, ou s’arrêter en cas d’échec. bash -n vérifie la syntaxe du shell, pas la disponibilité des paquets ni le résultat de résolution d’APT. Ne remplacez pas mécaniquement la simulation par une installation automatique sans définir la politique de changement.
-y accepte les questions ordinaires à votre place ; il ne constitue pas une validation du plan et ne garantit pas que toutes les autres interactions de configuration disparaîtront. -qq peut aussi impliquer -y : un affichage plus silencieux n’est pas forcément un simple changement de présentation. Pour refuser toute suppression, --no-remove est une option dédiée qui fait échouer l’opération si un retrait est proposé.
Dans un script réel, conservez les diagnostics et vérifiez l’issue de chaque étape. apt-get utilise normalement 0 pour le succès et 100 pour une erreur ; ne continuez pas après un échec comme si l’installation avait abouti. N’effacez pas les fichiers de verrouillage pour contourner une autre opération et ne désactivez pas l’authentification des dépôts.
Le manuel officiel apt-get et ses options de simulation détaille ces comportements. La documentation apt-cache explique l’examen des métadonnées et des priorités sans confondre recherche et installation.




