Во время установки программ с помощью пакетного менеджера 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, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
Если вы активный пользователь Linux, то наверняка встречались с тем, что некоторые пакеты так сказать ломаются. Это может быть вызвано по разным причинам, некорректно установленный пакет, какие-то ошибки во время установки и многое другое. Что в свою очередь может сказаться и на самом менеджере пакетов “apt-get”, и как итог, возможно что дойдет даже то того, что вы не сможете обновляться или устанавливать программное обеспечения. Данная статья поможет вам решить вопрос со сломанными пакетами в Debian / Ubuntu, а так же их производными. Так как сломанные пакеты могут возникать по разным причинам, существует несколько способов для решения этой задачи, но, не все они могут сработать, тут все зависит от конкретного случая.
P.S. Желательно точно знать какой пакет у вас сломан, так как это поможет вам выбрать один из способом решения задачи.
Чиним сломанные пакеты с apt-get
Первый вариант, который может помочь починить сломанные пакеты имеется в самом менеджере пакетов apt, и для починки сломанных пакетов достаточно ввести две команды:
sudo apt-get update --fix-missing sudo apt-get install -f
Этот способ поможет для решения уже установленных в вашей системе пакетов, который по каким то причинам сломались. После выполнения первой команды необходимо убедиться, что она исправила ошибки, а затем переходить к введению второй команды. Возможно, что для исправления сломанных пакетов понадобиться несколько минут:
Чиним сломанные пакеты с apt-get и dpkg
Но, что делать если пакет сломался во время установки? Можно попробовать выполнить команды из первого примера, если они не сработают, переходим к использованию apt-get и dpkg, для этого первым делом используем dpkg для настройки пакетов. А затем выполняем очистку apt-get:
sudo dpkg --configure -a sudo apt-get clean sudo apt-get update
В некоторых ситуациях может понадобиться удалить файл блокировки, после удаления файла блокировки, снова выполните предыдущие команды:
sudo rm /var/lib/apt/lists/lock
Принудительное удаление пакета с помощью apt-get и dpkg
В редких ситуациях может случиться и такое, что ни один из выше указанных методов не сработает и вам понадобиться вручную удалить сломанный пакет. Для этого разумеется вы должны точно знать что это за пакет, и первый вариант удаление пакета с помощью apt-get, для этого вводим команду:
sudo apt-get remove и название пакета
Если же вам не удалось удалить пакет, переходим к кардинальным мерам, для принудительного пакеты введите команду:
sudo dpkg --remove --force-remove-reinstreq и название пакеты
Затем выполните очистку и обновление пакетов:
sudo apt-get clean && sudo apt-get update
Заключение
Если вы не знаете про менеджеры пакетов apt-get и dpkg, на WIKI имеется статьи, первая про apt, вторая статья про dpkg. В редких ситуациях, выше приведенных мер может быть недостаточно для исправления сломанных пакетов. В этом случае, может понадобиться ручная сборка и удаление сломанных пакетов, правда, имеется риск повредить работоспособность всей системы, что в свою очередь может вывести ее из строя. В этом случае, если вы делали резервные копии вашей системы можно откатиться работоспособной версии системы. Сделать резервную копию вашей системы можно при помощи Timeshift или Deja Dup, последняя имеется в дистрибутиве Ubuntu. Но, чаще всего удается отделаться малой кровью когда появляются сломанные пакеты, и выше приведенных мер достаточно для исправления сломанных пактов.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X
При попытке установить libreoffice-core
(или другие пакеты), выскакивает ошибка:
Пакеты, имеющие неудовлетворённые зависимости:
libreoffice-core : Зависит: libreoffice-common (> 1:4.3.3) но он не будет установлен
Зависит: ure (>= 4.2~) но он не будет установлен
Зависит: libboost-date-time1.55.0 но он не будет установлен
Зависит: libclucene-contribs1 (>= 2.3.3.4) но он не будет установлен
Зависит: libclucene-core1 (>= 2.3.3.4) но он не будет установлен
Зависит: libcmis-0.4-4 (>= 0.4.0) но он не будет установлен
Зависит: libgltf-0.0-0 (>= 0.0.2) но он не будет установлен
Зависит: libglu1-mesa но он не будет установлен или
libglu1
Зависит: libharfbuzz-icu0 (>= 0.9.18) но он не будет установлен
Зависит: libhunspell-1.3-0 (>= 1.3.3) но он не будет установлен
Зависит: libicu52 (>= 52~m1-1~) но он не будет установлен
Зависит: libmythes-1.2-0 но он не будет установлен
Зависит: libodfgen-0.1-1 но он не будет установлен
Зависит: librevenge-0.0-0 но он не будет установлен
Зависит: libstdc++6 (>= 4.9) но он не будет установлен
Зависит: uno-libs3 (>= 4.3.0~alpha) но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
Как это можно попытаться вылечить? У меня Debian 8 Jessie x64.
UPD_0: Удалил все из репозиториев, осталось только:
deb http://mirror.yandex.ru/debian/ jessie main
deb-src http://mirror.yandex.ru/debian/ jessie main
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
sources.list.d
тоже чист.
Для «лечения» пытался выполнить:
sudo dpkg --configure -a
sudo apt-get install -f
sudo apt-get --fix-broken install
sudo rm /var/lib/apt/lists/* -vf //Не удалилась какая-то папка
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove
Вывод apt-cache policy libreoffice-common libreoffice-core
:
libreoffice-common:
Установлен: (отсутствует)
Кандидат: 1:4.3.3-2+deb8u2
Таблица версий:
1:5.1.3~rc2-3 0
100 /var/lib/dpkg/status
1:4.3.3-2+deb8u2 500
500 http://ftp.ru.debian.org/debian jessie/main amd64 Packages
500 http://ftp.ru.debian.org/debian jessie/main i386 Packages
libreoffice-core:
Установлен: (отсутствует)
Кандидат: 1:4.3.3-2+deb8u2
Таблица версий:
1:4.3.3-2+deb8u3 0
100 /var/lib/dpkg/status
1:4.3.3-2+deb8u2 500
500 http://ftp.ru.debian.org/debian jessie/main amd64 Packages
- Печать
Страницы: [1] 2 Все Вниз
Тема: E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты. (Прочитано 47425 раз)
0 Пользователей и 1 Гость просматривают эту тему.

Deniske
Наверное, мне нужен кэп
Пытаюсь поставить вайн, всё по инструкции с официального сайта
denis@denis-atlas-h155:~$ sudo apt install --install-recommends winehq-devel
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
winehq-devel : Зависит: wine-devel (= 4.7~disco)
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
Система: kubuntu 19.04
Решил кеды попробовать. Только поставил
« Последнее редактирование: 08 Мая 2019, 07:01:01 от Deniske »
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi

andytux
В принципе, вам все уже сказано:
Следующие пакеты имеют неудовлетворённые зависимости…
А почему так, обращайтесь туда, откуда скачиваете.
Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты
А это наиболее вероятный результат установки со всяких левых источников. И пока вы не восстановите пакеты, вы вообще ничего не сможете установить.
Быстрый и гарантированный способ — восстановление системы из бэкапа. Все остальное почти наверняка потребует больше времени и никаких гарантий.
Поищите про «сломаннные пакеты». На форуме полно тем по этому вопросу.

Deniske
andytux, был установлен только хром и попытка установки вайна. Остальное из центра приложений.
как диагностировать проблему?
Добавил информацию о системе в шапку
« Последнее редактирование: 08 Мая 2019, 07:01:35 от Deniske »
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi

andytux
как диагностировать проблему?
Система уже выдала вам диагностику: «сломанные пакеты.»
Если сломали не очень сильно, то:
sudo apt install -f

Deniske
andytux, это как если в больнице скажут «вы болеете», а не «у вас грипп»
как найти сломанные пакеты?
Как можно сломать пакеты, если ни чего необычного не делал?
Раньше ни чего не ломалось
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi

БТР
Deniske, вам уже написали выше. Дайте под спойлер вывод
sudo apt-get update
sudo apt-get install -f

andytux
как найти сломанные пакеты?
Запусти synaptic, там они выделены другим цветом. Или включи там фильтр «broken» — покажет только сломанные.
Как можно сломать пакеты, если ни чего необычного не делал?
Как раз, сделал все, чтобы сломать. Ставишь из левых источников. Предвидя вопрос, левые — это все, что помимо родного source.list.
это как если в больнице скажут…
…скажут труп, значит труп. Можешь сколько угодно чихать на простуду. Профилактику я тебе сказал. Лекарства тоже. И простое и которое лечит.

Deniske
БТР,
Пользователь добавил сообщение 08 Мая 2019, 18:27:46:
Запусти synaptic, там они выделены другим цветом. Или включи там фильтр «broken» — покажет только сломанные.
нет результатов. Ни одного сломанного пакета в синаптике
« Последнее редактирование: 08 Мая 2019, 18:27:46 от Deniske »
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi

ARTGALGANO
Deniske, подробнее раскажите что и как делали?
реп universe подключен?

Deniske
ARTGALGANO, поставил систему, поставил гугл хром из гугловской репы, обновил видеодрайвер, поставил телегу, kdenlive, vlc и audacios из центра приложений, попытался поставить вайн следуя инструкции, по которой всё успешно делал десятки раз и у меня не получилось
universe подключен
dexp atlas h155; Intel Core i5-4210M; 6GB DDR3 1333MHz; NVIDIA GeForce 840M, NVIDIA 367.44;
Ubuntu 16.04 х64, 4.8.1-040801-generic; Unity 7.4.0;. (u)efi

ALiEN175
ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Misha_White
Блин, у меня с mysql-server такая же беда…
sudo apt-get install mysql-server
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
mysql-server : Зависит: mysql-community-server (= 5.7.27-1debian10) но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.

ecc83
Misha_White, а Вы «случайно» операционной системой не ошиблись?
mysql-community-server (= 5.7.27-1debian10)

victor00000

sokdes
Решение проблемы найдено
Столкнулся сегодня с данной проблемой.
Установка Wine с репозитория через консоль.
При установке выдает сообщение
Следующие пакеты имеют неудовлетворённые зависимости:
winehq-stable : Зависит: wine-stable (= 5.0.0~bionic)
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
В synaptyc нет пакетов в ошибками.
Решение. Через «Источники приложений» поменял репозитории Базовый(bionic) и Основной(tricia) , с тех что были по умолчанию на те, что относятся к Russian Federation. в данном случае mirror.truenetwork.ru и mirror.yandex.ru соответсвенно.
Wine установился без вопросов.
- Печать
Страницы: [1] 2 Все Вверх