web-dev-qa-db-fra.com

erreur yum - le package est un doublon avec

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.

32
Justin

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.

46
user1403360

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:

  • Dans ce cas, j'ai soigneusement examiné la sortie "package-cleanup --dupes" pour vérifier comment générer la liste de désinstallation.
  • J'ai essayé une approche "réinstaller la plus récente" en inversant la liste (awk 'NR% 2 == 0') mais là où beaucoup de paquets n'étaient plus disponibles dans cette version (le serveur a été laissé de cette façon pour Une année).
  • J'ai pensé à supprimer de rpmdb les nouveaux packages, donc la mise à niveau plus tard devrait tout réinstaller, mais après avoir vérifié les fichiers installés sur le système de fichiers, il était clair pour moi que de nouvelles versions étaient en place, avec seulement les entrées rpm plus anciennes toujours dans rpmdb. Votre cas est peut-être différent.
22
Guilherme Monteiro

J'ai pu supprimer tous les doublons en utilisant yum Shell:

  1. Je l'ai d'abord commandé pour supprimer tous les paquets en utilisant remove foo-package-*
  2. Commandez-le ensuite pour installer la version précédente en spécifiant la version exacte install foo-package-3.14.1-5.i386 foo-package-3.14.1-5.x86_64
  3. Validation de la transaction par 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.

9
Hubert Kario

miam réinstaller package-la-dernière-version

2
scriptracer

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

0
micfan