La mise à niveau de la dissortingbution Fedora avec yum distro-sync échoue avec Erreur: versions multilib protégées

À l'aide de ces instructions, nous effectuons une mise à niveau de yum sur une tranche Slicehost (NB: ce n'est pas un server Rackspace, si l'on pourrait probablement faire une installation standard de la dernière dissortingbution Fedora) de Fedora 15 à 16, ceci suit un apparemment réussie mise à niveau de 14 à 15.

L'installation est standard en dehors d'une installation binary de MySQL 5.6 et nous utilisons la command:

yum -y --releasever=16 --disableplugin=presto distro-sync --exclude=mysql-libs --exclude=perl-DBD-MySQL --skip-broken 

Après plusieurs messages concernant les packages qui seront mis à niveau, le process s'arrête avec ces messages d'erreur:

 Error: Protected multilib versions: dracut-013-18.fc16.noarch != dracut-009-12.fc15.noarch Error: Protected multilib versions: initscripts-9.33-1.fc16.x86_64 != initscripts-9.30.1-1.fc15.x86_64 

Suivi par la suggestion:

 You could try running: rpm -Va --nofiles --nodigest 

L'utilisation de la suggestion ne consortingbue pas, est-ce que quelqu'un pourrait suggérer un moyen de contourner les erreurs?

2 Solutions collect form web for “La mise à niveau de la dissortingbution Fedora avec yum distro-sync échoue avec Erreur: versions multilib protégées”

Fedora n'est vraiment pas destiné à être amélioré de cette façon. Et vous n'avez même pas encore connu le difficile (16-17). Cela dit, j'ai fait cette dizaine de fois et je me suis heurté à presque toutes les choses imaginables qui pourraient être erronées. Voici mes recommandations.

Dans la mesure du possible, la meilleure et la plus rapide façon de le faire est de créer une nouvelle instance de cloud avec le dernier vaisseau de Fedora (17), puis de transférer vos données et votre configuration. Détruisez ensuite l'ancienne instance de nuage. Bien sûr, cela dépend de Rackspace ayant une image d'installation Fedora 17, et je ne sais pas s'ils le font.

J'ai deux scripts shell personnalisés à cet effet, dont l'un copy tous les files de configuration dont j'ai besoin et datatables desservies par l'ancien système et l'autre déballe toutes datatables créées par le premier script puis installe tout packages nécessaires.

Si vous êtes sur la poursuite de ce path de folie, continuez à lire.

L'erreur Protected multilib versions habituellement lorsque vous avez deux versions différentes d'un package sur votre système, et parfois l'une d'entre elles est d'une architecture et l'une est autre (par exemple, l'ancien package est i686 et le nouveau x86_64). Cela peut également se produire si une course précédente de yum a été interrompue et vous avez essayé de faire une autre transaction yum sans reprendre l'interruption. Cela me suggère que votre mise à niveau de Fedora 14 à 15 n'était pas aussi complète que vous l'aviez pensé.

Tout d'abord, arrête d'essayer de mettre à jour vers 16 ou plus jusqu'à ce que vous résolvent ce problème.

Exécutez yum-complete-transaction pour terminer les mises à jour de yum en attente. C'est la solution facile. Si cela corrige le problème, ignorez le rest. Sinon, continuez …

Maintenant, pour chaque package qui lance cette erreur, vérifiez pour voir ce que vous avez installé:

 rpm -q dracut initscripts 

Vous devriez avoir deux ou plusieurs packages listés pour chacun de ces. Supprimez l'un d'eux: si l'un est 32 bit et l'autre 64 bits, supprimez le package 32 bits même s'il est plus récent que le package 64 bits. Sinon, supprimez le package ancien. En fin de count, vous ne devriez avoir qu'un seul de chaque package installé:

 rpm -e dracut-00####.fc## initscripts-#.##-#.fc## 

Si vous ne trouviez qu'une seule version du package, vous devrez la supprimer de la database RPM sans la retirer du système de files (car ils sont requirejs pour le démarrage et l'installation). Par exemple, s'il n'y avait qu'une seule version de dracut:

 rpm -e --nodeps --noscripts --justdb dracut-00####.fc## 

Après cela, vous devriez pouvoir continuer avec yum --releasever=16 distro-sync .

Une fois la synchronisation distro-synchronisée, si vous devez supprimer la seule version d'un package de la database RPM, ne continuez pas avec les instructions Fedora jusqu'à ce que vous la remplacez.

 yum --releasever=16 reinstall dracut 

À ce stade, vous devriez pouvoir continuer avec les instructions de Fedora.

Gardez à l'esprit à l'avenir: Fedora ne conserve que deux versions de version actives à un moment donné. Après cela, les anciens distros peuvent être retirés des miroirs, ce qui rend impossible la mise à jour de cette manière. Donc, vous devriez restr au plus une version derrière. Alternativement, envisagez d'utiliser une dissortingbution plus stable telle que CentOS, de sorte que vous évitez tout particulièrement ce désordre.

On dirait que vous pourriez avoir des packages installés à partir des mises à jour des référentiels et il est maintenant désactivé.

Essayez soit yum ... --enablerepo=updates-testing

Ou, dégradez les mises à jour, testez les packages aux versions de base d'abord.

yum distro-sync

  • Besoin d'installer des applications sur un superordinateur Cent OS qui n'a pas de connection à Internet
  • "Yum clean" se bloque - quoi essayer ensuite?
  • Yum repo server comme cache d'archive
  • rkhunter avertit le changement d'inode mais aucune date de modification de file ne change
  • Yum problèmes de mise à jour sur AWS avec les exigences manquantes et duplicate sendmail
  • Installation de nginx 1.9 sur CentOS7 VPS
  • linux installe sans yum ou gcc
  • Mise à jour de CentOS
  • bash coincé à 3.2-24.el5 (Redhat)
  • Réduire le package Linux à l'aide de Yum
  • Résolution des problèmes de version multilib
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.