Dans le cas de SUSE Linux (openSUSE, SUSE Enterprise et dérivés), zypper et YaST sont les gestionnaires de packages. Alors que YaST (Yet another Setup Tool) sert à administrer, installer et configurer SUSE Linux, zypper est l'interface CLI du gestionnaire de packages ZYpp. ZYpp est au cœur de zypper et de YaST.
Dans cet article, nous allons nous plonger dans l'utilisation de zypper à toutes sortes de fins.
Remarque : Comme les commandes zypper effectuent des modifications à l'échelle du système, ces commandes doivent être exécutées en tant que root. Sinon, les commandes échoueront.
Sans plus tarder, commençons! Tous ces exemples sont affichés sur openSUSE Tumbleweed. Cependant, ces commandes sont universelles pour le gestionnaire de paquets zypper.
Aide Zypper
L'exécution de zypper sans aucune commande imprimera une liste de toutes les commandes disponibles.
$ zypper
C'est une grande liste! Si vous avez besoin d'aide concernant une commande spécifique, exécutez la commande suivante.
$ zypper aide
Mise à jour de la base de données Zypper
C'est l'une des fonctions les plus courantes de zypper pour maintenir sa base de données de packages locale à jour avec le serveur de packages.
$ sudo zypper rafraîchissement
Au lieu d'utiliser « refresh », vous pouvez également utiliser l'abréviation « ref ».
$ sudo zypper réf
Il est également possible de forcer zypper à reconstruire sa base de données locale. Cela peut être utile dans des situations, par exemple, si la base de données est corrompue.
$ sudo zypper rafraîchissement -fdb
Mettre à jour les packages système
Pour récupérer et installer toutes les dernières mises à jour de package d'openSUSE, exécutez la commande suivante.
$ sudo zypper mise à jour
Cependant, je recommande d'utiliser la structure suivante pour un bénéfice maximal.
$ sudo zypper frais && sudo zypper mise à jour
Si vous souhaitez consulter les packages pour lesquels des mises à jour sont disponibles, exécutez la commande suivante. Zypper générera une liste des mises à jour disponibles pour vous.
$ zypper list-updates --all
Installer un paquet
Pour installer un package, utilisez la commande suivante.
$ sudo zypper installer vlc
Il y a quelques abréviations intéressantes des commandes zypper. Dans ce cas, la commande suivante est également valide et fera le même travail.
$ sudo zypper dans vlc
Si vous devez installer plusieurs packages en même temps, incluez simplement le nom du package l'un après l'autre séparé par un espace.
$ sudo zypper installer
Lors de l'exécution d'une action, zypper demandera une confirmation. Pour désactiver le mode interactif, ajoutez l'indicateur "-non-interactif" ou "-n".
$ sudo zypper --non interactif dans vlcsudo zypper -n dans vlc
La fonctionnalité de caractère générique est également prise en charge par zypper. Par exemple, essayons d'installer tous les packages commençant par le nom
python.$ sudo zypper dans 'python*'
Source installer un paquet
Remarque : Avant d'effectuer les étapes suivantes, n'oubliez pas de vérifier si le référentiel source est activé. Sinon, les installations sources échoueront. Activer le référentiel source à partir de « Référentiels de logiciels YaST ».
Si vous devez installer le package source d'un package particulier, utilisez le drapeau "source-install".
$ sudo zypper source-install vlc
Par défaut, cette commande vous demandera également d'installer toutes les dépendances de build. Pour éviter les dépendances de construction, ajoutez le drapeau "-D".
$ sudo zypper source-install -D vlc
Au cas où vous voudriez juste installer les dépendances de build, utilisez plutôt "-d".
$ sudo zypper install source-install -d vlc
Recherche d'un colis
Il y a des milliers de packages dans le référentiel openSUSE. Pour effectuer une recherche à l'aide de zypper, utilisez la structure suivante.
$ zypper recherchePar exemple, recherchons tous les packages contenant le terme "python".
$ zypper recherche python
Une telle recherche peut imprimer une LONGUE liste de packages. Dans une telle situation, utiliser « grep » ou exporter le résultat puis effectuer peut offrir un certain confort.
L'option « rechercher » a également une abréviation « se ».
$ zypper -n se
Notez que pour la recherche, nous n'avons pas eu à utiliser « sudo » au début. C'est parce que zypper n'effectue aucun changement à l'échelle du système.
Supprimer un paquet
Si vous souhaitez vous débarrasser d'un certain paquet, utilisez l'option « supprimer ».
$ sudo zypper supprimerPar exemple, supprimons VLC du système.
$ sudo zypper supprimer vlc
Au lieu de "supprimer", utilisons "rm". C'est l'abréviation du terme « retirer ».
$ sudo zypper rm vlc
Si vous souhaitez ignorer le mode interactif, utilisez le drapeau "-non-interactif" ou "-n".
$ sudo zypper -- rm vlc non interactif$ sudo zypper -n rm vlc
Installation et retrait en même temps
C'est une fonctionnalité intéressante de zypper qui permet d'installer et de supprimer des packages en même temps! Regardons ça.
Par exemple, installons VLC tout en supprimant Python. Dans cet exemple, la tâche principale de zypper est d'installer, pas de supprimer. Ici, le drapeau "-n" est utilisé pour plus de commodité.
$ sudo zypper -n dans vlc -python
Pièce
C'est une partie intéressante de l'écosystème openSUSE. Alors que les deux pièce et mettre à jour fonctionnent de la même manière, les deux sont fondamentalement différents. Embrouillé?
Dans le cas d'une « mise à jour », dans le terme d'openSUSE, mettra à jour le package vers la dernière version disponible à partir du référentiel. Dans le cas du "patch", cependant, il n'installera que les mises à jour de package destinées aux correctifs de bogues et de sécurité.
Si vous installez uniquement patchs, il peut ou non mettre à jour tous les packages. Cependant, effectuer des mises à jour garantira que tous les derniers packages sont installés.
Avec ça à l'écart, commençons!
Dans un premier temps, installer le correctif. La commande suivante installera tous les correctifs officiellement publiés.
$ sudo zypper patch
Dans mon cas, il n'y a rien à faire. S'il existe un dernier correctif, la commande l'installera.
Pour voir la liste des correctifs disponibles, utilisez celui-ci. Cela ne nécessite pas racine autorisation de courir.
$ patchs zypper
Zypper peut lister tous les correctifs qui ne sont pas actuellement installés. Exécutez la commande suivante.
$ zypper liste-patchs
La « liste-patches » est également disponible sous la forme abrégée de « lp ».
$ zypper lp
Intéressé à répertorier uniquement les correctifs marqués comme correctifs de sécurité?
$ zypper lp --category securityPour vérifier le nombre de correctifs requis, exécutez cette commande.
$ sudo zypper patch-check
Gestion du référentiel
Zypper propose des méthodes transparentes de gestion de tous les référentiels. Voici quelques-unes des commandes qui sont vraiment utiles dans de nombreuses situations.
Nous avons déjà expliqué comment mettre à jour la base de données locale de tous les dépôts.
$ sudo zypper rafraîchissement
Besoin d'une liste rapide de tous les référentiels?
$ zypper reposOn peut aussi utiliser "lr", la forme abrégée de "repos".
$ zypper lr
Besoin de l'URI des dépôts? Ajoutez simplement le drapeau "-u" après "lr" ou "repos".
$ zypper lr -u
Si vous ne le saviez pas, les référentiels d'openSUSE sont classés dans une hiérarchie. Pour répertorier les référentiels en fonction de leur priorité, utilisez le drapeau "-p".
$ zypper lr -p
Lors de l'exécution de "refresh", Zypper mettra à jour la base de données locale pour tous les référentiels. Pour mettre à jour un référentiel spécifique, exécutez la commande suivante.
$ sudo zypper rafraîchissement
Les dépôts peuvent être activés/désactivés sans les supprimer. Afin de désactiver un référentiel particulier, exécutez la commande suivante. Notez que nous avons besoin du numéro de dépôt de la liste des dépôts.
$ sudo zypper mr -d
Besoin d'activer un repo désactivé? Exécutons la commande suivante.
$ sudo zypper mr -e
L'ajout d'un nouveau référentiel est également très simple. Dans cet exemple, je vais ajouter le Packman. C'est un référentiel externe qui offre des packages openSUSE supplémentaires. Selon la version d'openSUSE que vous utilisez, l'URI du dépôt va changer. Cependant, la structure de commandement restera la même. En savoir plus sur Packman
$ sudo zypper addrepoDans le cas d'openSUSE Tumbleweed, la commande ressemblera à ceci. Ici, « ar » est la forme abrégée de « addrepo ».
$ sudo zypper ar -cfp 90 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/colporteur
Pour supprimer un dépôt, vous avez besoin de l'alias du dépôt. Prenez l'alias du dépôt dans la liste des dépôts et utilisez la commande suivante.
$ sudo removerepoVous pouvez échanger « removerepo » avec sa forme abrégée « rr ».
$ sudo rr
Gestion des caches
La mise en cache est un mécanisme utile où zypper peut conserver une copie de tous les packages RPM qu'il récupère sur Internet dans un emplacement spécifique. Chaque fois que vous demandez à zypper d'installer le même paquet, il regarde d'abord dans le cache. S'il est dans le cache, zypper utilise le package RPM du cache pour effectuer l'installation. De cette façon, il peut accélérer l'installation et économiser du temps et de la bande passante.
Le cache est stocké à l'emplacement suivant. Chaque dépôt a son propre dossier dédié sous le répertoire.
$ tree /var/cache/zypp/packages
Pour nettoyer le cache, exécutez la commande suivante.
$ sudo zypper nettoyer
Cela nettoiera tous les packages RPM stockés du cache. Je recommande d'activer la mise en cache à moins que vous ne soyez en quelque sorte limité par le stockage. La commande suivante activera la mise en cache pour tous les référentiels du système.
$ sudo zypper mr -ka
Dernières pensées
Zypper contient une tonne de fonctionnalités. Bien que ces méthodes d'utilisation de zypper soient plus que suffisantes pour les utilisateurs réguliers, il existe de nombreuses fonctionnalités avancées qui n'étaient pas présentées ici.
Pour la documentation complète de zypper, consultez la page de manuel.
$ homme zypper
Prendre plaisir!