Linux / Commande zypper : gérer les paquets et choisir la bonne mise à jour

zypper gère les paquets et dépôts sur openSUSE et SUSE Linux Enterprise. refresh actualise les métadonnées ; install et les commandes de mise à jour changent les paquets. Choisissez la procédure de mise à jour adaptée à votre produit : Tumbleweed utilise normalement dup, tandis qu’une version fixe suit ses règles de mises à jour et de correctifs.

Vérifier le produit et les dépôts avant une opération

cat /etc/os-release
zypper --version
zypper repos

Le nom du produit et sa version déterminent les instructions applicables : une commande trouvée pour Tumbleweed ne constitue pas une procédure de migration pour SUSE Linux Enterprise. Les systèmes transactionnels ou à racine en lecture seule peuvent aussi demander un outil ou un mécanisme spécifique ; consultez leur documentation avant des changements directs.

zypper [OPTIONS_GLOBALES] COMMANDE [OPTIONS_DE_COMMANDE] [ARGUMENTS ...]

Les options globales se placent avant la commande, celles propres à une commande après son nom. zypper help install ou man zypper permettent de vérifier cette distinction sur l’installation locale.

repos liste les sources configurées. Examinez les dépôts activés, leur rôle et leur actualisation avant de changer leurs priorités ou d’en ajouter. Une modification des sources peut changer les versions et fournisseurs choisis ; ne mélangez pas des dépôts de versions de distribution différentes pour résoudre rapidement un paquet manquant.

Actualiser les informations et lire un candidat

sudo zypper refresh
zypper search nginx
zypper info nginx
zypper info bash

Exécutez les consultations après avoir lu le bilan de refresh et traité ses échecs. Cette actualisation récupère les informations des dépôts et prépare le cache ; elle ne met pas à niveau les logiciels. Les requêtes peuvent aussi déclencher une actualisation automatique selon la configuration : « consulter » ne veut pas nécessairement dire « sans réseau ».

nginx est un nom de paquet d’exemple ; bash permet de lire les informations d’un composant courant. Dans info, repérez nom, version, architecture, dépôt et état d’installation. Selon les versions et la langue, la présentation change. Une version disponible n’est pas nécessairement celle actuellement installée.

Dans les résultats search, les marqueurs d’installation distinguent notamment les paquets installés automatiquement et ceux choisis par l’utilisateur. Lisez la légende et les en-têtes affichés au lieu de déduire l’état du seul fait qu’un nom apparaît. Un paquet trouvé peut provenir d’une source autre que celle attendue.

Prévoir l’installation puis vérifier son résultat

Pour étudier l’installation de nginx sans appliquer de transaction de paquets :

sudo zypper install --dry-run nginx

--dry-run est ici une option de la commande install. Examinez les paquets ajoutés, mis à niveau ou retirés et les changements de fournisseur. Ce mode teste la résolution mais ne constitue pas une garantie que l’installation réelle réussira. Les conflits de fichiers ne peuvent pas tous être vérifiés si les paquets concernés ne sont pas déjà accessibles dans le cache ; la documentation décrit le rôle complémentaire du téléchargement pour cet examen.

La prévision peut utiliser le réseau et le cache de métadonnées. Elle ne fige pas non plus l’état de la machine. Si le logiciel et les changements conviennent, demandez l’opération réelle :

sudo zypper install nginx

Relisez le plan et confirmez seulement les actions voulues. Ne forcez pas une résolution agressive ou un remplacement de fichiers pour faire disparaître un conflit incompris. L’installation de dépendances et l’exécution de scripts peuvent modifier plus que le seul programme nommé.

Après réussite, consultez zypper info nginx et, pour le paquet installé enregistré par RPM :

rpm -q nginx

Vérifiez la version et les diagnostics avant de passer au test fonctionnel du service. Un paquet présent dans la base ne prouve pas que le serveur web est démarré, joignable ou configuré pour votre application. Le guide de consultation RPM et de vérification des fichiers explique la portée de ces informations.

Choisir entre update, patch et dup

Commande Rôle
refresh Actualiser les métadonnées.
list-updates Lister les mises à jour installables selon les règles de la commande update.
update Mettre à niveau les paquets lorsque la résolution et les règles de fournisseur le permettent.
list-patches / patch Consulter / appliquer les correctifs publiés selon la politique du produit.
dist-upgrade, alias dup Aligner l’état des paquets sur les dépôts retenus, avec des changements plus larges possibles.

Sur une version fixe, consultez les mises à jour et correctifs puis appliquez le flux recommandé pour votre produit. Pour prévisualiser les mises à jour de paquets avec update :

zypper list-updates
sudo zypper update --dry-run

Une liste standard de list-updates ne montre pas forcément toutes les versions plus récentes exclues pour cause de dépendances ou de changement de fournisseur. Ne supposez pas que ces deux commandes décrivent à elles seules tout ce que ferait dup.

Pour une installation classique de Tumbleweed dont les dépôts ont été vérifiés et correctement actualisés, la procédure documentée de mise à jour est :

sudo zypper dup

Ce n’est pas une suite obligatoire à la simulation update ci-dessus : ce sont des choix correspondant à des systèmes et objectifs différents. dup peut gérer des renommages, retraits et même des retours à des versions présentes dans les dépôts. Il dépend donc particulièrement d’une configuration de dépôts cohérente. Ne continuez pas si une source nécessaire n’a pas pu être actualisée.

La documentation openSUSE des mises à jour Tumbleweed explique pourquoi dup sert au suivi de cette distribution continue. Une migration entre versions fixes demande sa propre procédure et sa préparation ; remplacer update par dup ne la définit pas à lui seul.

Lire les diagnostics et préparer un retrait

Pour étudier la suppression du paquet d’exemple sans l’appliquer :

sudo zypper remove --dry-run nginx

La liste peut inclure des dépendants ; ne limitez pas votre lecture au premier nom. Une suppression ultérieure n’est pas une restauration exacte de l’état d’avant installation. Gardez les données et configurations nécessaires, et prévoyez une sauvegarde ainsi que les interruptions possibles avant un changement important.

Les codes de retour de zypper portent parfois une information particulière. Dans la documentation actuelle, 106 indique que des dépôts ont été temporairement ignorés après échec d’actualisation ; 107 signifie que des scripts d’installation ont échoué même si les paquets ont été dépaquetés et enregistrés. Cela demande une vérification, pas un classement automatique comme succès complet. Le code 100 de patch-check concerne des correctifs disponibles ; ne transférez pas sans examen la logique d’une autre commande ou d’un autre gestionnaire.

Consultez le manuel officiel zypper, notamment les essais et les codes de sortie. Gardez les contrôles de signatures et vérifiez la provenance des clés et des sources. Une prévision réussie ou une signature valide ne remplace pas la décision sur les changements que vous voulez réellement appliquer.