Yellowdog Updater Modifier (yum) est un gestionnaire de paquets basé sur RPM qui est utilisé pour installer et mettre à jour des paquets dans diverses distributions Linux, y compris CentOS, RHEL et Fedora.
Yum est assez puissant car il est capable de résoudre automatiquement les problèmes de dépendance, et il est similaire aux autres gestionnaires de paquets tels que «apt» dans les distributions basées sur Debian.
La commande yum peut être utilisée pour installer des packages à partir d’un référentiel avec l’argument 'install', suivi du nom du package. Dans l'exemple ci-dessous, nous installons Apache, fourni dans le package “httpd”.
[root@srv ~]# yum install httpd Modules complémentaires chargés : fastestmirror Loading mirror speeds from cached hostfile * base: fr2.rpmfind.net * epel: fr2.rpmfind.net * extras: centos.mirror.fr.planethoster.net * updates: miroir.univ-lorraine.fr Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet httpd.x86_64 0:2.4.6-80.el7.centos.1 sera installé --> Résolution des dépendances terminée Dépendances résolues ================================================================================================================== Package Architecture Version Dépôt Taille ================================================================================================================== Installation : httpd x86_64 2.4.6-80.el7.centos.1 updates 2.7 M Résumé de la transaction ================================================================================================================== Installation 1 Paquet Taille totale des téléchargements : 2.7 M Taille d'installation : 9.4 M Is this ok [y/d/N]: y Downloading packages: httpd-2.4.6-80.el7.centos.1.x86_64.rpm | 2.7 MB 00:00:17 Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : httpd-2.4.6-80.el7.centos.1.x86_64 1/1 Vérification : httpd-2.4.6-80.el7.centos.1.x86_64 1/1 Installé : httpd.x86_64 0:2.4.6-80.el7.centos.1 Terminé !
Dans le premier exemple, nous avons été invités à appuyer sur la touche «y» pour continuer l'installation. Plutôt que d'invité à chaque fois l'utilisateur à saisir “yes”, nous pouvons simplement spécifier l'option “-y” dans notre commande pour que yes soit accepté. De cette façon, nous ne serons pas invités à entrer des données et yum supposera que tout sera validé.
[root@srv ~]# yum install httpd-manual -y Modules complémentaires chargés : fastestmirror Loading mirror speeds from cached hostfile * base: fr2.rpmfind.net * epel: fr2.rpmfind.net * extras: centos.mirror.fr.planethoster.net * updates: miroir.univ-lorraine.fr Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet httpd-manual.noarch 0:2.4.6-80.el7.centos.1 sera installé --> Résolution des dépendances terminée Dépendances résolues ================================================================================================================== Package Architecture Version Dépôt Taille ================================================================================================================== Installation : httpd-manual noarch 2.4.6-80.el7.centos.1 updates 1.3 M Résumé de la transaction ================================================================================================================== Installation 1 Paquet Taille totale des téléchargements : 1.3 M Taille d'installation : 5.5 M Downloading packages: httpd-manual-2.4.6-80.el7.centos.1.noarch.rpm | 1.3 MB 00:00:08 Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : httpd-manual-2.4.6-80.el7.centos.1.noarch 1/1 Vérification : httpd-manual-2.4.6-80.el7.centos.1.noarch 1/1 Installé : httpd-manual.noarch 0:2.4.6-80.el7.centos.1 Terminé !
Notez que dans cet exemple, nous n'avons pas été invités à entrer “yes”, car le paramètre “-y” a été fourni, donc le package a été complètement installé sans aucune autre intervention de l'utilisateur.
Nous pouvons exécuter yum avec l'argument “check-update”. Cela va vérifier avec les référentiels déclaré les mises à jours disponibles pour toutes les packages que nous avons installés. Cela n'effectue en réalité aucune mise à jour, cela nous donne simplement une liste de paquets pour lesquels des mises à jour sont disponibles.
[root@srv ~]# yum check-update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile bash.x86_64 4.2.46-20.el7_2 updates dbus.x86_64 1:1.6.12-14.el7_2 updates dbus-libs.x86_64 1:1.6.12-14.el7_2 updates device-mapper-persistent-data.x86_64 0.6.2-1.el7_2 updates glibc.x86_64 2.17-106.el7_2.8 updates glibc-common.x86_64 2.17-106.el7_2.8 updates initscripts.x86_64 9.49.30-1.el7_2.3 updates kernel.x86_64 3.10.0-327.28.3.el7 updates kernel-tools.x86_64 3.10.0-327.28.3.el7 updates kernel-tools-libs.x86_64 3.10.0-327.28.3.el7 updates ...
Dans l'exemple précédent, nous avons reçu une liste des packages pour lesquels des mises à jour de package sont actuellement disponibles. Nous pouvons effectuer la mise à jour d'un package spécifique en le déclarant après l'argument “update”, comme indiqué ci-dessous.
[root@srv ~]# yum update bash -y Resolving Dependencies --> Running transaction check ---> Package bash.x86_64 0:4.2.46-19.el7 will be updated ---> Package bash.x86_64 0:4.2.46-20.el7_2 will be an update --> Finished Dependency Resolution Dependencies Resolved ================================================================= Package Arch Version Repository Size ================================================================= Updating: bash x86_64 4.2.46-20.el7_2 updates 1.0 M Transaction Summary ================================================================= Upgrade 1 Package Total download size: 1.0 M Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. bash-4.2.46-20.el7_2.x86_64.rpm | 1.0 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : bash-4.2.46-20.el7_2.x86_64 1/2 Cleanup : bash-4.2.46-19.el7.x86_64 2/2 Verifying : bash-4.2.46-20.el7_2.x86_64 1/2 Verifying : bash-4.2.46-19.el7.x86_64 2/2 Updated: bash.x86_64 0:4.2.46-20.el7_2 Complete!
Notez que nous n'avons pas besoin de lancer check-update avant cela.
Bien que nous puissions mettre à jour les paquets spécifiés de cette manière, il est souvent plus facile d’appliquer simplement toutes les mises à jour disponibles pour tous les paquets du système avec «yum update».
Plutôt que d'installer un package à partir du référentiel comme indiqué précédemment, nous pouvons éventuellement télécharger le fichier .rpm à partir du référentiel avec la commande “yumdownloader”.
La commande “yumdownloader” provient du package “yum-utils”, nous l'installons donc en premier.
[root@srv ~]# yum install yum-utils -y
Nous pouvons maintenant télécharger le fichier RPM sur le système local.
[root@srv ~]# yumdownloader unbound Modules complémentaires chargés : fastestmirror Loading mirror speeds from cached hostfile * base: fr2.rpmfind.net * epel: fr2.rpmfind.net * extras: centos.mirror.fr.planethoster.net * updates: miroir.univ-lorraine.fr unbound-1.6.6-1.el7.x86_64.rpm | 673 kB 00:00:04 [root@srv ~]# ls -al total 680 -rw-r--r--. 1 root root 689232 25 avril 13:49 unbound-1.6.6-1.el7.x86_64.rpm
Dans cet exemple, nous allons installer le fichier .rpm que nous venons de télécharger avec “yumdownloader”. Bien que nous ayons pu installer ce paquet directement depuis le dépôt avec 'yum install', il se peut que vous receviez directement des fichiers .rpm pour l'installation.
Bien que les fichiers .rpm puissent être installés avec la commande “rpm”, l'utilisation de yum présente l'avantage de détecter et d'installer automatiquement toutes les dépendances de paquetage éventuellement requises.
[root@srv ~]# yum localinstall unbound-1.6.6-1.el7.x86_64.rpm Modules complémentaires chargés : fastestmirror Examen de unbound-1.6.6-1.el7.x86_64.rpm : unbound-1.6.6-1.el7.x86_64 Sélection de unbound-1.6.6-1.el7.x86_64.rpm pour installation Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet unbound.x86_64 0:1.6.6-1.el7 sera installé --> Traitement de la dépendance : unbound-libs(x86-64) = 1.6.6-1.el7 pour le paquet : unbound-1.6.6-1.el7.x86_64 Loading mirror speeds from cached hostfile * base: fr2.rpmfind.net * epel: fr2.rpmfind.net * extras: centos.mirror.fr.planethoster.net * updates: miroir.univ-lorraine.fr --> Traitement de la dépendance : libevent-2.0.so.5()(64bit) pour le paquet : unbound-1.6.6-1.el7.x86_64 --> Traitement de la dépendance : libunbound.so.2()(64bit) pour le paquet : unbound-1.6.6-1.el7.x86_64 --> Lancement de la transaction de test ---> Le paquet libevent.x86_64 0:2.0.21-4.el7 sera installé ---> Le paquet unbound-libs.x86_64 0:1.6.6-1.el7 sera installé --> Résolution des dépendances terminée Dépendances résolues ================================================================================================================== Package Architecture Version Dépôt Taille ================================================================================================================== Installation : unbound x86_64 1.6.6-1.el7 /unbound-1.6.6-1.el7.x86_64 2.4 M Installation pour dépendances : libevent x86_64 2.0.21-4.el7 base 214 k unbound-libs x86_64 1.6.6-1.el7 base 405 k Résumé de la transaction ================================================================================================================== Installation 1 Paquet (+2 Paquets en dépendance) Taille totale : 3.0 M Taille totale des téléchargements : 619 k Taille d'installation : 4.2 M Is this ok [y/d/N]: y Downloading packages: (1/2): unbound-libs-1.6.6-1.el7.x86_64.rpm | 405 kB 00:00:01 (2/2): libevent-2.0.21-4.el7.x86_64.rpm | 214 kB 00:00:02 ------------------------------------------------------------------------------------------------------------------ Total 239 kB/s | 619 kB 00:00:02 Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : libevent-2.0.21-4.el7.x86_64 1/3 Installation : unbound-libs-1.6.6-1.el7.x86_64 2/3 Installation : unbound-1.6.6-1.el7.x86_64 3/3 Vérification : libevent-2.0.21-4.el7.x86_64 1/3 Vérification : unbound-1.6.6-1.el7.x86_64 2/3 Vérification : unbound-libs-1.6.6-1.el7.x86_64 3/3 Installé : unbound.x86_64 0:1.6.6-1.el7 Dépendances installées : libevent.x86_64 0:2.0.21-4.el7 unbound-libs.x86_64 0:1.6.6-1.el7 Terminé !
Les packages peuvent être désinstallés avec l'argument “remove”, comme indiqué ci-dessous.
[root@srv ~]# yum remove httpd Modules complémentaires chargés : fastestmirror Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet httpd.x86_64 0:2.4.6-80.el7.centos.1 sera effacé --> Traitement de la dépendance : httpd = 2.4.6-80.el7.centos.1 pour le paquet : httpd-manual-2.4.6-80.el7.centos.1.noarch --> Lancement de la transaction de test ---> Le paquet httpd-manual.noarch 0:2.4.6-80.el7.centos.1 sera effacé --> Résolution des dépendances terminée Dépendances résolues ================================================================================================================== Package Architecture Version Dépôt Taille ================================================================================================================== Suppression : httpd x86_64 2.4.6-80.el7.centos.1 @updates 9.4 M Suppression pour dépendances : httpd-manual noarch 2.4.6-80.el7.centos.1 @updates 5.5 M Résumé de la transaction ================================================================================================================== Supprimer 1 Paquet (+1 Paquet en dépendance) Taille d'installation : 15 M Est-ce correct [o/N] : o Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Suppression : httpd-manual-2.4.6-80.el7.centos.1.noarch 1/2 Suppression : httpd-2.4.6-80.el7.centos.1.x86_64 2/2 Vérification : httpd-manual-2.4.6-80.el7.centos.1.noarch 1/2 Vérification : httpd-2.4.6-80.el7.centos.1.x86_64 2/2 Supprimé : httpd.x86_64 0:2.4.6-80.el7.centos.1 Dépendances supprimées : httpd-manual.noarch 0:2.4.6-80.el7.centos.1 Terminé !
Notez que pour supprimer un paquet, tous les autres paquets qui en dépendent seront également supprimés. Pour cette raison, il est recommandé de ne pas utiliser l'option -y pour “assumer” lors de la suppression d'un paquet afin que vous ayez une chance de lire ce qui sera supprimé avant de continuer.
Dans l'exemple ci-dessus, le package httpd-manual que nous avons installé précédemment requiert le package httpd. Par conséquent, lorsque nous supprimons le package httpd, httpd-manual doit également disparaître.
Si vous rencontrez un problème avec un package, vous pouvez facilement le réinstaller avec l'argument de réinstallation.
[root@srv ~]# yum reinstall httpd -y Modules complémentaires chargés : fastestmirror Loading mirror speeds from cached hostfile * base: fr2.rpmfind.net * epel: fr2.rpmfind.net * extras: centos.mirror.fr.planethoster.net * updates: miroir.univ-lorraine.fr Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet httpd.x86_64 0:2.4.6-80.el7.centos.1 sera réinstallé --> Résolution des dépendances terminée Dépendances résolues ================================================================================================================== Package Architecture Version Dépôt Taille ================================================================================================================== Réinstallation : httpd x86_64 2.4.6-80.el7.centos.1 updates 2.7 M Résumé de la transaction ================================================================================================================== Réinstallation 1 Paquet Taille totale des téléchargements : 2.7 M Taille d'installation : 9.4 M Downloading packages: httpd-2.4.6-80.el7.centos.1.x86_64.rpm | 2.7 MB 00:00:16 Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : httpd-2.4.6-80.el7.centos.1.x86_64 1/1 Vérification : httpd-2.4.6-80.el7.centos.1.x86_64 1/1 Installé : httpd.x86_64 0:2.4.6-80.el7.centos.1 Terminé !
Cela revient à effectuer un “yum remove” suivi d'un “yum install”, mais ici, c'est fait dans une commande et la configuration personnalisée n'est pas supprimée, car un “yum remove” supprimera tous les fichiers de configuration gérés par le package.
De plus amples informations sur un paquet peuvent être visualisées avec l'argument “info”. Comme indiqué ci-dessous, cela nous fournit des informations utiles telles que l'architecture, le numéro de version, le numéro de version, la taille totale, ainsi qu'une description de ce que fait réellement le package.
[root@srv ~]# yum info httpd Modules complémentaires chargés : fastestmirror Loading mirror speeds from cached hostfile * base: fr2.rpmfind.net * epel: fr2.rpmfind.net * extras: centos.mirror.fr.planethoster.net * updates: miroir.univ-lorraine.fr Paquets installés Nom : httpd Architecture : x86_64 Version : 2.4.6 Révision : 80.el7.centos.1 Taille : 9.4 M Dépôt : installed Depuis le dépôt : updates Résumé : Apache HTTP Server URL : http://httpd.apache.org/ Licence : ASL 2.0 Description : The Apache HTTP Server is a powerful, efficient, and extensible : web server.
Cela peut être utilisé avant qu'un paquet soit installé ou après l'installation, les mêmes informations seront fournies dans les deux situations.
L'historique yum contient toutes les actions effectuées par la commande yum. Cela nous permet de voir ce qui est arrivé à notre système Linux au fil du temps, et même de défaire, refaire ou annuler une transaction.
[root@srv ~]# yum history Modules complémentaires chargés : fastestmirror ID | Identifiant utilisateur | Date et heure | Action | Modifié ------------------------------------------------------------------------------- 17 | root <root> | 2018-08-31 00:33 | Reinstall | 1 16 | root <root> | 2018-08-31 00:32 | Install | 1 15 | root <root> | 2018-08-31 00:18 | Erase | 2 14 | root <root> | 2018-08-31 00:17 | Install | 3 13 | root <root> | 2018-08-31 00:12 | Install | 4 12 | root <root> | 2018-08-31 00:01 | Install | 1 11 | root <root> | 2018-08-30 23:55 | Install | 1 10 | root <root> | 2018-08-30 23:52 | Erase | 1 9 | root <root> | 2018-08-30 22:45 | Install | 2 8 | root <root> | 2018-08-30 01:11 | Install | 1 7 | root <root> | 2018-08-29 23:52 | Install | 22 6 | root <root> | 2018-08-29 23:51 | Install | 1 5 | root <root> | 2018-08-29 23:44 | Install | 33 4 | root <root> | 2018-08-29 23:17 | Install | 5 3 | root <root> | 2018-08-29 23:06 | I, O, U | 180 EE 2 | root <root> | 2018-08-29 22:55 | I, U | 4 1 | Système <indéfini> | 2018-08-29 22:44 | Install | 300 history list
Les transactions les plus récentes apparaissent en haut de la liste et nous pouvons afficher d'autres informations sur une transaction en spécifiant son ID, comme indiqué ci-dessous.
[root@srv ~]# yum history info 15 Modules complémentaires chargés : fastestmirror ID de transaction : 15 Temps de début : Fri Aug 31 00:18:14 2018 Début de RPMDB : 376:014c46aa9236dc8cf53f117afcd8eb3f8e486348 Temps de fin : 00:18:15 2018 (1 secondes) Fin de RPMDB : 374:7c085904f77a13a5727f37dd1e3063337141ce4d Utilisateur : root <root> Code retour : Réussi Ligne de commande : remove httpd Transaction effectuée avec : Installé rpm-4.11.3-32.el7.x86_64 @base Installé yum-3.4.3-158.el7.centos.noarch @base Installé yum-plugin-fastestmirror-1.1.31-46.el7_5.noarch @updates Paquets modifiés : Supprimé httpd-2.4.6-80.el7.centos.1.x86_64 @updates Supprimé httpd-manual-2.4.6-80.el7.centos.1.noarch @updates history info
La transaction la plus récente portant l'identifiant 15 a donc été utilisée pour supprimer le package httpd. Maintenant, nous pouvons annuler cette transaction si nous le souhaitons, qui devrait installer à nouveau le paquet httpd, car cela annulera la suppression.
[root@srv ~]# yum history undo 15 -y Modules complémentaires chargés : fastestmirror Undoing transaction 15, from Fri Aug 31 00:18:14 2018 Supprimé httpd-2.4.6-80.el7.centos.1.x86_64 @updates Supprimé httpd-manual-2.4.6-80.el7.centos.1.noarch @updates Loading mirror speeds from cached hostfile * base: fr2.rpmfind.net * epel: fr2.rpmfind.net * extras: centos.mirror.fr.planethoster.net * updates: miroir.univ-lorraine.fr Le paquet httpd-2.4.6-80.el7.centos.1.x86_64 est déjà installé dans sa dernière version Résolution des dépendances --> Lancement de la transaction de test ---> Le paquet httpd-manual.noarch 0:2.4.6-80.el7.centos.1 sera installé --> Résolution des dépendances terminée Dépendances résolues ================================================================================================================== Package Architecture Version Dépôt Taille ================================================================================================================== Installation : httpd-manual noarch 2.4.6-80.el7.centos.1 updates 1.3 M Résumé de la transaction ================================================================================================================== Installation 1 Paquet Taille totale des téléchargements : 1.3 M Taille d'installation : 5.5 M Downloading packages: httpd-manual-2.4.6-80.el7.centos.1.noarch.rpm | 1.3 MB 00:00:07 Running transaction check Running transaction test Transaction test succeeded Running transaction Installation : httpd-manual-2.4.6-80.el7.centos.1.noarch 1/1 Vérification : httpd-manual-2.4.6-80.el7.centos.1.noarch 1/1 Installé : httpd-manual.noarch 0:2.4.6-80.el7.centos.1 Terminé !
Il convient également de noter que les installations, mises à jour ou suppressions de paquets sont également consignées dans le fichier /var/log/yum.log, voici un exemple de ce qui est consigné ici.
[root@srv ~]# tail /var/log/yum.log Aug 31 00:12:16 Installed: libxml2-python-2.9.1-6.el7_2.3.x86_64 Aug 31 00:12:17 Installed: yum-utils-1.1.31-46.el7_5.noarch Aug 31 00:17:08 Installed: libevent-2.0.21-4.el7.x86_64 Aug 31 00:17:09 Installed: unbound-libs-1.6.6-1.el7.x86_64 Aug 31 00:17:09 Installed: unbound-1.6.6-1.el7.x86_64 Aug 31 00:18:14 Erased: httpd-manual-2.4.6-80.el7.centos.1.noarch Aug 31 00:18:14 Erased: httpd-2.4.6-80.el7.centos.1.x86_64 Aug 31 00:33:00 Installed: httpd-2.4.6-80.el7.centos.1.x86_64 Aug 31 00:33:27 Installed: httpd-2.4.6-80.el7.centos.1.x86_64 Aug 31 00:42:52 Installed: httpd-manual-2.4.6-80.el7.centos.1.noarch
Par défaut, yum mettra en cache les données dans le répertoire /var/cache/yum, telles que les données de package et de référentiel. Cela accélère la tâche pour qu'il n'ait pas à continuer d'interroger ces informations sur Internet.
Il peut arriver que vous souhaitiez supprimer ces données mises en cache, par exemple si un référentiel contient des packages mis à jour, mais que votre système Linux comporte des données mises en cache incorrectes ou obsolètes, ce qui peut entraîner divers problèmes lors de l'installation d'un package.
[root@srv ~]# yum clean all Modules complémentaires chargés : fastestmirror Nettoyage des dépôts : base epel extras updates Cleaning up everything Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos Cleaning up list of fastest mirrors
Cela supprimera tous les éléments mis en cache, il est possible de spécifier des éléments spécifiques à effacer (tels que les packages, métadonnées, expire-cache, rpmdb ou plugins), mais cela vous fait gagner beaucoup de temps si vous ne savez pas quoi supprimer.
Le cache yum sera automatiquement construit avec le temps lorsque vous effectuerez diverses requêtes telles que l’installation ou la mise à jour de paquets, mais nous avons la possibilité de créer manuellement le cache pour que les actions futures soient plus rapides avec l’argument «makecache».
[root@srv ~]# time yum makecache Loaded plugins: fastestmirror, langpacks base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/12): base/7/x86_64/group_gz | 155 kB 00:00:00 (2/12): extras/7/x86_64/prestodelta | 72 kB 00:00:00 (3/12): extras/7/x86_64/filelists_db | 426 kB 00:00:00 (4/12): extras/7/x86_64/primary_db | 160 kB 00:00:00 (5/12): base/7/x86_64/filelists_db | 6.2 MB 00:00:01 (6/12): extras/7/x86_64/other_db | 652 kB 00:00:00 (7/12): base/7/x86_64/other_db | 2.3 MB 00:00:01 (8/12): updates/7/x86_64/prestodelta | 698 kB 00:00:00 (9/12): base/7/x86_64/primary_db | 5.3 MB 00:00:01 (10/12): updates/7/x86_64/filelists_db | 4.4 MB 00:00:01 (11/12): updates/7/x86_64/primary_db | 7.1 MB 00:00:01 (12/12): updates/7/x86_64/other_db | 61 MB 00:00:07 Determining fastest mirrors * base: centos.mirror.crucial.com.au * extras: centos.mirror.crucial.com.au * updates: centos.mirror.crucial.com.au Metadata Cache Created real 0m40.785s user 0m32.504s sys 0m1.937s
Nous avons la possibilité de lister tous les paquets actuellement installés sur notre système Linux avec «yum list installed». Je n'ai pas inclus la sortie complète ici car j'ai des centaines de paquets installés sur mon système, cependant ce petit extrait de code devrait vous donner une idée de ce à quoi vous attendre.
[root@srv ~]# yum list installed | head -n 15 Installed Packages NetworkManager.x86_64 1:1.0.6-30.el7_2 @anaconda NetworkManager-libnm.x86_64 1:1.0.6-30.el7_2 @anaconda NetworkManager-team.x86_64 1:1.0.6-30.el7_2 @anaconda NetworkManager-tui.x86_64 1:1.0.6-30.el7_2 @anaconda NetworkManager-wifi.x86_64 1:1.0.6-30.el7_2 @anaconda acl.x86_64 2.2.51-12.el7 @anaconda aic94xx-firmware.noarch 30-6.el7 @anaconda alsa-firmware.noarch 1.0.28-2.el7 @anaconda alsa-lib.x86_64 1.0.28-2.el7 @anaconda alsa-tools-firmware.x86_64 1.0.28-2.el7 @anaconda apr.x86_64 1.4.8-3.el7 @base apr-util.x86_64 1.5.2-6.el7 @base audit.x86_64 2.4.1-5.el7 @anaconda ...
Lorsqu'il est transféré dans la commande grep, il devient extrêmement puissant car il nous permet de rechercher un package spécifique pour voir s'il est installé.
[root@srv ~]# yum list installed | grep httpd httpd.x86_64 2.4.6-40.el7.centos.4 @updates httpd-tools.x86_64 2.4.6-40.el7.centos.4 @updates
Dans l'exemple ci-dessus, nous avons appris à lister les paquets actuellement installés sur notre système Linux avec la commande yum, maintenant nous voulons pouvoir interroger un référentiel et répertorier ses packages disponibles à la place.
C'est assez similaire, sauf que nous remplaçons ‘installed’ par ‘available’ pour afficher tous les packages disponibles.
[root@srv ~]# yum list installed | wc -l 343 [root@srv ~]# yum list available | wc -l 8972
Les packages liés entre eux peuvent être regroupés dans un groupe de packages. Cela nous permet d'installer, de mettre à jour ou de supprimer le groupe de paquets qui est réellement composé ou de nombreux autres paquets individuels.
Par exemple, nous pouvons lancer “yum grouplist” pour afficher les groupes disponibles par défaut.
[root@srv ~]# yum grouplist There is no installed groups file. Maybe run: yum groups mark convert (see man yum) Available Environment Groups: Minimal Install Compute Node Infrastructure Server File and Print Server Basic Web Server Virtualization Host Server with GUI GNOME Desktop KDE Plasma Workspaces Development and Creative Workstation Available Groups: Compatibility Libraries Console Internet Tools Development Tools Graphical Administration Tools Legacy UNIX Compatibility Scientific Support Security Tools Smart Card Support System Administration Tools System Management Done
Une fois que nous avons la liste des groupes disponibles, nous pouvons utiliser ‘yum groupinfo’ sur chacun d’eux pour avoir une idée des paquets inclus dans le groupe.
[root@srv ~]# yum groupinfo "Basic Web Server" There is no installed groups file. Maybe run: yum groups mark convert (see man yum) Environment Group: Basic Web Server Environment-Id: web-server-environment Description: Server for serving static and dynamic internet content. Mandatory Groups: +base +core +web-server [root@srv ~]# yum groupinfo "web-server" There is no installed groups file. Maybe run: yum groups mark convert (see man yum) Group: Web Server Group-Id: web-server Description: Allows the system to act as a web server, and run Perl and Python web applications. Mandatory Packages: httpd Default Packages: +crypto-utils +httpd-manual +mod_fcgid +mod_ssl
Bien que nous puissions simplement effectuer une «mise à jour yum» pour mettre à jour tous nos packages installés vers les dernières versions, cela peut ne pas être idéal dans un environnement de production. L'installation de mises à jour de sécurité uniquement lors de l'application des correctifs peut être une exigence de votre environnement et peut être effectuée avec «yum update –security».
[root@srv ~]# yum update --security
install
Installer la dernière version d'un paquetage ou groupe de paquetages en s'assurant que toutes les dépendances soient satisfaites. Si aucun paquetage ne correspond au(x) nom(s) de paquetage fourni(s), on considère qu'il s'agit d'une expression générique du shell (avec des jokers) et toutes les correspondances sont installées.
update
Si aucun nom de paquetage n'est fourni avec la commande, update mettra à jour tous les paquetages actuellement installés. Si on fournit un ou plusieurs noms de paquetage, yum ne mettra à jour que les paquetages indiqués. Lors de la mise à jour des paquetages, yum s'assure que toutes les dépendances soient satisfaites. Si aucun paquetage ne correspond au(x) nom(s) de paquetage indiqué(s), on considère qu'il s'agit d'une expression générique du shell (avec des jokers) et toutes les correspondances sont installées.
Si l'option --obsoletes est présente, yum incluera les paquetages obsolètes dans son analyse - cela rend plus facile les changements de numéro de version des distributions, par exemple, mettre à jour de MaDistributionLinux 8.0 vers MaDistributionLinux 9.
check-update
Vérifier si votre machine a besoin d'une mise à jour, sans la faire. Renvoie un code de retour de 100 si des mises à jours sont disponibles. Renvoie également une liste des paquetages disponibles pour la mise à jour. Renvoie un code de retour 0 si aucune mise à jour n'est nécessaire.
upgrade
Identique à la commande update combinée avec l'option --obsoletes. Voir update pour plus de détails.
remove ou erase
Supprimer du système le(s) paquetage(s) indiqué(s), supprimer également tous les paquetages qui en dépendent.
list
Afficher diverses informations sur les paquetages ; vous trouverez plus de détails sur cette commande dans la section OPTIONS DE LA COMMANDE LIST plus loin.
provides ou whatprovides
Chercher quel paquetage fournit telle fonctionnalité ou tel fichier. Utilisez simplement un nom particulier ou une expression générique shell (avec des jokers) pour afficher la liste des paquetages disponibles ou installés qui fournissent cette fonctionnalité ou ce fichier.
search
Chercher des paquetages dont la description, le résumé, le nom de l'empaqueteur ou le nom du paquetage correspond ou contient la chaîne indiquée. Très pratique pour chercher un paquetage dont vous ne connaissez pas le nom mais avez quelques mots clé s'y rapportant.
info
Afficher la description et le résumé des paquetages disponibles ; prend les mêmes arguments que la commande list (voir la section OPTIONS DE LA COMMANDE LIST plus loin).
clean
Effacer diverses choses qui s'accumulent dans le répertoire cache de yum au fil du temps. Plus de détails dans la section OPTIONS DE LA COMMANDE CLEAN plus loin.
shell
Entrer dans l'interpréteur de commande de yum. Si un nom de fichier est fourni en argument, le contenu de ce fichier est exécuté dans le mode « shell yum ». Voir yum-shell(8) pour plus d'informations.
resolvedep
Afficher les paquetages qui fournissent la (les) dépendance(s) spécifiée(s). Il y a au moins un paquetage affiché par dépendance.
localinstall
Installer un ensemble de fichiers rpm locaux. Si c'est nécessaire, les dépôts actifs seront utilisés pour résoudre les dépendances.
localupdate
Mettre à jour le système avec les fichiers rpm locaux spécifiés. Seuls les fichiers rpm dont une précédente version est installée seront installés, les autres paquetages spécifiés seront ignorés. Si c'est nécessaire, les dépôts actifs seront utilisés pour résoudre les dépendances.
deplist
Afficher une liste de toutes les dépendances et des paquetages qui fournissent ces dépendances pour les paquetages spécifiés.
repolist
Afficher une liste de tous les dépôts configurés. Par défaut, affiche une liste de tous les dépôts actifs.