Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
8.2. Utiliser des paquets
Yum vous permet d'effectuer un ensemble complet d'opérations avec des paquets logiciels, y compris rechercher des paquets, d'afficher leurs informations, des les installer et de les supprimer.
8.2.1. Rechercher des paquets
Vous pouvez rechercher tous les noms, descriptions et résumés des paquets RPM en utilisant la commande suivante :
yum
search
term…
Remplacez term par le nom du paquet que vous souhaitez rechercher.
Exemple 8.4. Rechercher les paquets correspondants à une chaîne spécifique
Pour répertorier tous les paquets qui correspondent à « vim » ou « gvim », or « emacs », veuillez saisir :
~]$ yum search vim gvim emacs
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
============================= N/S matched: vim ==============================
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System
vim-common.x86_64 : The common files needed by any version of the VIM editor[sortie tronquée]
============================ N/S matched: emacs =============================
emacs.x86_64 : GNU Emacs text editor
emacs-auctex.noarch : Enhanced TeX modes for Emacs[sortie tronquée]
Name and summary matches mostly, use "search all" for everything.
Warning: No matches found for: gvim
La commande
yum search
est utile pour rechercher des paquets dont vous ne connaissez pas le nom, mais dont vous connaissez un terme connexe. Remarquez que par défaut, yum search
retourne les correspondances par nom de paquet et résumé, ce qui rend les recherches plus rapides. Veuillez utiliser la commande yum search all
pour effectuer une recherche plus exhaustive mais également plus lente.
Filtrer les résultats
Toutes les commandes de la liste de yum vous permettent de filtrer les résultats en ajoutant une ou plusieurs expressions glob comme arguments. Les expressions glob sont des chaînes de caractères normales qui contiennent un ou plusieurs caractères génériques
*
(qui s'étend pour correspondre à tout sous-ensemble de caractères) et ?
(qui s'étend pour correspondre à tout caractère unique).
Prenez soin d'échapper les expressions glob lorsque vous les passez en tant qu'argument sur une commande
yum
, sinon le shell Bash les interprétera comme des expansions de nom de fichier, et pourrait potentiellement faire passer tous les fichiers du répertoire actuel correspondant aux expressions globales sur yum
. Pour vous assurer que les expressions glob soient passées sur yum
comme souhaité, veuillez utiliser l'une des méthodes suivantes :
- échappez les caractères génériques en les faisant précéder du caractère de la barre oblique inversée
- mettez l'expression glob entre guillemets simples ou entre guillemets doubles.
Les exemples dans la section suivante démontrent l'usage de ces deux méthodes.
8.2.2. Répertorier les paquets
Pour répertorier des informations sur tous les paquets installés et disponibles, veuillez saisir ce qui suit dans l'invite shell :
yum
list
all
Pour répertorier les paquets installés et disponibles qui correspondent aux expressions glob insérées, veuillez utiliser la commande suivante :
yum list glob_expression…
Exemple 8.5. Répertorier les paquets liés à ABRT
Les paquets avec divers modules complémentaires et greffons ABRT commencent par « abrt-addon- » ou par « abrt-plugin- ». Pour répertorier ces paquets, veuillez saisir la commande suivante à l'invite shell. Remarquez que les caractères génériques sont échappés avec le caractère de la barre oblique inversée :
~]$ yum list abrt-addon\* abrt-plugin\*
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Installed Packages
abrt-addon-ccpp.x86_64 2.1.11-35.el7 @rhel-7-server-rpms
abrt-addon-kerneloops.x86_64 2.1.11-35.el7 @rhel-7-server-rpms
abrt-addon-pstoreoops.x86_64 2.1.11-35.el7 @rhel-7-server-rpms
abrt-addon-python.x86_64 2.1.11-35.el7 @rhel-7-server-rpms
abrt-addon-vmcore.x86_64 2.1.11-35.el7 @rhel-7-server-rpms
abrt-addon-xorg.x86_64 2.1.11-35.el7 @rhel-7-server-rpms
Pour répertorier tous les paquets installés sur votre système, veuillez utiliser le mot-clé
installed
. La colonne la plus à droite dans la sortie répertorie le référentiel à partir duquel le paquet a été récupéré.
yum
list
installed
glob_expression…
Exemple 8.6. Répertorier tous les versions installées du paquet krb
L'exemple suivant montre comment répertorier tous les paquets installés qui commencent par « krb » suivis d'exactement un caractère et d'un tiret. Ceci est utile lorsque vous souhaitez répertorier toutes les versions d'un certain composant, car ceux-ci se distinguent par leur numéro. L'expression glob toute entière est citée pour assurer que le traitement soit correct.
~]$ yum list installed "krb?-*"
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Installed Packages
krb5-libs.x86_64 1.13.2-10.el7 @rhel-7-server-rpms
Pour répertorier tous les paquets dans des référentiels activés qui seraient disponibles à installer, veuillez utiliser la commande sous la forme suivante :
yum
list
available
glob_expression…
Exemple 8.7. Répertorier les greffons gstreamer disponibles
Par exemple, pour répertorier tous les paquets disponibless avec des noms qui contiennent « gstreamer » puis « plugin », veuillez exécuter la commande suivante :
~]$ yum list available gstreamer\*plugin\*
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Available Packages
gstreamer-plugins-bad-free.i686 0.10.23-20.el7 rhel-7-server-rpms
gstreamer-plugins-base.i686 0.10.36-10.el7 rhel-7-server-rpms
gstreamer-plugins-good.i686 0.10.31-11.el7 rhel-7-server-rpms
gstreamer1-plugins-bad-free.i686 1.4.5-3.el7 rhel-7-server-rpms
gstreamer1-plugins-base.i686 1.4.5-2.el7 rhel-7-server-rpms
gstreamer1-plugins-base-devel.i686 1.4.5-2.el7 rhel-7-server-rpms
gstreamer1-plugins-base-devel.x86_64 1.4.5-2.el7 rhel-7-server-rpms
gstreamer1-plugins-good.i686 1.4.5-2.el7 rhel-7-server-rpms
Répertorier les référentiels
Pour répertorier l'ID du référentiel, le nom, et le numéro des paquets de chaque référentiel activé sur votre système, veuillez utiliser la commande suivante :
yum
repolist
Pour répertorier davantage d'informations sur ces référentiels, veuillez ajouter l'option
-v
. Avec cette option activée, les informations comprenant le nom du fichier, la taille générale, la date de la dernière mise à jour, et l'URL de base sont affichées pour chaque référentiel répertorié. Alternativement, vous pouvez utiliser la commande repoinfo
qui produira la même sortie.
yum
repolist
-v
yum
repoinfo
Pour répertorier les référentiels activés et désactivés, veuillez utiliser la commande suivante. Une colonne de statut est ajoutée à la liste de sorties pour afficher quels sont les référentiels activés.
yum
repolist
all
En passant
disabled
en tant que premier argument, vous pouvez limiter la sortie de la commande aux référentiels désactivés. Pour des spécifications plus précises, vous pouvez passer l'ID ou le nom des référentiels ou des glob_expressions comme arguments. Remarquez que s'il y a une correspondance exacte entre l'ID ou le nom du référentiel et l'argument inséré, ce référentiel est répertorié, même s'il ne passe pas le filtre enabled ou disabled.
8.2.3. Afficher des informations sur le paquet
Pour afficher des informations sur un ou plusieurs paquets, veuillez utiliser la commande suivante (ici, les expressions glob sont également valides) :
yum
info
package_name…
Remplacez package_name par le nom du paquet.
Exemple 8.8. Afficher des informations sur le paquet abrt
Pour afficher des informations sur le paquet abrt, veuillez saisir :
~]$ yum info abrt
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Installed Packages
Name : abrt
Arch : x86_64
Version : 2.1.11
Release : 35.el7
Size : 2.3 M
Repo : installed
From repo : rhel-7-server-rpms
Summary : Automatic bug detection and reporting tool
URL : https://fedorahosted.org/abrt/
License : GPLv2+
Description : abrt is a tool to help users to detect defects in applications and
: to create a bug report with all information needed by maintainer to fix
: it. It uses plugin system to extend its functionality.
La commande
yum info package_name
est similaire à la commande rpm -q --info package_name
, mais elle fournit des informations supplémentaires, comme le nom du référentiel yum dans lequel le paquet RPM était installé (consultez la ligne From repo:
dans la sortie).
Utiliser yumdb
Vous pouvez également effectuer des requêtes sur la base de données yum pour trouver d'autres informations utiles sur un paquet en utilisant la commande suivante :
yumdb
info
package_name
Cette commande fournit des informations supplémentaires sur un paquet, y compris le checksum du paquet (et l'algorithme utilisé pour le produire, comme SHA-256), la commande donnée sur la ligne de commande qui a été invoquée pour installer le paquet (s'il y en a une), et la raison pour laquelle le paquet est installé sur le système (où
user
indique une installation par l'utilisateur, et dep
indique une installation pour raison de dépendance).
Exemple 8.9. Exécuter une requête yumdb pour trouver des informations sur le paquet yum
Pour afficher des informations supplémentaires sur le paquet yum, veuillez saisir :
~]$ yumdb info yum
Loaded plugins: langpacks, product-id
yum-3.4.3-132.el7.noarch
changed_by = 1000
checksum_data = a9d0510e2ff0d04d04476c693c0313a11379053928efd29561f9a837b3d9eb02
checksum_type = sha256
command_line = upgrade
from_repo = rhel-7-server-rpms
from_repo_revision = 1449144806
from_repo_timestamp = 1449144805
installed_by = 4294967295
origin_url = https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/os/Packages/yum-3.4.3-132.el7.noarch.rpm
reason = user
releasever = 7Server
var_uuid = 147a7d49-b60a-429f-8d8f-3edb6ce6f4a1
Pour obtenir davantage d'informations sur la commande
yumdb
, veuillez consulter la page man de yumdb(8).
8.2.4. Installation de paquets
Pour installer un paquet unique et toutes ses dépendances non installées, veuillez saisir une commande sous la forme suivante en tant qu'utilisateur
root
:
yum
install
package_name
Vous pouvez également installer de multiples paquets simultanément en ajoutant leurs noms en tant qu'arguments. Pour faire cela, veuillez saisir en tant qu'utilisateur
root
:
yum
install
package_name package_name…
Si vous installez des paquets sur un système multilib, tel que sur un ordinateur AMD64 ou Intel64, vous pourrez spécifier l'architecture du paquet (tant qu'il est disponible dans un référérentiel activé) en ajoutant .arch au nom du paquet :
yum
install
package_name.arch
Exemple 8.10. Installer des paquets sur un système multilib
Pour installer le paquet sqlite pour l'architecture
i686
, veuillez saisir :
~]#yum
install
sqlite.i686
Vous pouvez utiliser des expressions glob pour installer rapidement de multiples paquets avec des noms similaires. En tant qu'utilisateur
root
, veuillez exécuter :
yum
install
glob_expression…
Exemple 8.11. Installer tous les greffons audacieux
Les expressions globales sont utiles lorsque vous souhaitez installer plusieurs paquets avec des noms similaires. Pour installer tous les greffons audacieux, veuillez utiliser la commande sous la forme suivante :
~]#yum
install
audacious-plugins-\*
En plus des noms de paquets et des expressions glob, vous pouvez également fournir des noms de fichier à
yum install
. Si vous connaissez le nom du binaire que vous souhaitez installer, mais pas son nom de paquet, vous pouvez donner le nom du chemin à yum install
. En tant qu'utilisateur root
, veuillez saisir :
yum install /usr/sbin/named
Yum effectue la recherche dans ses listes de paquets, trouve le paquet qui fournit
/usr/sbin/named
, s'il existe, et vous demande si vous souhaitez l'installer.
Comme vous pouvez le voir dans les exemples ci-dessus, la commande
yum install
ne requiert pas d'arguments strictement définis. Il peut traiter divers formats de noms de paquets et d'expressions glob, ce qui rend l'installation plus facile pour les utilisateurs. D'autre part, yum peut prendre longtemps à analyser l'entrée correctement, particulièrement si vous spécifiez un grand nombre de paquets. Pour optimiser la recherche de paquets, vous pouvez utiliser les commandes suivantes pour définir de manière explicite comment analyser les arguments :
yum install-n
name
yum install-na
name.architecture
yum install-nevra
name-epoch:version-release.architecture
Avec
install-n
, yum interprète name comme étant le nom exact du paquet. La commande install-na
indique à yum que l'argument suivant contient le nom du paquet et l'architecture divisés par le caractère « point ». Avec install-nevra
, yum s'attendra à un argument sous la forme name-epoch:version-release.architecture. Similairement, vous pouvez utiliser yum remove-n
, yum remove-na
, et yum remove-nevra
lorsque vous cherchez des paquets à supprimer.
Note
Si vous êtes sûr(e) de souhaiter installer le paquet contenant le binaire
named
, mais que vous ne savez pas dans quel répertoire bin/
ou sbin/
le fichier est installé, veuillez utiliser la commande yum provides
avec une expression glob :
~]# yum provides "*bin/named"
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
: manager
32:bind-9.9.4-14.el7.x86_64 : The Berkeley Internet Name Domain (BIND) DNS
: (Domain Name System) server
Repo : rhel-7-server-rpms
Matched from:
Filename : /usr/sbin/named
yum provides "*/file_name"
est une astuce utile pour trouver le paquet ou les paquets qui contiennent le file_name.
Exemple 8.12. Processus d'installation
L'exemple suivant offre une vue d'ensemble d'une installation en utilisant yum. Pour télécharger et installer la dernière version du paquet httpd, veuillez exécuter en tant qu'utilisateur
root
:
~]# yum install httpd
Loaded plugins: langpacks, product-id, subscription-manager
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-12.el7 will be updated
---> Package httpd.x86_64 0:2.4.6-13.el7 will be an update
--> Processing Dependency: 2.4.6-13.el7 for package: httpd-2.4.6-13.el7.x86_64
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.4.6-12.el7 will be updated
---> Package httpd-tools.x86_64 0:2.4.6-13.el7 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
Après avoir exécuté la commande ci-dessus, yum charge les greffons nécessaires et exécute la vérification de transaction. Dans ce cas, httpd est déjà installé. Comme le paquet installé est plus ancien que la version disponible la plus récente, il sera mis à jour. La même chose s'applique au paquet httpd-tools dont httpd dépend. Puis, un résumé de la transaction est affiché :
================================================================================ Package Arch Version Repository Size ================================================================================ Updating: httpd x86_64 2.4.6-13.el7 rhel-x86_64-server-7 1.2 M Updating for dependencies: httpd-tools x86_64 2.4.6-13.el7 rhel-x86_64-server-7 77 k Transaction Summary ================================================================================ Upgrade 1 Package (+1 Dependent package) Total size: 1.2 M Is this ok [y/d/N]:
Dans cette étape, yum vous demande de confirmer l'installation. Hormis les options
y
(oui) et N
(non), vous pouvez également choisir d
(télécharger uniquement) pour télécharger les paquets sans les installer directement. Si vous choisissez y
, l'installation continuera avec les messages suivants jusqu'à ce qu'elle se termine.
Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : httpd-tools-2.4.6-13.el7.x86_64 1/4 Updating : httpd-2.4.6-13.el7.x86_64 2/4 Cleanup : httpd-2.4.6-12.el7.x86_64 3/4 Cleanup : httpd-tools-2.4.6-12.el7.x86_64 4/4 Verifying : httpd-2.4.6-13.el7.x86_64 1/4 Verifying : httpd-tools-2.4.6-13.el7.x86_64 2/4 Verifying : httpd-tools-2.4.6-12.el7.x86_64 3/4 Verifying : httpd-2.4.6-12.el7.x86_64 4/4 Updated: httpd.x86_64 0:2.4.6-13.el7 Dependency Updated: httpd-tools.x86_64 0:2.4.6-13.el7 Complete!
Pour installer un paquet téléchargé au préalable se trouvant dans un répertoire local sur votre système, veuillez utiliser la commande suivante :
yum localinstall
path
Remplacez path par le chemin du paquet que vous souhaitez installer.
8.2.5. Télécharger des paquets
Comme indiqué dans l'Exemple 8.12, « Processus d'installation », à un certain moment pendant le processus d'installation, il vous sera demandé de confirmer l'installation avec le message suivant :
... Total size: 1.2 M Is this ok [y/d/N]: ...
With the
d
option, yum downloads the packages without installing them immediately. You can install these packages later offline with the yum localinstall
command or you can share them with a different device. Downloaded packages are saved in one of the subdirectories of the cache directory, by default /var/cache/yum/$basearch/$releasever/packages/
. The downloading proceeds in background mode so that you can use yum for other operations in parallel.
8.2.6. Supprimer des paquets
De même que pour l'installation de paquets, yum permet également de les désinstaller. Pour désinstaller un paquet particulier, ainsi que tout paquet en dépendant, veuillez exécuter la commande suivante en tant qu'utilisateur
root
:
yum
remove
package_name…
Comme lors de l'installation de plusieurs paquets, il est possible d'en supprimer plusieurs à la fois en ajoutant des noms de paquets supplémentaires à la commande.
Exemple 8.13. Supprimer plusieurs paquets
Pour supprimer totem, veuillez saisir ce qui suit à l'invite shell :
~]# yum remove totem
Similairememt à
install
, remove
peut prendre ces arguments :
- noms de paquet
- expressions glob
- listes de fichiers
- ce que le paquet fournit
Avertissement
Yum n'est pas en mesure de supprimer un paquet sans également supprimer les paquets qui en dépendent. Ce type d'opération, qui peut uniquement être effectué par RPM, n'est pas publicisé et peut potentiellement laisser votre système dans un état ne fonctionnant pas, ou causer à des applications de ne pas fonctionner correctement ou de tomber en panne. Pour obtenir des informations supplémentaires, veuillez consulter la Section A.2.2, « Désinstaller les paquets » dans le chapitre RPM.