Tous les logiciels d'un système Linux sont divisés en packages qui peuvent être installés, désinstallés, mis à niveau, interrogés et vérifiés. Les systèmes CentOS/RHEL utilisent le Red Hat Package Manager (RPM) pour faciliter l'installation, la mise à niveau et la suppression des progiciels.
CentOS/RHEL fournit également le yum(Yellowdog Updater, Modified) utilitaire, qui fonctionne avec les packages RPM. Lorsque yum installe ou met à jour un package logiciel, il installe ou met également à niveau toutes les dépendances du package. L'utilitaire yum télécharge les en-têtes de package et les packages à partir des référentiels. Les référentiels sont des emplacements de stockage à partir desquels les packages logiciels peuvent être récupérés et installés.
Fichiers de configuration Yum
Le fichier de configuration principal pour yum est /etc/yum.conf . Les fichiers de configuration qui définissent les référentiels se trouvent dans /etc/yum.repos.d annuaire. Voici un exemple de /etc/yum.conf :
# cat /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=3
Les configurations globales sont définies dans la section [main] :
Paramètre | Objectif |
---|---|
répertoire cache | Le répertoire pour stocker les packages téléchargés |
garder cache | Définir sur 0 pour indiquer de supprimer les packages après les avoir installés. |
niveau de débogage | La quantité d'informations enregistrées, de 0 à 10 |
fichier journal | Le fichier journal yum |
exactarch | Lorsqu'il est défini sur 1, yum met à jour les packages uniquement avec des packages de la même architecture. |
obsolètes | Lorsqu'il est défini sur 1, yum remplace les packages obsolètes lors d'une mise à jour. |
gpgcheck | Lorsqu'il est défini sur 1, yum vérifie les signatures GPG pour vérifier l'authenticité des packages. La directive gpgkey spécifie l'emplacement de la clé GPG. |
plugins | Lorsqu'il est défini sur 1, active les plug-ins yum qui étendent les fonctionnalités. |
installonly_limit | Le nombre maximum de versions pouvant être installées simultanément pour un seul paquet |
Dépôts yum
Linux stocke les informations sur chaque référentiel dans un fichier séparé dans le /etc/yum.repos.d annuaire. Voici un exemple :
# ls -lrt /etc/yum.repos.d total 20 -rw-r--r-- 1 root root 733 Jul 27 18:09 rhel7.2.repo -rw-r--r-- 1 root root 358 Nov 5 14:00 rhel7.3.repo
Les fichiers de référentiel définissent les référentiels à utiliser. Chaque fichier de référentiel comprend des spécifications pour plusieurs référentiels associés. Par exemple,
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Les directives dans les fichiers de dépôt incluent :
directives | Objectif |
---|---|
nom | Décrit le dépôt |
baseurl | est l'emplacement du référentiel principal (http://, ftp:// ou file://) |
activé | Lorsqu'il est défini sur 1, yum utilise le référentiel. Le référentiel est désactivé s'il est défini sur 0. |
Les référentiels yum peuvent également être accessibles localement, pas seulement sur Internet. Les référentiels yum locaux sont créés à l'aide de createrepo commande puis en définissant baseurl dans le répertoire local.
CentOS / RHEL 6 :Comment configurer un référentiel yum à l'aide d'un DVD monté localementCentOS / RHEL 7 :Comment configurer un référentiel yum à l'aide d'un DVD monté localement
CentOS / RHEL :Comment créer et héberger un référentiel yum sur httpd
L'utilitaire yum est souvent le moyen le plus rapide d'effectuer des tâches de gestion de packages. Il fournit des fonctionnalités au-delà de celles fournies par rpm et par les outils graphiques de gestion de packages. Il existe de nombreuses commandes yum, mais ce qui suit fournit des exemples de tâches courantes.
Liste des packages
Il existe plusieurs commandes yum pour répertorier les packages dans n'importe quel référentiel activé sur votre système ou installé. Vous pouvez répertorier des types de packages spécifiques et affiner votre liste avec une spécification de package du nom, de l'architecture, de la version ou de la version de n'importe quel package.
Pour répertorier tous les packages de tous les référentiels et tous les packages installés sur votre système, utilisez la commande suivante :
# yum list
Pour lister tous les packages installés sur le système, utilisez la commande suivante :
# yum list installed
Pour répertorier tous les packages disponibles pour être installés dans n'importe quel référentiel activé sur votre système, utilisez la commande suivante :
# yum list available
L'exemple suivant trouve le nom du package auquel appartient un fichier (par exemple, /etc/sysconfig/atd) :
# yum provides /etc/sysconfig/atd at-3.1.13-17.el7.x86_64 : Job spooling tools ...
Vérification des mises à jour
Pour voir quels packages installés sur votre système ont des mises à jour disponibles, utilisez la commande suivante :
# yum check-update
Le nom du package plus l'architecture, la version du package mis à jour et le référentiel (ou
canal ULN) sont affichés. La saisie de la mise à jour de la liste yum renvoie le même résultat.
Mise à jour des packages
Vous pouvez choisir de mettre à jour un seul package, plusieurs packages ou tous les packages à la fois. Si des dépendances du package (ou des packages) ont des mises à jour disponibles, elles sont également mises à jour.
Mise à jour d'un package unique
Pour mettre à jour un seul package, utilisez la syntaxe de commande suivante :
# yum update package_name
Par exemple, pour mettre à jour le package bind-libs, saisissez :
# yum update bind-libs
yum vérifie les dépendances, affiche les dépendances résolues et un résumé de la transaction, invite "Est-ce correct [y/N] “, attend votre réponse, puis télécharge et installe le package et tous les packages dépendants nécessaires. Utilisez yum -y pour contourner l'invite.
Mettre à jour tous les packages
Pour mettre à jour tous les packages et leurs dépendances, saisissez yum update (sans aucun argument) :
# yum update
Installer des packages
Pour installer un nouveau package avec toutes les dépendances de package, utilisez la syntaxe suivante :
# yum install package_name
Par exemple, pour installer le package zsh, saisissez :
# yum install zsh
Mise à jour et installation des noyaux
Vous n'avez pas à vous soucier de la distinction entre l'installation et la mise à niveau d'un paquetage du noyau lorsque vous utilisez yum. yum installe toujours un nouveau noyau, que vous utilisiez yum update ou yum install.
Supprimer des packages
Pour supprimer un package, utilisez la syntaxe suivante :
# yum remove package_name
Par exemple, pour supprimer le package zsh, saisissez :
# yum remove zshExemples de commande "yum history" pour afficher, annuler, refaire, annuler les transactions yum
CentOS / RHEL :Configurer les mises à jour automatiques yum avec le service yum-cron