Aller au contenu
Administration Linux medium

Maîtriser le gestionnaire de paquet Zypper

9 min de lecture

Zypper est le gestionnaire de paquets en ligne de commande d’openSUSE et SUSE Linux Enterprise. Il permet d’installer, mettre à jour, supprimer et gérer les dépôts de logiciels avec efficacité. Solide, rapide et bien intégré au système, Zypper repose sur libzypp, un moteur de gestion de paquets puissant. Que tu sois sur un poste de travail ou un serveur, Zypper est un allié fiable pour garder ton système propre et à jour.

D’accord, voici une version centrée uniquement sur l’histoire de Zypper, sans entrer encore dans le fonctionnement :

Le gestionnaire Zypper a vu le jour dans le projet openSUSE autour de 2006, avec la sortie d’openSUSE 10.2. Avant cela, openSUSE utilisait plusieurs outils de gestion de paquets comme YaST2, rug, et zen-updater, mais ceux-ci étaient jugés lents, lourds et peu adaptés aux besoins modernes, notamment pour les mises à jour via internet.

Les équipes d’openSUSE et de SUSE Linux ont donc décidé de repenser leur approche. Leur objectif était clair : créer un outil de ligne de commande rapide, fiable et scriptable, capable de remplacer les anciens gestionnaires tout en s’intégrant avec YaST. C’est ainsi qu’est née libzypp, la bibliothèque qui gère la résolution des dépendances, et son client CLI : Zypper.

Avec openSUSE 11.0 en 2008, Zypper a connu une grosse amélioration de performance et de stabilité. Il est devenu l’outil principal recommandé pour la gestion des paquets en ligne de commande sur toutes les distributions openSUSE et SUSE Linux Enterprise.

Aujourd’hui, Zypper est reconnu pour :

  • Sa rapidité de traitement grâce à son moteur optimisé,
  • Son intégration native avec les outils d’entreprise SUSE,
  • Sa capacité à gérer des mises à jour système complexes via des commandes simples.

Installation et mise à jour des paquets avec Zypper

Section intitulée « Installation et mise à jour des paquets avec Zypper »

Voici les commandes essentielles que j’utilise avec Zypper :

  • Rechercher un paquet :

    Fenêtre de terminal
    zypper search mot_clé

    Recherche un paquet par son nom ou description.

  • Afficher des informations détaillées sur un paquet :

    Fenêtre de terminal
    zypper info nom_du_paquet

    Affiche la version, la source, les dépendances, et l’état d’installation d’un paquet.

  • Installer un paquet :

    Fenêtre de terminal
    sudo zypper install nom_du_paquet

    Installe un paquet depuis les dépôts actifs.

  • Mettre à jour tous les paquets :

    Fenêtre de terminal
    sudo zypper update

    Met à jour tous les logiciels installés vers leur dernière version disponible.

  • Mettre à jour un paquet spécifique :

    Fenêtre de terminal
    sudo zypper update nom_du_paquet

    Met à jour uniquement un paquet choisi.

  • Effectuer une mise à niveau complète du système :

    Fenêtre de terminal
    sudo zypper dist-upgrade

    Gère les changements de fournisseurs de paquets et ajuste toutes les dépendances (recommandé pour Tumbleweed).

Zypper facilite beaucoup la gestion des dépôts de logiciels sur openSUSE et SUSE Linux Enterprise. Voici la liste des commandes principales que j’utilise pour ajouter, modifier ou supprimer des dépôts.

  • Lister les dépôts configurés :

    Fenêtre de terminal
    zypper repos

    Affiche la liste de tous les dépôts activés avec leur alias, URL et priorités.

  • Ajouter un nouveau dépôt :

    Fenêtre de terminal
    sudo zypper addrepo URL_du_dépôt alias_du_dépôt

    Exemple :

    Fenêtre de terminal
    sudo zypper addrepo https://download.opensuse.org/repositories/packman/openSUSE_Tumbleweed/ packman

    Ajoute un dépôt externe, par exemple pour du multimédia.

  • Supprimer un dépôt :

    Fenêtre de terminal
    sudo zypper removerepo alias_ou_ID

    Permet de retirer un dépôt que tu n’utilises plus.

  • Modifier les priorités d’un dépôt :

    Fenêtre de terminal
    sudo zypper modifyrepo --priority 90 alias_ou_ID

    Plus la priorité est basse (numériquement élevée), moins le dépôt est prioritaire (par défaut : 99).

  • Rafraîchir les métadonnées des dépôts :

    Fenêtre de terminal
    sudo zypper refresh

    Mets à jour les informations locales sur les paquets disponibles dans les dépôts.

  • Activer ou désactiver temporairement un dépôt :

    • Désactiver :

      Fenêtre de terminal
      sudo zypper modifyrepo --disable alias_ou_ID
    • Activer :

      Fenêtre de terminal
      sudo zypper modifyrepo --enable alias_ou_ID
  • Vérifier l’état des dépôts et leur disponibilité :

    Fenêtre de terminal
    zypper lr -d

    Affiche les URL complètes et le statut de chacun des dépôts.

Quand tu maîtrises les bases, Zypper offre aussi des options avancées très puissantes pour affiner la gestion de ton système. Voici la liste de celles que j’utilise le plus.

  • Effectuer une mise à niveau depuis un dépôt spécifique :

    Fenêtre de terminal
    sudo zypper dup --from alias_du_dépôt

    Très utile si tu veux passer tous tes paquets vers une version fournie par un dépôt précis, comme Packman.

  • Nettoyer les paquets orphelins (non nécessaires) :

    Fenêtre de terminal
    sudo zypper packages --orphaned
    sudo zypper remove paquet_orphelin

    Identifie et supprime les paquets qui ne sont plus requis par aucun autre paquet installé.

  • Verrouiller un paquet pour empêcher sa mise à jour :

    Fenêtre de terminal
    sudo zypper addlock nom_du_paquet

    Bloque un paquet pour qu’il ne soit jamais mis à jour accidentellement.

  • Déverrouiller un paquet :

    Fenêtre de terminal
    sudo zypper removelock nom_du_paquet

    Supprime le verrou appliqué.

  • Voir tous les paquets installés :

    Fenêtre de terminal
    zypper search --installed-only

    Affiche uniquement les paquets présents sur ton système.

  • Lister les mises à jour de sécurité disponibles :

    Fenêtre de terminal
    sudo zypper list-patches

    Montre uniquement les correctifs de sécurité et recommandations importantes.

  • Appliquer uniquement les mises à jour de sécurité :

    Fenêtre de terminal
    sudo zypper patch

    Installe seulement les patchs critiques sans changer les versions globales.

  • Voir les processus utilisant des fichiers supprimés après une mise à jour :

    Fenêtre de terminal
    sudo zypper ps

    Très utile pour savoir s’il faut redémarrer des services ou le système après des mises à jour importantes.

Même si Zypper est fiable, il arrive parfois que des erreurs surgissent. Voici les commandes et réflexes que j’utilise pour résoudre les problèmes les plus fréquents.

  • Forcer la rafraîchissement des dépôts :

    Fenêtre de terminal
    sudo zypper refresh --force

    Si les dépôts semblent corrompus ou périmés, je force leur actualisation.

  • Corriger un cache de métadonnées cassé :

    Fenêtre de terminal
    sudo zypper clean --all
    sudo zypper refresh

    Cela supprime tous les fichiers de cache et recharge proprement les dépôts.

  • Résoudre les problèmes de dépendances :

    Fenêtre de terminal
    sudo zypper verify

    Vérifie la cohérence du système (dépendances manquantes, paquets cassés) et propose des corrections.

  • Forcer la réinstallation d’un paquet cassé :

    Fenêtre de terminal
    sudo zypper install --force nom_du_paquet

    Utile si un fichier essentiel d’un paquet a été supprimé ou endommagé.

  • Débloquer une mise à jour interrompue :

    Fenêtre de terminal
    sudo zypper ps

    Puis redémarrer les processus concernés, ou carrément le système si nécessaire.

  • Identifier les erreurs liées aux verrouillages (lock) de paquets :

    Fenêtre de terminal
    sudo zypper locks

    Puis déverrouiller si besoin :

    Fenêtre de terminal
    sudo zypper removelock nom_du_paquet
  • Analyser les erreurs à partir des journaux :

    Fenêtre de terminal
    less /var/log/zypper.log

    Le fichier zypper.log contient toutes les erreurs, avertissements et détails utiles pour le dépannage.

  • Rétablir un système après une erreur grave :

    • Utiliser un snapper rollback si Btrfs est activé pour revenir à un état stable :

      Fenêtre de terminal
      sudo snapper list
      sudo snapper rollback ID
    • Refaire un zypper dist-upgrade pour tenter de stabiliser les paquets.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

10 questions
5 min.
80%

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Voilà, tu as maintenant un bon aperçu de Zypper et de ses commandes essentielles. Que tu sois un administrateur système ou un utilisateur avancé, Zypper est un outil puissant qui te permettra de gérer efficacement ton système openSUSE ou SUSE Linux Enterprise. N’hésite pas à explorer davantage et à consulter la documentation officielle pour découvrir toutes les fonctionnalités avancées qu’il offre. Bonne administration !