Certains dépôts proposent les mêmes paquets ce qui est parfois très ennuyant pour faire les yum update.
Le plugin versionlock permet de préserver un paquet à une version précise. Avec lui fini les tracas du yum update



Prenons un cas concret, le package amsn fourni par extras est en version 0.96, or cette version souffre de quelques bugs très ennuyant, entre autres :
- Pas de sélection de thèmes
- La webcam ne fonctionne pas

En bref, je préfères la version 0.95

Problématique : Si j'installe la version 0.95, lors de mon yum update habituel amsn sera mis à jour vers la version 0.96.
Solution envisageable : yum update --exclude=amsn
Cette solution fonctionne, mais c'est plutôt ennuyant à la longue.
Solution préférable : Installation du plugin versionlock.

1. Installation

Le plugin est disponible dans le dépôt extras. Un simple yum install yum-versionlock suffira.

2. Configuration

La encore rien de très compliqué, il y a 2 fichiers de configuration pour le plugin :
- /etc/yum/pluginconf.d/versionlock.conf : fichier principal de configuration.
- /etc/yum/pluginconf.d/versionlock.list : fichier contenant les packages a exclure lors des mises à jour.

  • Fichier /etc/yum/pluginconf.d/versionlock.conf

Il ne contient que deux lignes

[drpixel@amraam ~]$ cat /etc/yum/pluginconf.d/versionlock.conf
[main]
enabled = 1
locklist = /etc/yum/pluginconf.d/versionlock.list

La ligne enabled = 1 permet bien entendu d'activer le plugin. Pour le désactiver, il suffit de changer le Enabled = 1 en Enabled = 0
La ligne locklist = /etc/yum/pluginconf.d/versionlock.list permet de spécifier le fichier d'exclusion. Par défaut c'est le fichier /etc/yum/pluginconf.d/versionlock.list.

  • Fichier /etc/yum/pluginconf.d/versionlock.list

Ce fichier et inexistant par défaut, il faut le créer (en root).

[root@amraam ~]# touch  /etc/yum/pluginconf.d/versionlock.list

Le fichier doit contenir la liste des packages a exclure, un package avec version et release par ligne. Le plus simple pour remplir ce fichier est de faire rpm -q package >> /etc/yum/pluginconf.d/versionlock.list

[root@amraam ~]# rpm -q amsn >> /etc/yum/pluginconf.d/versionlock.list
                                     

On peut vérifier le contenu du fichier avec cat /etc/yum/pluginconf.d/versionlock.list

[drpixel@amraam ~]$ cat /etc/yum/pluginconf.d/versionlock.list
amsn-0.95-6.fc5.drpixel

Voila, rien de plus simple, amsn restera à cette version dorenavant.

Avec cette méthode, il faut bien entendu que le fichier que l'on souhaite protéger des mises à jour soit déjà installé. .
Sinon on peut procéder de façon manuelle plus manuelle.
NOTA : Ce plugin ne permet pas de protéger les fichiers d'un dépôt mais fige la version d'un package précis. Donc en cas de mise à jour sur le dépôt préféré, il faut mettre à jour le package manuellement ou de désactiver le plugin et de mettre à jour la liste des packages protégés