Yum : faire face au –skip-broken !

Si vous êtes un utilisateur de Red Hat, CentOS ou Fedora, vous avez eu au moins une fois droit à ce joli message, alors que vous tentiez d’installer un paquet  :

Error: Package: ...
...
You could try using --skip-broken to work arrond the problem

Surtout, n’insistez pas et suivez le tuto que je vous ai concocté afin de remettre votre distribution Linux sur deux jambes ! ;+)

Yum history undo

Yum : faire face au --skip-broken !L’historique des commandes YUM est stocké dans la base SQLite /var/lib/yum/history-yyyy-mm-dd.sqlite, où yyyy-mm-dd correspond à la date de création de la base. Vous pouvez d’ailleurs générer une nouvelle base à l’aide de la commande yum history new.

Pour visualiser l’historique, vous disposez de deux méthodes. La 1ère affiche les 20 dernières transactions ; la 2e  montre le détail de la 1ère transaction :

yum history
yum history info 1

Pour revenir à une situation antérieure, il suffit d’annuler les installations effectuées précédemment, en partant de la plus récente vers la plus ancienne. Evitez de revenir à la transaction n°1 !!! ;+)

yum history undo 60
yum history undo 59
...

La gestion des priorités sous Red Hat / CentOS

A l’occasion de la formation de 8 jours que je donne sur Linux, Wilfried a oublié de gérer les priorités au niveau du dépôt EPEL. Le verdict ne s’est pas fait attendre et il a eu droit à un –skip-broken. A sa décharge, le début de la formation fut assez intense. Nous avons alors dû annuler les transactions comme je vous l’ai indiqué ci-dessus, à l’aide de la commande yum history.

Nous avons alors installé le plugin yum-plugin-priorities . L’utilisation de ce plugin est antinomique avec celle de yum-plugin-protectbase.

yum install yum-plugin-priorities

Ensuite, nous avons édité le fichier /etc/yum.conf en y ajoutant dans la section [main], afin d’affecter la priorité la plus faible par défaut au cas où nous omettrions  d’indiquer la priorité au niveau d’un dépôt. La valeur 1 est la priorité la plus forte !

priority=99

J’ai ensuite ajouté le dépôt EPEL (Extra Packages for Enterprise Linux), qui contient les paquets rétroportés de Fedora vers CentOS / Red Hat  :

yum install epel-release

J’ai enfin ajouté le dépôt ELRepo, qui contient les derniers drivers et noyaux disponibles :

yum install elrepo-release
Dépôt CentOS-Base

Je vous recommande la configuration suivante pour le dépôt /etc/yum.repos.d/CentOS-Base.repo :

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
priority=11

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
priority=11

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
priority=12

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
priority=13

Si je commence à 11, c’est pour intercaler d’autres dépôts comme ceux de MariaDB, PostgreSQL, afin de disposer des versions les plus fraîches des éditeurs.

Dépôt EPEL

Concernant le dépôt /etc/yum.repos.d/epel.repo, j’ai affecté une priorité plus basse, de manière à privilégier les paquets de la distribution. 

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
enabled=1
priority=21
Dépôt ELRepo

Pour le dépôt /etc/yum.repos.d/elrepo.repo, je descends la priorité d’un cran supplémentaire !

[elrepo]
name=ELRepo.org Community Enterprise Linux Repository - el7
baseurl=http://elrepo.org/linux/elrepo/el7/$basearch/
 http://mirrors.coreix.net/elrepo/elrepo/el7/$basearch/
 http://jur-linux.org/download/elrepo/elrepo/el7/$basearch/
 http://repos.lax-noc.com/elrepo/elrepo/el7/$basearch/
 http://mirror.ventraip.net.au/elrepo/elrepo/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo.el7
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
enabled=1
priority=31

[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=http://elrepo.org/linux/kernel/el7/$basearch/
 http://mirrors.coreix.net/elrepo/kernel/el7/$basearch/
 http://jur-linux.org/download/elrepo/kernel/el7/$basearch/
 http://repos.lax-noc.com/elrepo/kernel/el7/$basearch/
 http://mirror.ventraip.net.au/elrepo/kernel/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
enabled=1
priority=32

[elrepo-extras]
name=ELRepo.org Community Enterprise Linux Extras Repository - el7
baseurl=http://elrepo.org/linux/extras/el7/$basearch/
 http://mirrors.coreix.net/elrepo/extras/el7/$basearch/
 http://jur-linux.org/download/elrepo/extras/el7/$basearch/
 http://repos.lax-noc.com/elrepo/extras/el7/$basearch/
 http://mirror.ventraip.net.au/elrepo/extras/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-extras.el7
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
enabled=1
priority=33

Vous pouvez maintenant faire vos installations et vos mises à jour en toute sérénité, sans risque de rencontrer un nouveau  « skip broken » .

Lectures complémentaires

CentOS  / Centos Fedora Formateur Centos Formateur Fedora Formateur Linux Formateur Red Hat Linux Red Hat Yum 

Commentaires

bonjour,

Pour Fedora, YUM a été remplacé par DNF depuis la version 22 (on est actuellement à la version 27)

@mathdatech

Vous devriez prendre le temps de lire ce blog. J’utilise Fedora, depuis 2004. Quitte à être précis, la commande yum renvoie vers dnf sous Fedora.

[root@srv2 ~]# cd /usr/bin
[root@srv2 bin]# ll yum
lrwxrwxrwx 1 root root 3 29 nov.  10:48 yum -> dnf

Donc, on s’en branle !

Laisser un commentaire

(requis)

(requis)