Во время установки программ с помощью пакетного менеджера apt в любом из дистрибутивов, использующих этот пакетный менеджер, вы можете столкнуться с ошибкой, что у вас зафиксированы сломанные пакеты. Это пакеты, которые не установились полностью потому что им не хватает зависимостей или процесс установки был по какой-либо причине прерван.
В этой статье мы рассмотрим что делать с такой ошибкой, как её исправить, а также я дам ссылки на другие материалы на сайте, которые помогут справится с проблемой.
Содержание статьи
Как исправить у вас зафиксированы сломанные пакеты?
1. Обновите списки пакетов
Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:
sudo apt update --fix-missing
2. Установите битые пакеты
После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:
sudo apt install -f
3. Очистите лишние пакеты
Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:
sudo apt clean
Затем:
sudo apt autoremove
Утилита отобразит список всех битых пакетов, которые не установлены, вы можете попытаться их удалить с помощью команды:
sudo dpkg --remove -force --force-remove-reinstreq имя_пакета
4. Используйте dpkg
Вместо apt вы можете использовать команду dpkg чтобы посмотреть какие пакеты вызывают проблему. Просто выполните:
sudo dpkg --configure -a
Команда покажет проблемные пакеты, а потом вы сможете их удалить той же командой:
sudo dpkg --remove -force --force-remove-reinstreq имя_пакета
5. Разрешите зависимости
Битые пакеты чаще всего появляются из-за того, что пакетный менеджер не может найти для них нужные зависимости. Если вам всё же очень нужно установить такой пакет, просто разрешите эти зависимости. Для этого можно скачать и установить их вручную или если вы уверенны, что зависимости в пакете указаны неверно, можно скачать его распаковать и удалить мешающие зависимости. Подробнее об этом читайте в этой статье.
Выводы
В этой небольшой статье мы рассмотрели что делать если в вашей системе появились битые пакеты и как их исправить. Здесь решение проблемы очень сильно зависит от вашей ситуации, но здесь приведены основные варианты решения, которые должны помочь вернуть пакетный менеджер к работе. Иногда рекомендуют удалить пакет вручную из базы данных dpkg /var/lib/dpkg/status, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.
Вот почему я использую Fedora с DNF, за 5 лет использования даже не припомню случаев некорректной работы DNF. APT в Дебиан подобных дистрибутивах это сплошное разочарование.
Если бы все так было просто с зависимостями, что их через форсе принудительно установить, то это был бы не Линукс. Ниче, что система после таких манипуляций не работает? После ваших советов, новичек "уложит" систему точно.
Согласен. С Fedora бубен уже покрылся пылью... Чего все с этой Ubunto'й носятся...?..?
dzentoo? это у меня на матунту бубен плесенью покрылся.
А ты говоришь не о убунту, а Gnome3. Мне его нескончаемые проблемы неведомы, Gnome2 - до сих пор рулит
Ничего не помогло. Постоянно пишет, что сломаны пакеты. к примеру хочу установить: apt-get install mariadb-server. Делаю как вы пишите.
Следующие пакеты имеют неудовлетворённые зависимости:
mariadb-server : Зависит: mariadb-server-10.1 (>= 1:10.1.29-6) но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@user-All-Series:~# sudo apt update --fix-missing
Сущ:1 http://lt.archive.ubuntu.com/ubuntu bionic InRelease
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Все пакеты имеют последние версии.
root@user-All-Series:~# sudo apt install -f
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@user-All-Series:~# sudo apt clean
root@user-All-Series:~# sudo apt autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@user-All-Series:~#
А что если даже после всех этих манипуляций он все равно устанавливать не хочет?
Вот вообще не помогло ничего. Ничего, собственно, и не произошло после всех этих команд...
libdvd у меня почему-то всегда такую ошибку вызывает после установки экстрасов
помогает только переустановка всех зеленых галочек в синаптике после поиска libdvd
Не знаю почему многим не помогло, но мне при ошибке "битые пакеты" - помогли первые две команды из статьи. А получил ошибку после установки системы Xubuntu с предложением подключиться к wi-fi во время установки (стандартный шаг установщика, при отказах прошлые разы все было норм, битые пакеты не появлялись).
Устанавливал Минт. Кодеки не загружались, потому что битые пакеты. Как здесь и написаны команды потыкал по буквам и всё с работало сразу. И пакеты, и потом кодеки загрузились. Сам ни разу не IT, умею только тыкать при установке ОС в "ОК.
Это нормально что оно удалит пакеты libaperture-0-0 linux-headers-5.15.0-74 linux-headers-5.15.0-74-generic
linux-image-5.15.0-74-generic linux-modules-5.15.0-74-generic
linux-modules-extra-5.15.0-74-generic???
Спасибо за помощь, помогло!
Не помогло = ругается на предложенную команду:
$ sudo dpkg --remove -force --force-remove-reinstreq winehq-stable
dpkg: ошибка: несовместимые действия -f (--field) и -r (--remove)
мне помогло /usr/share/doc/libelf1 удолить файлы в этом коталоге в рут отрыть папку как рут пользовательтоесть открыть как рут. и в синаптике исправить ошыбки!
линукс минт /usr/share/doc/libelf1 удолить файлы в этом коталоге в рут отрыть папку как рут пользователь.тоесть открыть как рут.