No RHEL 7 ao atualizar com YUM depois de algum tempo a transação YUM não foi concluída corretamente pois a conexão com o servidor foi interrompida e a sessão YUM não foi executada na tela.
--> Processing Conflict: firewalld-0.4.4.4-6.el7.noarch conflicts selinux-policy < 3.13.1-118.el7
--> Finished Dependency Resolution
You could try using --skip-broken to work around the problem
** Found 157 pre-existing rpmdb problem(s), 'yum check' output follows:
audit-2.7.6-3.el7.x86_64 is a duplicate with audit-2.6.5-3.el7_3.1.x86_64
audit-libs-2.7.6-3.el7.x86_64 is a duplicate with audit-libs-2.6.5-3.el7_3.1.x86_64
audit-libs-python-2.7.6-3.el7.x86_64 is a duplicate with audit-libs-python-2.6.5-3.el7_3.1.x86_64
bash-4.2.46-29.el7_4.x86_64 is a duplicate with bash-4.2.46-21.el7_3.x86_64
32:bind-libs-9.9.4-51.el7_4.2.x86_64 is a duplicate with 32:bind-libs-9.9.4-50.el7_3.1.x86_64
32:bind-libs-lite-9.9.4-51.el7_4.2.x86_64 is a duplicate with 32:bind-libs-lite-9.9.4-50.el7_3.1.x86_64
32:bind-license-9.9.4-51.el7_4.2.noarch is a duplicate with 32:bind-license-9.9.4-50.el7_3.1.noarch
...
Portanto, a transação não foi concluída e alguns pacotes estão listados em 2 versões.
Neste estado os yum update
relatórios:
# yum update
Loaded plugins: product-id, search-disabled-repos
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
E a transação falha.
Veja a solução como foi possível corrigir esse problema.
Para corrigir o problema, é possível usar o seguinte comando:
Isso diz
yum
para realizar a última transação mais uma vez com oforce-reinstall
parâmetro. O--setopt=protected_multilib=false
pode não ser necessário em todos os casos (no meu foi, por causa do problema do pacote grub2).A transação pode relatar alguns erros nos pacotes listados duas vezes durante o processo, porém ela termina e o estado dos RPMs parece estar correto.
No entanto, o yum ainda reclama de transações inacabadas (mas não falha mais). É seguro removê-los agora com:
A partir de agora o YUM está operacional como antes.