Назад | Перейти на главную страницу

Исправление неудачного обновления yum: невозможно удалить дубликаты

Я выполнял рутину yum update когда он начинает выдавать поток «нефатальных» ошибок. Он жаловался, что машине не хватает памяти. Тем не менее yum не счел нужным останавливать этот поезд.

Итак, когда это было сделано, я запустил еще один yum update Чтобы проверить, он перечислил более 100 пакетов, которые являются дубликатами. Видимо, из-за нехватки памяти yum не могла удалить дубликаты. После некоторых поисков я нашел package-cleanup --cleandupes команда. Это аккуратно перечислило дубликаты и предложило их удалить. ДА!

Моя радость была недолгой, когда она сопровождалась ошибкой: iptables = 1.4.21-34.el7 is needed by (installed) iptables-services-1.4.21-34.el7.x86_64

Хотя это правда, дубликат, который он указал для удаления, был версией 1.4.21-33.el7.

При попытке вручную: rpm -e --justdb iptables-services-1.4.21-33.el7.x86_64 он снова говорит:

error: Failed dependencies: iptables = 1.4.21-34.el7 is needed by (installed) iptables-services-1.4.21-34.el7.x86_64

Кажется, он не понимает, что я хочу удалить версию «33», а не «34». Как я могу это решить?

Хорошо, попробуем еще несколько вариантов принудительного удаления дубликатов (которые, кстати, rpm не поддерживает, работает только для установки и обновления пакетов) наткнулся на --removenewestdupes вариант для package-cleanup команда. Фактически это решает проблему с другой стороны, прося удалить новее а не более старые версии.

Выдача:
package-cleanup --cleandupes --removenewestdupes

... прошло без ошибок. После этого я мог сделать yum update чтобы правильно обновить старые пакеты, и все снова вернулось на круги своя.