tl; dr: Я запустил yum update -y, затем на полпути огромного обновления (1,1 ГБ) случайно нажал ctrl + C на полпути. Это все сломало.
Я попытался:
500 yum check all
501 package-cleanup --problems
502 package-cleanup --dupes
503 package-cleanup --cleandupes
504 yum-complete-transaction
505 yum update -y
506 yum update --skip-broken -y
507 yum-complete-transaction --cleanup-only
508 yum update --skip-broken -y
509 yum check all
510 yum clean all
511 yum makecache
512 rpm --rebuilddb
513 yum update
514 package-cleanup
515 package-cleanup --cleandupes
516 package-cleanup --cleandupes --skip-broken
517 yum history
518 yum history undo 78
519 yum history undo 78 --skip-broken
525 package-cleanup --cleandupes
526 package-cleanup --cleandupes --skip-broken
Но безрезультатно. Что еще я могу попробовать? Похоже, это почти все, что предлагает мне попробовать Интернет.
Мне кажется глупым, что yum легко ломается, я имею в виду, насколько часто обновление останавливается на полпути из-за какой-то ошибки? Я думал, что yum - это корпоративное программное обеспечение, также включенное в такие дистрибутивы, как RHEL. Даже Windows знает, как восстановить после сбоя / поломки / отмены обновлений без особого вмешательства пользователя .. Но ну ладно.
Моя система работает под управлением Linux chlorine 3.18.6-200.fc21.x86_64 # 1 SMP, пятница, 6 февраля, 22:59:42 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux (Fedora 21).
Моя основная проблема, похоже, здесь:
--> Finished Dependency Resolution
Error: Trying to remove "systemd", which is protected
Error: Trying to remove "yum", which is protected
** Found 394 pre-existing rpmdb problem(s), 'yum check' output follows:
ModemManager-1.4.4-2.fc21.x86_64 is a duplicate with ModemManager-1.4.0-1.fc21.x86_64
Я еще не перезагружался, и моя система все еще работает нормально.
Любые предложения и идеи приветствуются! Если этот поток не сработает, я, вероятно, переустановлю свою систему.
Я проделал то же самое в системе Fedora 22. Мне не удалось обновить или переустановить ни один из пакетов. Запустив package-cleanup --cleandups, нужно было удалить glibc, который хотел удалить почти все пакеты в системе.
Чтобы решить эту проблему, я выполнил дистрибутивную синхронизацию всех повторяющихся пакетов.
sudo package-cleanup --dupes | perl -pe 's/-\d+.*$//' | sort -u | grep -vP '^Loaded' | xargs sudo dnf distro-sync -y
Затем последовал
sudo dnf upgrade
sudo package-cleanup --cleandupes