Problemas de versão multilinha no CentOS 7

2

Quando tento atualizar o YUM com sudo yum update --exclude=kernel*,python* --skip-broken , obtenho Multilib version problems encontrado. Versões multilibes protegidas:

systemd-libs-219-30.el7_3.7.x86_64!=systemd-libs-219-30.el7_3.6.i686 .

Como posso resolver isso? Eu tenho o CentOS 7.3 e minha arquitetura é x86_64.

Fout:  Multilib version problems found. This often means that the root
      cause is something else and multilib version checking is just
      pointing out that there is a problem. Eg.:

        1. You have an upgrade for systemd-libs which is missing some
           dependency that another package requires. Yum is trying to
           solve this by installing an older version of systemd-libs of the
           different architecture. If you exclude the bad architecture
           yum will tell you what the root cause is (which package
           requires what). You can try redoing the upgrade with
           --exclude systemd-libs.otherarch ... this should give you an error
           message showing the root cause of the problem.

        2. You have multiple architectures of systemd-libs installed, but
           yum can only see an upgrade for one of those architectures.
           If you don't want/need both architectures anymore then you
           can remove the one with the missing update and everything
           will work.

        3. You have duplicate versions of systemd-libs installed already.
           You can use "yum check" to get yum show these errors.

      ...you can also use --setopt=protected_multilib=false to remove
      this checking, however this is almost never the correct thing to
      do as something else is very likely to go wrong (often causing
      much more problems).

      Beschermde multilib-versies: systemd-libs-219-30.el7_3.7.x86_64!=systemd-libs-219-30.el7_3.6.i686
    
por Jeroen Steen 08.04.2017 / 13:57

4 respostas

2

A Yum está reclamando que as versões de 64 bits e 32 bits do RPM para systemd-libs no seu sistema não correspondem.

Você verá que tem a versão 219-30.el7_3. 7 para x86_64 (64 bits) e versão 219-30.el7_3. 6 para i686 (32 bits).

Você pode verificar a versão do pacote para cada arquitetura em seu sistema com este comando:

$ rpm -q systemd-libs
systemd-libs-219-30.el7_3.6.i686
systemd-libs-219-30.el7_3.7.x86_64

Veja se você vê alguma anomalia, como ter duas versões do systemd-libs para o i686 ...

Se as versões corresponderem, o problema pode ser que o yum está tentando atualizar a versão x86_64, mas deixando a versão i686 para trás.

É possível que seu --skip-broken esteja acionando isso de alguma forma, se a versão i686 do pacote for de alguma forma "quebrada" para o yum ...

Também é possível que seu sistema tenha sido reconfigurado para considerar apenas pacotes de 64 bits e não tente mais instalar (ou manter) os de 32 bits ...

Você pode experimentar alguns utilitários do pacote yum-utils para solucionar isso.

Você pode instalá-lo?

$ sudo yum install yum-utils

Se você fizer isso, tente este comando para concluir as transações do yum que foram interrompidas (o que pode ter causado o problema em primeiro lugar):

$ sudo yum-complete-transaction

Você também pode usar o comando package-cleanup . Por exemplo, se parece que você tem pacotes duplicados (várias versões instaladas para o de 32 bits), tente isto:

$ sudo package-cleanup --cleandupes

Espero que isso ajude!

    
por 16.03.2018 / 22:43
0

Problemas como esse geralmente aparecem quando você tem duas versões diferentes de um pacote instalado em seu sistema.

    
por 12.05.2017 / 11:32
0

yum list installed | grep systemd-libs de yum update systemd-libs.i686 de yum reinstall systemd-libs.x86_64

e, em seguida, reinicie o sistema

    
por 16.09.2018 / 23:05
-1

Tente primeiro:

yum install systemd-libs

e depois

yum update --exclude=kernel*,python* --skip-broken
    
por 19.04.2017 / 14:15