45 commandes Zypper pour gérer la gestion des paquets ‘Suse’ Linux

SUSE (Software and System Entwicklung (Allemagne) signifiant Développement de Logiciels et de Systèmes, en anglais) Linux repose sur le noyau Linux apporté par Novell. SUSE se décline en deux versions. L’une d’entre elles s’appelle OpenSUSE, qui est disponible gratuitement (libre au sens de la liberté d’expression ainsi que libre au sens du vin). Il s’agit d’un projet piloté par la communauté, doté du support des dernières applications. La dernière version stable d’OpenSUSE Linux est la 13.2.

L’autre est SUSE Linux Enterprise qui est une distribution Linux commerciale conçue spécialement pour les entreprises et la production. La version Entreprise de SUSE Linux est livrée avec une variété d’applications et de fonctionnalités adaptées à l’environnement de production, la dernière version stable de SUSE Linux Enterprise Edition étant la 12.

Vous pouvez consulter les instructions d’installation détaillées du Serveur SUSE Linux Enterprise à l’adresse suivante :

  1. Installation du Serveur SUSE Linux Enterprise 12

Zypper et YaST sont les Gestionnaires de Paquets pour SUSE Linux, qui fonctionnent sur la base de RPM.

YaST qui signifie Yet another Setup Tool est un outil qui fonctionne sur OpenSUSE et la version Entreprise de SUSE pour administrer, configurer et mettre en place SUSE Linux.

Zypper est l’interface en ligne de commande du gestionnaire de paquets ZYpp pour l’installation, la suppression et la mise à jour de SUSE. ZYpp est le moteur de gestion de paquets qui alimente à la fois Zypper et YaST.

Ici dans cet article, nous verrons Zypper en action, qui installera, mettra à jour, supprimera et fera tout ce qu’un gestionnaire de paquets peut faire. C’est parti…

Important : Rappelez-vous que toutes ces commandes sont destinées à des modifications système globales et doivent donc être exécutées en tant que root, sinon la commande échouera.

Obtenir de l’aide de base avec Zypper

1. Exécuter zypper sans aucune option vous donnera une liste de toutes les options et commandes globales.

# zypper

Usage:
	zypper [--global-options]

2. Pour obtenir de l’aide sur une commande spécifique comme ‘in’ (installer), exécutez les commandes ci-dessous.

# zypper help in
OR
# zypper help install

install (in) [options] <capability|rpm_file_uri> ...

Install packages with specified capabilities or RPM files with specified
location. A capability is NAME[.ARCH][OP], where OP is one
of <, <=, =, >=, >.

  Command options:
    --from <alias|#|URI>    Select packages from the specified repository.
-r, --repo <alias|#|URI>    Load only the specified repository.
-t, --type            Type of package (package, patch, pattern, product, srcpackage).
                            Default: package.
-n, --name                  Select packages by plain name, not by capability.
-C, --capability            Select packages by capability.
-f, --force                 Install even if the item is already installed (reinstall),
                            downgraded or changes vendor or architecture.
    --oldpackage            Allow to replace a newer item with an older one.
                            Handy if you are doing a rollback. Unlike --force
                            it will not enforce a reinstall.
    --replacefiles          Install the packages even if they replace files from other,
                            already installed, packages. Default is to treat file conflicts
                            as an error. --download-as-needed disables the fileconflict check.
......

3. Recherchez un paquet (disons gnome-desktop) avant de l’installer.

# zypper se gnome-desktop

Retrieving repository 'openSUSE-13.2-Debug' metadata ............................................................[done]
Building repository 'openSUSE-13.2-Debug' cache .................................................................[done]
Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ......................................................... [done]
Building repository 'openSUSE-13.2-Non-Oss' cache ...............................................................[done]
Retrieving repository 'openSUSE-13.2-Oss' metadata ..............................................................[done]
Building repository 'openSUSE-13.2-Oss' cache ...................................................................[done]
Retrieving repository 'openSUSE-13.2-Update' metadata ...........................................................[done]
Building repository 'openSUSE-13.2-Update' cache ................................................................[done]
Retrieving repository 'openSUSE-13.2-Update-Non-Oss' metadata ...................................................[done]
Building repository 'openSUSE-13.2-Update-Non-Oss' cache ........................................................[done]
Loading repository data...
Reading installed packages...

S | Name                                  | Summary                                                   | Type      
--+---------------------------------------+-----------------------------------------------------------+-----------
  | gnome-desktop2-lang                   | Languages for package gnome-desktop2                      | package   
  | gnome-desktop2                        | The GNOME Desktop API Library                             | package   
  | libgnome-desktop-2-17                 | The GNOME Desktop API Library                             | package   
  | libgnome-desktop-3-10                 | The GNOME Desktop API Library                             | package   
  | libgnome-desktop-3-devel              | The GNOME Desktop API Library -- Development Files        | package   
  | libgnome-desktop-3_0-common           | The GNOME Desktop API Library -- Common data files        | package   
  | gnome-desktop-debugsource             | Debug sources for package gnome-desktop                   | package   
  | gnome-desktop-sharp2-debugsource      | Debug sources for package gnome-desktop-sharp2            | package   
  | gnome-desktop2-debugsource            | Debug sources for package gnome-desktop2                  | package   
  | libgnome-desktop-2-17-debuginfo       | Debug information for package libgnome-desktop-2-17       | package   
  | libgnome-desktop-3-10-debuginfo       | Debug information for package libgnome-desktop-3-10       | package   
  | libgnome-desktop-3_0-common-debuginfo | Debug information for package libgnome-desktop-3_0-common | package   
  | libgnome-desktop-2-17-debuginfo-32bit | Debug information for package libgnome-desktop-2-17       | package   
  | libgnome-desktop-3-10-debuginfo-32bit | Debug information for package libgnome-desktop-3-10       | package   
  | gnome-desktop-sharp2                  | Mono bindings for libgnome-desktop                        | package   
  | libgnome-desktop-2-devel              | The GNOME Desktop API Library -- Development Files        | package   
  | gnome-desktop-lang                    | Languages for package gnome-desktop                       | package   
  | libgnome-desktop-2-17-32bit           | The GNOME Desktop API Library                             | package   
  | libgnome-desktop-3-10-32bit           | The GNOME Desktop API Library                             | package   
  | gnome-desktop                         | The GNOME Desktop API Library                             | srcpackage

4. Obtenez des informations sur un paquet de modèle (disons lamp_server) en utilisant la commande suivante.

# zypper info -t pattern lamp_server

Loading repository data...
Reading installed packages...


Information for pattern lamp_server:
------------------------------------
Repository: openSUSE-13.2-Update
Name: lamp_server
Version: 20141007-5.1
Arch: x86_64
Vendor: openSUSE
Installed: No
Visible to User: Yes
Summary: Web and LAMP Server
Description: 
  Software to set up a Web server that is able to serve static, dynamic, and interactive content (like a Web shop). This includes Apache HTTP Server, the database management system MySQL,
  and scripting languages such as PHP, Python, Ruby on Rails, or Perl.
Contents:

S | Name                          | Type    | Dependency
--+-------------------------------+---------+-----------
  | apache2-mod_php5              | package |           
  | php5-iconv                    | package |           
i | patterns-openSUSE-base        | package |           
i | apache2-prefork               | package |           
  | php5-dom                      | package |           
  | php5-mysql                    | package |           
i | apache2                       | package |           
  | apache2-example-pages         | package |           
  | mariadb                       | package |           
  | apache2-mod_perl              | package |           
  | php5-ctype                    | package |           
  | apache2-doc                   | package |           
  | yast2-http-server             | package |           
  | patterns-openSUSE-lamp_server | package |    

5. Pour ouvrir une session shell zypper, exécutez la commande ci-dessous.

# zypper shell
OR
# zypper sh

zypper> help
  Usage:
	zypper [--global-options]

Remarque : Sur le shell Zypper, tapez ‘help‘ pour obtenir une liste des options et commandes globales.

Gestion des dépôts Zypper

Liste des dépôts définis

6. Utilisez les commandes zypper repos ou zypper lr pour lister tous les dépôts définis.

# zypper repos
OR
# zypper lr

 | Alias                     | Name                               | Enabled | Refresh
--+---------------------------+------------------------------------+---------+--------
1 | openSUSE-13.2-0           | openSUSE-13.2-0                    | Yes     | No     
2 | repo-debug                | openSUSE-13.2-Debug                | Yes     | Yes    
3 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes    
4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes    
5 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes    
6 | repo-oss                  | openSUSE-13.2-Oss                  | Yes     | Yes    
7 | repo-source               | openSUSE-13.2-Source               | No      | Yes    
8 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes    
9 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes    

7. Liste zypper URI sur la table.

# zypper lr -u

# | Alias                     | Name                               | Enabled | Refresh | URI                                                            
--+---------------------------+------------------------------------+---------+---------+----------------------------------------------------------------
1 | openSUSE-13.2-0           | openSUSE-13.2-0                    | Yes     | No      | cd:///?devices=/dev/disk/by-id/ata-VBOX_CD-ROM_VB2-01700376    
2 | repo-debug                | openSUSE-13.2-Debug                | Yes     | Yes     | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ 
3 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes     | http://download.opensuse.org/debug/update/13.2/                
4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes     | http://download.opensuse.org/debug/update/13.2-non-oss/        
5 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes     | http://download.opensuse.org/distribution/13.2/repo/non-oss/   
6 | repo-oss                  | openSUSE-13.2-Oss                  | Yes     | Yes     | http://download.opensuse.org/distribution/13.2/repo/oss/       
7 | repo-source               | openSUSE-13.2-Source               | No      | Yes     | http://download.opensuse.org/source/distribution/13.2/repo/oss/
8 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes     | http://download.opensuse.org/update/13.2/                      
9 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes     | http://download.opensuse.org/update/13.2-non-oss/        

8. Liste de priorité du dépôt et liste par priorité.

# zypper lr -P

# | Alias                     | Name                               | Enabled | Refresh | Priority
--+---------------------------+------------------------------------+---------+---------+---------
1 | openSUSE-13.2-0           | openSUSE-13.2-0                    | Yes     | No      |   99    
2 | repo-debug                | openSUSE-13.2-Debug                | Yes     | Yes     |   99    
3 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes     |   99    
4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes     |   99    
5 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes     |   85    
6 | repo-oss                  | openSUSE-13.2-Oss                  | Yes     | Yes     |   99    
7 | repo-source               | openSUSE-13.2-Source               | No      | Yes     |   99    
8 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes     |   99    
9 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes     |   99    

Actualisation des dépôts

9. Utilisez les commandes zypper refresh ou zypper ref pour actualiser les dépôts zypper.

# zypper refresh
OR
# zypper ref

Repository 'openSUSE-13.2-0' is up to date.
Repository 'openSUSE-13.2-Debug' is up to date.
Repository 'openSUSE-13.2-Non-Oss' is up to date.
Repository 'openSUSE-13.2-Oss' is up to date.
Repository 'openSUSE-13.2-Update' is up to date.
Repository 'openSUSE-13.2-Update-Non-Oss' is up to date.
All repositories have been refreshed.

10. Pour actualiser un dépôt spécifique, dites ‘repo-non-oss‘, tapez:

# zypper refresh repo-non-oss

Repository 'openSUSE-13.2-Non-Oss' is up to date.
Specified repositories have been refreshed.

11. Pour forcer la mise à jour d’un dépôt, dites ‘repo-non-oss‘, tapez:

# zypper ref -f repo-non-oss 

Forcing raw metadata refresh
Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ............................................................[done]
Forcing building of repository cache
Building repository 'openSUSE-13.2-Non-Oss' cache ............................................................[done]
Specified repositories have been refreshed.

Modification des dépôts

Ici, nous utilisons les commandes ‘zypper modifyrepo‘ ou ‘zypper mr‘ pour désactiver, activer les dépôts zypper.

12. Avant de désactiver un dépôt, vous devez savoir que dans Zypper, chaque dépôt a son propre numéro unique, qui est utilisé pour désactiver ou activer un dépôt.

Disons que vous voulez désactiver le dépôt ‘repo-oss‘, pour le désactiver, vous devez d’abord connaître son numéro en tapant la commande suivante.

# zypper lr

# | Alias                     | Name                               | Enabled | Refresh
--+---------------------------+------------------------------------+---------+--------
1 | openSUSE-13.2-0           | openSUSE-13.2-0                    | Yes     | No     
2 | repo-debug                | openSUSE-13.2-Debug                | Yes     | Yes    
3 | repo-debug-update         | openSUSE-13.2-Update-Debug         | No      | Yes    
4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No      | Yes    
5 | repo-non-oss              | openSUSE-13.2-Non-Oss              | Yes     | Yes    
6 | repo-oss                  | openSUSE-13.2-Oss                  | No      | Yes    
7 | repo-source               | openSUSE-13.2-Source               | No      | Yes    
8 | repo-update               | openSUSE-13.2-Update               | Yes     | Yes    
9 | repo-update-non-oss       | openSUSE-13.2-Update-Non-Oss       | Yes     | Yes    

Vous voyez dans la sortie ci-dessus, que le dépôt ‘repo-oss‘ a le numéro 6, pour le désactiver vous devez spécifier le numéro 6 avec la commande suivante.

# zypper mr -d 6

Repository 'repo-oss' has been successfully disabled.

13. Pour réactiver le même dépôt ‘repo-oss‘, qui apparaît au numéro 6 (comme indiqué dans l’exemple ci-dessus).

# zypper mr -e 6

Repository 'repo-oss' has been successfully enabled.

14. Activer le rafraîchissement automatique et le fichier rpm ‘caching‘ pour un dépôt dites ‘repo-non-oss‘ et définissez sa priorité à 85.

# zypper mr -rk -p 85 repo-non-oss

Repository 'repo-non-oss' priority has been left unchanged (85)
Nothing to change for repository 'repo-non-oss'.

15. Désactiver la mise en cache des fichiers rpm pour tous les dépôts.

# zypper mr -Ka

RPM files caching has been disabled for repository 'openSUSE-13.2-0'.
RPM files caching has been disabled for repository 'repo-debug'.
RPM files caching has been disabled for repository 'repo-debug-update'.
RPM files caching has been disabled for repository 'repo-debug-update-non-oss'.
RPM files caching has been disabled for repository 'repo-non-oss'.
RPM files caching has been disabled for repository 'repo-oss'.
RPM files caching has been disabled for repository 'repo-source'.
RPM files caching has been disabled for repository 'repo-update'.
RPM files caching has been disabled for repository 'repo-update-non-oss'.

16. Activer la mise en cache des fichiers rpm pour tous les dépôts.

# zypper mr -ka

RPM files caching has been enabled for repository 'openSUSE-13.2-0'.
RPM files caching has been enabled for repository 'repo-debug'.
RPM files caching has been enabled for repository 'repo-debug-update'.
RPM files caching has been enabled for repository 'repo-debug-update-non-oss'.
RPM files caching has been enabled for repository 'repo-non-oss'.
RPM files caching has been enabled for repository 'repo-oss'.
RPM files caching has been enabled for repository 'repo-source'.
RPM files caching has been enabled for repository 'repo-update'.
RPM files caching has been enabled for repository 'repo-update-non-oss'.

17. Désactiver la mise en cache des fichiers rpm pour les dépôts distants.

# zypper mr -Kt

RPM files caching has been disabled for repository 'repo-debug'.
RPM files caching has been disabled for repository 'repo-debug-update'.
RPM files caching has been disabled for repository 'repo-debug-update-non-oss'.
RPM files caching has been disabled for repository 'repo-non-oss'.
RPM files caching has been disabled for repository 'repo-oss'.
RPM files caching has been disabled for repository 'repo-source'.
RPM files caching has been disabled for repository 'repo-update'.
RPM files caching has been disabled for repository 'repo-update-non-oss'.

18. Activer la mise en cache des fichiers rpm pour les dépôts distants.

# zypper mr -kt

RPM files caching has been enabled for repository 'repo-debug'.
RPM files caching has been enabled for repository 'repo-debug-update'.
RPM files caching has been enabled for repository 'repo-debug-update-non-oss'.
RPM files caching has been enabled for repository 'repo-non-oss'.
RPM files caching has been enabled for repository 'repo-oss'.
RPM files caching has been enabled for repository 'repo-source'.
RPM files caching has been enabled for repository 'repo-update'.
RPM files caching has been enabled for repository 'repo-update-non-oss'.

Ajout de dépôts

Vous pouvez utiliser l’une des deux commandes – ‘zypper addrepo‘ ou ‘zypper ar‘. Vous pouvez utiliser l’url du dépôt ou l’alias pour ajouter un dépôt.

19. Ajouter un dépôt nommé « http://download.opensuse.org/update/12.3/ ».

# zypper ar http://download.opensuse.org/update/11.1/ update

Adding repository 'update' .............................................................................................................................................................[done]
Repository 'update' successfully added
Enabled     : Yes                                      
Autorefresh : No                                       
GPG check   : Yes                                      
URI         : http://download.opensuse.org/update/11.1/

20. Renommer un dépôt. Cela changera uniquement l’alias. Vous pouvez utiliser la commande ‘zypper namerepo‘ ou ‘zypper nr‘. Pour renommer, c’est-à-dire changer l’alias d’un dépôt qui apparaît au numéro 10 (zypper lr) en upd8, exécutez la commande ci-dessous.

# zypper nr 10 upd8

Repository 'update' renamed to 'upd8'.

Suppression de dépôts

21. Supprimer un dépôt. Cela supprimera le dépôt du système. Vous pouvez utiliser la commande ‘zypper removerepo‘ ou ‘zypper rr‘. Pour supprimer un dépôt nommé ‘upd8’, exécutez la commande ci-dessous.

# zypper rr upd8

# Removing repository 'upd8' .........................................................................................[done]
Repository 'upd8' has been removed.

Gestion des packages avec Zypper

Installer un package avec Zypper

22. Avec Zypper, nous pouvons installer des packages en fonction du nom de la capacité. Par exemple, pour installer un package (disons Mozilla Firefox) en utilisant le nom de la capacité.

# zypper in MozillaFirefox

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 128 NEW packages are going to be installed:
  adwaita-icon-theme at-spi2-atk-common at-spi2-atk-gtk2 at-spi2-core cantarell-fonts cups-libs desktop-file-utils fontconfig gdk-pixbuf-query-loaders gstreamer gstreamer-fluendo-mp3 
  gstreamer-plugins-base gtk2-branding-openSUSE gtk2-data gtk2-immodule-amharic gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-vietnamese gtk2-metatheme-adwaita 
  gtk2-theming-engine-adwaita gtk2-tools gtk3-data gtk3-metatheme-adwaita gtk3-tools hicolor-icon-theme hicolor-icon-theme-branding-openSUSE libasound2 libatk-1_0-0 libatk-bridge-2_0-0 
  libatspi0 libcairo2 libcairo-gobject2 libcanberra0 libcanberra-gtk0 libcanberra-gtk2-module libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-gtk-module-common libcdda_interface0 
  libcdda_paranoia0 libcolord2 libdrm2 libdrm_intel1 libdrm_nouveau2 libdrm_radeon1 libFLAC8 libfreebl3 libgbm1 libgdk_pixbuf-2_0-0 libgraphite2-3 libgstapp-1_0-0 libgstaudio-1_0-0 
  libgstpbutils-1_0-0 libgstreamer-1_0-0 libgstriff-1_0-0 libgsttag-1_0-0 libgstvideo-1_0-0 libgthread-2_0-0 libgtk-2_0-0 libgtk-3-0 libharfbuzz0 libjasper1 libjbig2 libjpeg8 libjson-c2 
  liblcms2-2 libLLVM libltdl7 libnsssharedhelper0 libogg0 liborc-0_4-0 libpackagekit-glib2-18 libpango-1_0-0 libpciaccess0 libpixman-1-0 libpulse0 libsndfile1 libsoftokn3 libspeex1 
  libsqlite3-0 libstartup-notification-1-0 libtheoradec1 libtheoraenc1 libtiff5 libvisual libvorbis0 libvorbisenc2 libvorbisfile3 libwayland-client0 libwayland-cursor0 libwayland-server0 
  libX11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libXcomposite1 libXcursor1 libXdamage1 libXevie1 
  libXfixes3 libXft2 libXi6 libXinerama1 libxkbcommon-0_4_3 libXrandr2 libXrender1 libxshmfence1 libXtst6 libXv1 libXxf86vm1 Mesa Mesa-libEGL1 Mesa-libGL1 Mesa-libglapi0 
  metatheme-adwaita-common MozillaFirefox MozillaFirefox-branding-openSUSE mozilla-nss mozilla-nss-certs PackageKit-gstreamer-plugin pango-tools sound-theme-freedesktop 

The following 10 recommended packages were automatically selected:
  gstreamer-fluendo-mp3 gtk2-branding-openSUSE gtk2-data gtk2-immodule-amharic gtk2-immodule-inuktitut gtk2-immodule-thai gtk2-immodule-vietnamese libcanberra0 libpulse0 
  PackageKit-gstreamer-plugin 

128 new packages to install.
Overall download size: 77.2 MiB. Already cached: 0 B  After the operation, additional 200.0 MiB will be used.
Continue? [y/n/? shows all options] (y): y
Retrieving package cantarell-fonts-0.0.16-1.1.noarch                                                                                                   (1/128),  74.1 KiB (115.6 KiB unpacked)
Retrieving: cantarell-fonts-0.0.16-1.1.noarch.rpm .........................................................................................................................[done (63.4 KiB/s)]
Retrieving package hicolor-icon-theme-0.13-2.1.2.noarch                                                                                                (2/128),  40.1 KiB ( 50.5 KiB unpacked)
Retrieving: hicolor-icon-theme-0.13-2.1.2.noarch.rpm ...................................................................................................................................[done]
Retrieving package sound-theme-freedesktop-0.8-7.1.2.noarch                                                                                            (3/128), 372.6 KiB (460.3 KiB unpacked)

23. Installer un package (disons gcc) en utilisant la version.

# zypper in 'gcc<5.1'

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 13 NEW packages are going to be installed:
  cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 

13 new packages to install.
Overall download size: 14.5 MiB. Already cached: 0 B  After the operation, additional 49.4 MiB will be used.
Continue? [y/n/? shows all options] (y): y

24. Installer un package (disons gcc) pour l’architecture (disons i586).

# zypper in gcc.i586

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 13 NEW packages are going to be installed:
  cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 

13 new packages to install.
Overall download size: 14.5 MiB. Already cached: 0 B  After the operation, additional 49.4 MiB will be used.
Continue? [y/n/? shows all options] (y): y
Retrieving package libasan0-4.8.3+r212056-2.2.4.x86_64                                                                                                  (1/13),  74.2 KiB (166.9 KiB unpacked)
Retrieving: libasan0-4.8.3+r212056-2.2.4.x86_64.rpm .......................................................................................................................[done (79.2 KiB/s)]
Retrieving package libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64                                                                                          (2/13),  14.3 KiB ( 26.1 KiB unpacked)
Retrieving: libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm ...............................................................................................................[done (55.3 KiB/s)]

25. Installer un package (disons gcc) pour une architecture spécifique (disons i586) et une version spécifique (disons <5.1),

# zypper in 'gcc.i586<5.1'

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 13 NEW packages are going to be installed:
  cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmpc3 libmpfr4 libtsan0-gcc49 

13 new packages to install.
Overall download size: 14.4 MiB. Already cached: 129.5 KiB  After the operation, additional 49.4 MiB will be used.
Continue? [y/n/? shows all options] (y): y
In cache libasan0-4.8.3+r212056-2.2.4.x86_64.rpm                                                                                                        (1/13),  74.2 KiB (166.9 KiB unpacked)
In cache libatomic1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm                                           (2/13),  14.3 KiB ( 26.1 KiB unpacked)
In cache libgomp1-gcc49-4.9.0+r211729-2.1.7.x86_64.rpm                                             (3/13),  41.1 KiB ( 90.7 KiB unpacked)

26. Installer un package (disons libxine) depuis le dépôt (amarok).

# zypper in amarok upd:libxine1

Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 202 NEW packages are going to be installed:
  amarok bundle-lang-kde-en clamz cups-libs enscript fontconfig gdk-pixbuf-query-loaders ghostscript-fonts-std gptfdisk gstreamer gstreamer-plugins-base hicolor-icon-theme 
  hicolor-icon-theme-branding-openSUSE htdig hunspell hunspell-tools icoutils ispell ispell-american kde4-filesystem kdebase4-runtime kdebase4-runtime-branding-openSUSE kdelibs4 
  kdelibs4-branding-openSUSE kdelibs4-core kdialog libakonadi4 l
.....

27. Installer un package (disons git) en utilisant le nom (-n).

# zypper in -n git

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 35 NEW packages are going to be installed:
  cvs cvsps fontconfig git git-core git-cvs git-email git-gui gitk git-svn git-web libserf-1-1 libsqlite3-0 libXft2 libXrender1 libXss1 perl-Authen-SASL perl-Clone perl-DBD-SQLite perl-DBI 
  perl-Error perl-IO-Socket-SSL perl-MLDBM perl-Net-Daemon perl-Net-SMTP-SSL perl-Net-SSLeay perl-Params-Util perl-PlRPC perl-SQL-Statement perl-Term-ReadKey subversion subversion-perl tcl 
  tk xhost 

The following 13 recommended packages were automatically selected:
  git-cvs git-email git-gui gitk git-svn git-web perl-Authen-SASL perl-Clone perl-MLDBM perl-Net-Daemon perl-Net-SMTP-SSL perl-PlRPC perl-SQL-Statement 

The following package is suggested, but will not be installed:
  git-daemon 

35 new packages to install.
Overall download size: 15.6 MiB. Already cached: 0 B  After the operation, additional 56.7 MiB will be used.
Continue? [y/n/? shows all options] (y): y

28. Installer un package en utilisant des caractères génériques. Par exemple, installer tous les packages php5.

# zypper in php5*

Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: php5-5.6.1-18.1.x86_64 requires smtp_daemon, but this requirement cannot be provided
  uninstallable providers: exim-4.83-3.1.8.x86_64[openSUSE-13.2-0]
                   postfix-2.11.0-5.2.2.x86_64[openSUSE-13.2-0]
                   sendmail-8.14.9-2.2.2.x86_64[openSUSE-13.2-0]
                   exim-4.83-3.1.8.i586[repo-oss]
                   msmtp-mta-1.4.32-2.1.3.i586[repo-oss]
                   postfix-2.11.0-5.2.2.i586[repo-oss]
                   sendmail-8.14.9-2.2.2.i586[repo-oss]
                   exim-4.83-3.1.8.x86_64[repo-oss]
                   msmtp-mta-1.4.32-2.1.3.x86_64[repo-oss]
                   postfix-2.11.0-5.2.2.x86_64[repo-oss]
                   sendmail-8.14.9-2.2.2.x86_64[repo-oss]
                   postfix-2.11.3-5.5.1.i586[repo-update]
                   postfix-2.11.3-5.5.1.x86_64[repo-update]
 Solution 1: Following actions will be done:
  do not install php5-5.6.1-18.1.x86_64
  do not install php5-pear-Auth_SASL-1.0.6-7.1.3.noarch
  do not install php5-pear-Horde_Http-2.0.1-6.1.3.noarch
  do not install php5-pear-Horde_Image-2.0.1-6.1.3.noarch
  do not install php5-pear-Horde_Kolab_Format-2.0.1-6.1.3.noarch
  do not install php5-pear-Horde_Ldap-2.0.1-6.1.3.noarch
  do not install php5-pear-Horde_Memcache-2.0.1-7.1.3.noarch
  do not install php5-pear-Horde_Mime-2.0.2-6.1.3.noarch
  do not install php5-pear-Horde_Oauth-2.0.0-6.1.3.noarch
  do not install php5-pear-Horde_Pdf-2.0.1-6.1.3.noarch
....

29. Installer un package (disons lamp_server) en utilisant un motif (groupe de packages).

# zypper in -t pattern lamp_server

ading repository data...
Reading installed packages...
Resolving package dependencies...

The following 29 NEW packages are going to be installed:
  apache2 apache2-doc apache2-example-pages apache2-mod_perl apache2-prefork patterns-openSUSE-lamp_server perl-Data-Dump perl-Encode-Locale perl-File-Listing perl-HTML-Parser 
  perl-HTML-Tagset perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-IO-HTML perl-IO-Socket-SSL perl-libwww-perl perl-Linux-Pid 
  perl-LWP-MediaTypes perl-LWP-Protocol-https perl-Net-HTTP perl-Net-SSLeay perl-Tie-IxHash perl-TimeDate perl-URI perl-WWW-RobotRules yast2-http-server 

The following NEW pattern is going to be installed:
  lamp_server 

The following 10 recommended packages were automatically selected:
  apache2 apache2-doc apache2-example-pages apache2-mod_perl apache2-prefork perl-Data-Dump perl-IO-Socket-SSL perl-LWP-Protocol-https perl-TimeDate yast2-http-server 

29 new packages to install.
Overall download size: 7.2 MiB. Already cached: 1.2 MiB  After the operation, additional 34.7 MiB will be used.
Continue? [y/n/? shows all options] (y): 

30. Installer un package (disons nano) et supprimer un package (disons vi) en une seule fois.

# zypper in nano -vi

Loading repository data...
Reading installed packages...
'-vi' not found in package names. Trying capabilities.
Resolving package dependencies...

The following 2 NEW packages are going to be installed:
  nano nano-lang 

The following package is going to be REMOVED:
  vim 

The following recommended package was automatically selected:
  nano-lang 

2 new packages to install, 1 to remove.
Overall download size: 550.0 KiB. Already cached: 0 B  After the operation, 463.3 KiB will be freed.
Continue? [y/n/? shows all options] (y): 
...

31. Installer un package rpm (disons teamviewer).

# zypper in teamviewer*.rpm

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 24 NEW packages are going to be installed:
  alsa-oss-32bit fontconfig-32bit libasound2-32bit libexpat1-32bit libfreetype6-32bit libgcc_s1-gcc49-32bit libICE6-32bit libjpeg62-32bit libpng12-0-32bit libpng16-16-32bit libSM6-32bit 
  libuuid1-32bit libX11-6-32bit libXau6-32bit libxcb1-32bit libXdamage1-32bit libXext6-32bit libXfixes3-32bit libXinerama1-32bit libXrandr2-32bit libXrender1-32bit libXtst6-32bit 
  libz1-32bit teamviewer 

The following recommended package was automatically selected:
  alsa-oss-32bit 

24 new packages to install.
Overall download size: 41.2 MiB. Already cached: 0 B  After the operation, additional 119.7 MiB will be used.
Continue? [y/n/? shows all options] (y): 
..

Supprimer un Package avec Zypper

32. Pour supprimer n’importe quel package, vous pouvez utiliser les commandes ‘zypper remove‘ ou ‘zypper rm‘. Par exemple, pour supprimer un package (disons apache2), exécutez:

# zypper remove apache2
Or
# zypper rm apache2

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 2 packages are going to be REMOVED:
  apache2 apache2-prefork 

2 packages to remove.
After the operation, 4.2 MiB will be freed.
Continue? [y/n/? shows all options] (y): y
(1/2) Removing apache2-2.4.10-19.1 ........................................................................[done]
(2/2) Removing apache2-prefork-2.4.10-19.1 ................................................................[done]

Mise à jour des Packages en utilisant Zypper

33. Mettre à jour tous les packages. Vous pouvez utiliser les commandes ‘zypper update‘ ou ‘zypper up‘.

# zypper up
OR
# zypper update

Loading repository data...
Reading installed packages...
Nothing to do.

34. Mettre à jour des paquets spécifiques (disons apache2 et openssh).

# zypper up apache2 openssh

Loading repository data...
Reading installed packages...
No update candidate for 'apache2-2.4.10-19.1.x86_64'. The highest available version is already installed.
No update candidate for 'openssh-6.6p1-5.1.3.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

35. Installer un paquet (disons mariadb) s’il n’est pas installé, s’il est installé le mettre à jour.

# zypper in mariadb

Loading repository data...
Reading installed packages...
'mariadb' is already installed.
No update candidate for 'mariadb-10.0.13-2.6.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

Installer les dépendances de construction et de source

Vous pouvez utiliser les commandes ‘zypper source-install‘ ou ‘zypper si‘ pour construire des paquets à partir de la source.

36. Installer les paquets source et construire leurs dépendances pour un paquet (disons mariadb).

# zypper si mariadb

Reading installed packages...
Loading repository data...
Resolving package dependencies...

The following 36 NEW packages are going to be installed:
  autoconf automake bison cmake cpp cpp48 gcc gcc48 gcc48-c++ gcc-c++ libaio-devel libarchive13 libasan0 libatomic1-gcc49 libcloog-isl4 libedit-devel libevent-devel libgomp1-gcc49 libisl10 
  libitm1-gcc49 libltdl7 libmpc3 libmpfr4 libopenssl-devel libstdc++48-devel libtool libtsan0-gcc49 m4 make ncurses-devel pam-devel readline-devel site-config tack tcpd-devel zlib-devel 

The following source package is going to be installed:
  mariadb 

36 new packages to install, 1 source package.
Overall download size: 71.5 MiB. Already cached: 129.5 KiB  After the operation, additional 183.9 MiB will be used.
Continue? [y/n/? shows all options] (y): y

37. Installer uniquement la source pour un paquet (disons mariadb).

# zypper in -D mariadb

Loading repository data...
Reading installed packages...
'mariadb' is already installed.
No update candidate for 'mariadb-10.0.13-2.6.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

38. Installer uniquement les dépendances de construction pour un paquet (disons mariadb).

# zypper si -d mariadb

Reading installed packages...
Loading repository data...
Resolving package dependencies...

The following 36 NEW packages are going to be installed:
  autoconf automake bison cmake cpp cpp48 gcc gcc48 gcc48-c++ gcc-c++ libaio-devel libarchive13 libasan0 libatomic1-gcc49 libcloog-isl4 libedit-devel libevent-devel libgomp1-gcc49 libisl10 
  libitm1-gcc49 libltdl7 libmpc3 libmpfr4 libopenssl-devel libstdc++48-devel libtool libtsan0-gcc49 m4 make ncurses-devel pam-devel readline-devel site-config tack tcpd-devel zlib-devel 

The following package is recommended, but will not be installed due to conflicts or dependency issues:
  readline-doc 

36 new packages to install.
Overall download size: 33.7 MiB. Already cached: 129.5 KiB  After the operation, additional 144.3 MiB will be used.
Continue? [y/n/? shows all options] (y): y

Scripts et Applications Zypper

39. Installer un paquet (disons mariadb) sans interaction de l’utilisateur.

# zypper --non-interactive in mariadb

Loading repository data...
Reading installed packages...
'mariadb' is already installed.
No update candidate for 'mariadb-10.0.13-2.6.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

40. Supprimer un paquet (disons mariadb) sans interaction de l’utilisateur.

# zypper --non-interactive rm mariadb

Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following package is going to be REMOVED:
  mariadb 

1 package to remove.
After the operation, 71.8 MiB will be freed.
Continue? [y/n/? shows all options] (y): y
(1/1) Removing mariadb-10.0.13-2.6.1 .............................................................................[done]

41. Sortie zypper en xml.

# zypper --xmlout



  Usage:
	zypper [--global-options] <command> [--command-options] [arguments]

  Global Options
....

42. Générer une sortie silencieuse lors de l’installation.

# zypper --quiet in mariadb

The following NEW package is going to be installed:
  mariadb 

1 new package to install.
Overall download size: 0 B. Already cached: 7.8 MiB  After the operation, additional 71.8 MiB will be used.
Continue? [y/n/? shows all options] (y): 
...

43. Générer une sortie silencieuse lors de la désinstallation.

# zypper --quiet rm mariadb

44. Accepter automatiquement les licences/accords.

# zypper patch --auto-agree-with-licenses

Loading repository data...
Reading installed packages...
Resolving package dependencies...

Nothing to do.

Nettoyer le cache Zypper et afficher l’historique

45. Si vous voulez nettoyer uniquement le cache Zypper, vous pouvez utiliser la commande suivante.

# zypper clean

All repositories have been cleaned up.

Si vous voulez nettoyer les métadonnées et le cache des paquets en une seule fois, vous pouvez passer –all/-a avec zypper comme.

# zypper clean -a

All repositories have been cleaned up.

46. Pour afficher les journaux de tous les paquets installés, mis à jour ou supprimés via zypper, ils sont enregistrés dans /var/log/zypp/history. Vous pouvez utiliser la commande cat pour les afficher ou utiliser un filtre pour obtenir une sortie personnalisée.

# cat /var/log/zypp/history

2015-05-07 15:43:03|install|boost-license1_54_0|1.54.0-10.1.3|noarch||openSUSE-13.2-0|0523b909d2aae5239f9841316dafaf3a37b4f096|
2015-05-07 15:43:03|install|branding-openSUSE|13.2-3.6.1|noarch||openSUSE-13.2-0|6609def94b1987bf3f90a9467f4f7ab8f8d98a5c|
2015-05-07 15:43:03|install|bundle-lang-common-en|13.2-3.3.1|noarch||openSUSE-13.2-0|ca55694e6fdebee6ce37ac7cf3725e2aa6edc342|
2015-05-07 15:43:03|install|insserv-compat|0.1-12.2.2|noarch||openSUSE-13.2-0|6160de7fbf961a279591a83a1550093a581214d9|
2015-05-07 15:43:03|install|libX11-data|1.6.2-5.1.2|noarch||openSUSE-13.2-0|f1cb58364ba9016c1f93b1a383ba12463c56885a|
2015-05-07 15:43:03|install|libnl-config|3.2.25-2.1.2|noarch||openSUSE-13.2-0|aab2ded312a781e93b739b418e3d32fe4e187020|
2015-05-07 15:43:04|install|wireless-regdb|2014.06.13-1.2|noarch||openSUSE-13.2-0|be8cb16f3e92af12b5ceb977e37e13f03c007bd1|
2015-05-07 15:43:04|install|yast2-trans-en_US|3.1.0-2.1|noarch||openSUSE-13.2-0|1865754e5e0ec3c149ac850b340bcca55a3c404d|
2015-05-07 15:43:04|install|yast2-trans-stats|2.19.0-16.1.3|noarch||openSUSE-13.2-0|b107d2b3e702835885b57b04d12d25539f262d1a|
2015-05-07 15:43:04|install|cracklib-dict-full|2.8.12-64.1.2|x86_64||openSUSE-13.2-0|08bd45dbba7ad44e3a4837f730be76f55ad5dcfa|
......

Mettre à niveau Suse en utilisant Zypper

47. Vous pouvez utiliser l’option ‘dist-upgrade‘ avec la commande zypper pour mettre à niveau votre version actuelle de Suse Linux vers la plus récente.

# zypper dist-upgrade

You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Building repository 'openSUSE-13.2-0' cache .....................................................................[done]
Retrieving repository 'openSUSE-13.2-Debug' metadata ............................................................[done]
Building repository 'openSUSE-13.2-Debug' cache .................................................................[done]
Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ..........................................................[done]
Building repository 'openSUSE-13.2-Non-Oss' cache ...............................................................[done]

C’est tout pour le moment. J’espère que cet article vous aidera à gérer votre Système SUSE et votre Serveur, en particulier pour les débutants. Si vous pensez que j’ai omis certaines commandes (les humains sont sujets à l’erreur), vous pouvez nous fournir vos commentaires dans les commentaires afin que nous puissions mettre à jour l’article. Restez connecté, continuez à commenter, restez à l’écoute. Bravo!

Source:
https://www.tecmint.com/zypper-commands-to-manage-suse-linux-package-management/