Recherche de site Web

4 façons de désactiver ou de verrouiller les mises à jour de paquets dans Yum et DNF


Un gestionnaire de paquets est un logiciel qui permet à un utilisateur d’installer un nouveau logiciel, de mettre à niveau le système ou de mettre à jour un logiciel spécifique, entre autres tâches. Sur les systèmes basés sur Linux, où les logiciels ont souvent de nombreuses dépendances qui doivent être présentes sur le système pour une installation complète, des outils tels que les gestionnaires de paquets deviennent essentiels sur chaque système.

Chaque distribution Linux est livrée avec son gestionnaire de paquets par défaut pour les fonctionnalités mentionnées ci-dessus, mais les plus courantes sont : Yum sur les systèmes RHEL et Fedora (où il est remplacé par DNF à partir de Fedora 22+) et Apt sur les systèmes basés sur Debian.

Si vous êtes à la recherche d’un outil APT pour bloquer ou désactiver certaines mises à jour de paquets spécifiques sur les systèmes Ubuntu/Debian, vous devriez lire cet article.

DNF (Dandified YUM) remplace YUM sur les systèmes Fedora, qui est un autre sur notre liste. S’ils sont explorés correctement, ces gestionnaires de paquets peuvent être utilisés pour les fonctionnalités suivantes :

  • Installation de nouveaux logiciels à partir du référentiel.
  • Résolution des dépendances du logiciel en installant ces dépendances avant d’installer le logiciel.
  • Tenir à jour une base de données des dépendances pour chaque logiciel.
  • Rétrograder la version d’un logiciel existant.
  • Mise à niveau de la version du noyau.
  • Liste des packages disponibles pour l’installation.

Dans ce guide, nous allons explorer quatre méthodes simples pour désactiver ou verrouiller certaines mises à jour de package à l’aide des commandes Yum et DNF.

1. Désactiver définitivement les mises à jour de package à l’aide de l’option d’exclusion

L’un des moyens les plus simples d’empêcher la mise à jour de paquets spécifiques consiste à utiliser l’option exclude dans le fichier de configuration Yum ou DNF, qui indique au gestionnaire de paquets d’éviter de mettre à jour certains paquets.

Ouvrez le fichier de configuration Yum ou DNF.

sudo nano /etc/yum.conf        #Yum Configuration File
sudo nano /etc/dnf/dnf.conf    #DNF Configuration File

Ajoutez la ligne exclude au bas du fichier, suivie des noms de paquets que vous souhaitez bloquer.

exclude=kernel* httpd

Cela empêche le système de mettre à jour tous les paquets liés au noyau et le serveur Web Apache (httpd).

Essayons maintenant d’installer ou de mettre à jour le paquet spécifié et voyons que la commande Yum ou DNF le désactivera lors de son installation ou de sa mise à jour.

sudo dnf install httpd

2. Désactiver temporairement les mises à jour du package à l’aide de l’option d’exclusion

Si vous ne souhaitez pas modifier le fichier de configuration de manière permanente, vous pouvez exclure temporairement des packages spécifiques à l’aide de l’option --exclude dans la ligne de commande lors de l’exécution de la mise à jour Yum ou DNF.

sudo yum update --exclude=nginx php
sudo dnf update --exclude=nginx php

3. Exclusion de packages spécifiques dans les dépôts

Pour tout paquet installé à partir d’une source externe via l’ajout d’un dépôt, il existe un autre moyen d’arrêter sa mise à niveau à l’avenir. Cela peut être fait en modifiant son fichier de configuration repo-name.repo qui est créé dans le répertoire /etc/yum/repos.d/ ou /etc/yum.repos.d.

Ouvrez le fichier de configuration du référentiel.

sudo nano /etc/yum.repos.d/repo-name.repo

Ajoutez la ligne d’exclusion sous la section [repository] :

exclude=package1 package2

Par exemple, si vous souhaitez empêcher la mise à jour du paquet mysql à partir du dépôt epel, ouvrez /etc/yum.repos.d/epel.repo et ajoutez :

exclude=mysql*

Cela bloquera les mises à jour pour mysql à partir de ce dépôt spécifique.

4. Désactiver les mises à jour de package à l’aide de l’option versionlock

Yum et DNF proposent tous deux des plugins qui peuvent verrouiller des versions spécifiques des paquets, empêchant ainsi leur mise à jour et cela se fait à l’aide du plugin versionlock.

Pour Yum :

  • Installer le paquet versionlock : sudo yum install yum-plugin-versionlock
  • Verrouiller une version spécifique du paquet : sudo yum versionlock add httpd
  • Pour afficher tous les paquets verrouillés : sudo yum versionlock list
  • Pour supprimer un paquet du verrou de version : sudo yum versionlock delete httpd

Pour Dnf :

  • Installer versionpackage de verrouillage : sudo dnf install dnf-plugins-core
  • Verrouiller une version spécifique du paquet : sudo dnf versionlock add httpd
  • Pour afficher tous les paquets verrouillés : sudo dnf versionlock list
  • Pour supprimer un paquet du verrou de version : sudo dnf versionlock delete httpd
Conclusion

En utilisant ces quatre méthodes - modification du fichier de configuration Yum ou DNF, utilisation de l’option --exclude dans les commandes, utilisation du plugin versionlock ou configuration des exclusions de référentiel - vous pouvez facilement désactiver ou verrouiller les mises à jour de paquets dans votre système Linux basé sur RPM.

Articles connexes: