SDB:Zypper usage 11.0

Aller à : navigation, rechercher
Cet article concerne l'utilisation de Zypper, l'interface du gestionnaire de paquet reposant sur la librairie Libzypp. Il contient des informations complémentaires aux pages man de Zypper (man zypper). Ce que vous trouverez pas ici, vous le trouverez dans les pages man et vice versa.


Version : 11.0Cet article concerne zypper 0.11.6, inclut dans openSUSE 11.0. Pour d'autres versions, veuillez consulter Zypper/Versions.


Référence rapide


Ceci est ce que vous utiliserez probablement le plus fréquemment.

zypper                 # liste les options et commandes globales disponibles
zypper help search     # affiche l'aide pour la commande search
zypper lu              # affiche les correctifs de sécurité requis
zypper up              # applique les correctifs de sécurité
zypper se sqlite       # recherche sqlite
zypper rm sqlite2      # désinstalle sqlite2
zypper in sqlite3      # installe sqlite3
zypper in yast*        # installe tous les paquets contenant 'yast*'
zypper up -t package   # met à jour tous les paquets installés avec des versions plus récentes lorsque c'est possible

Usage général


La syntaxe générale de zypper est la suivante :

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

Les composants entre crochets ne sont pas requis, ainsi, la manière la plus simple d'utiliser zypper est d'entrer son nom suivi d'une commande. Par exemple, pour appliquer les correctifs nécessaires au système, tapez:

zypper update

Par ailleurs, vous pouvez chosir une ou plusieurs options globales en les appelant juste avant la commande: (effectue la commande, mais ne me demande rien, décide par toi même)

zypper --non-interactive update

Pour utiliser les options spécifiques à une commande particulière, rentrez les juste après la commande: (applique les correctifs nécessaires au système mais ne demande pas de confirmer les licences, je les ai toute lues précédemment)

zypper update --auto-agree-with-licenses

Certaines commandes nécessitent un ou plusieurs arguments : (installe ou met à jour le paquet mplayer)

zypper install mplayer

Certaines de ces options nécessitent également un argument: (met à jour le système avec des paquets plus récents)

zypper update -t package

On peut combiner toutes ces situations: (installe mplayer et amarok en utilisant le dépôt 'factory', soit verbeux)

zypper -v install --repo factory mplayer amarok 


Vocabulaire


  • dépôt (repository) - dépôt local ou distant, contenant divers paquets et informations à propos de ceux-ci (méta-données de paquets). Les dépôts étaient également appelés sources d'installation, services ou catalogues.
  • alias (alias) - l'alias d'un dépôt est une version courte du nom du dépôt, destiné à être utilisé dans les commandes et options de manipulation des dépôts, tels que removerepo ou –repo.
  • paquet (package) - paquet logiciel (paquet RPM, paquet source). Les correctifs, patterns, et produits sont communément connus comme des différents types de paquets.
  • correctif (patch) - représente un paquet ou un groupe de paquets nécessaire d'être installé comme une mise à jour critique (résolution de bogue).
  • pattern (pattern) - représente un groupe de paquets. Par exemple un pattern Http Server définirait toutes les dépendances de sorte que tous les paquets nécessaires à l'utilisation et la gestion d'un serveur http seraient installés lors de l'installation du pattern.
  • produit (product) - représente le produit complet (par ex.'openSUSE 10.3').


Commandes


zypper fournit un certain nombre de commandes, qui peuvent être groupées dans les catégories suivantes :

  • gestion des dépôts
    refresh, repos, addrepo, removerepo, modifyrepo, namerepo
  • gestion des paquets
    install, remove, update, dist-upgrade, source-install
  • requêtes
    search, info, what-provides, list-updates, patch-check, patches, packages, patterns, products
  • verrouillage
    locks, addlock, removelock
  • utilitaires
    verify, install-new-recommends
  • autres
    help

A noter que les commandes update, list-updates, patch-check, et patches peuvent se référer à des commandes de Gestion des mises à jour.


Afficher l'aide

'help ou -h

Il est utile de savoir comment obtenir de l'aide. Pour afficher l'aide générale (liste des commandes et options globales), entrez juste zypper sans aucune option ni argument. pour afficher l'aide d'une commande spécifique, utilisez :

# zypper help [command]

Les commandes zypper -h [command] et zypper [command] -h sont équivalentes.

Gestion des dépôts

Vous pouvez spécifier un dépot existant par le nombre qui lui est associé par la commande zypper lr, alia ou URI. Quand vous utilisez les nombres, soyez sûr de toujours vérifier la correspondance avec zypper lr, puisque ces nombres peuvent changer après manipulation des dépots.


Lister les dépôts définis

repos ou lr

Exemple 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

Autres exemples:

zypper lr -u       # inclus également l'URI dans la table
zypper lr -d       # inclus de nombreuses autres propriétés dans la table
zypper lr -P       # inclus également la priorité des dépots et trie la liste selon cette propriété
zypper lr -e my    # exporte tous les dépôts définis dans un fichier nommé 'my.repo'

Ajout de dépôts

addrepo ou ar

Avant qu'un paquet puisse être installé, il est nécessaire de définir au moins un dépot. Pour ajouter un dépôt, utilisez la commande addrepo:

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 exemples:

zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.0/X11:XGL.repo  # via fichier .repo
zypper ar -c ftp://some.download.site myalias   # sonde le dépôt lors de l'ajout
zypper ar my/dir/with/rpms local                # ajoute votre répertoire local contenant des RPMs comme un dépôt

Voir également en:Libzypp/URI pour une liste des types de media et URI supportés.


Rafraichir les dépôts

refresh ou ref

Après l'ajout d'un dépôt ou lors que l'un des dépôts devient trop vieux, son état doit être vérifié : il a besoin d'être rafraichi afin de mettre à jour la liste des paquets qu'il contient. Cela signifie qu'on télécharge les méta-données et on place ces données en cache (fichier .solv) pour une lecture rapide.

Exemple de sortie:

$ 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 autorefresh est activée pour un dépôt, il n'est pas nécessaire de s'inquiéter du rafraichissement, il sera exécuté automatiquement lorsqu'il est requis. Cependant, certaines personnes préfèrent contrôler manuellement le rafraichissement (par ex. pour éviter d'attendre que le rafraichissement se termine lorsque l'on a seulement besoin de voir 'zypper info krusader'), le rafraichissement automatique peur donc être desactivé. Voir man zypper pour plus de détails.

Autres exemples:

zypper ref packman main  # specifie quel sont les dépôts à rafraichir
zypper ref -f upd        # force le rafraichissement du dépôt 'upd'


Suppression de dépôts

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.


Modification de dépôts

modifyrepo ou mr

Exemple de sortie:

Désactiver le dépôt spécifique n°6:

$ zypper mr -d 6
Repository 'repo-non-oss' has been sucessfully disabled.

Autoriser l’auto-refresh et le cache des fichiers RPMs pour le dépot 'packman' et 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 le cache des fichiers RPMs 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'.

Activer le cache des fichiers RPM pour tous les dépôts:

$ zypper mr -ka
RPM files caching has been enabled for repository 'repo-non-oss'.
RPM files caching has been enabled for repository 'Main Repository (OSS)'.
RPM files caching has been enabled for repository 'Main Repository (NON-OSS)'.
RPM files caching has been enabled for repository 'openSUSE-11.0-Updates'.


Renommer les dépôts

namerepo ou nr

Exemple de sortie:

$ zypper nr 3 upd
Repository 'openSUSE-11.0-Updates' renamed to 'upd'.

Cette commande n'est actuellement capable de changer que l'alias d'un dépôt. Si vous désirez changer le nom affiché du dépôt, réferrez-vous à la commande mr.

Conservez les alias courts et simples pour une utilisation plus aisée des arguments des commandes et des options --repo. Utiliser un alias est plus sûr qu'utiliser un numéro de dépôt (puisque qu'il peut changer et vous induire en erreur) et plus facile qu'utiliser l'URI (qui sont longues, et nécissitant un copié-collé).


Exporter/Importer

repos -e

Vous pouvez exporter la liste complète des dépôts dans un fichier et le réimporter plus tard ou sur une autre machine.

Exemple de sortie:

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


Gestion des paquets

Installation de paquets

install ou in

Exemple de sortie:

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:

zypper in yast*                     # installe tous les modules yast
zypper in -t pattern lamp_server    # installe le pattern lamp_server (paquets requis pour un serveur LAMP)
zypper in vim -emacs                # installe vim et supprime emacs en une seule traite
zypper in amarok packman:libxine1   # installe libxine1 du dépôt packman et amarok de n'importe quel dépôt
zypper in bitchx-1.1-81.x86_64.rpm  # installe le RPM bitchx depuis un répertoire local
zypper in -f subversion             # force la réinstallation de subversion


Suppression de paquets

remove ou rm

La commande removeest similaire à la commande install, à l'exception que l'effet est opposé :O)

Exemple de sortie:

$ 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


Paquets sources et dépendances de compilation

source-install ou si

Exemple de sortie:

$ 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 installer uniquement les dépendances de compilation ou le paquet source:

zypper in -D zypper    # seulement le paquet source (pas de dépendance de compilation)
zypper in -d zypper    # seulement les dépendances de compilation (pas de paquet source)


Mise à jour des paquets

update -t package ou up -t package
'dist-upgrade ou dup

Met à jour les paquets si une version plus récente est disponible. Voir aussi Gestion des mises à jour pour d'autres types de mise à jour.


zypper dup     # utilise l'algorithme de mise à jour de la distribution (gère la séparation des paquets, les paquets non maintenus et similaire)
zypper up -t package                # met à jour tous les paquets installés avec des versions plus récentes dans la mesure du possible
zypper up -t package libzypp zypper # met à jour libzypp et zypper
zypper in libzypp sqlite3           # met à jour ou installe sqlite3 s'il n'est pas encore installé


Requêtes

Recherche de paquets

search ou se

Par défaut, la commande search recherche les paquets de n'importe quel type, statut ou dépot, et dont le nom contient la chaine de caractères spécifiée (la casse n'est pas prise en compte.

Exemple de sortie:

$ 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 signifie que le paquet est déjà installé. Pour obtenir la liste de toutes les versions disponibles d'un paquet, utilisez l'option --details ou -s:

$ 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)

Le i signifie cette version est installée, v signifie une autre version de ce paquet est actuellement installée.

Autres exemples:

zypper se -dC --match-words RSI   # recherche l'acronyme RSI (respecte la casse), en recherchant également dans les sommaires et les descriptions
zypper se 'yast*'                 # liste tous les paquets dont le nom commence par 'yast' (utilisez des guillemets pour ne pas avoir de problème avec le shell)
zypper se -r packman              # liste tous les paquets du dépôt 'packman'
zypper se -i sqlite               # liste tous les paquets installés contenant 'sqlite' dans leur nom
zypper se -t pattern -r repo-oss  # liste tous les patterns disponibles dans le dépôt 'repo-oss'
zypper se -t product              # liste tous les produits disponibles


Obtenir des informations à propos des paquets

info ou if

Exemple de sortie:

$ 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.

Cette commande affiche les informations détaillées concernant le paquet nommé 'amarok'.

Autres exemples:

zypper info -t patch MozillaFirefox    # show information about 'MozillaFirefox' patch
zypper patch-info MozillaFirefox       # the same as above
zypper info -t pattern lamp_server     # show info about 'lamp_server' pattern
zypper info -t product openSUSE-FTP    # show info about specified product


Dépendances

what-provides ou wp

Pour lister tous les fournisseurs de la capacité spécifié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'est capable d'interroger que la base de données RPMs (base de données des paquets installés). Zypper, lui, vous indiquera quels sont les fournisseurs de la capacité dans n'importe quel dépôt.

Autres requêtes

Les commandes patches, packages, patterns et products sont similaires à search -s -t [patch,package,pattern,product], à ceci près qu'elles affichent quelques informations supplémentaires spécifiques au type de paquets correspondant. Par exemple, patches montre le statut des correctifs (Needed/Security/Not Applicable).

Les commandes list-updates et patch-check sont discutées dans Gestion des mises à jour.


Verrouillage de paquets

locks ou ll
addlock ou al
removelock ou rl

Le verouillage de paquets permet d'éviter un changement sur les paquets du système. Les paquets protégés par un verrouillage ne peuvent pas voir leur statut modifié; les paquets installés ne peuvent être supprimés ou mis à jour, les paquets non-installés ne peuvent être installés.

Pour verrouiller tous les paquets dont le nom comment par 'yast2', faites:

$ zypper al 'yast2*'
Reading installed packages...
Specified lock has been successfully added.

Egalement ici, méfiez vous de la syntaxe shell et utilisez des guillemets s'il y a possibilité que yast* corresponde à des fichiers ou répertoires situés dans le répertoire courant.

Pour lister les verrouillages actuellement actifs:

$ zypper ll
# | Name             | Type    | Repository
--+------------------+---------+-----------
1 | libpoppler3      | package | (any)
2 | libpoppler-glib3 | package | (any)
3 | yast*            | package | (any)

Pour supprimer un verrouillage, faite:

$ 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 exemples:

zypper al zypper                   # verrouille le paquet 'zypper' (correspondance exacte)
zypper al -r repo-oss virtualbox*  # restraint le verrouillage au dépôt 'repo-oss' (permet l'installation à partir les autres)
zypper rl 3                        # supprime le verrouillage par le numéro

Vous pouvez aussi manipuler les verrouillage directement en éditant le fichier de verrouillage.

Utilitaires

Verification des dépendances

verify ou ve

Il peut arriver occasionnellement de se retrouver avec un système cassé par un problème de dépendances. Si une de vos applications ne se lance pas en indiquant qu'il manque quelque chose, c'est une mission pour zypper de vérifier cela:

$ 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


Installation des nouveaux paquets recommandés

install-new-recommends ou inr

Cette commande trouve et installe les nouveaux paquets recommandés pour les logiciels déjà installés. Ceci fourni une façon simple de récupérer les nouvelles traductions pour votre logiciel ou les drivers pour votre nouveau matériel fraichement ajouté.

Exemple de sortie:

$ 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

Ce qui suit est particulièrement utile pour les utilisateurs des versions stables qui veulent mettre à jour leur système à l'aide des correctifs placés dans le dépôt de mise à jour en ligne (pour les mises à jour de paquets, voir Mise à jour des paquets). Les dépôts de mise à jour sont ajoutés par défaut durant l'installation ou lors de la mise à niveau du système. Ils peuvent également être ajoutés via le module Configuration de la mise à jour en ligne dans le Centre de contrôle YaST, ou manuellement en utilisant zypper. Voici la liste des dépôts de mise à jour openSUSE disponibles.

L'équivalent de cette fonctionalité est le module YaST de mise à jour en ligne.


Lister les mises à jour

list-updates ou lu

Pour lister tous les correctifs requis, 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

Parfois, seuls les correctifs liés au système de gestion de paquet sont listés, puisqu'ils doivent être appliqués en premier. Une fois appliqués, le reste des correctifs disponibles sera listé par cette commande.

Cette commande prend l'argument -t patch par défaut. Pour lister toutes les mises à jour de paquets disponibles, utilisez:

zypper lu -t package


Application des mises à jour

update ou up

Afin d'appliquer les correctifs requis, faites:

$ 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 correctifs

patches

La commande list-updates liste uniquement les correctifs requis. Pour lister tous les correctifs disponibles, utilisez:

$ 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 les correctifs

patch-check ou pchk

Cette commande vous indiquera s'il y a des correctifs importants pour votre systèmefor, ainsi que leur nombre.

$ zypper pchk
Reading installed packages...
0 patches needed (0 security patches)


Obtenir des informations à propos des correctifs

patch-info
info -t patch ou if -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.


Utiliser Zypper dans des scripts et applications


Zypper est muni d'options globales qui rendent possible son utilisation dans des processus automatisés, tels que des scripts. Egalement, plusieurs codes de sorties listées dans les pages de manuel de zypper peuvent être contrôlés lors de l'utilisation de zypper dans un processus automatisé.


Mode non interactive

--non-interactive

Dans ce mode, zypper n'interragit pas du tout avec l'utilisateur et utilise les réponses par défaut à la place. Il est garantie que l'utilisation de cette option avec zypper ne le conduira pas à attendre une réponse de l'utilisateur ou à se perdre dans une boucle infinie.

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

# zypper --non-interactive update

Cette commande ne requiert pas de confirmation de l'utilisateur pour permettre la mise à jour, évite tous les correctifs qui demandent impérativement des informations additionnelles de la part de l'utilisateur et répond automatiquement à toutes les autres questions.


Mode sans vérification GPG

--no-gpg-checks

Si cette option est utilisée, zypper choisira toujours de continuer si certaines des vérification GPG échouent, par ex. un dépôts n'est pas signé et devrait l'être, un fichier est signé mais la vérification échoue, etc.


Accord automatique avec les licences

--auto-agree-with-licenses

Cette option est particulière aux commandes install, remove et update. En utilisant ceci, l'utilisateur déclare être d'accord avec les termes des licences des paquets qui seront installés, et zypper répondra automatiquement 'yes' à la confirmation de l'accord des termes de la licence. Ceci est utile pour les personnes qui installent les mêmes sets de paquets sur de multiples machines (par un processus automatisé) et qui ont déjà lu toutes ces licences auparavant.


Sortie calme

--quiet

Evite d'afficher trop de textes comme les informations de progression et n'affiche que les résultat de l'opération et les messages d’erreur.


Sortie XML

--xmlout

Cette option permet à zypper de communiquer en XML. Ceci permet aux scripts, front-end graphiques ou d'autres types d'applications qui veulent utiliser zypper de parser la sortie de zypper d'une façon bien définie et standard. Le schéma RNC de la sortie XML de zypper est disponible icie et dans /usr/share/zypper/xml/xmlout.rnc.

Pas toutes (mais la plupart) des sorties sont actuellement en XML; le but est 'obtenir à terme toute les sorties possibles en XML.


Invites

Les indications suivantes sont une liste des cas où zypper a besoin de l'interaction de l'utilisateur ainsi que les réponses utilisées en mode non interactif. Toutes les options additionnelles mentionnées ici ont une priorité plus haute que --non-interactive, ainsi, la réponse qu'elles impliquent est automatiquement utilisée même si --non-interactive n'est pas utilisé.

Invites liées à GPG

Lorsque --no-gpg-checks est utilisé, un message est affiché ou un avertissement est inscrit dans stderr et loggué.

prompt default answer with --no-gpgp-checks note
accept unsigned file? N Y
import key into keyring? N N a new key can be imported in the interactive mode only
accept unknown key? N Y
trust key? N Y
verification of signed file failed, continue? N Y
no digest for a file, continue? N Y
accept unknown digest? N Y


Autres invites

prompt default answer other answer note
proceed with installation/removal/update? Y in addition, the --no-confirm option can be used with the install/remove/update commands even without the global --non-interactive
confirm 3rd party license N Y if --auto-agree-with-licenses is used in addition, for zypper update, --skip-interactive option can be used to exclude interactive patches from to-be-installed list (a heritage of rug)
confirm a patch message Y
problem while installing/removing a resolvable, Abort/Retry/Ignore? ABORT this is ugly and can be improved in future
problem while downloading a package, Abort/Retry/Ignore? ABORT this is also ugly, can be enhanced somehow in the future
dependency conflict, #/s/r/c (solution number, skip, retry, or cancel) c always cancel, user interaction is needed to resolve dependencies
media change request ABORT
remove problematic lock? Y

Dans la sortie XML, les invites sont indiquées par la balise <prompt>, contenant l'attribut id. Une énumération de tous les ids connus est disponible dans le fichier prompt.h empaqueté avec zypper (/usr/include/zypper/prompt.h).