Как отладить "сломанные зависимости" во время обновления dnf?
При попытке обновить пакеты с помощью dnf
некоторые пакеты пропускаются из-за "нарушенных зависимостей":
$ sudo dnf update
Last metadata expiration check: 0:07:38 ago on Mon Feb 6 12:05:50 2017.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Skipping packages with broken dependencies:
... packages ...
Transaction Summary
================================================================================
Skip 8 Packages
Как я могу найти, в чем проблема на самом деле? Как пакет x
требуется пакет y
в версии z
это не может быть найдено.
Dnf версия: 1.1.10
Операционная система: Fedora 25
2 ответа
Пытаться sudo dnf update --best
Пример вывода:
Error: package vdsm-cli-4.20.0-261.gitabb73a5.fc25.noarch requires vdsm-client = 4.20.0-261.gitabb73a5.fc25, but none of the providers can be installed.
package vdsm-cli-4.20.0-261.gitabb73a5.fc25.noarch requires vdsm-python = 4.20.0-261.gitabb73a5.fc25, but none of the providers can be installed
(try to add '--allowerasing' to command line to replace conflicting packages)
Из документации:
-b, --best
Попробуйте лучшие версии пакетов в транзакциях. В частности, во время обновления dnf, которое по умолчанию пропускает обновления, которые не могут быть установлены по причинам зависимости, коммутатор заставляет DNF рассматривать только самые последние пакеты. При работе с пакетами с нарушенными зависимостями DNF не сможет установить причину, по которой последняя версия не может быть установлена.
Обычно я загружаю проблемный RPM, используяwget
затем попробуйте установить его вручную, используяdnf install PACKAGE
. Обычно это дает мне более подробную информацию о проблемах с зависимостями.