Chapitre 8. Yum
Yum est le gestionnaire de paquets de Red Hat qui peut rechercher des informations sur les paquets disponibles, extraire des paquets de référentiels, les installer et les désinstallez, et mettre à jour un système complet à la dernière version disponible. Yum assure la résolution de dépendances automatiquement lorsque l'on met à jour, installe ou supprime des paquets, et donc, est capable de déterminer, chercher et installer tous les paquets dépendants disponibles automatiquement.
Yum peut être configuré avec des référentiels ou sources de paquets supplémentaires, et fournit également de nombreux greffons qui améliorent et étendent ses capacités. Yum est capable d'effectuer de nombreuses tâches que RPM peut effectuer. De plus, bon nombre des options de ligne de commande sont similaires. Yum permet une gestion des paquets simple et aisée sur une même machine ou sur un groupe de machines.
Les sections suivantes assument que votre système a été enregistré avec Red Hat Subscription Management au moment de l'intallation selon les instructions qui se trouvent dans Red Hat Enterprise Linux 7 Installation Guide. Si votre système n'est pas enregistré, consulter Chapitre 6, Enregistrer le système et Gérer les abonnements.
Important
Yum fournit une gestion de paquets sécurisée grâce à l'activation d'un contrôle de signatures GPG (de l'anglais Gnu Privacy Guard ; également connu sous le nom GnuPG) sur tous les référentiels de paquets (sources de paquets), ou sur des référentiels individuels. Lorsque le contrôle des signatures est activé, yum refusera d'installer tous les paquets qui ne sont pas signés-GPG avec la clé appropriée pour ce référentiel. Cela signifie que vous pouvez être rassurés que les paquets RPM que vous téléchargez et installez sur votre système sont d'une source fiable, comme Red Hat et qu'ils n'ont pas été modifiés pendant le transfert. Voir Section 8.5, « Configurer Yum et les référentiels Yum » pour plus d'informations sur l'activation du contrôle de signature avec yum, ou Section A.3.2, « Vérification des signatures de paquets » pour plus d'informations sur la façon de travailler et vérifier des paquets GPG RPM signés GPG, en général.
Yum vous permet également d'installer aisément vos propres référentiels de paquets RPM pour pouvoir les télécharger et les installer sur d'autres machines. Quand c'est possible, yum utilise le téléchargement parallèle de plusieurs packages et métadonnées pour accélérer le téléchargement.
Apprendre comment yum opère est un investissement rentable car c'est souvent le moyen le plus rapide pour effectuer des tâches d'administration de système, et il fournit des fonctionnalités qui vont au-delà de celles fournies par les outils graphiques de gestion de paquets de PackageKit.
Note
Vous devez disposer des privilèges de superutilisateur pour utiliser yum afin d'installer, mettre à jour ou supprimer des paquets sur votre système. Tous les exemples de ce chapitre supposent que vous avez déjà obtenu des privilèges de superutilisateur en utilisant la commande
su
ou sudo
.
8.1. Recherche et Mise à jour des paquets Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Yum vous permet de vérifier si votre système possède des mises à jour en attente d'être appliquées. Vous pouvez lister les paquets qui ont besoin d'être mis à jour et les mettre à jour ensemble, ou bien, vous pouvez mettre à jour des packages idividuels.
8.1.1. Vérifier les mises à jour Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Pour voir quels paquets installés sur votre système disposent de mises à jour disponibles, veuillez utiliser la commande suivante :
yum check-update
yum check-update
Exemple 8.1. Exemple de sortie de la commande yum check-update :
La sortie de
yum
check-update
peut être similaire à la suivante :
Les paquets dans la sortie ci-dessus sont répertoriées comme ayant des mises à jour disponibles,. Le premier paquet de la liste est dracut. Chaque ligne dans l'exemple de sortie consiste en plusieurs lignes, dans le cas de dracut :
dracut
— nom du paquetx86_64
— architecture du CPU pour laquelle le paquet a été créé,0.5.8
— version du paquet mis à jour à installer,360.el7
— version du paquet mis à jour,_2
— version ajoutée dans le cadre de la mise à jour z-stream,rhel-7-server-rpms
— référentiel dans lequel le paquet mis à jour se trouve.
La sortie montre également que l'on peut mettre à jour le noyau (le paquet kernel), yum et RPM (paquets yum et rpm), ainsi que leurs dépendances (tels que les paquets rpm-libs, et rpm-python), tout en utilisant la commande
yum
.
8.1.2. Mise à jour de paquets Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Vous pouvez choisir de mettre à jour un paquet unique, de multiples paquets, ou tous les paquets à la fois. Si l'une des dépendances du ou des paquets que vous mettez à jour possède elle-même des mises à jour disponibles, alors elle sera également mise à jour.
Mise à jour d'un paquet unique
Pour mettre à jour un paquet unique, veuillez exécuter la commande suivante en tant qu'utilisateur
root
:
yum update package_name
yum update package_name
Exemple 8.2. Mise à jour du paquet rpm
Pour mettre à jour le paquet rpm, veuillez saisir :
Cette sortie contient plusieurs éléments présentant un interêt particulier :
Loaded plugins: langpacks, product-id, subscription-manager
— Yum vous informe toujours quels greffons yum sont installés et activés. Veuillez consulter la Section 8.6, « Greffons Yum » pour des informations générales sur les greffons yum, ou la Section 8.6.3, « Utiliser des greffons Yum » pour des descriptions de greffons particuliers.rpm.x86_64
— il est possible de télécharger et d'installer un nouveau paquet rpm ainsi que ses dépendances. Une vérification de transaction est effectuée pour chacun de ces paquets.- Yum présente les informations de mise à jour et vous demande de confirmer la mise à jour ; yum est exécuté interactivement par défaut. Si vous savez déjà quelles transactions la commande
yum
planifie d'effectuer, vous pouvez utiliser l'option-y
pour répondre automatiquement oui («yes
») à toute question posée par yum (dans ce cas, l'exécution n'est pas interactive). Cependant, vous devriez toujours examiner les changements que yum planifie d'effectuer sur le système afin de pouvoir facilement résoudre tout problème qui se pose. Il est également possible de télécharger le paquet sans l'installer. Pour faire cela, veuillez sélectionner l'optiond
dans l'invite du téléchargement. Cela lance le téléchargement en arrière-plan du paquet sélectionné.Si une transaction échoue, vous pouvez afficher l'historique des transactions yum en utilisant la commandeyum history
comme décrit dans la Section 8.4, « Utiliser l'historique des transactions ».
Important
Yum installe toujours un nouveau noyau, que vous utilisez la commande
yum update
ou yum install
.
D'autre part, lors de l'utilisation de RPM, il est important d'utiliser la commande
rpm -i kernel
qui installe un nouveau noyau, au lieu de rpm -u kernel
qui remplace le noyau actuel. Veuillez consulter la Section A.2.1, « Installation et mise à niveau des paquets » pour obtenir davantage d'informations sur l'installation et la mise à niveau de noyaux avec RPM.
Similairement, il est possible de mettre à jour un groupe de paquets. Veuillez saisir en tant qu'utilisateur
root
:
yum group update group_name
yum group update group_name
Remplacez ici group_name par le nom du groupe de paquets que vous souhaitez mettre à jour. Pour obtenir davantage d'informations sur les groupes de paquets, veuillez consulter la Section 8.3, « Utiliser des groupes de paquets ».
Yum offre également la commande
upgrade
qui est égale à update
avec une option de configuration obsoletes
(veuillez consulter la Section 8.5.1, « Définir les options [main] »). Par défaut, obsoletes
est activé dans /etc/yum.conf
, ce qui rend ces deux commandes équivalentes.
Mettre à jour tous les paquets et leurs dépendances
Pour mettre à jour tous les paquets et leurs dépendances, veuillez utiliser la commande
yum update
sans aucun argument :
yum update
yum update
Mettre à jour des paquets liés à la sécurité
Si les paquets ont des mises à jour de sécurité, vous ne pourrez les mettre à jour qu'à leur dernière version. Veuillez saisir en tant qu'utilisateur
root
:
yum update --security
yum update --security
Vous pouvez également mettre ces paquets à jour aux versions contenant les dernières mises à jour en matière de sécurité. Pour cela, veuillez saisir en tant qu'utilisateur
root
:
yum update-minimal --security
yum update-minimal --security
Ainsi, dans la mesure où :
- le paquet kernel-3.10.0-1 est installé sur votre système ;
- le paquet kernel-3.10.0-2 est une mise à jour de sécurité ;
- la paquet kernel-3.10.0-3 est une mise à jour de correctif,
Ensuite,
yum update-minimal --security
mettra à jour le paquet à kernel-3.10.0-2, et yum update --security
mettra à jour le paquet à kernel-3.10.0-3.
8.1.3. Préserver les changements au fichier de configuration Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Vous apporterez inévitablement des modifications aux fichiers de configuration installés par des paquets pendant l'utilisation de votre système Red Hat Enterprise Linux. RPM, que yum utilise pour apporter des modifications au système, fournit un mécanisme pour assurer leur intégrité. Veuillez consulter la Section A.2.1, « Installation et mise à niveau des paquets » pour obtenir des détails sur la manière de gérer les changements apportés aux fichiers de configuration pendant les mises à niveau de paquets.
8.1.4. Mise à jour du système hors ligne avec ISO et Yum Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Pour les systèmes disconnectés de l'Internet ou de Red Hat Network, utiliser la commande
yum update
avec l'image ISO d'installation de Red Hat Enterprise Linux est un façon simple et rapide de mettre à niveau les systèmes à la dernière version mineure. Les étapes suivantes nous montrent le processus de mise à niveau :
- Créer un répertoire cible dans lequel monter votre image ISO. Le répertoire n'est pas créé automatiquement lors du montage, donc, il vous faudra le créer avant de procéder à l'étape suivante. En tant qu'utilisateur
root
, saisissez :mkdir mount_dir
mkdir mount_dir
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Remplacer mount_dir par un chemin menant au répertoire de montage. Normalement, les utilisateurs le créent en tant que sous-répertoire du répertoire/media
. - Monter l'image ISO d'installation de Red Hat Enterprise Linux 7 dans le répertoire cible préalablement créé. En tant qu'utilisateur
root
, saisir :mount -o loop iso_name mount_dir
mount -o loop iso_name mount_dir
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Remplacez iso_name par le nom du chemin de votre image ISO et mount_dir par le nom du chemin du répertoire cible. Là, l'option-o
loop
est exigée pour pouvoir monter le fichier en tant que périphérique bloc. - Copier le fichier
media.repo
du répertoire de montage/etc/yum.repos.d/
. Notez que les fichiers de configuration de ce répertoire doivent posséder l'extension .repo pour pouvoir fonctionner correctement.cp mount_dir/media.repo /etc/yum.repos.d/new.repo
cp mount_dir/media.repomount_dir/media.repo /etc/yum.repos.d/new.repo/etc/yum.repos.d/new.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cela créera un fichier de configuration pour le référentiel yum. Remplacer new.repo par le nom du fichier, comme par exemple rhel7.repo. - Modifiez le nouveau fichier de configuration de façon à ce qu'il puisse pointer vers l'ISO d'installation de Red Hat Enterprise Linux. Ajouter la ligne suivante au fichier
/etc/yum.repos.d/new.repo
:baseurl=file:///mount_dir
baseurl=file:///mount_dir
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Remplacez mount_dir par un chemin qui mène au point de montage. - Mettez à jour tous les référentiels yum, y compris
/etc/yum.repos.d/new.repo
créé dans les étapes précédentes. En tant qu'utilisateurroot
, saisissez :yum update
yum update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cela mettra à jour votre système à la version fournie par l'image ISO montée. - Après la mise à niveau, vous pourrez dé-monter l'image ISO. En tant qu'utilisateur
root
, saisissez :umount mount_dir
umount mount_dir
Copy to Clipboard Copied! Toggle word wrap Toggle overflow avec mount_dir comme chemin qui mène à votre répertoire de montage. Aussi, vous pourrez supprimer le répertoire de montage créé dans la première étape. En tant qu'utilisateurroot
, saisissez :rmdir mount_dir
rmdir mount_dir
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Si vous ne souhaitez pas utiliser le fichier de configuration déjà créé pour une autre installation ou mise à jour, vous pouvez le supprimer. En tant qu'utilisateur
root
, saisissez :rm /etc/yum.repos.d/new.repo
rm /etc/yum.repos.d/new.repo/etc/yum.repos.d/new.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Exemple 8.3. Mise à niveau de Red Hat Enterprise Linux 7.0 à 7.1
Si vous devez mettre à niveau un système et que vous n'ayiez pas accès à l'internet, en utilisant une image ISO contenant la dernière version du système, appelée, par exemple
rhel-server-7.1-x86_64-dvd.iso
, créer un répertoire cible de montage, comme /media/rhel7/
. En tant qu'utilisateur root
, allez dans le répertoire avec votre image ISO et saisissez :
mount -o loop rhel-server-7.1-x86_64-dvd.iso /media/rhel7/
~]# mount -o loop rhel-server-7.1-x86_64-dvd.iso /media/rhel7/
Puis, créez un référentiel yum pour votre image en copiant le fichier
media.repo
à partir du répertoire de montage :
cp /media/rhel7/media.repo /etc/yum.repos.d/rhel7.repo
~]# cp /media/rhel7/media.repo /etc/yum.repos.d/rhel7.repo
Pour que yum reconnaisse le point de montage comme référentiel, ajouter la ligne suivante au fichier
/etc/yum.repos.d/rhel7.repo
copié dans l'étape précédente :
baseurl=file:///media/rhel7/
baseurl=file:///media/rhel7/
Miantenant, en mettant à jour le référentiel yum, vous mettez ainsi votre système à jour à la version fournie par
rhel-server-7.1-x86_64-dvd.iso
. En tant qu'utilisateur root
, exécutez :
yum update
~]# yum update
Une fois que votre système sera mis à jour, vous pourrez dé-monter l'image, supprimer le répertoire cible et le fichier de configuration :
umount /media/rhel7/
~]# umount /media/rhel7/
rmdir /media/rhel7/
~]# rmdir /media/rhel7/
rm /etc/yum.repos.d/rhel7.repo
~]# rm /etc/yum.repos.d/rhel7.repo