Вероятно, у меня закончилась память, когда я пытался обновить пакеты в своей системе CentOS. Теперь, когда я пытаюсь запустить обновления, он завис:
Error: Package: glibc-devel-2.17-157.el7_3.5.x86_64 (@updates)
Requires: glibc-headers = 2.17-157.el7_3.5
Removing: glibc-headers-2.17-157.el7_3.5.x86_64 (@updates)
glibc-headers = 2.17-157.el7_3.5
Updated By: glibc-headers-2.17-196.el7.x86_64 (base)
glibc-headers = 2.17-196.el7
You could try using --skip-broken to work around the problem
** Found 75 pre-existing rpmdb problem(s), 'yum check' output follows:
audit-2.6.5-3.el7_3.1.x86_64 has missing requires of audit-libs(x86-64) = ('0', '2.6.5', '3.el7_3.1')
Похоже, есть много повторяющихся пакетов. Я попытался отменить обновление с помощью yum history undo 48
но выдает много сообщений «Не удалось перейти на более раннюю версию: этот или тот-пакет.x86-64». Так что это не помогло. Я также пробовал:
package-cleanup --cleandupes
Он просит удалить 50 пакетов, но приводит к:
ERROR with transaction check vs depsolve:
systemd = 219-42.el7_4.1 is needed by (installed) systemd-sysv-219-42.el7_4.1.x86_64
systemd = 219-42.el7_4.1 is needed by (installed) systemd-sysv-219-42.el7_4.1.x86_64
openssh = 7.4p1-12.el7_4 is needed by (installed) openssh-clients-7.4p1-12.el7_4.x86_64
openssh = 7.4p1-12.el7_4 is needed by (installed) openssh-clients-7.4p1-12.el7_4.x86_64
iptables = 1.4.21-18.0.1.el7.centos is needed by (installed) iptables-services-1.4.21-18.0.1.el7.centos.x86_64
Complete!
(1, [])
Я не знаю, как это исправить. Наиболее важно то, что время простоя ограничено, и я могу регулярно устанавливать обновления (поскольку он используется в качестве сервера). Я надеюсь, что кто-то может предложить некоторые шаги для решения этих проблем с зависимостями.
uname -a
Linux host.example.com 3.10.0-123.8.1.el7.x86_64 #1 SMP Mon Sep 22 19:06:58 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Возможно, что некоторые пакеты были установлены, но старые еще не удалены, и «транзакция» не завершилась, поэтому вы находитесь в странном состоянии, когда package1 слишком старый, чтобы поддерживать package2.
У меня было что-то подобное, но только на одной упаковке. Он только что сказал мне systemd conflicts with dracut-033-502.el7
(yum check
также сообщил о множестве повторяющихся пакетов).
Чтобы решить эту проблему, я проверил версии дракута:
rpm -vqa | grep dracut
... а затем откатился до предыдущей версии, удалив самую старшую версию. Это избавило от конфликтующего пакета. С тех пор:
package-cleanup --dupes
... избавился от дубликатов, а затем наконец:
yum update
... чтобы все обновить и исправить все ошибки.