dnf travou e tem erros de transação agora

2

Eu estava executando um dnf update no meu sistema Fedora 22, quando o Gnome travou, quebrando a execução de dnf . Agora, ao tentar novamente, recebo este erro:

The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/share/licenses/libpng/LICENSE from install of libpng-2:1.6.19-1.fc22.i686 conflicts with file from package libpng-2:1.6.16-3.fc22.x86_64
  file /usr/share/man/man5/png.5.gz from install of libpng-2:1.6.19-1.fc22.i686 conflicts with file from package libpng-2:1.6.16-3.fc22.x86_64
  file /usr/share/doc/libgpg-error/README from install of libgpg-error-1.21-1.fc22.i686 conflicts with file from package libgpg-error-1.17-2.fc22.x86_64
  [... many more ...]
  file /usr/share/doc/libgpg-error/AUTHORS from install of libgpg-error-1.21-1.fc22.i686 conflicts with file from package libgpg-error-1.17-2.fc22.x86_64
  file /usr/share/doc/pcre/NEWS from install of pcre-8.38-1.fc22.i686 conflicts with file from package pcre-8.37-4.fc22.x86_64
  file /usr/share/doc/pcre/ChangeLog from install of pcre-8.38-1.fc22.i686 conflicts with file from package pcre-8.37-4.fc22.x86_64

Error Summary
-------------

Como posso forçar o dnf a continuar instalando as novas versões?

    
por Bart Friederichs 11.01.2016 / 16:28

2 respostas

1

Parece que você tem um sistema multilib - x86_64 com pacotes i686 também instalados. Muitas vezes, esses pacotes compartilham arquivos, o que não é problema, desde que sejam exatamente idênticos. Parece que aqui você tem uma arquitetura atualizada, mas não a outra, e um arquivo compartilhado mudou.

A maneira mais fácil de sair disto é remover os pacotes i686. Neste caso,

sudo dnf remove libpng.i686 libgpg-error.i686 pcre.i686

deve fazer isso. Ele também pode remover um monte de dependências i686, o que é bom. Você sempre pode colocá-los de volta. Faça isso e, em seguida, atualize e, em seguida, coloque de volta os programas de 32 bits de que você realmente precisa.

    
por 13.01.2016 / 04:23
0

Eu usei rpm para forçar a atualização, sem primeiro remover os pacotes i686. dnf útil salva os arquivos RPM em /var/cache/dnf/updates-<tx-id>/packages/ :

sudo rpm -i --force /var/cache/dnf/updates-<tx-id>/packages/<package>.rpm
    
por 30.12.2016 / 10:53