LinuxPedia

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

Outils pour utilisateurs

Outils du site


opensuse:zypper_manuel

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

opensuse:zypper_manuel [2018/11/17 13:54] (Version actuelle)
Ligne 1: Ligne 1:
 +=====Zypper=====
  
 +Ceci est un traduction, non-officielle,​ de la documentation sur zypper qu'on peut trouver [[http://​en.opensuse.org/​Zypper|sur les sites officiels]] Si vous trouvez des incohérences dans ma traduction, je vous invite à jeter un oeil dans la doc officielle... et éventuellement à corriger :-) ou au moins à me les signaler
 +
 +
 +
 +====Présentation====
 +
 +Zypper, c'est ce logiciel basé sur la librairie libzypp, made in openSUSE, qui a donné son coup de jeune à yast. C'est un gestionnaire de paquetage en ligne de commandes. Zypper est capable de manipuler à la fois les paquetages (bien entendu) et les dépots de paquetages. Il permet de rechercher, d'​installer,​ de supprimer de mettre à jour paquets et dépôts... Il est utilisable seul ou intégré dans des scripts.
 +
 +
 +
 +
 +
 +=====Caractéristiques=====
 +
 +
 +
 +====Gestion des paquets====
 +
 +  * Installation/​désinstallation de paquets par nom, ou par les fonctions qu'ils fournissent.
 +
 +  * Installation/​désinstallation de versions spécifiques de paquets
 +
 +  * Installation/​désinstallation de rpm isolés, en accédant automatiquement aux dépôts pour satisfaire les problèmes de dépendance.
 +
 +  * Installation/​désinstallation de paquets en une étape ("one go"?) (en utilisant +/- ou ~/!)
 +
 +  * Choisir le dépôt source d'​installation pour chaque paquet en précédant le nom du paquet par "​repo_alias"​
 +
 +  * Mettre à jour l'​intégralité des paquets si une version plus récente est disponible
 +
 +  * Installation de modèles/​produits/​patches
 +
 +  * Résumé d'​installation compréhensible
 +
 +  * Esquiver si nécessaire l'​installation des paquets recommandés.
 +
 +
 +
 +====Gestion des dépôts====
 +
 +  * Ajout/​suppression/​importation/​exportation de dépôts simple.
 +
 +  * Utilisation d'un dépôt temporaire
 +
 +  * Limiter les opérations aux dépôts spécifiés
 +
 +  * Modifier plusieurs dépôts en une fois (en choisissant le type de média, les dépôts locaux ou tous les dépôts)
 +
 +
 +
 +====Interrogations====
 +
 +  * Rechercher les paquets par leurs noms, mais aussi par leur description et leur résumé.
 +
 +  * Rechercher des paquets en renseignant une partie du nom, sur des expressions globales (expressions génériques),​ mot entier, chaine de caractère exacte...
 +
 +  * Grouper les résultats des recherches par le nom, le type du paquet, ou montrer toutes les versions disponibles d'un paquet.
 +
 +  * Montrer les informations détaillés détaillant un paquet/​patch/​modèle/​produit.
 +
 +  * Lister tous les paquet/​patch/​modèle/​produit disponibles
 +
 +
 +
 +====Gestion des mises à jour====
 +
 +  * Lister les patches nécessaires ou disponibles.
 +
 +  * Appliquer les patches nécessaires.
 +
 +
 +
 +====Verouillages de paquets====
 +
 +  * Ajouter facilement un simple verouillage de paquet en filtrant par nom (les expressions génériques sont acceptées),​ par type de paquet ou par dépôt.
 +
 +  * lister les verouillages actuels
 +
 +  * Révoquer un verouillage par le nm du paquet le numéro du verouillage.
 +
 +
 +
 +====Commodités====
 +
 +  * Vérifier les dépendances entre les paquets installés
 +
 +  * Installer de nouveau paquets, recommandés par ceux déjà installés, rendus installables par l'jout de nouveaux dépôts ou de nouveaux matériels.
 +
 +
 +
 +====Général====
 +
 +  * Sortie programme en mode XML pour l'​utilisation machine
 +
 +  * Mode non-interactif pour l'​utilisation dans les scripts
 +
 +  * 3 niveaux de mode bavards.
 +
 +  * Réécriture automatique des paths locaux dans le répertoire ​ : /​working_dir/​local_path quand un URI est attendu.
 +
 +
 +
 +Et la liste n'est certainement pas complète...
 +
 +
 +
 +
 +
 +=====Utilisation=====
 +
 +zypper s'​utilise en root
 +
 +
 +
 +====Références rapides====
 +
 +Les commandes que vous utiliserz le plus souvent sont : 
 +
 +<​code>​
 +
 +zypper ​                # Ecrit la liste options et commandes globales disponibles
 +
 +zypper help search ​    # Ecrit l'aide pour la commande de recherche
 +
 +zypper lu              # Pour voir les patches de mise à jour requises par le système.
 +
 +zypper up              # Pour appliquer les patches de mise à jour
 +
 +zypper se sqlite ​      # Pour faire des recherches SQLite
 +
 +zypper rm sqlite2 ​     # Pour supprimer sqlite2
 +
 +zypper in sqlite3 ​     # Pour installer sqlite3
 +
 +zypper in yast*        # Pour installer tous les paquetscontenant '​yast*'​
 +
 +zypper up -t package ​  # Pour mettre à niveau tous les paquets installer avec de nouvelles versions, s'il y'en a disponibles
 +
 +</​code>​
 +
 +
 +
 +====Utilisation générale====
 +
 +La syntaxe générale pour utiliser zypper est la suivante : 
 +
 +<​code>​zypper [global-options] command [command-options] [arguments] ...</​code>​
 +
 +Les composants entre crochets ne sont pas requis. Ainsi, le moyen le plus simple d'​utiliser zypper est d'​entrer son nom suivi d'une commande. Par exemple, pour appliquer les patches utiles au système, entrez : 
 +
 +<​code>​zypper update</​code>​
 +
 +Par ailleurs, vous pouvez chosir une ou plusieurs options globales en les appelant juste avant la commande. Dans le cas suivant, zypper va exécuter la commande (update) mais en décidant lui même ce qu'il faut faire en cas de conflit : 
 +
 +<​code>​zypper --non-interactive update</​code>​
 +
 +Pour  utiliser des options spécifiques à une commande particulière,​ il faut rentrer ces options à droite de la commande. Ici, on décide d'​accepter directement toutes les licenses : 
 +
 +<​code>​zypper update --auto-agree-with-licenses</​code>​
 +
 +Certaines commandes nécessitent un ou plusieurs arguments. Ainsi, pour installer un logiciel (mplayer)
 +
 +<​code>​zypper install mplayer</​code>​
 +
 +Il arrive également que certaines options nécessitent la présence d'un ou plusieurs arguments. Ainsi, pour mettre à jour le système avec les nouvelles versions des paquets disponibles : 
 +
 +<​code>​zypper update -t package</​code>​
 +
 +On peut combiner toutes les situtations : (on installer mplayer et amarok en n'​utilisant que le dépôt factory, et en demandant à zypper d'​être bavard)
 +
 +<​code>​zypper -v install --repo factory mplayer amarok </​code>​
 +
 +
 +
 +
 +
 +=====Vocabulaire=====
 +
 +  * **Dépôt** : Répertoire local ou distant, dans lequel on peut trouver des paquetset diverses informations sur les paquets (métadonnées). Les dépôts de paquets sont parfois appelées sources d'​installation ou services (ou repositories,​ pour les anglophiles ;-) )...
 +
 +  * **alias** L'​alias d'un dépôt est une version courte du nom d'un dépôt, destinée à être utilisée dans les commandes et options de manipulation des dépôts, telles que removerepo ou --repo
 +
 +  * **paquet** Paquet logiciel (on parle de package, de paquet RPM ou paquet source). On parle communément des modèles, des patches ou des produits comme étant différents types de paquets.
 +
 +  * **patch** Paquet ou groupe de paquets nécessaires pour installer une mise à jour critique (update), qui sert généralement à résoudre un bug.
 +
 +  * **modèle (pattern)** Groupe de paquets. Par exemple, un modèle //http server// définirait toutes les dépendances,​ de sorte que tous les paquets nécessaires à l'​utilisation d'un serveur http seraient installés en même temps que le modèle.
 +
 +  * **produit** Représente le produit entier (par exemple //openSUSE 10.3//)
 +
 +
 +
 +=====Commandes=====
 +
 +zypper fournit un certain nombre de commandes, que l'on peut regrouper comme suit :
 +
 +  * **Gestion des dépôts**
 +
 +<​code>​refresh,​ repos, addrepo, removerepo, modifyrepo, namerepo</​code>​
 +
 +  * **Gestion des paquets**
 +
 +<​code>​install,​ remove, update, dist-upgrade,​ source-install</​code>​
 +
 +  * **Interrogation**
 +
 +<​code>​search,​ info, what-provides,​ list-updates,​ patch-check,​ patches, packages, patterns, products</​code>​
 +
 +  * **Verouillage**
 +
 +<​code>​locks,​ addlock, removelock</​code>​
 +
 +  * **Outils**
 +
 +<​code>​verify,​ install-new-recommends</​code>​
 +
 +  * **Autre**
 +
 +<​code>​help</​code>​
 +
 +
 +
 +
 +
 +====Afficher l'​aide====
 +
 +Il est important de savoir comment obtenir de l'​aide. L'aide générale est affichée si vous entrez simplement zypper, sans aucune option ou argument. Pour obtenir l'aide d'une commande spécifique : 
 +
 +<​code>#​ zypper help [commande]</​code>​
 +
 +plutôt que //zypper help//, on peut choisir //zypper -h//, ce qui est équivalent.
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +====Gestion des dépôts====
 +
 +Vous pouvez choisir un dépot existant en utilisant le nombre qui lui est associé dans la sortie de la commande //zypper lr//, //alia// ou //URI//. Quand vous utilisez les nombres, vérifiez **toujours** la correspondance avec zypper lr en premier lieu. Ces nombres peuvent changer quand vous manipulez les dépots.
 +
 +
 +
 +===Lister les dépôts intallés===
 +
 +Commande : **repos**
 +
 +on peut utiliser //lr// plutôt que //repos//. Example de sortie : 
 +
 +<​code>​$ 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
 +
 +</​code>​
 +
 +Exemples d'​options pour lr :
 +
 +<​code>​zypper lr -u       # pour inclure l'URI des dépôts dans la table
 +
 +zypper lr -d       # Pour inclure de nombreuses autres propriétés dans la table
 +
 +zypper lr -P       # pour inclure également les priorités des dépots et trier la liste en tenant compte de cette propriété
 +
 +zypper lr -e my    # exporter la définition des dépôts dans le fichier nommé '​my.repo'​
 +
 +</​code>​
 +
 +
 +
 +===Ajout de dépôt===
 +
 +commande : **addrepo** ou **ar**
 +
 +Avant de pouvoir installer un paquet, il est essentiel d'​ajouter au monis un dépot. Pour ajouter un dépot, on utilise addrepo ou ar :
 +
 +
 +
 +Exemple de sortie
 +
 +<​code>​$ 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
 +
 +</​code>​
 +
 +Autres cas : 
 +
 +<​code>​zypper ar http://​download.opensuse.org/​repositories/​X11:/​XGL/​openSUSE_11.0/​X11:​XGL.repo ​ # on utilise le fichier .repo 
 +
 +zypper ar -c ftp://​some.download.site myalias ​  # sonde le dépôt à propos de l'​ajout
 +
 +zypper ar my/​dir/​with/​rpms local                # ajouter le répoertoire local contenant des fichiers rpm comme dépot
 +
 +</​code>​
 +
 +suivre [[http://​en.opensuse.org/​Libzypp/​URI|ce lien]] pour plus d'​infos (en anglais)
 +
 +
 +
 +===Rafraichir un dépot===
 +
 +Commande : **refresh**
 +
 +Il ne suffit pas d'​ajouter un dépot une fois pour posséder une installation à jour. Il est important de vérifier régulièrement que des patches importants ne sont pas parus, qu'il faudrait installer, ou plus simplement que certains logiciels ont été améliorés pour le confort de l'​utilisateur. Pour vérifier l'​état des dépots, il faut rafraichir la liste des paquet qu'il contient. On télécharge et analyse pour cela les méta-données avec la commande //​refresh//​. Exemple : 
 +
 +<​code>​$ 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.
 +
 +</​code>​
 +
 +Si pour un dépot, l'​option //​autorefresh//​ est activée, il n'est pas nécessaire de s'​inquiéter du rafraichissement de ce dépot. Il arrive que certaines personnes désactivnet cette option, afin de controler plus personnellement le rafraichissement... //man zypper// donne plus de détails.
 +
 +
 +
 +Autres utilisation : 
 +
 +<​code>​zypper ref packman main  # précise le dépot à rafraichir (ici packman ;) )
 +
 +zypper ref -f upd        # force le rafraichissement du dépot upd
 +
 +</​code>​
 +
 +
 +
 +===Suppression de dépots===
 +
 +Commande : **removerepo** ou **rr**
 +
 +exemple de sortie : 
 +
 +<​code>​$ 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.
 +
 +</​code>​
 +
 +
 +
 +===Modifier les dépôts===
 +
 +Commande : **modifyrepo** ou **mr**
 +
 +On peut désactiver un dépôt : 
 +
 +<​code>​$ zypper mr -d 6 # On désactive le dépôt 6
 +
 +Repository '​repo-non-oss'​ has been sucessfully disabled.
 +
 +</​code>​
 +
 +Autoriser l'​auto-refresh et le cache pour le dépot packman, placer sa priorité à 70 :
 +
 +<​code>​$ 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.
 +
 +</​code>​
 +
 +Désactiver l'​utilisation du cache des rpm pour tous les dépôts :
 +
 +<​code>​$ 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'​.
 +
 +</​code>​
 +
 +
 +
 +===Renommer un dépôt===
 +
 +Commande : **namerepo**
 +
 +<​code>​$ zypper nr 3 upd
 +
 +Repository '​openSUSE-11.0-Updates'​ renamed to '​upd'​.
 +
 +</​code>​
 +
 +Cette commande ne permet actuellement de changer que l'//​alias//​ d'un dépôt. Si vous voulez changer le //nom affiché// d'un dépôt, réferrez vous à la commande **mr**.
 +
 +
 +
 +Il est important de conserver des alias simples à mémoriser, et surtout à utiliser dans les commandes ou avec l'​option --repo. Ils doivent donc être à la fois court et simple ;-) Il est plus prudent d'​utiliser l'​alias que d'​utiliser le nombre du dépôt (qui peut changer discrètement) ou l'URI (qui est très long parfois...).
 +
 +
 +
 +====Export/​Import====
 +
 +Commande : **repos -e**
 +
 +
 +
 +Vous pouvez exportez la liste complète de vos dépôts, pour ensuite la réutilisez plus tard ou sur une autre machine.
 +
 +<​code>​zypper lr --export backups/​repos/​foo.repo
 +
 +zypper ar backups/​repos/​foo.repo
 +
 +</​code>​
 +
 +
 +
 +
 +
 +====Gestion des paquets====
 +
 +
 +
 +==Installation de paquets===
 +
 +
 +
 +Commande : **install**
 +
 +Vous pouvez installer les paquets à la fois par leur nom...
 +
 +<​code>​$ 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]
 +
 +</​code>​
 +
 +ou par le service qu'ils fournissent
 +
 +<​code>​$ zypper in MozillaFirefox \< 3
 +
 +Reading installed packages...
 +
 +'​MozillaFirefox'​ providing '​MozillaFirefox<​3'​ is already installed.
 +
 +Nothing to do.
 +
 +</​code>​
 +
 +<​code>​$ 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/?]:
 +
 +</​code>​
 +
 +<​code>​$ zypper in '​libqtiff.so()(64bit)'​
 +
 +Reading installed packages...
 +
 +'​libqt4-x11'​ providing '​libqtiff.so()(64bit)'​ is already installed.
 +
 +Nothing to do.
 +
 +</​code>​
 +
 +Autres exemples de d'​utilisation.
 +
 +<​code>​zypper in yast*                     # installe tous les modules de yast
 +
 +zypper in -t pattern lamp_server ​   # installe tous les paquets nécessaires pour un serveur lamp 
 +
 +zypper in vim -emacs ​               # installe vim et supprime emacs en une fois.
 +
 +zypper in amarok packman:​libxine1 ​  # installe libxine1 depuis packman et amarok depuis n'​importe quelle dépôt.
 +
 +zypper in bitchx-1.1-81.x86_64.rpm ​ # installe bitchx rpm depuis un répertoire local
 +
 +zypper in -f subversion ​            # force la réinstallation de subversion
 +
 +</​code>​
 +
 +
 +
 +===Suppression de paquets===
 +
 +Commande : **remove**
 +
 +C'est comme pour installer, mais à l'​envers ;o)
 +
 +<​code>​$ 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
 +
 +</​code>​
 +
 +
 +
 +===Installation de paquets sources et de dépendances pré-fabriquées===
 +
 +
 +
 +Commande : **source-install**
 +
 +<​code>​$ 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]:
 +
 +</​code>​
 +
 +Vous pouvez également n'​installer que les paquets sources ou que les dépendances :
 +
 +<​code>​zypper in -D zypper ​   # only the source packages (no build deps)
 +
 +zypper in -d zypper ​   # only the build deps (no source package)
 +
 +</​code>​
 +
 +
 +
 +===Mettre à jour les paquets===
 +
 +Commandes : **update -t package**, **dist-upgrade **
 +
 +
 +
 +Met à jour les paquets si une version plus récente est disponible.
 +
 +<​code>​zypper dup     # Utilise l'​algorithme de distribution upgrade (Gère les paquets évités, non-maintenus et toutes ces sortes de choses).
 +
 +zypper up -t package ​               # Met à jour tous les paquets installés si une version plus récente est disponible.
 +
 +zypper up -t package libzypp zypper # Met à jour libzypp et zypper.
 +
 +zypper in libzypp sqlite3 ​          # Met à jour sqlite3 ou l'​installe s'il n'est pas encore installé.
 +
 +</​code>​
 +
 +
 +
 +
 +
 +
 +
 +====Interrogation====
 +
 +===Recherche de paquets===
 +
 +Commande : **search**
 +
 +
 +
 +Par défaut, la commande //search// recherche n'​importe quel paquet, statut ou dépot contentant la chaine de caractères considérée. La casse n'est pas prise en compte. Par exemple :
 +
 +<​code>​$ 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
 +
 +</​code>​
 +
 +Le //i// dans la première colonne indique que ce paquet particulier est installé. Pour obtenir la liste de toutes les versions disponibles d'un paquet, on peut utiliser l'​option **--details** (ou **-s**) comme suit : 
 +
 +<​code>​$ 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)
 +
 +</​code>​
 +
 +Autres utilisations : 
 +
 +<​code>​
 +
 +zypper se -dC --match-words RSI   # Recherche l'​acronyme RSI (en respectant la casse), en recherchant également dans les sommaires et les descriptions.
 +
 +zypper se '​yast*' ​                # Montre tous les paquets dont le nom commence par '​yast'​ (utilisez les guillemets pour ne pas avoir de problème avec bash ;-) )
 +
 +zypper se -r packman ​             # liste tous les paquets du dépôt packman
 +
 +zypper se -i sqlite ​              # Montre tous les paquets installés dont le nom contient '​sqlite' ​
 +
 +zypper se -t pattern -r repo-oss ​ # Liste tous les modèles présents dans le dépot '​repo-oss'​
 +
 +zypper se -t product ​             # liste tous les produits disponibles.
 +
 +</​code>​
 +
 +
 +
 +===Obtenir des informations sur les paquets===
 +
 +Commande : **info**
 +
 +<​code>​$ 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.
 +
 +</​code>​
 +
 +Nous avons obtenu des informations détaillées concernant le paquet //amarok//
 +
 +
 +
 +Autres utilisations : 
 +
 +<​code>​zypper info -t patch MozillaFirefox ​   # Montre les informations concernant le patch'​MozillaFirefox'​
 +
 +zypper patch-info MozillaFirefox ​      # Comme au dessus
 +
 +zypper info -t pattern lamp_server ​    # Montre les infos sur le modèle '​lamp_server' ​
 +
 +zypper info -t product openSUSE-FTP ​   # Montre les infos concernant le produit spécifié
 +
 +</​code>​
 +
 +
 +
 +===Dépendances===
 +
 +Commande : **what-provides** ou **wp**
 +
 +
 +
 +Pour lister tous les fournisseurs d'un capacité donnée, faites : 
 +
 +<​code>​$ 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
 +
 +</​code>​
 +
 +
 +
 +Cette commande est similaire à //rpm -q --whatprovides firefox//, à ceci près que rpm n'​interroge que la base de données qui concerne les rpm. De plus, zypper vous citera tous les dépôts fournisseurs de cette capacité, pas juste le fournissuer du paquet installé.
 +
 +
 +
 +===Autres interrogations===
 +
 +Les commandes **patches**,​ **packages**,​ **patterns** et **products** sont similaires à **search -s -t [patch,​package,​pattern,​product]**,​ à ceci près qu'​elles donnent quelques informations supplémentaires. Ainsi, la commande **patches** précise le statut du patch (//​needed//,​ //​security//​ ou //​non-applicable//​).
 +
 +Il existe également des commandes **list-update** et **patch-check**
 +
 +
 +
 +
 +
 +====Verouillage de paquets====
 +
 +
 +
 +Commandes : **locks** ; **addlock** ; **removelock**
 +
 +
 +
 +Le verouillage de paquets permet de se protéger contre les changements de version d'un ou plusieurs paquets. Les paquets protégés par un verouillage ne peuvent voir leur statut modifié. Les paquets installés ne peuvent être patchés, mis à jour ou supprimés. Les paquets non-installés ne peuvent être installés.
 +
 +
 +
 +Pour verouiller tous les paquets commençant par '​yast2',​ faites : 
 +
 +<​code>​$ zypper al '​yast2*'​
 +
 +Reading installed packages...
 +
 +Specified lock has been successfully added.
 +
 +</​code>​
 +
 +
 +
 +Comme d'​habitude,​ méfiez vous de la syntaxe shell... Il est important d'​utiliser les guillemets, afin de ne pas gêner Bash, qui pourrait confondre une chaine de caractères et une commande!
 +
 +
 +
 +Pour lister tous les paquets verouillés : 
 +
 +<​code>​$ zypper ll
 +
 +# | Name             | Type    | Repository
 +
 +--+------------------+---------+-----------
 +
 +1 | libpoppler3 ​     | package | (any)
 +
 +2 | libpoppler-glib3 | package | (any)
 +
 +3 | yast*            | package | (any)
 +
 +</​code>​
 +
 +
 +
 +Pour supprimer un verouilage :
 +
 +<​code>​$ 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
 +
 +</​code>​
 +
 +
 +
 +Autres utilisations : 
 +
 +<​code>​zypper al zypper ​                  # verouille le paquet '​zypper'​ (correspondance exacte)
 +
 +zypper al -r repo-oss virtualbox* ​ # restreint le verouillage au dépot '​repo-oss'​ (autorisant l'​installation depuis d'​autres dépots)
 +
 +zypper rl 3                        # supprime un verouillage par son numéro
 +
 +</​code>​
 +
 +
 +
 +
 +
 +====Commodités====
 +
 +
 +
 +===Vérification de dépendances===
 +
 +Commande : **verify** ou **ve**
 +
 +Il peut malencontreusement arrivé (sic ;-) ) que votre système soit abimé par des problèmes de dépendances. Si un logiciel ne se lance pas en vous disant qu'il nécessite un auter logiciel pour démarrer, c'est malheureusement le cas. Il peut alors être salvateur d'​utiliser zypper : 
 +
 +<​code>​$ 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
 +
 +</​code>​
 +
 +
 +
 +===Installer les nouveaux paquets recommandés===
 +
 +
 +
 +Commande : **install-new-recommends** ou **inr**
 +
 +
 +
 +Cette commande trouve et récupère les nouveaux paquets recommandés pour votre système ou pour les logiciels installés. Ceci est une voie simple pour récupérer les pilotes pour de nouveaux matériels, ou pour installer des paquets de langages.
 +
 +<​code>​$ 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]:
 +
 +</​code>​
 +
 +
 +
 +
 +
 +====Gestion des mises à jour====
 +
 +
 +
 +Cette fonctionnalité est particulièrement utile pour les utilisateurs de versions stables qui veulent mettre à jour leur système grâce aux patches que l'on peut trouver sur le dépôts de mise à jour en ligne. Les dépôts de mise à jour sont ajoutés automatiquement lors de l'​installation ou lors d'une mise à niveau d'un système. Ils peuvent également être ajouter à la main ;-)
 +
 +
 +
 +On parle ici de mises à jour de sécurité, qui sont importantes pour la stabilité du système.
 +
 +
 +
 +===Liste les mises à jour===
 +
 +Commande : **list-updates** ou **lu**
 +
 +
 +
 +Pour lister tous les patches disponibles,​ faites : 
 +
 +<​code>​$ 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
 +
 +</​code>​
 +
 +
 +
 +Il arrive parfois que seules les mise à jour des mécanismes de gestion de paquets soient affichés, notamment lorsqu'​ils doivent être appliqués en premier. Une fois appliqués, le reste des patches devient alors disponible.
 +
 +Cette commande utilise par défaut l'​option //-t patches//. Pour visionner l'​ensemble des mises à jour de paquets disponibles,​ faites //-t package//
 +
 +<​code>​zypper lu -t package</​code>​
 +
 +
 +
 +===Appliquer les mises à jour===
 +
 +Commande : **update** ou **up**
 +
 +Pour appliquer les patches nécessaires : 
 +
 +<​code>​$ 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]:
 +
 +</​code>​
 +
 +
 +
 +===Lister les patches===
 +
 +Commande : **patches**
 +
 +
 +
 +La commande //​list-updates//​ ne liste que les patches nécessaires. Pour lister tous les patches disponibles,​ faites : 
 +
 +<​code>​$ 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
 +
 +</​code>​
 +
 +
 +
 +===Vérifier la présence de patches===
 +
 +Commande : **patch-check** ou **pchk**
 +
 +
 +
 +Cette commande indique s'il y'a des patches applicables au système, et leur nombre.
 +
 +<​code>​$ zypper pchk
 +
 +Reading installed packages...
 +
 +0 patches needed (0 security patches)
 +
 +</​code>​
 +
 +
 +
 +===Obtenir des informations à propos d'un patch===
 +
 +Commande : **patch-info** ou **info -t patch**
 +
 +<​code>​$ 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.
 +
 +</​code>​
 +
 +
 +
 +
 +
 +=====Utilisation de zypper dans des scripts et des applications=====
 +
 +Zypper est muni d'​options globales qui facilitent son utilisation dans des processus automatisés,​ tels que les scripts. Des sorties de code (référencés dans la page de manuel de zypper) peuvent être contrôlés dans les processus automatisés.
 +
 +
 +
 +====Mode non interactif====
 +
 +Commande : **non-interactive**
 +
 +
 +
 +Dans ce mode, zypper n'​interroge pas l'​utilisateur et utilise les réponses par défaut dans les cas de conflit. Utiliser cette option guarantit que zypper ne restera pas à attendre une réponse de l'​utilisateur,​ ou ne se perdra pas dans une boucle infinie.
 +
 +Par exemple, pour mettre à jour votre système sans entrer de confirmation : 
 +
 +<​code>#​ zypper --non-interactive update</​code>​
 +
 +
 +
 +====Pas de vérification des GPG====
 +
 +Option : **--no-gpg-checks**
 +
 +En utilisant cette option, zypper choisira toujours de continuer s'il y'a un problème de vérification GPG (échec de vérification de signature, absence de signature alors qu'il devrait y'en avoir...)
 +
 +
 +
 +
 +
 +====Accord automatique avec les licenses====
 +
 +Commande : **--auto-agree-with-licenses**
 +
 +Cette option est particulière aux commandes install, remove et update. L'​utilisateur,​ par cette option, déclare être d'​accord avec les licenses nécessaires pour installer les paquets désirés, ce qui revient à répondre oui à tous les accords de license. Utile dans les automates d'​installation,​ quand les licenses ont déjà été lues ;-)
 +
 +
 +
 +====Sortie calme====
 +
 +Commande : **--quiet**
 +
 +Epargne les textes inutiles durant les installation. N'​affiche que les résultat des opérations et les messages d'​erreur.
 +
 +
 +
 +====Sortie XML====
 +
 +Commande : **--xmlout**
 +
 +Avec cette option, zypper par le xml. Cela permet l'​utilisation des sorties zypper dans des applications graphiques, qui ont besoin de sorties de forme bien définies. Pour savoir comment tout ça sort, jetez un oeil à /​usr/​share/​zypper/​xml/​xmlout.rnc
 +
 +
 +
 +Toutes les sorties ne sont pas disponibles,​ mais ça va venir ;-)
 +
 +
 +====Mettre à jour la distribution ou la réparer ====
 +
 +Zypper fourni un outil **trés** pratique qui permet de mettre à jour la distribution depuis la version n vers la suivante (n+1) ou de réparer la version désirée.
 +
 +Par exemple :
 +
 +1 - UPGRADE : Partant d'une opensuse 11.4, pour passer à la version d'​opensuse suivante (12.1) :
 +
 +laisser uniquement 3 dépots activés dans zypper : oss , non- oss, update , en version 12.1 :
 +
 +                                     ​| ​       ​
 +http://​download.opensuse.org/​distribution/​12.1/​repo/​oss/ ​
 +http://​download.opensuse.org/​distribution/​12.1/​repo/​non-oss/ ​                                       |        ​
 +http://​download.opensuse.org/​update/​12.1/ ​     ​
 +
 +
 +Fermer la session, ​
 +Passer en console : ctrl + alt + F1,
 +passer en mode root (identifiants : root + mot de passe),
 +Passer en mode init 3 : 
 +<​code>​init 3
 +</​code>​
 +puis lancer :
 +
 +<​code>​ zypper cc && zypper ref 
 +</​code>​
 +puis 
 +<​code>​zypper dup 
 +</​code>​
 +
 +(nettoyage du cache de zypper, rafraichissement des dépots, puis upgrade de la distribution)
 +
 +La mise à jour se fait.
 +Pour redémarrer la machine : 
 +<​code>​shutdown -r now 
 +</​code>​
 +
 +2- REPARATION : Pour réparer la 11.4 si besoin : même manip en remplacant 12.1 par 11.4 dans les urls des dépots de zypper.
opensuse/zypper_manuel.txt · Dernière modification: 2018/11/17 13:54 (modification externe)