GNU/Linux >> Tutoriels Linux >  >> Linux

10 exemples d'exclusion Yum pour ignorer les packages pour la mise à jour Linux Yum (Comment exclure les mises à jour du noyau Yum)

Lorsque vous effectuez une mise à jour yum, il télécharge la dernière version de tous les packages installés sur votre système, et mettez-les à niveau vers la dernière version.

Vous pouvez être dans une situation où vous ne souhaitez peut-être pas que yum mette à jour automatiquement un (ou plusieurs) package spécifique.

Dans ces situations, utilisez l'option d'exclusion yum comme indiqué dans les exemples ci-dessous.

1. Exclure un seul package à l'aide de l'option -x

Par exemple, sur ce système, nous utilisons PHP 5.1, et l'application php personnalisée exécutée sur ce système n'a pas encore été testée avec d'autres nouvelles versions de PHP.

# rpm -q php
php-5.1.0-27.el6_5.x86_64

Ainsi, dans ce cas, lorsque nous effectuons une mise à jour, nous souhaitons exclure un seul package spécifique, qui est php. Comme nous le voyons ci-dessous, ce qui suit indique que le package php sera mis à jour vers la version 5.3.3 lorsque nous exécuterons la commande "yum update".

# yum check-update php
php.x86_64    5.3.3-40.el6_6      updates

Ce qui suit exclura un seul package (php) lors de la mise à jour de yum.

# yum -x php update

2. Exclure plusieurs packages à l'aide de l'option -x

Vous pouvez exclure plusieurs packages en spécifiant plusieurs options -x comme indiqué ci-dessous :

yum -x php -x httpd update

Vous pouvez également exclure plusieurs packages en spécifiant la liste des packages séparés par une virgule. Ce qui suit se comportera exactement comme ci-dessus.

yum -x php,httpd update

3. Exclure plusieurs packages (par exemple, les packages du noyau) à l'aide de caractères génériques

Dans la plupart des situations, vous ne voudrez peut-être pas que yum update mette automatiquement à jour le noyau.

Avant de faire la vraie mise à jour de yum, vous pouvez effectuer yum check-update, qui affichera tous les packages qu'il mettra à jour pendant la mise à jour de yum.

Comme vous le voyez ci-dessous, dans cet exemple, il y a trois packages liés au noyau qui seront mis à jour par yum update.

# yum check-update | grep -i kernel
kernel.x86_64            2.6.32-504.1.3.el6  updates
kernel-firmware.noarch   2.6.32-504.1.3.el6  updates
kernel-headers.x86_64    2.6.32-504.1.3.el6  updates

Au lieu de spécifier tous les noms de packages individuels dans la liste d'exclusion -x, nous pouvons simplement utiliser les caractères génériques du shell glob comme indiqué ci-dessous. Ce qui suit exclura tous les packages liés au noyau qui commenceront à être mis à niveau pendant la mise à jour de yum.

yum -x kernel* update

4. Plusieurs listes de caractères génériques dans l'option -x

Vous pouvez également spécifier plusieurs listes de caractères génériques dans l'option -x.

Comme vous le voyez ci-dessous, ce qui suit indique qu'il existe plusieurs packages php qui seront mis à jour lors de la prochaine mise à jour de yum.

# yum check-update | grep -i php
php.x86_64         5.3.3-40.el6_6   updates
php-cli.x86_64     5.3.3-40.el6_6   updates
php-common.x86_64  5.3.3-40.el6_6   updates
php-xml.x86_64     5.3.3-40.el6_6   updates

Si vous souhaitez exclure tous les packages liés à php et au noyau lors de la prochaine mise à jour de yum, vous pouvez utiliser ce qui suit. Veuillez noter que vous devez utiliser ‘ ‘ dans cet exemple.

yum -x 'php*' -x 'kernel*' update

5. Utiliser –exclude au lieu de -x

Vous pouvez également utiliser –exclude au lieu de -x comme indiqué ci-dessous :

yum --exclude php update
yum --exclude httpd update
yum --exclude kernel update

yum -exclude php*,httpd*,kernel* update

6. Exclure des packages à l'aide du fichier yum.conf

Au lieu de spécifier les packages à exclure dans la ligne de commande, vous pouvez les spécifier dans le fichier /etc/yum.conf.

Par exemple, pour exclure tous les packages php, httpd et kernel à exclure de la mise à jour yum, ajoutez la ligne suivante :

exclude=php* httpd* kernel*

Ou exécutez la commande suivante :

echo "exclude=php* httpd* kernel*" >> /etc/yum.conf

7. Utiliser une liste séparée par des virgules

Vous pouvez également exclure plusieurs packages en spécifiant la liste des packages génériques séparés par une virgule. Ce qui suit se comportera exactement comme ci-dessus.

yum -x php*,kernel* update

Pour être cohérent avec la façon dont nous avons montré les autres exemples en utilisant l'option -x ci-dessus, vous pouvez également utiliser une virgule (au lieu d'un simple espace) pour séparer les multiples packages comme indiqué ci-dessous :

# vi /etc/yum.conf
exclude=php*,httpd*,kernel*

8. Exclure le paramètre dans le fichier de dépôt personnalisé

Au lieu de spécifier le paramètre d'exclusion dans le fichier yum.conf principal, vous pouvez également le spécifier dans le fichier de référentiel individuel.

Par exemple, si vous avez installé mongodb, vous aurez mongodb.repo sous le répertoire /etc/yum.repos.d. Vous pouvez spécifier la liste des packages exclus pour le référentiel mongodb dans ce fichier mongodb.repo.

# vi /etc/yum.repos.d/mongodb.repo
exclude=mongo*

9. Simuler Yum Exclude Check à l'aide de check-update (Dry-run -x)

Vous pouvez également spécifier l'option -x avec check-update. Cela vous aide à vérifier si l'option -x que vous avez spécifiée dans la ligne de commande ou dans le fichier yum.conf fonctionne comme prévu.

Par exemple, ce qui suit indique que le noyau sera mis à jour lors de la mise à jour de yum.

# yum check-update | grep -i kernel
kernel.x86_64                        2.6.32-504.1.3.el6                  updates
kernel-firmware.noarch               2.6.32-504.1.3.el6                  updates
kernel-headers.x86_64                2.6.32-504.1.3.el6                  updates

Ce qui suit indique que l'indicateur -x fonctionnera comme prévu car il n'a rien renvoyé dans le résultat.

# yum -x kernel* check-update | grep -i kernel

Par exemple, disons que la ligne d'exclusion suivante est présente dans le fichier yum.conf.

# grep exclude /etc/yum.conf
exclude=php*,httpd*,kernel*

Ensuite, ce qui suit indique que la liste d'exclusion spécifiée dans le /etc/yum.conf ci-dessus fonctionnera comme prévu car la mise à jour de la vérification n'a pas montré ces packages (y compris le noyau) dans la sortie suivante.

# yum check-update | egrep 'php|httpd|kernel'

10. Ignorer le fichier Exclure du fichier yum.conf

Si vous souhaitez désactiver les exclusions mentionnées dans le fichier yum.conf. Par exemple, si vous ne souhaitez pas que la mise à jour de yum prenne en compte la liste d'exclusion spécifiée dans le fichier yum.conf, vous pouvez utiliser l'option –disableexcludes à partir de la ligne de commande.

Dans notre exemple précédent, nous avons exclu les packages php, httpd et kernel à mettre à jour par la mise à jour yum.

Mais, si vous voulez que yum ignore cette liste d'exclusion (c'est-à-dire désactiver l'exclusion) et continuer à mettre à niveau php, httpd et le noyau dans le cadre de la commande de mise à jour régulière de yum, exécutez ce qui suit :

yum --disableexcludes=all update

Voici les trois valeurs possibles que vous pouvez spécifier pour désactiver les exclusions

  • tous Désactiver tous les exclusions
  • main Désactiver les exclusions spécifiées dans la section principale du fichier yum.conf
  • repoid Désactiver les exclusions spécifiées pour l'ID de référentiel donné

Si vous souhaitez désactiver les exclusions uniquement pour un référentiel personnalisé spécifique, vous pouvez spécifier l'ID de référentiel (qui est la 1ère colonne de la commande yum repolist, comme indiqué ci-dessous).

# yum repolist
repo id   repo name           status
mongodb   MongoDB Repository    240
base      CentOS-6 - Base     6,518
extras    CentOS-6 - Extras      35
updates   CentOS-6 - Updates    315

Ce qui suit désactivera (ignore) la liste d'exclusion spécifiée dans le fichier mongodb.repo sous le répertoire /etc/yum.repos.d.

yum --disableexcludes=mongodb update

Linux
  1. Comment configurer les mises à jour automatiques du noyau sans redémarrage sur le serveur Linux

  2. 15+ exemples pour la commande yum update

  3. Comment utiliser les exemples de verrouillage C Mutex pour la synchronisation des threads Linux

  4. 15 exemples de commandes aptitude pour la gestion des paquets sous Linux

  5. Exemples de commande yum sous Linux

Comment installer les mises à jour sur CentOS 7

Comment configurer les mises à jour automatiques du noyau sous Linux

Différentes façons de mettre à jour le noyau Linux pour Ubuntu

Comment configurer les mises à jour automatiques du noyau sous Linux

15 Exemples de commandes Linux Yum - Installer, désinstaller, mettre à jour des packages

Comment puis-je générer une couverture de code pour les packages Swift sous Linux ou OS X ?