Вопрос или проблема
Когда я использую команду
apt --fix-broken install
я получаю следующие ошибки:
Чтение списков пакетов… Готово
Составление дерева зависимостей
Чтение информации о состоянии… Готово
Исправление зависимостей… не удалось.
Следующие пакеты имеют неудовлетворенные зависимости:
libhogweed4 : Зависит от: libnettle6 (= 3.3-1+b1), но установлена 3.4-1
mana-toolkit : Зависит от: dnsmasq, но он не может быть установлен
E: Ошибка, pkgProblemResolver::Resolve создал сломанные зависимости, это может быть вызвано удерживаемыми пакетами.
E: Невозможно исправить зависимости
Я не могу установить ничего из-за этого.
Что я могу сделать?
Это не простая проблема, и я столкнулся с похожей совсем недавно. Я решил ее, запустив (вариация на):
dpkg --force-all --configure -a
dpkg --purge --force-depends libnettle6
(сравните с этим постом)apt --fix-broken install
apt-get -f install
Вышеуказанное решение решило только часть проблемы в моем случае, мне пришлось удалить все неисправные пакеты. Моя проблема была следующей:
root@MrApollos:/var/cache/apt/archives/partial# apt upgrade
Чтение списков пакетов... Готово
Составление дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Вам, возможно, стоит выполнить 'apt --fix-broken install' чтобы исправить это.
Следующие пакеты имеют неудовлетворенные зависимости:
kali-desktop-base : Зависит от: kali-themes-common (= 2021.2.3), но установлена 2021.2.1
kali-themes : Зависит от: kali-themes-common (= 2021.2.3), но установлена 2021.2.1
E: Неудовлетворенные зависимости. Попробуйте 'apt --fix-broken install' без пакетов (или укажите решение).
в моем случае мне пришлось выполнить
dpkg --force-all --configure -a
dpkg --purge --force-depends kali-desktop-base
, чтобы удалить первый неисправный пакет
dpkg --purge --force-depends kali-themes
, чтобы удалить второй неисправный пакет
dpkg --purge --force-depends kali-themes-common
, чтобы удалить третий неисправный пакет
затем apt-get -f install
и наконец apt update & apt-upgrade
Перезагрузите, закройте другие (автоматические) обновления, которые работают в фоновом режиме, затем попробуйте следующее:
sudo apt-get install -f
Я решил это, очистив кэш apt перед выполнением исправления.
$ sudo apt clean
$ sudo apt autoclean
$ apt --fix-broken install
Ответ или решение
Для решения проблемы с зависимостями, возникающей при выполнении команды apt --fix-broken install
, вы можете следовать описанным ниже шагам. Эти шаги помогут вам устранить проблему с незавершёнными зависимостями и конкретными пакетами.
1. Обновление списков пакетов
Сначала рекомендуется обновить списки пакетов. Введите следующую команду в терминале:
sudo apt update
2. Использование команды apt --fix-broken install
Попробуйте снова выполнить команду для исправления поломанных зависимостей:
sudo apt --fix-broken install
Если это не решит проблему и вы получите аналогичные ошибки, переходите к следующему шагу.
3. Принудительная конфигурация пакетов
В случае, если предыдущая команда не помогла, попробуйте принудительно сконфигурировать пакеты:
sudo dpkg --configure -a
4. Удаление проблемных пакетов
Если вы продолжаете сталкиваться с ошибками, вам нужно будет удалить конфликтующие пакеты. Определите, какие пакеты вызывают проблемы, и удалите их. Например:
sudo dpkg --purge --force-depends libnettle6
Если у вас есть другие проблемные пакеты, такие как kali-desktop-base
и kali-themes
, выполните команды для их удаления:
sudo dpkg --purge --force-depends kali-desktop-base
sudo dpkg --purge --force-depends kali-themes
sudo dpkg --purge --force-depends kali-themes-common
5. Повторная установка зависимостей
После удаления проблемных пакетов выполните команды для исправления состояний пакетов:
sudo apt-get -f install
6. Очистка кеша
Иногда очистка кеша помогает решить проблемы. Введите следующие команды:
sudo apt clean
sudo apt autoclean
7. Обновление системы
После выполнения всех перечисленных шагов попробуйте обновить систему:
sudo apt update && sudo apt upgrade
8. Перезагрузка
Если всё прошло успешно, перезагрузите систему, чтобы убедиться, что изменения вступили в силу:
sudo reboot
Заключение
Следуя этим шагам, вы сможете устранить проблемы с зависимостями, возникающие при использовании apt
. Если проблема остаётся, возможно, стоит проверить наличие удерживаемых пакетов с помощью команды:
dpkg --get-selections | grep hold
Это поможет вам определить, какие пакеты удерживаются и мешают установке новых версий.