LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


opensuse:zypper_manuel

Zypper

Ceci est un traduction, non-officielle, de la documentation sur zypper qu'on peut trouver sur les sites officiels Si vous trouvez des incohérences dans ma traduction, je vous invite à jeter un oeil dans la doc officielle… et éventuellement à corriger :-) ou au moins à me les signaler

Présentation

Zypper, c'est ce logiciel basé sur la librairie libzypp, made in openSUSE, qui a donné son coup de jeune à yast. C'est un gestionnaire de paquetage en ligne de commandes. Zypper est capable de manipuler à la fois les paquetages (bien entendu) et les dépots de paquetages. Il permet de rechercher, d'installer, de supprimer de mettre à jour paquets et dépôts… Il est utilisable seul ou intégré dans des scripts.

Caractéristiques

Gestion des paquets

  • Installation/désinstallation de paquets par nom, ou par les fonctions qu'ils fournissent.
  • Installation/désinstallation de versions spécifiques de paquets
  • Installation/désinstallation de rpm isolés, en accédant automatiquement aux dépôts pour satisfaire les problèmes de dépendance.
  • Installation/désinstallation de paquets en une étape (“one go”?) (en utilisant +/- ou ~/!)
  • Choisir le dépôt source d'installation pour chaque paquet en précédant le nom du paquet par “repo_alias”
  • Mettre à jour l'intégralité des paquets si une version plus récente est disponible
  • Installation de modèles/produits/patches
  • Résumé d'installation compréhensible
  • Esquiver si nécessaire l'installation des paquets recommandés.

Gestion des dépôts

  • Ajout/suppression/importation/exportation de dépôts simple.
  • Utilisation d'un dépôt temporaire
  • Limiter les opérations aux dépôts spécifiés
  • Modifier plusieurs dépôts en une fois (en choisissant le type de média, les dépôts locaux ou tous les dépôts)

Interrogations

  • Rechercher les paquets par leurs noms, mais aussi par leur description et leur résumé.
  • Rechercher des paquets en renseignant une partie du nom, sur des expressions globales (expressions génériques), mot entier, chaine de caractère exacte…
  • Grouper les résultats des recherches par le nom, le type du paquet, ou montrer toutes les versions disponibles d'un paquet.
  • Montrer les informations détaillés détaillant un paquet/patch/modèle/produit.
  • Lister tous les paquet/patch/modèle/produit disponibles

Gestion des mises à jour

  • Lister les patches nécessaires ou disponibles.
  • Appliquer les patches nécessaires.

Verouillages de paquets

  • Ajouter facilement un simple verouillage de paquet en filtrant par nom (les expressions génériques sont acceptées), par type de paquet ou par dépôt.
  • lister les verouillages actuels
  • Révoquer un verouillage par le nm du paquet le numéro du verouillage.

Commodités

  • Vérifier les dépendances entre les paquets installés
  • Installer de nouveau paquets, recommandés par ceux déjà installés, rendus installables par l'jout de nouveaux dépôts ou de nouveaux matériels.

Général

  • Sortie programme en mode XML pour l'utilisation machine
  • Mode non-interactif pour l'utilisation dans les scripts
  • 3 niveaux de mode bavards.
  • Réécriture automatique des paths locaux dans le répertoire : /working_dir/local_path quand un URI est attendu.

Et la liste n'est certainement pas complète…

Utilisation

zypper s'utilise en root

Références rapides

Les commandes que vous utiliserz le plus souvent sont :

zypper                 # Ecrit la liste options et commandes globales disponibles

zypper help search     # Ecrit l'aide pour la commande de recherche

zypper lu              # Pour voir les patches de mise à jour requises par le système.

zypper up              # Pour appliquer les patches de mise à jour

zypper se sqlite       # Pour faire des recherches SQLite

zypper rm sqlite2      # Pour supprimer sqlite2

zypper in sqlite3      # Pour installer sqlite3

zypper in yast*        # Pour installer tous les paquetscontenant 'yast*'

zypper up -t package   # Pour mettre à niveau tous les paquets installer avec de nouvelles versions, s'il y'en a disponibles

Utilisation générale

La syntaxe générale pour utiliser zypper est la suivante :

zypper [global-options] command [command-options] [arguments] ...

Les composants entre crochets ne sont pas requis. Ainsi, le moyen le plus simple d'utiliser zypper est d'entrer son nom suivi d'une commande. Par exemple, pour appliquer les patches utiles au système, entrez :

zypper update

Par ailleurs, vous pouvez chosir une ou plusieurs options globales en les appelant juste avant la commande. Dans le cas suivant, zypper va exécuter la commande (update) mais en décidant lui même ce qu'il faut faire en cas de conflit :

zypper --non-interactive update

Pour utiliser des options spécifiques à une commande particulière, il faut rentrer ces options à droite de la commande. Ici, on décide d'accepter directement toutes les licenses :

zypper update --auto-agree-with-licenses

Certaines commandes nécessitent un ou plusieurs arguments. Ainsi, pour installer un logiciel (mplayer)

zypper install mplayer

Il arrive également que certaines options nécessitent la présence d'un ou plusieurs arguments. Ainsi, pour mettre à jour le système avec les nouvelles versions des paquets disponibles :

zypper update -t package

On peut combiner toutes les situtations : (on installer mplayer et amarok en n'utilisant que le dépôt factory, et en demandant à zypper d'être bavard)

zypper -v install --repo factory mplayer amarok 

Vocabulaire

  • Dépôt : Répertoire local ou distant, dans lequel on peut trouver des paquetset diverses informations sur les paquets (métadonnées). Les dépôts de paquets sont parfois appelées sources d'installation ou services (ou repositories, pour les anglophiles ;-) )…
  • alias L'alias d'un dépôt est une version courte du nom d'un dépôt, destinée à être utilisée dans les commandes et options de manipulation des dépôts, telles que removerepo ou –repo
  • paquet Paquet logiciel (on parle de package, de paquet RPM ou paquet source). On parle communément des modèles, des patches ou des produits comme étant différents types de paquets.
  • patch Paquet ou groupe de paquets nécessaires pour installer une mise à jour critique (update), qui sert généralement à résoudre un bug.
  • modèle (pattern) Groupe de paquets. Par exemple, un modèle http server définirait toutes les dépendances, de sorte que tous les paquets nécessaires à l'utilisation d'un serveur http seraient installés en même temps que le modèle.
  • produit Représente le produit entier (par exemple openSUSE 10.3)

Commandes

zypper fournit un certain nombre de commandes, que l'on peut regrouper comme suit :

  • Gestion des dépôts
refresh, repos, addrepo, removerepo, modifyrepo, namerepo
  • Gestion des paquets
install, remove, update, dist-upgrade, source-install
  • Interrogation
search, info, what-provides, list-updates, patch-check, patches, packages, patterns, products
  • Verouillage
locks, addlock, removelock
  • Outils
verify, install-new-recommends
  • Autre
help

Afficher l'aide

Il est important de savoir comment obtenir de l'aide. L'aide générale est affichée si vous entrez simplement zypper, sans aucune option ou argument. Pour obtenir l'aide d'une commande spécifique :

# zypper help [commande]

plutôt que zypper help, on peut choisir zypper -h, ce qui est équivalent.

Gestion des dépôts

Vous pouvez choisir un dépot existant en utilisant le nombre qui lui est associé dans la sortie de la commande zypper lr, alia ou URI. Quand vous utilisez les nombres, vérifiez toujours la correspondance avec zypper lr en premier lieu. Ces nombres peuvent changer quand vous manipulez les dépots.

Lister les dépôts intallés

Commande : repos

on peut utiliser lr plutôt que repos. Example de sortie :

$ zypper lr

# | Alias                 | Name                  | Enabled | Refresh

--+-----------------------+-----------------------+---------+--------

1 | packman               | Packman 11.0          | Yes     | No

2 | fate                  | fate                  | No      | No

3 | openSUSE-11.0-Updates | Updates for 11.0      | Yes     | Yes

4 | repo-oss              | openSUSE-11.0-Oss     | Yes     | No

5 | repo-non-oss          | openSUSE-11.0-Non-Oss | Yes     | No

6 | repo-debug            | openSUSE-11.0-Debug   | No      | No

Exemples d'options pour lr :

zypper lr -u       # pour inclure l'URI des dépôts dans la table

zypper lr -d       # Pour inclure de nombreuses autres propriétés dans la table

zypper lr -P       # pour inclure également les priorités des dépots et trier la liste en tenant compte de cette propriété

zypper lr -e my    # exporter la définition des dépôts dans le fichier nommé 'my.repo'

Ajout de dépôt

commande : addrepo ou ar

Avant de pouvoir installer un paquet, il est essentiel d'ajouter au monis un dépot. Pour ajouter un dépot, on utilise addrepo ou ar :

Exemple de sortie

$ zypper ar http://download.videolan.org/pub/vlc/SuSE/11.0 vlc

Adding repository 'vlc' [done]

Repository 'vlc' successfully added

Enabled: Yes

Autorefresh: No

URI: http://download.videolan.org/pub/vlc/SuSE/11.0

Autres cas :

zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.0/X11:XGL.repo  # on utilise le fichier .repo 

zypper ar -c ftp://some.download.site myalias   # sonde le dépôt à propos de l'ajout

zypper ar my/dir/with/rpms local                # ajouter le répoertoire local contenant des fichiers rpm comme dépot

suivre ce lien pour plus d'infos (en anglais)

Rafraichir un dépot

Commande : refresh

Il ne suffit pas d'ajouter un dépot une fois pour posséder une installation à jour. Il est important de vérifier régulièrement que des patches importants ne sont pas parus, qu'il faudrait installer, ou plus simplement que certains logiciels ont été améliorés pour le confort de l'utilisateur. Pour vérifier l'état des dépots, il faut rafraichir la liste des paquet qu'il contient. On télécharge et analyse pour cela les méta-données avec la commande refresh. Exemple :

$ zypper refresh

Downloading repository 'Packman 11.0' metadata [done]

Building repository 'Packman 11.0' cache [done]

Downloading repository 'Updates for 11.0' metadata [done]

Building repository 'Updates for 11.0' cache [done]

Repository 'openSUSE-11.0-Oss' is up to date.

All repositories have been refreshed.

Si pour un dépot, l'option autorefresh est activée, il n'est pas nécessaire de s'inquiéter du rafraichissement de ce dépot. Il arrive que certaines personnes désactivnet cette option, afin de controler plus personnellement le rafraichissement… man zypper donne plus de détails.

Autres utilisation :

zypper ref packman main  # précise le dépot à rafraichir (ici packman ;) )

zypper ref -f upd        # force le rafraichissement du dépot upd

Suppression de dépots

Commande : removerepo ou rr

exemple de sortie :

$ zypper rr vlc 1 23 foo

Repository 23 not found by alias, number or URI.

Repository foo not found by alias, number or URI.

Removing repository 'repo-debug' [done]

Repository 'repo-debug' has been removed.

Removing repository 'vlc' [done]

Repository 'vlc' has been removed.

Modifier les dépôts

Commande : modifyrepo ou mr

On peut désactiver un dépôt :

$ zypper mr -d 6 # On désactive le dépôt 6

Repository 'repo-non-oss' has been sucessfully disabled.

Autoriser l'auto-refresh et le cache pour le dépot packman, placer sa priorité à 70 :

$ zypper mr -rk -p 70 packman

Autorefresh has been enabled for repository 'packman'.

RPM files caching has been enabled for repository 'packman'.

Repository 'packman' priority has been set to 70.

Désactiver l'utilisation du cache des rpm pour tous les dépôts :

$ zypper mr -Ka

Nothing to change for repository 'local'.

RPM files caching has been disabled for repository 'packman'.

Nothing to change for repository 'fate'.

Nothing to change for repository 'upd'.

Nothing to change for repository 'repo-oss'.

Nothing to change for repository 'repo-non-oss'.

Renommer un dépôt

Commande : namerepo

$ zypper nr 3 upd

Repository 'openSUSE-11.0-Updates' renamed to 'upd'.

Cette commande ne permet actuellement de changer que l'alias d'un dépôt. Si vous voulez changer le nom affiché d'un dépôt, réferrez vous à la commande mr.

Il est important de conserver des alias simples à mémoriser, et surtout à utiliser dans les commandes ou avec l'option –repo. Ils doivent donc être à la fois court et simple ;-) Il est plus prudent d'utiliser l'alias que d'utiliser le nombre du dépôt (qui peut changer discrètement) ou l'URI (qui est très long parfois…).

Export/Import

Commande : repos -e

Vous pouvez exportez la liste complète de vos dépôts, pour ensuite la réutilisez plus tard ou sur une autre machine.

zypper lr --export backups/repos/foo.repo

zypper ar backups/repos/foo.repo

Gestion des paquets

Installation de paquets

Commande : install

Vous pouvez installer les paquets à la fois par leur nom…

$ zypper install git

Reading installed packages...



The following NEW packages are going to be installed:

  subversion-perl sqlite3 perl-DBD-SQLite git-svn git-cvs git





Overall download size: 1.1 M. After the operation, additional 4.6 M will be used.

Continue? [YES/no]:

Downloading package subversion-perl-1.5.0-96.1.x86_64 (1/6), 950.0 K (4.1 M unpacked)

Downloading: subversion-perl-1.5.0-96.1.x86_64.rpm [done]

Installing: subversion-perl-1.5.0-96.1 [done]

Downloading package sqlite3-3.5.7-17.1.x86_64 (2/6), 30.0 K (40.0 K unpacked)

Downloading: sqlite3-3.5.7-17.1.x86_64.rpm [done]

Installing: sqlite3-3.5.7-17.1 [done]

Downloading package perl-DBD-SQLite-1.14-41.1.x86_64 (3/6), 44.0 K (103.0 K unpacked)

Downloading: perl-DBD-SQLite-1.14-41.1.x86_64.rpm [done]

Installing: perl-DBD-SQLite-1.14-41.1 [done]

Downloading package git-svn-1.5.4.5-26.1.x86_64 (4/6), 66.0 K (195.0 K unpacked)

Downloading: git-svn-1.5.4.5-26.1.x86_64.rpm [done]

Installing: git-svn-1.5.4.5-26.1 [done]

Downloading package git-cvs-1.5.4.5-26.1.x86_64 (5/6), 63.0 K (205.0 K unpacked)

Downloading: git-cvs-1.5.4.5-26.1.x86_64.rpm [done]

Installing: git-cvs-1.5.4.5-26.1 [done]

Downloading package git-1.5.4.5-26.1.x86_64 (6/6), 10.0 K (3.0 K unpacked)

Downloading: git-1.5.4.5-26.1.x86_64.rpm [done]

Installing: git-1.5.4.5-26.1 [done]

ou par le service qu'ils fournissent

$ zypper in MozillaFirefox \< 3

Reading installed packages...

'MozillaFirefox' providing 'MozillaFirefox<3' is already installed.

Nothing to do.
$ zypper in MozillaFirefox \>= 3

Reading installed packages...



The following packages are going to be upgraded:

  mozilla-xulrunner190-translations MozillaFirefox mozilla-xulrunner190-gnomevfs

mozilla-xulrunner190 MozillaFirefox-translations





The following package is going to be REMOVED:

  mozilla-xulrunner190-lang





Overall download size: 11.0 M. After the operation, 12.9 M will be freed.

Continue? [Y/n/p/?]:
$ zypper in 'libqtiff.so()(64bit)'

Reading installed packages...

'libqt4-x11' providing 'libqtiff.so()(64bit)' is already installed.

Nothing to do.

Autres exemples de d'utilisation.

zypper in yast*                     # installe tous les modules de yast

zypper in -t pattern lamp_server    # installe tous les paquets nécessaires pour un serveur lamp 

zypper in vim -emacs                # installe vim et supprime emacs en une fois.

zypper in amarok packman:libxine1   # installe libxine1 depuis packman et amarok depuis n'importe quelle dépôt.

zypper in bitchx-1.1-81.x86_64.rpm  # installe bitchx rpm depuis un répertoire local

zypper in -f subversion             # force la réinstallation de subversion

Suppression de paquets

Commande : remove

C'est comme pour installer, mais à l'envers ;o)

$ zypper remove sqlite

Reading installed packages...



The following packages are going to be REMOVED:

  sqlite3 perl-DBD-SQLite git-cvs git





After the operation, 351.0 K will be freed.

Continue? [YES/no]: n

Installation de paquets sources et de dépendances pré-fabriquées

Commande : source-install

$ zypper si zypper

Reading installed packages...



The following NEW packages are going to be installed:

  libzypp-devel libsatsolver-devel





The following source package is going to be installed:

  zypper





Overall download size: 1.5 M. After the operation, additional 6.7 M will be used.

Continue? [YES/no]:

Vous pouvez également n'installer que les paquets sources ou que les dépendances :

zypper in -D zypper    # only the source packages (no build deps)

zypper in -d zypper    # only the build deps (no source package)

Mettre à jour les paquets

Commandes : update -t package, dist-upgrade

Met à jour les paquets si une version plus récente est disponible.

zypper dup     # Utilise l'algorithme de distribution upgrade (Gère les paquets évités, non-maintenus et toutes ces sortes de choses).

zypper up -t package                # Met à jour tous les paquets installés si une version plus récente est disponible.

zypper up -t package libzypp zypper # Met à jour libzypp et zypper.

zypper in libzypp sqlite3           # Met à jour sqlite3 ou l'installe s'il n'est pas encore installé.

Interrogation

Recherche de paquets

Commande : search

Par défaut, la commande search recherche n'importe quel paquet, statut ou dépot contentant la chaine de caractères considérée. La casse n'est pas prise en compte. Par exemple :

$ zypper se sqlite

Reading installed packages...



S | Name                     | Summary                                                        | Type

--+--------------------------+----------------------------------------------------------------+--------

  | libapr-util1-dbd-sqlite3 | DBD driver for SQLite 3                                        | package

i | libgda-3_0-sqlite        | Sqlite Provider for GNU Data Access (GDA)                      | package

  | libqt4-sql-sqlite        | Qt 4 sqlite plugin                                             | package

i | libsqlite3-0             | Shared libraries for the Embeddable SQL Database Engine        | package

  | libsqlite3-0-32bit       | Shared libraries for the Embeddable SQL Database Engine        | package

  | mediatomb-sqlite         | UPnP AV MediaServer                                            | package

i | mono-data-sqlite         | Database connectivity for Mono                                 | package

  | pdns-backend-sqlite2     | SQLite 2 backend for pdns                                      | package

  | pdns-backend-sqlite3     | SQLite 3 backend for pdns                                      | package

i | perl-DBD-SQLite          | The DBD::SQLite is a self contained RDBMS in a DBI driver      | package

i | php5-sqlite              | PHP5 Extension Module                                          | package

  | python-sqlite2           | Python bindings for sqlite 2                                   | package

  | qt3-sqlite               | SQLite Database Plug-In for Qt                                 | package

  | rekall-sqlite            | Rekall sqlite Database Backend                                 | package

  | rubygem-sqlite3          | A Ruby interface for the SQLite3 database engine               | package

i | sqlite2                  | Embeddable SQL Database Engine                                 | package

  | sqlite2-32bit            | Embeddable SQL Database Engine                                 | package

  | sqlite2-devel            | Embeddable SQL Database Engine                                 | package

i | sqlite3                  | Embeddable SQL Database Engine                                 | package

  | sqlite3-devel            | Embeddable SQL Database Engine                                 | package

  | sqlite3-tcl              | Tcl binding for SQLite                                         | package

  | tntdb1-sqlite            | Tntdb is a c++-class-library for easy database-access - sqlite | package

  | ulogd-sqlite             | SQLite output plugin for ulogd                                 | package

Le i dans la première colonne indique que ce paquet particulier est installé. Pour obtenir la liste de toutes les versions disponibles d'un paquet, on peut utiliser l'option –details (ou -s) comme suit :

$ zypper search -s --match-exact virtualbox-ose

Reading installed packages...



S | Name           | Type    | Version    | Arch   | Repository

--+----------------+---------+------------+--------+------------------------------------

v | virtualbox-ose | package | 1.6.2-2.1  | x86_64 | VirtualBox OSE (OBS, openSUSE 11.0)

i | virtualbox-ose | package | 1.5.6-33.1 | x86_64 | openSUSE-11.0-Oss

v | virtualbox-ose | package | 1.5.6-20.5 | x86_64 | VirtualBox OSE (OBS, openSUSE 11.0)

v | virtualbox-ose | package | 1.6.2-2.1  | i586   | VirtualBox OSE (OBS, openSUSE 11.0)

v | virtualbox-ose | package | 1.5.6-33.1 | i586   | openSUSE-11.0-Oss

v | virtualbox-ose | package | 1.5.6-20.3 | i586   | VirtualBox OSE (OBS, openSUSE 11.0)

Autres utilisations :

zypper se -dC --match-words RSI   # Recherche l'acronyme RSI (en respectant la casse), en recherchant également dans les sommaires et les descriptions.

zypper se 'yast*'                 # Montre tous les paquets dont le nom commence par 'yast' (utilisez les guillemets pour ne pas avoir de problème avec bash ;-) )

zypper se -r packman              # liste tous les paquets du dépôt packman

zypper se -i sqlite               # Montre tous les paquets installés dont le nom contient 'sqlite' 

zypper se -t pattern -r repo-oss  # Liste tous les modèles présents dans le dépot 'repo-oss'

zypper se -t product              # liste tous les produits disponibles.

Obtenir des informations sur les paquets

Commande : info

$ zypper info amarok

Reading installed packages...





Information for package amarok:



Repository: Packman 11.0

Name: amarok

Version: 1.4.9.1-103.pm.1

Arch: x86_64

Vendor: packman.links2linux.de

Installed: Yes

Status: up-to-date

Installed Size: 12.1 M

Summary: Media Player for KDE

Description:

Amarok is a media player for all kinds of media, supported by aRts, GStreamer

or Xine (depending on the packages you install). This includes MP3, Ogg

Vorbis, audio CDs and streams.

It also supports audio effects of all kinds that are provided by aRts.

Playlists can be stored in .m3u or .pls files.



Amarok also provides audio file collection management, by using either an

embedded sqlite3, a MySQL or a PostgreSQL database.

Nous avons obtenu des informations détaillées concernant le paquet amarok

Autres utilisations :

zypper info -t patch MozillaFirefox    # Montre les informations concernant le patch'MozillaFirefox'

zypper patch-info MozillaFirefox       # Comme au dessus

zypper info -t pattern lamp_server     # Montre les infos sur le modèle 'lamp_server' 

zypper info -t product openSUSE-FTP    # Montre les infos concernant le produit spécifié

Dépendances

Commande : what-provides ou wp

Pour lister tous les fournisseurs d'un capacité donnée, faites :

$ zypper wp firefox

Reading installed packages...

S | Name           | Type    | Version     | Arch   | Repository

--+----------------+---------+-------------+--------+------------------

i | MozillaFirefox | package | 3.0-0.1     | x86_64 | Updates for 11.0

v | MozillaFirefox | package | 2.9.95-25.1 | x86_64 | openSUSE-11.0-Oss

v | MozillaFirefox | package | 3.0-0.1     | i586   | Updates for 11.0

v | MozillaFirefox | package | 2.9.95-25.1 | i586   | openSUSE-11.0-Oss

Cette commande est similaire à rpm -q –whatprovides firefox, à ceci près que rpm n'interroge que la base de données qui concerne les rpm. De plus, zypper vous citera tous les dépôts fournisseurs de cette capacité, pas juste le fournissuer du paquet installé.

Autres interrogations

Les commandes patches, packages, patterns et products sont similaires à search -s -t [patch,package,pattern,product], à ceci près qu'elles donnent quelques informations supplémentaires. Ainsi, la commande patches précise le statut du patch (needed, security ou non-applicable).

Il existe également des commandes list-update et patch-check

Verouillage de paquets

Commandes : locks ; addlock ; removelock

Le verouillage de paquets permet de se protéger contre les changements de version d'un ou plusieurs paquets. Les paquets protégés par un verouillage ne peuvent voir leur statut modifié. Les paquets installés ne peuvent être patchés, mis à jour ou supprimés. Les paquets non-installés ne peuvent être installés.

Pour verouiller tous les paquets commençant par 'yast2', faites :

$ zypper al 'yast2*'

Reading installed packages...

Specified lock has been successfully added.

Comme d'habitude, méfiez vous de la syntaxe shell… Il est important d'utiliser les guillemets, afin de ne pas gêner Bash, qui pourrait confondre une chaine de caractères et une commande!

Pour lister tous les paquets verouillés :

$ zypper ll

# | Name             | Type    | Repository

--+------------------+---------+-----------

1 | libpoppler3      | package | (any)

2 | libpoppler-glib3 | package | (any)

3 | yast*            | package | (any)

Pour supprimer un verouilage :

$ zypper rl yast2-packager

Reading installed packages...

The following query locks some of the objects you want to unlock:



type: package

match_type: glob

case_sensitive: on

solvable_name: yast2*



Do you want remove this lock? [YES/no]: y

Lock count has been succesfully decreased by: 1

Autres utilisations :

zypper al zypper                   # verouille le paquet 'zypper' (correspondance exacte)

zypper al -r repo-oss virtualbox*  # restreint le verouillage au dépot 'repo-oss' (autorisant l'installation depuis d'autres dépots)

zypper rl 3                        # supprime un verouillage par son numéro

Commodités

Vérification de dépendances

Commande : verify ou ve

Il peut malencontreusement arrivé (sic ;-) ) que votre système soit abimé par des problèmes de dépendances. Si un logiciel ne se lance pas en vous disant qu'il nécessite un auter logiciel pour démarrer, c'est malheureusement le cas. Il peut alors être salvateur d'utiliser zypper :

$ rpm -e --nodeps mozilla-xulrunner190

$ firefox

Could not find compatible GRE between version 1.9.0 and 1.9.0.

$ zypper ve

Reading installed packages...

Some of the dependencies of installed packages are broken. In order to fix these dependencies, the following actions need to be taken:



The following NEW package is going to be installed:

  mozilla-xulrunner190





Overall download size: 6.5 M. After the operation, additional 23.5 M will be used.

Continue? [YES/no]: y

Installer les nouveaux paquets recommandés

Commande : install-new-recommends ou inr

Cette commande trouve et récupère les nouveaux paquets recommandés pour votre système ou pour les logiciels installés. Ceci est une voie simple pour récupérer les pilotes pour de nouveaux matériels, ou pour installer des paquets de langages.

$ zypper inr

Reading installed packages...



The following NEW packages are going to be installed:

  kdebase4-openSUSE-lang bundle-lang-common-cs





Overall download size: 534.0 K. After the operation, additional 1.9 M will be used.

Continue? [YES/no]:

Gestion des mises à jour

Cette fonctionnalité est particulièrement utile pour les utilisateurs de versions stables qui veulent mettre à jour leur système grâce aux patches que l'on peut trouver sur le dépôts de mise à jour en ligne. Les dépôts de mise à jour sont ajoutés automatiquement lors de l'installation ou lors d'une mise à niveau d'un système. Ils peuvent également être ajouter à la main ;-)

On parle ici de mises à jour de sécurité, qui sont importantes pour la stabilité du système.

Liste les mises à jour

Commande : list-updates ou lu

Pour lister tous les patches disponibles, faites :

$ zypper lu

Reading installed packages...

Patches



Repository       | Name               | Version | Category    | Status

-----------------+--------------------+---------+-------------+-------

Updates for 11.0 | KDE4-fixes         | 38      | recommended | Needed

Updates for 11.0 | MozillaFirefox     | 50      | recommended | Needed

Updates for 11.0 | NetworkManager-kde | 49      | recommended | Needed

Il arrive parfois que seules les mise à jour des mécanismes de gestion de paquets soient affichés, notamment lorsqu'ils doivent être appliqués en premier. Une fois appliqués, le reste des patches devient alors disponible.

Cette commande utilise par défaut l'option -t patches. Pour visionner l'ensemble des mises à jour de paquets disponibles, faites -t package

zypper lu -t package

Appliquer les mises à jour

Commande : update ou up

Pour appliquer les patches nécessaires :

$ zypper up

Reading installed packages...



The following packages are going to be upgraded:

  NetworkManager-kde mozilla-nss mozilla-nspr kde4-korganizer





The following NEW patches are going to be installed:

  NetworkManager-kde MozillaFirefox KDE4-fixes





Overall download size: 2.9 M. After the operation, additional 283.0 K will be used.

Continue? [YES/no]:

Lister les patches

Commande : patches

La commande list-updates ne liste que les patches nécessaires. Pour lister tous les patches disponibles, faites :

$ zypper patches

Reading installed packages...

Catalog          | Name               | Version | Category    | Status

-----------------+--------------------+---------+-------------+---------------

Updates for 11.0 | KDE4-fixes         | 38      | recommended | Installed

Updates for 11.0 | MozillaFirefox     | 50      | recommended | Installed

Updates for 11.0 | NetworkManager-kde | 49      | recommended | Installed

Updates for 11.0 | autoyast2          | 37      | recommended | Installed

Updates for 11.0 | courier-authlib    | 42      | security    | Not Applicable

Updates for 11.0 | insserv            | 47      | recommended | Installed

Updates for 11.0 | opera              | 43      | security    | Installed

Vérifier la présence de patches

Commande : patch-check ou pchk

Cette commande indique s'il y'a des patches applicables au système, et leur nombre.

$ zypper pchk

Reading installed packages...

0 patches needed (0 security patches)

Obtenir des informations à propos d'un patch

Commande : patch-info ou info -t patch

$ zypper info -t patch MozillaFirefox

Reading installed packages...





Information for patch MozillaFirefox:



Name: MozillaFirefox

Version: 50

Arch: noarch

Vendor: maint-coord@suse.de

Status: Installed

Category: recommended

Created On: Thu 01 Jan 1970 01:00:00 AM CET

Reboot Required: No

Package Manager Restart Required: No

Interactive: No

Summary: Mozilla Firefox 3.0

Description:

This patch updates Mozilla Firefox to the final 3.0 version.



The dependend libraries mozilla-xulrunner190, mozilla-nspr

and mozilla-nss were also brought to their release version.

Utilisation de zypper dans des scripts et des applications

Zypper est muni d'options globales qui facilitent son utilisation dans des processus automatisés, tels que les scripts. Des sorties de code (référencés dans la page de manuel de zypper) peuvent être contrôlés dans les processus automatisés.

Mode non interactif

Commande : non-interactive

Dans ce mode, zypper n'interroge pas l'utilisateur et utilise les réponses par défaut dans les cas de conflit. Utiliser cette option guarantit que zypper ne restera pas à attendre une réponse de l'utilisateur, ou ne se perdra pas dans une boucle infinie.

Par exemple, pour mettre à jour votre système sans entrer de confirmation :

# zypper --non-interactive update

Pas de vérification des GPG

Option : –no-gpg-checks

En utilisant cette option, zypper choisira toujours de continuer s'il y'a un problème de vérification GPG (échec de vérification de signature, absence de signature alors qu'il devrait y'en avoir…)

Accord automatique avec les licenses

Commande : –auto-agree-with-licenses

Cette option est particulière aux commandes install, remove et update. L'utilisateur, par cette option, déclare être d'accord avec les licenses nécessaires pour installer les paquets désirés, ce qui revient à répondre oui à tous les accords de license. Utile dans les automates d'installation, quand les licenses ont déjà été lues ;-)

Sortie calme

Commande : –quiet

Epargne les textes inutiles durant les installation. N'affiche que les résultat des opérations et les messages d'erreur.

Sortie XML

Commande : –xmlout

Avec cette option, zypper par le xml. Cela permet l'utilisation des sorties zypper dans des applications graphiques, qui ont besoin de sorties de forme bien définies. Pour savoir comment tout ça sort, jetez un oeil à /usr/share/zypper/xml/xmlout.rnc

Toutes les sorties ne sont pas disponibles, mais ça va venir ;-)

Mettre à jour la distribution ou la réparer

Zypper fourni un outil trés pratique qui permet de mettre à jour la distribution depuis la version n vers la suivante (n+1) ou de réparer la version désirée.

Par exemple :

1 - UPGRADE : Partant d'une opensuse 11.4, pour passer à la version d'opensuse suivante (12.1) :

laisser uniquement 3 dépots activés dans zypper : oss , non- oss, update , en version 12.1 :

                                   |        

http://download.opensuse.org/distribution/12.1/repo/oss/ http://download.opensuse.org/distribution/12.1/repo/non-oss/ | http://download.opensuse.org/update/12.1/

Fermer la session, Passer en console : ctrl + alt + F1, passer en mode root (identifiants : root + mot de passe), Passer en mode init 3 :

init 3

puis lancer :

 zypper cc && zypper ref 

puis

zypper dup 

(nettoyage du cache de zypper, rafraichissement des dépots, puis upgrade de la distribution)

La mise à jour se fait. Pour redémarrer la machine :

shutdown -r now 

2- REPARATION : Pour réparer la 11.4 si besoin : même manip en remplacant 12.1 par 11.4 dans les urls des dépots de zypper.

opensuse/zypper_manuel.txt · Dernière modification : 2018/11/17 12:54 de 127.0.0.1