- Вопрос или проблема
- Ответ или решение
- Как исправить поврежденные зависимости DNF на Fedora
- 1. Определение проблемы
- 2. Отключение проблемных репозиториев
- 3. Очистка кэша DNF
- 4. Попробуйте использовать разные зеркала
- 5. Обновите систему
- 6. Проверка сетевого соединения
- 7. Использование проверки зависимости
- Заключение
Вопрос или проблема
Когда я пытаюсь использовать dnf
для обновления своей системы, у меня всегда возникает набор пакетов с поврежденными зависимостями:
Зависимости разрешены.
=============================================================================
Пакет Архитектура Версия Репозиторий Размер
=============================================================================
Пропущены пакеты с поврежденными зависимостями:
kernel-devel x86_64 4.2.5-201.fc22 обновления 9.7 М
libibverbs x86_64 1.1.8-5.el7 ol7_u1_base 55 к
perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 ol7_u0_base 57 к
perl-Time-HiRes x86_64 4:1.9725-3.el7 ol7_u0_base 44 к
qemu-img x86_64 10:1.5.3-86.el7_1.8 ol7_latest 623 к
qemu-kvm x86_64 10:1.5.3-86.el7_1.8 ol7_latest 1.8 М
rdma noarch 7.1_3.17-5.el7 ol7_u1_base 27 к
rdma src 7.1_3.17-5.el7 ol7_u1_base 29 к
С момента обновления до Fedora 22 я получаю этот список поврежденных пакетов, но никогда не предпринимал ничего для их устранения, а теперь, когда я хочу обновиться до Fedora 23, они, похоже, создают проблемы, которые мешают мне завершить обновление.
Как я могу исправить эти пакеты, чтобы зависимости не были нарушены? Я не могу найти ничего полезного в интернете, связанного с этой проблемой, и я никогда не смог нормально освоить DNF, так как Fedora упрощает его использование с помощью старых команд yum
.
Я смог получить более детализированные сообщения об ошибках, используя sudo yum update --best --allowerasing
, хотя я не уверен, что они означают.
Последняя проверка истечения срока действия метаданных выполнялась 0:40:59 назад в субботу, 7 ноября 2015 года, 12:52:55.
Ошибка: пакет fedora-release-workstation-22-1.noarch требует fedora-release = 22-1, но ни один из провайдеров не может быть установлен.
пакет perl-Compress-Raw-Zlib-1:2.061-4.el7.x86_64 требует perl(:MODULE_COMPAT_5.16.3), но ни один из провайдеров не может быть установлен.
пакет qemu-img-10:1.5.3-86.el7_1.8.x86_64 требует libiscsi.so.2()(64bit), но ни один из провайдеров не может быть установлен.
пакет qemu-img-10:1.5.3-86.el7_1.8.x86_64 требует libiscsi.so.2()(64bit), но ни один из провайдеров не может быть установлен.
пакет perl-Time-HiRes-4:1.9725-3.el7.x86_64 требует perl(:MODULE_COMPAT_5.16.3), но ни один из провайдеров не может быть установлен
Это не ошибка DNF, а ваша. Проблема в том, что вы включили репозитории EPEL в Fedora. Я не знаю, зачем вы это сделали, но я довольно уверен, что проблемы исчезнут, когда вы их отключите.
Если вы хотите увидеть, в чем корень проблемы, используйте “dnf -b”, как обсуждается здесь: https://unix.stackexchange.com/a/341334/101059.
Очистка кеша DNF:
Иногда локальный кеш может вызывать проблемы. Очистите кеш DNF, чтобы удалить любые поврежденные файлы.
sudo dnf clean all
Попробуйте другие зеркала:
Проблема может быть связана с конкретными зеркалами. Вы можете настроить DNF на использование различных зеркал или попробовать включить выбор зеркал, отредактировав файлы конфигурации репозитория в /etc/yum.repos.d/
.
Обновите систему:
Убедитесь, что ваша система обновлена, так как могут быть исправления для самого менеджера пакетов.
sudo dnf update --refresh
Проверьте сетевое соединение:
Убедитесь, что ваше сетевое соединение стабильно и не испытывает перебоев, которые могут вызвать сбои при загрузках.
Ответ или решение
Как исправить поврежденные зависимости DNF на Fedora
Если вы столкнулись с проблемой поврежденных зависимостей при использовании DNF на Fedora, не переживайте — это распространенная ситуация, особенно после обновлений системы или изменения репозиториев. В данной статье мы подробно рассмотрим, как можно решить эту проблему, шаг за шагом, чтобы гарантировать стабильность вашей системы.
1. Определение проблемы
Первые сообщения об ошибках могут быть запутанными, поэтому иногда имеет смысл получить более развернутую информацию о зависимостях. Использование команды:
sudo dnf update --best --allowerasing
позволит вам увидеть детальную информацию о том, какие пакеты вызывают конфликты и какие зависимости не могут быть установлены.
2. Отключение проблемных репозиториев
На основании предоставленной информации, одной из основных причин возникновения конфликтов может быть активированный репозиторий EPEL. Если вы внесли изменения в конфигурации репозиториев, вернитесь к ним или отключите ненужные:
sudo dnf config-manager --set-disabled epel
Но не забудьте проверить, действительно ли репозиторий EPEL вам нужен. Если нет, лучше его отключить.
3. Очистка кэша DNF
Иногда кэш может содержать испорченные файлы, что также приводит к проблемам с зависимостями. Очистка кэша DNF может помочь:
sudo dnf clean all
Этот шаг важен, чтобы убедиться, что все данные актуальны.
4. Попробуйте использовать разные зеркала
Проблема также может заключаться в работе конкретных зеркал. Вы можете настроить DNF для использования других зеркал или включить возможность выбора зеркал, отредактировав конфигурационные файлы репозиториев, расположенные в /etc/yum.repos.d/
. Это может улучшить стабильность загрузки пакетов.
5. Обновите систему
Убедитесь, что ваша система обновлена. Иногда новые версии DNF могут включать исправления для ранее известных ошибок:
sudo dnf update --refresh
6. Проверка сетевого соединения
Убедитесь в стабильности вашего сетевого соединения. Проблемы с сетью могут вызвать сбои в загрузке пакетов и зависимостей.
7. Использование проверки зависимости
Для дополнительной диагностики используй команду:
sudo dnf -b
Эта команда может показать вам, какие зависимости не могут быть устранены, и указать, какие пакеты мешают обновлению.
Заключение
Следуя вышеописанным шагам, вы сможете устранить проблемы с поврежденными зависимостями DNF в вашей системе Fedora. Это важный процесс для поддержания стабильной работы системы и обновления до более новых версий. Если проблема сохранится, учитывайте возможность обращения на официальные форумы Fedora или соответствующие сообщества для получения дополнительной помощи.