Lorsque j'essaie d'exécuter yum update
sur une boîte CentOS 6.3, je reçois des erreurs et dit d'exécuter yum check
. La sortie de yum check
est:
➜ ~ yum check
Loaded plugins: fastestmirror
glibc-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-2.12-1.107.el6_4.4.x86_64
glibc-common-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-common-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-devel-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 has missing requires of glibc-headers = ('0', '2.12', '1.107.el6_4.5')
iputils-20071127-17.el6_4.2.x86_64 is a duplicate with iputils-20071127-17.el6_4.x86_64
nspr-4.9.5-2.el6_4.x86_64 is a duplicate with nspr-4.9.2-1.el6.x86_64
nss-3.14.3-4.el6_4.x86_64 is a duplicate with nss-3.14.0.0-12.el6.x86_64
nss-softokn-3.14.3-3.el6_4.x86_64 is a duplicate with nss-softokn-3.12.9-11.el6.x86_64
nss-util-3.14.3-3.el6_4.x86_64 is a duplicate with nss-util-3.14.0.0-2.el6.x86_64
tzdata-2013g-1.el6.noarch is a duplicate with tzdata-2013c-2.el6.noarch
2:xinetd-2.3.14-39.el6_4.x86_64 is a duplicate with 2:xinetd-2.3.14-38.el6.x86_64
Error: check all
Une idée de comment réparer ces paquets? J'ai essayé yum reinstall xinetd tzdata nss-util nss-softokn nss nspr iputils glibc glibc-common glibc-devel
mais a obtenu:
Erreur: problèmes de version Multilib trouvés. Cela signifie souvent que la cause première est autre chose et la vérification de la version multilib indique simplement qu'il y a un problème.
Pour moi, il semble que vous ayez redémarré votre ordinateur (ou qu'il s'est écrasé) pendant que vous étiez en train de mettre à niveau les packages. Donc, les nouveaux packages ont été installés, mais les anciens packages n'ont pas été supprimés.
Regardez d'abord si vous avez des transactions incomplètes avec: yum-complete-transaction
Si cela ne vous aide pas, jetez un œil à l'outil de nettoyage de package qui fait partie du package yum-utils.
package-cleanup --dupes liste les packages en double
package-cleanup --cleandupes supprime les packages en double
Mais soyez prudent avec la commande et créez une sauvegarde avant de supprimer les doublons.
C'est ainsi que j'ai réparé un serveur CentOS 7 avec 471 dupes.
J'ai d'abord dû installer des utilitaires miam:
yum install yum-utils
J'ai essayé la transaction yum-complete et d'autres trucs sans chance, j'ai abandonné la transaction avec:
yum-complete-transaction --cleanup-only
Ensuite, j'ai reçu une liste triée de packages dupliqués afin que je puisse identifier les anciennes versions pour supprimer le filtrage des lignes paires et impaires plus tard:
package-cleanup --dupes | sort -u > dupes.out
Ensuite, j'ai obtenu une liste de désinstallation de ce fichier trié de cette façon:
cat dupes.out | grep -v 'Loaded plugins:' | sort -u | awk 'NR % 2 == 1' > uninstall.in
Ensuite, j'ai supprimé de la base de données rpm les anciennes versions:
for f in `cat uninstall.in`; do rpm -e --nodeps -f --justdb $f; done
Enfin, je pouvais continuer la mise à niveau régulière du système:
yum upgrade
Certaines choses à faire attention:
J'ai pu supprimer tous les doublons en utilisant yum Shell
:
remove foo-package-*
install foo-package-3.14.1-5.i386 foo-package-3.14.1-5.x86_64
run
Après cela, les doublons avaient disparu et je pouvais mettre à jour le système vers les paquets actuels sans problème et sans introduire de nouveaux doublons.
Cela fonctionne même pour les packages système comme nss
ou yum
.
miam réinstaller package-la-dernière-version
Il y a quelques mois, j'ai également rencontré ce problème après la mise à niveau de mon Fedora.
J'ai également essayé le package-cleanup utilitly et il a commencé à supprimer les bibliothèques requises rendant mon poste de travail inutilisable. Heureusement, j'ai pu réinstaller Fedora sans supprimer ma partition domestique.
Hier, le même problème s'est produit et je l'ai corrigé en supprimant l'ancienne version du doublon.
Par exemple: j'ai obtenu ces doublons: oxygène-icône-thème-4.8.3-1.fc16.noarch est un doublon avec oxygène-icône-thème-4.8.2-1.fc16.noarch sane-backends-libs-1.0. 22-10.fc16.i686 est un doublon avec sane-backends-libs-1.0.22-8.fc16.i686
Ce que j'ai fait, c'est que j'ai utilisé le 'yum remove sane-backends-libs-1.0.22-8.fc16.i686' et ensuite une mise à jour yum.
Tout fonctionne parfaitement.
J
depuis http://forums.fedoraforum.org/showthread.php?t=268328