Comment utiliser Zypper d'Opensuse et Suse

Nous continuons avec les gestionnaires de paquets des distributions les plus importantes du secteur des serveurs, cette fois nous parlerons de Zypper qui fonctionne avec RPM et a été créé par SuSE pour vos distributions privées et publiques telles qu'elles sont SLE et Opensuse.
De manière personnelle Zypper Je pense qu'il est l'un des meilleurs managers qui existent aujourd'hui. Suse a mis beaucoup d'efforts dans Yast et Zypper proposant 2 produits très stables et faciles à utiliser, il est vrai que dans le passé Zypper avait beaucoup de problèmes de dépendances mais c'est fini et donne des performances exceptionnelles.
1 Comment utiliser Zypper.
Nous commencerons par le plus basique, si nous lançons la commande sans aucun argument cela nous proposera un synopsis de base sur la façon de l'utiliser et une liste de toutes les options globales n'ayez pas peur avec la quantité d'options que je m'occuperai d'expliquer les plus utiles.
 jcarrillo @ linux-bp4q : ~> zypper Utilisation : zypper [--global-options] [--command-options] [arguments] Options globales : --help, -h Aide. --version, -V Affiche le numéro de version. --promptids Affiche une liste des invites utilisateur de zypper. --config, -c Utilise le fichier de configuration spécifié au lieu de la valeur par défaut. --userdata Identifiant de transaction défini par l'utilisateur utilisé dans l'historique et les plugins. --quiet, -q Supprime la sortie normale, n'affiche que les messages d'erreur. --verbose, -v Augmente la verbosité. - [no-] color s'il faut utiliser les couleurs en sortie si tty le prend en charge. --no-abbrev, -A Ne pas abréger le texte dans les tableaux. --table-style, -s Style de tableau (entier). --non-interactive, -n Ne rien demander, utiliser les réponses par défaut automatiquement. --non-interactive-include-reboot-patches Ne traite pas les correctifs comme interactifs, pour lesquels le paramètre rebootSuggested-flag est défini. --xmlout, -x Bascule vers la sortie XML. --ignore-unknown, -i Ignore les paquets inconnus. --reposd-dir, -D Utiliser un autre répertoire de fichier de définition de référentiel. --cache-dir, -C Utiliser un répertoire alternatif pour tous les caches. --raw-cache-dir Utilise un autre répertoire de cache de métadonnées brutes. --solv-cache-dir Utilise un autre répertoire de cache de fichiers solv. --pkg-cache-dir Utilise un répertoire de cache de paquet alternatif.
Si nous voulons une aide pour un argument par exemple install nous utilisons.
 jcarrillo @ linux-bp4q : ~> aide de zypper dans l'installation (dans) [options]… Installer des packages avec des capacités spécifiées ou des fichiers RPM avec un emplacement spécifié. Une capacité est NAME [.ARCH] [OP], où OP est l'un des <, =,>. Options de commande : --from Sélectionnez les packages dans le référentiel spécifié. -r, --repo Charge uniquement le référentiel spécifié. -t, --type Type de package (package, patch, modèle, produit, srcpackage). Par défaut : package. -n, --name Sélectionne les packages par nom simple, pas par capacité. -C, --capability Sélectionnez les packages par capacité. -f, --force Installer même si l'élément est déjà installé (réinstaller), rétrogradé ou change de fournisseur ou d'architecture. --oldpackage Permet de remplacer un élément plus récent par un plus ancien. Pratique si vous effectuez un rollback. Contrairement à --force, il n'imposera pas de réinstallation. --replacefiles Installe les packages même s'ils remplacent des fichiers d'autres packages déjà installés. La valeur par défaut consiste à traiter les conflits de fichiers comme une erreur. --download-as-needed désactive le conflit de fichiers… 
Pour rechercher un package, nous utilisons l'option se ou search, nous utiliserons l'exemple de Firefox.
 jcarrillo @ linux-bp4q: ~> zypper se firefox Chargement des données du référentiel… Lecture des paquets installés… S | Nom | Résumé | Tapez - + ------------------------------------ + --------- - -------------------------------------------- + --- - -------- je | Firefox | Navigateur Web | candidature | MozillaFirefox | Navigateur Web Mozilla Firefox | srcpackage i | MozillaFirefox | Navigateur Web Mozilla Firefox | forfait | MozillaFirefox-branding-openSUSE | marque openSUSE de MozillaFirefox | srcpackage i | MozillaFirefox-branding-openSUSE | marque openSUSE de MozillaFirefox | forfait | MozillaFirefox-branding-upstream | Marque en amont pour Firefox | forfait | MozillaFirefox-buildsymbols | Symboles de construction Breakpad pour Firefox | forfait | MozillaFirefox-devel | Paquet de développement pour Firefox | forfait | MozillaFirefox-translations-commun | Traductions courantes pour Firefox | forfait | MozillaFirefox-translations-autre | Traductions supplémentaires pour Firefox | forfait | mhtml-firefox | Fournit à Firefox la compatibilité avec les archives Web MHTML | srcpackage | mhtml-firefox | Fournit à Firefox la compatibilité avec les archives Web MHTML | paquet
Nous pouvons voir qu'il recherche dans la liste des dépôts puis propose tous les packages qui contiennent le mot firefox car j'ai déjà installé firefox, un "i" apparaît pour différencier.
Nous pouvons rechercher des modèles ou des groupes de packages, par exemple nous pouvons installer le modèle de lampe qui comprend php, apache et mariadb, nous voyons qu'il comprend une description très utile pour automatiser les installations.
 zypper info -t pattern lamp_server Chargement des données du référentiel… Lecture des packages installés… Informations pour le pattern lamp_server : ------------------------------- ----- Référentiel : openSUSE-13.2-Update Nom : lamp_server Version : 20141007-5.1 Arch : x86_64 Fournisseur : openSUSE Installé : Non Visible par l'utilisateur : Oui Résumé : Web et LAMP Server Description : Logiciel pour configurer un serveur Web qui est capable de servir du contenu statique, dynamique et interactif (comme une boutique Web). Cela inclut Apache HTTP Server, le système de gestion de base de données MySQL et les langages de script tels que PHP, Python, Ruby on Rails ou Perl. Contenu : S | Nom | Type | Dépendance - + ------------------------------- + --------- + ---- - ------ | apache2-mod_php5 | forfait | | php5-iconv | forfait | je | modèles-openSUSE-base | forfait | je | apache2-prefork | forfait | | php5-dom | forfait | | php5-mysql | forfait | je | apache2 | forfait | | pages-exemples-apache2 | forfait | | mariadb | forfait | | apache2-mod_perl | forfait | | php5-ctype | forfait | | apache2-doc | forfait | | yast2-http-serveur | forfait | | patterns-openSUSE-lampe_server | forfait | 

1.1 Utiliser la coque Zypper


Comme miam, nous pouvons lancer un coquille de zypper si nous allons travailler longtemps avec lui.
 # shell zypper OU # zypper sh zypper> help Utilisation : zypper [--global-options]
2 Gestion des référentiels avec Zypper
Nous pouvons ajouter, supprimer, mettre à jour et modifier les référentiels système officiels et externes à l'aide de Zypper.

2.1 Répertorier les référentiels


Nous pouvons lister les dépôts en utilisant l'argument repos ou lr une liste est affichée en filtrant par activé et s'ils sont mis à jour.
 # zypper repos OU # zypper lr jcarrillo @ linux-bp4q: ~> zypper lr # | Alias ​​| Nom | Activé | Vérification GPG | Rafraîchir --- + ----------------------------- + --------------- ---------------------- + --------- + ----------- + ----- --- 1 | download.opensuse.org-4.4 | openSUSE BuildService - LibreOffice | Oui | (r) Oui | Oui 2 | download.opensuse.org-Apps | openSUSE BuildService - GNOME : Applications | Oui | (r) Oui | Oui 3 | download.opensuse.org-Extra | openSUSE BuildService - KDE : Extra | Oui | (r) Oui | Oui 4 | download.opensuse.org-jeux | openSUSE BuildService - Jeux | Oui | (r) Oui | Oui 5 | download.opensuse.org-oss | Dépôt principal (Sources) | Oui | (r) Oui | Oui 6 | ftp.gwdg.de-suse | Dépôt Packman | Oui | (r) Oui | Oui 7 | jeux : outils | jeux : outils | Oui | (r) Oui | Oui 8 | geeko.ioda.net-amd-fglrx | Pilotes graphiques AMD/ATI | Oui | (r) Oui | Oui 9 | google-chrome | google-chrome | Oui | (r) Oui | Oui 10 | référentiel libdvdcss | référentiel libdvdcss | Oui | (r) Oui | Oui 11 | ouvrirSUSE-13.2-0 | ouvrirSUSE-13.2-0 | Non ---- | Oui 12 | repo-debug | openSUSE-13.2-Debug | Non ---- | Oui 13 | repo-debug-update | openSUSE-13.2-Update-Debug | Non ---- | Oui 14 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Non ---- | Oui 15 | repo-non-oss | openSUSE-13.2-Non-Oss | Oui | (p) Oui | Oui 16 | mise en pension | ouvrirSUSE-13.2-Oss | Oui | (p) Oui | Oui 17 | repo-source | openSUSE-13.2-Source | Non ---- | Oui 18 | mise à jour du dépôt | openSUSE-13.2-Mise à jour | Oui | (r) Oui | Oui 19 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Oui | (p) Oui | Et c'est
Si nécessaire, nous pouvons répertorier par URI idéal si nous avons des référentiels locaux et que nous voulons sauvegarder ou mettre à jour.
 # zypper lr -u # | Alias ​​| Nom | Activé | Actualiser | URI - + --------------------------- + ------------------ - ----------------- + --------- + --------- + ----------- - ------------------------------------------------- - -- 1 | ouvrirSUSE-13.2-0 | ouvrirSUSE-13.2-0 | Oui | Non cd : ///? devices = / dev / disk / by-id / ata-VBOX_CD-ROM_VB2-01700376 2 | repo-debug | openSUSE-13.2-Debug | Oui | Oui | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Non Oui | http://download.opensuse.org/debug/update/13.2/ 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Non Oui | http://download.opensuse.org/debug/update/13.2-non-oss/ 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Oui | Oui | http://download.opensuse.org/distribution/13.2/repo/non-oss/ 6 | mise en pension | ouvrirSUSE-13.2-Oss | Oui | Oui | http://download.opensuse.org/distribution/13.2/repo/oss/ 7 | repo-source | openSUSE-13.2-Source | Non Oui | http://download.opensuse.org/source/distribution/13.2/repo/oss/ 8 | mise à jour du dépôt | openSUSE-13.2-Mise à jour | Oui | Oui | http://download.opensuse.org/update/13.2/ 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Oui | Oui | http://download.opensuse.org/update/13.2-non-oss/ 
Ils doivent savoir que les dépôts sont gérés par priorité, par exemple nous avons le package mysql dans le REPO local et officiel pour économiser de la bande passante, une bonne pratique consiste à offrir une priorité plus élevée aux REPO locaux. On peut lister les REPO par priorité avec -P
 # zypper lr -P # | Alias ​​| Nom | Activé | Actualiser | Priorité - + ---------------------------- + ------------------ - ----------------- + --------- + --------- + --------- 1 | ouvrirSUSE-13.2-0 | ouvrirSUSE-13.2-0 | Oui | Non 99 2 | repo-debug | openSUSE-13.2-Debug | Oui | Oui | 99 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Non Oui | 99 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Non Oui | 99 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Oui | Oui | 85 6 | mise en pension | ouvrirSUSE-13.2-Oss | Oui | Oui | 99 7 | repo-source | openSUSE-13.2-Source | Non Oui | 99 8 | mise à jour du dépôt | openSUSE-13.2-Mise à jour | Oui | Oui | 99 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Oui | Oui | 99 

2.2 Actualisation des référentiels


Nous avons une commande globale pour tout rafraîchir en même temps ou l'option d'une spécifique
En cas de rafraîchissement, nous utilisons tous ref ou refresh
 # zypper refresh OU # zypper ref Le référentiel 'openSUSE-13.2-0' est à jour. Le référentiel 'openSUSE-13.2-Debug' est à jour. Le référentiel 'openSUSE-13.2-Non-Oss' est à jour. Le référentiel 'openSUSE-13.2-Oss' est à jour. Le référentiel 'openSUSE-13.2-Update' est à jour. Le référentiel 'openSUSE-13.2-Update-Non-Oss' est à jour. Tous les référentiels ont été actualisés. En cas de rafraîchissement d'un fichier spécifique, par exemple Non-oss # zypper refresh repo-non-oss Le référentiel 'openSUSE-13.2-Non-Oss' est à jour. Les référentiels spécifiés ont été actualisés.
Parfois, zypper ne permet pas le rafraîchissement par les certificats de sécurité que nous pouvons forcer dans ce cas avec -f
 # zypper ref -f repo-non-oss Forcer l'actualisation des métadonnées brutes Récupération des métadonnées du référentiel 'openSUSE-13.2-Non-Oss'… [done] Forcer la construction du cache du référentiel Construction du cache du référentiel 'openSUSE-13.2-Non-Oss'… [done] Les référentiels spécifiés ont été actualisés. 

2.3 Modifier les référentiels


Quand on parle de modification, je veux dire activer ou désactiver un REPO ou modifier sa priorité avant de modifier un REPO, il faut savoir que dans Zypper chaque référentiel a un identifiant unique qui sert à activer un REPO, on peut lister son numéro avec zypper lr .
 # zypper lr # | Alias ​​| Nom | Activé | Rafraîchir - + --------------------------- + ------------------ - ----------------- + --------- + -------- 1 | ouvrirSUSE-13.2-0 | ouvrirSUSE-13.2-0 | Oui | Non 2 | repo-debug | openSUSE-13.2-Debug | Oui | Oui 3 | repo-debug-update | openSUSE-13.2-Update-Debug | Non Oui 4 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | Non Oui 5 | repo-non-oss | openSUSE-13.2-Non-Oss | Oui | Oui 6 | mise en pension | ouvrirSUSE-13.2-Oss | Non Oui 7 | repo-source | openSUSE-13.2-Source | Non Oui 8 | mise à jour du dépôt | openSUSE-13.2-Mise à jour | Oui | Oui 9 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Oui | Et c'est
En cas de désactivation de l'ID 6, qui serait Oss, nous utilisons
 # zypper mr -d 6 Le référentiel 'repo-oss' a été désactivé avec succès.
Pour l'activer à nouveau, nous utilisons l'exemple -e
 # zypper mr -e 6 Le référentiel 'repo-oss' a été activé avec succès. 
Nous passons à des options plus avancées, par exemple nous activons le rafraîchissement automatique et mettons une priorité de 85 au repo non-oss.
 # zypper mr -rk -p 85 repo-non-oss La priorité du référentiel 'repo-non-oss' est restée inchangée (85) Rien à changer pour le référentiel 'repo-non-oss'.
Ou nous pouvons restreindre la mise en cache de tous les référentiels au cas où nous serions à court d'espace.
 # zypper mr -Ka La mise en cache des fichiers RPM a été désactivée pour le référentiel 'openSUSE-13.2-0'. La mise en cache des fichiers RPM a été désactivée pour le référentiel 'repo-debug'. La mise en cache des fichiers RPM a été désactivée pour le référentiel 'repo-debug-update'. La mise en cache des fichiers RPM a été désactivée pour le référentiel 'repo-debug-update-non-oss'. La mise en cache des fichiers RPM a été désactivée pour le référentiel 'repo-non-oss'. La mise en cache des fichiers RPM a été désactivée pour le référentiel 'repo-oss'. La mise en cache des fichiers RPM a été désactivée pour le référentiel 'repo-source'. La mise en cache des fichiers RPM a été désactivée pour le référentiel « repo-update ». La mise en cache des fichiers RPM a été désactivée pour le référentiel 'repo-update-non-oss'.
Au cas où nous voudrions les réactiver, nous utilisons.
 # zypper mr -ka La mise en cache des fichiers RPM a été activée pour le référentiel 'openSUSE-13.2-0'. La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-debug'. La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-debug-update'. La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-debug-update-non-oss'. La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-non-oss'. La mise en cache des fichiers RPM a été activée pour le référentiel « repo-oss ». La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-source'. La mise en cache des fichiers RPM a été activée pour le référentiel « repo-update ». La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-update-non-oss'.
Mais nous pouvons même filtrer entre les référentiels locaux et distants et il est possible de désactiver la mise en cache uniquement des référentiels distants.
 # zypper mr -Kt La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-debug'. La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-debug-update'. La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-debug-update-non-oss'. La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-non-oss'. La mise en cache des fichiers RPM a été activée pour le référentiel « repo-oss ». La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-source'. La mise en cache des fichiers RPM a été activée pour le référentiel « repo-update ». La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-update-non-oss'.
Pour les réactiver, nous utilisons presque le même argument mais avec K en minuscule.
 # zypper mr -kt La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-debug'. La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-debug-update'. La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-debug-update-non-oss'. La mise en cache des fichiers RPM a été activée pour le référentiel « repo-non-oss ». La mise en cache des fichiers RPM a été activée pour le référentiel « repo-oss ». La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-source'. La mise en cache des fichiers RPM a été activée pour le référentiel « repo-update ». La mise en cache des fichiers RPM a été activée pour le référentiel 'repo-update-non-oss'.

2.4 Ajouter des REPO avec Zypper


Nous allons ajouter des référentiels, ne confondez pas avec l'activation, il est conseillé d'ajouter REPO avec la vérification GPG actuelle pour éviter d'être victime d'attaques.
Commençons par ajouter un REPO officiel mais à partir de l'ancienne version d'Opensuse.
 # zypper ar http://download.opensuse.org/update/11.1/ update Ajout du référentiel 'mise à jour'…. [done] Ajout du référentiel 'mise à jour' avec succès Activé : Oui Actualisation automatique : Non Vérification GPG : Oui URI : http : // download.opensuse.org/update/11.1/
Notez que Zypper nous donne un résumé du REPO après l'ajout important de l'option GPG.
Au cas où vous seriez mêlé à des noms de REPO similaires, nous pouvons modifier son ALIAS pour mieux l'identifier, disons que nous voulons changer le nom du référentiel 10 en upd8, nous devons d'abord connaître son ID dans mon cas est 10, puis nous lançons
 # zypper nr 10 upd8 Référentiel 'update' renommé en 'upd8'.

2.5 Suppression des référentiels


Pour supprimer nous utilisons rr ou removerepo, après avoir supprimé un REPO nous ne pourrons pas le récupérer sans connaître son adresse source, faites attention ici.
 # zypper rr upd8 # Suppression du référentiel 'upd8'… [done] Le référentiel 'upd8' a été supprimé. 
3 Gestion des packages avec Zypper
Avec Zypper, nous pouvons faciliter de nombreuses fonctions RPM, nous parlerons de toute sa gestion des packages.

3.1 Installer un package avec Zypper


Pour installer un nouveau package que nous utilisons ou installons, nous ferons l'exemple avec le navigateur Firefox.
 # zypper dans MozillaFirefox Chargement des données du référentiel… Lecture des packages installés… Résolution des dépendances des packages… Les 128 NOUVEAUX packages suivants vont être installés : adwaita-icon-theme at-spi2-atk-common at-spi2-atk-gtk2 at-spi2- noyau 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-immutodule-inuktit - immodule-thai gtk2-immodule-vietnamien gtk2-metatheme-adwaita gtk2-theming-engine-adwaita gtk2-tools gtk3-data gtk3-metatheme-adwaita gtk3-tools hicolor-icon-theme hicolor-icon-theme-branding-openk 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-glibberra2 libcanberra0 module libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-gtk-module-commonautel0cddacol_interface1 libdrrano_drum_ordrano02_db_interface libFLAC8 libfreebl3 libgbm1 lib gdk_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 libgtread- 2_0-0 libgtreamer 2_0-0 libgtk-3-0 libharfbuzz0 libjasper1 libjbig2 libjpeg.webp8 libjson-c2 liblcms2-2 libLLVM libltdl7 libnsssharedhelper0 libogg0 liborc-0_4-0 libpackagekit-glib2-18 libpango-1_0pix3-0 libpciasccess0 libfpulto1_0pix1-0 libpciasccess0 libilepulto1_0pix1-0 libpciasccess0 libfpulto1_0pix1-0 libpciasccess0 libfpulto 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-glbx0 libcx present0 libxcb-glbx0 libcx rendre sync1 libxcb-UTIL1 libxcb-xfixes0 libxcomposite1 libxcursor1 libxdamage1 libxevie1 libxfixes3 libxft2 libxi6 libxinerama1 libxkbcommon-0_4_3 libxrandr2 libxrender1 libxshmfence1 libxtst6 tablefXvm libthemetaxGL0 Tablewamex-GL86 commune tablewa-GL0M Mesapiillax1-MesagGL086 libitamex-GLM0 Mesa irefox MozillaFirefox-branding-openSUSE mozilla-nss mozilla-nss-certs PackageKit-gstreamer-plugin pango-tools sound-theme-freedesktop Les 10 packages recommandés suivants ont été automatiquement sélectionnés : 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 nouveaux packages à installer. Taille globale du téléchargement : 77,2 Mio. Déjà mis en cache : 0 B Après l'opération, 200,0 Mio supplémentaires seront utilisés. Continuer? [o / n /? affiche toutes les options] (y) : y Récupération du package cantarell-fonts-0.0.16-1.1.noarch (1/128), 74,1 KiB (115,6 KiB décompressé) Récupération : cantarell-fonts-0.0.16-1.1.noarch.rpm …. [Terminé (63,4 KiB/s)] Récupération du package hicolor-icon-theme-0.13-2.1.2.noarch (2/128), 40,1 KiB (50,5 KiB décompressé) Récupération : hicolor-icon-theme-0.13-2.1 .2.noarch.rpm… [done] Récupération du package sound-theme-freedesktop-0.8-7.1.2.noarch (3/128), 372.6 KiB (460.3 KiB décompressé)
Nous pouvons même installer une version d'un package spécifique.
 # zypper dans 'gcc <5.1' Chargement des données du référentiel… Lecture des paquets installés… Résolution des dépendances des paquets… Les 13 NOUVEAUX paquets suivants vont être installés : cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcc49 libmp.webpc3 libmp.webpfr4 libtsan0-gcc49 13 nouveaux packages à installer. Taille globale du téléchargement : 14,5 Mio. Déjà mis en cache : 0 B Après l'opération, 49,4 Mio supplémentaires seront utilisés. Continuer? [o / n /? affiche toutes les options] (y): y 
Comme nous savons que les packages sont pré-compilés pour diverses architectures, nous pouvons installer une version spécifique, cela peut être utile si nous avons 64 bits mais un logiciel ne fonctionne que sous 32 bits, il est préférable de créer un PATH pour 32 bits puis d'installer le package.
 # zypper dans gcc.i586 Chargement des données du référentiel… Lecture des paquets installés… Résolution des dépendances des paquets… Les 13 NOUVEAUX paquets suivants vont être installés : cpp cpp48 gcc gcc48 libasan0 libatomic1-gcc49 libcloog-isl4 libgomp1-gcc49 libisl10 libitm1-gcclibm1 libfrmpc3 libcloog-isl4 -gcc49 libmp.webpc3 libmp.webpfr4 -gcc49 13 nouveaux paquets à installer. Taille globale du téléchargement : 14,5 Mio. Déjà mis en cache : 0 B Après l'opération, 49,4 Mio supplémentaires seront utilisés. Continuer? [o / n /? affiche toutes les options] (y) : y Récupération du package libasan0-4.8.3 + r212056-2.2.4.x86_64 (1/13), 74,2 KiB (166,9 KiB décompressé) Récupération : libasan0-4.8.3 + r212056-2.2.4 .x86_64.rpm… [done (79,2 KiB/s)] Récupération du package libatomic1-gcc49-4.9.0 + r211729-2.1.7.x86_64 (2/13), 14,3 KiB (26,1 KiB décompressé) Récupération : libatomic1-gcc49- 4.9.0 + r211729-2.1.7.x86_64.rpm… [fait (55,3 KiB/s)]
Pour installer une version et une architecture que nous utilisons.
 # zypper dans 'gcc.i586 <5.1' Chargement des données du référentiel… Lecture des packages installés… Résolution des dépendances des packages…….
Il est possible d'installer un package à partir d'un REPO spécifique. Exemple Je vais chercher le package libxinel du REPO amarok pour une meilleure compatibilité.
 # zypper dans amarok upd : libxine1 Chargement des données du référentiel… Lecture des packages installés… Résolution des dépendances des packages… Les 202 NOUVEAUX packages suivants vont être installés : amarok bundle-lang-kde-en clamz cups-libs enscript fontconfig gdk-pixbuf-query- chargeurs 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-open - kdelibs4 kdelibs4-branding-openSUSE kdelibs4-core kdialog libakonadi4 l… 
Il est possible d'utiliser des caractères génériques pour les recherches
 # zypper dans php5 * Chargement des données du référentiel… Lecture des packages installés… Résolution des dépendances des packages… Problème : php5-5.6.1-18.1.x86_64 nécessite smtp_daemon, mais cette exigence ne peut pas être fournie pour les fournisseurs désinstallables : 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- mise à jour] Solution 1 : les actions suivantes seront effectuées : n'installez pas php5-5.6.1-18.1.x86_64 n'installez pas php5-pear-Auth_SASL-1.0.6-7.1.3.noarch n'installez pas php5-pear-Horde_Http- 2.0.1-6.1.3.noarch n'installe pas php5-pear-Horde_Image-2.0.1-6.1.3.noarch n'installe pas php5-pear-Hor de_Kolab_Format-2.0.1-6.1.3.noarch ne pas installer php5-pear-Horde_Ldap-2.0.1-6.1.3.noarch ne pas installer php5-pear-Horde_Memcache-2.0.1-7.1.3.noarch ne pas installer php5-pear-Horde_Mime-2.0.2-6.1.3.noarch n'installe pas php5-pear-Horde_Oauth-2.0.0-6.1.3.noarch n'installe pas php5-pear-Horde_Pdf-2.0.1-6.1.3. noarque….
Comme je l'ai mentionné précédemment il est possible d'utiliser des groupes par exemple pour installer toute la pile de lamp-server
 # zypper in -t pattern lamp_server adding data repository… Lecture des packages installés… Résolution des dépendances des packages… Les 29 NOUVEAUX packages suivants vont être installés : 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 Le NOUVEAU modèle suivant va être installé : lamp_server Les 10 packages recommandés suivants ont été automatiquement sélectionnés : 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 nouveaux packages à installer. Taille globale du téléchargement : 7,2 Mio. Déjà mis en cache : 1,2 Mio Après l'opération, 34,7 Mio supplémentaires seront utilisés. Continuer? [o / n /? affiche toutes les options] (et) :
Une option possible et utile consiste à installer un nouveau paquet et à supprimer son alternative, par exemple installer nano et supprimer vi.
 # zypper dans nano -vi Chargement des données du référentiel… Lecture des packages installés… '-vi' introuvable dans les noms de packages. Essayer des capacités. Résolution des dépendances des packages… Les 2 NOUVEAUX packages suivants vont être installés : nano nano-lang Le package suivant va être SUPPRIMÉ : vim Le package recommandé suivant a été automatiquement sélectionné : nano-lang 2 nouveaux packages à installer, 1 à supprimer. Taille globale du téléchargement : 550,0 Kio. Déjà mis en cache : 0 B Après l'opération, 463,3 Kio seront libérés. Continuer? [o / n /? affiche toutes les options] (et):… 
Si nous avons téléchargé un package RPM en externe et que nous voulons l'installer avec zypper pour résoudre ses dépendances (Recommandé) nous lançons
 zypper dans teamviewer * .rpm Chargement des données du référentiel… Lecture des packages installés… Résolution des dépendances des packages… Les 24 NOUVEAUX packages suivants vont être installés : alsa-oss-32bit fontconfig-32bit libasound2-32bit libexpat1-32bit libfreetype6-32bit libgcc_s1-gcc49- 32bit libICE6-32bit libjpeg.webp62-32bit libpng12-0-32bit libpng16-16-32bit libSM6-32bit libuuid1-32bit libX11-6-32bit libXau6-32bit libxcb1-32bit libXdamage1-32bit libXext6-32bitX lib32X librxfixesrama32bit libXtst6-32bit libz1-32bit teamviewer Le package recommandé suivant a été automatiquement sélectionné : alsa-oss-32bit 24 nouveaux packages à installer. Taille globale du téléchargement : 41,2 Mio. Déjà mis en cache : 0 B Après l'opération, 119,7 Mio supplémentaires seront utilisés. Continuer? [o / n /? affiche toutes les options] (et):… 

3.2 Supprimer les paquets avec Zypper


Pour supprimer des packages, nous pouvons utiliser zypper remove ou simplement rm, par exemple, nous supprimerons le package apache2.
 # zypper remove apache2 Ou # zypper rm apache2 Chargement des données du référentiel… Lecture des packages installés… Résolution des dépendances des packages… Les 2 packages suivants vont être SUPPRIMÉS : apache2 apache2-prefork 2 packages à supprimer. Après l'opération, 4,2 Mio seront libérés. Continuer? [o / n /? affiche toutes les options] (y) : y (1/2) Suppression d'apache2-2.4.10-19.1… [fait] (2/2) Suppression d'apache2-prefork-2.4.10-19.1…. [fait] 

3.3 Mettre à jour les packages à l'aide de Zypper


Nous pouvons utiliser la commande universelle zypper up pour tout mettre à jour.
 # zypper up OU # zypper update Chargement des données du référentiel… Lecture des packages installés… Rien à faire.
Ou mettez à niveau uniquement un package spécifique, idéal dans un environnement de production contrôlé.
 # zypper up apache2 openssh Chargement des données du référentiel… Lecture des packages installés… Aucune mise à jour candidate pour 'apache2-2.4.10-19.1.x86_64'. La version la plus élevée disponible est déjà installée. Aucune mise à jour candidate pour 'openssh-6.6p1-5.1.3.x86_64'. La version la plus élevée disponible est déjà installée. Résoudre les dépendances des packages… Rien à faire.
Chaque fois que nous lançons un zypper, il vérifie que le paquet est installé, s'il est installé, il vérifie s'il est mis à jour.
 # zypper dans mariadb Chargement des données du référentiel… Lecture des packages installés… 'mariadb' est déjà installé. Aucune mise à jour candidate pour 'mariadb-10.0.13-2.6.1.x86_64'. La version la plus élevée disponible est déjà installée. Résoudre les dépendances des packages… Rien à faire.
SI nous avons des problèmes lors de l'installation d'un paquet ce qui est très rare, nous pouvons essayer de l'installer directement depuis les sources dans le plus pur style arch linux. Nous utilisons zypper source-install ou zypper si.
 # zypper si mariadb Lecture des packages installés… Chargement des données du référentiel… Résolution des dépendances des packages… Les 36 NOUVEAUX packages suivants vont être installés : 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 libmp.webpc3 libmp.webpfr4 libopenssl-devel libstdc make ++ 48-devel lib-tool nccamcurde libtsan0 devel zcib config tavel-devel zcib site config-devel-devel-devel-devel -devel Le paquet source suivant va être installé : mariadb 36 nouveaux paquets à installer, 1 paquet source. Taille globale du téléchargement : 71,5 Mio. Déjà mis en cache : 129,5 KiB Après l'opération, 183,9 Mio supplémentaires seront utilisés. Continuer? [o / n /? affiche toutes les options] (y): y
4 Utilisez Zypper dans les scripts automatisés.
Toutes les commandes précédentes nécessitent une interaction de l'utilisateur et nous ne pourrons pas les ajouter aux scripts, mais ne vous inquiétez pas, nous parlerons des options dont nous disposons.

4.1 Installer un package pour les scripts.


Nous utilisons l'option --non-interactive et nous continuerons avec l'exemple mariadb.
 # zypper --non-interactive in mariadb Chargement des données du référentiel… Lecture des packages installés… 'mariadb' est déjà installé. Aucune mise à jour candidate pour 'mariadb-10.0.13-2.6.1.x86_64'. La version la plus élevée disponible est déjà installée. Résoudre les dépendances des packages… Rien à faire.

4.2 Supprimer un package pour les scripts.


Nous utilisons la même option mais avec rm.
 # zypper --non-interactive rm mariadb Chargement des données du référentiel… Lecture des paquets installés… Résolution des dépendances des paquets… Le paquet suivant va être SUPPRIMÉ : mariadb 1 paquet à supprimer. Après l'opération, 71,8 Mio seront libérés. Continuer? [o / n /? affiche toutes les options] (y): y (1/1) Suppression de mariadb-10.0.13-2.6.1… [fait] 
5 Vider le cache avec Zypper
Par défaut zypper a un quota pour le cache lorsque ce quota atteint le sommet, le nouveau cache remplace l'ancien mais si nous avons des problèmes pour installer un paquet il peut être corrompu au moment du téléchargement et il est conseillé de nettoyer le cache.

5.1 Vider le cache REPO


Ici, nous ne supprimons que le cache téléchargé par les REPO.
 # zypper clean Tous les dépôts ont été nettoyés.

5.2 Effacer les métadonnées et le cache


Le nettoyage des métadonnées peut résoudre certains problèmes.
 # zypper clean -a Tous les dépôts ont été nettoyés. 
6 Mettre à jour la distribution à l'aide de Zypper
Enfin, il est possible de mettre à jour vers une nouvelle version de SuSE, par exemple nous avons OpenSuSE 12.3 et nous souhaitons migrer vers 13.2 que nous avons lancé.
 # zypper dist-upgrade Vous êtes sur le point de faire une mise à jour de la distribution avec tous les référentiels activés. Assurez-vous que ces référentiels sont compatibles avant de continuer. Voir 'man zypper' pour plus d'informations sur cette commande. Construire le cache du référentiel 'openSUSE-13.2-0'… [done] Récupérer les métadonnées du référentiel 'openSUSE-13.2-Debug'… [done] Construire le cache du référentiel 'openSUSE-13.2-Debug'… [done] Récupérer le référentiel 'openSUSE-13.2-Non -Métadonnées d'Oss… [Terminé] Construire le cache du référentiel 'openSUSE-13.2-Non-Oss'… [done] 
Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave