Во время установки программ с помощью пакетного менеджера 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, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
- Печать
Страницы: [1] 2 Все Вниз
Тема: E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты. (Прочитано 51859 раз)
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
AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: 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 Все Вверх
apt install ./krdc_19.12.3-0ubuntu1astra1_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «./krdc_19.12.3-0ubuntu1astra1_amd64.deb» выбирается «krdc»
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
krdc : Зависит: libkf5xmlgui-bin но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
Пытаюсь установить пакет локально:
apt install ./krdc_19.12.3-0ubuntu1astra1_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «./krdc_19.12.3-0ubuntu1astra1_amd64.deb» выбирается «krdc»
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
krdc : Зависит: libkf5xmlgui-bin но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@astra-vsp:/home/petushkov/Загрузки# cat /etc/*release*
DISTRIB_ID=»AstraLinux»
DISTRIB_DESCRIPTION=»Astra Linux 1.7 x86-64″
DISTRIB_RELEASE=1.7_x86-64
DISTRIB_CODENAME=1.7_x86-64
PRETTY_NAME=»Astra Linux»
NAME=»Astra Linux»
ID=astra
ID_LIKE=debian
ANSI_COLOR=»1;31″
HOME_URL=»https://astralinux.ru»
SUPPORT_URL=»https://astralinux.ru/support»
LOGO=astra
VERSION_ID=1.7_x86-64
VERSION_CODENAME=1.7_x86-64
PRETTY_NAME=»Astra Linux»
NAME=»Astra Linux»
ID=astra
ID_LIKE=debian
ANSI_COLOR=»1;31″
HOME_URL=»https://astralinux.ru»
SUPPORT_URL=»https://astralinux.ru/support»
LOGO=astra
VERSION_ID=1.7_x86-64
VERSION_CODENAME=1.7_x86-64
apt install ./krdc_19.12.3-0ubuntu1astra1_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «./krdc_19.12.3-0ubuntu1astra1_amd64.deb» выбирается «krdc»
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
krdc : Зависит: libkf5xmlgui-bin но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
Пытаюсь установить пакет локально:
apt install ./krdc_19.12.3-0ubuntu1astra1_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «./krdc_19.12.3-0ubuntu1astra1_amd64.deb» выбирается «krdc»
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
krdc : Зависит: libkf5xmlgui-bin но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@astra-vsp:/home/petushkov/Загрузки# cat /etc/*release*
DISTRIB_ID=»AstraLinux»
DISTRIB_DESCRIPTION=»Astra Linux 1.7 x86-64″
DISTRIB_RELEASE=1.7_x86-64
DISTRIB_CODENAME=1.7_x86-64
PRETTY_NAME=»Astra Linux»
NAME=»Astra Linux»
ID=astra
ID_LIKE=debian
ANSI_COLOR=»1;31″
HOME_URL=»https://astralinux.ru»
SUPPORT_URL=»https://astralinux.ru/support»
LOGO=astra
VERSION_ID=1.7_x86-64
VERSION_CODENAME=1.7_x86-64
PRETTY_NAME=»Astra Linux»
NAME=»Astra Linux»
ID=astra
ID_LIKE=debian
ANSI_COLOR=»1;31″
HOME_URL=»https://astralinux.ru»
SUPPORT_URL=»https://astralinux.ru/support»
LOGO=astra
VERSION_ID=1.7_x86-64
VERSION_CODENAME=1.7_x86-64
скорее всего точно так же как на debian или ubuntu. apt, dpkg, если не поможет то удалять в /var/lib/dpkg/status, а потом обновиться
sudo apt-get update —fix-missing
sudo apt-get install -f
sudo dpkg —configure -a
sudo apt-get clean
в самых тяжелых случаях
dpkg -l | grep ^ .. r
sudo dpkg —remove —force-remove-reinstreq
sudo apt-get clean
Способов много, копайте в сторону debian
Последнее редактирование:
Аналогичная проблема:
Установил астралинукс 1.7.1
скачал base репозитарий и распаковал его в /opt/repo/
указал в sources.list
deb file:///opt/repo/ 1.7_x86-64 contrib main non-free
остальное закомментировано
если делаю apt update
все пакеты имеют последнюю версию
apt install [любой пакет]
ошибка как у автора темы.
Данная проблема вообще никак не рассмотрена на сайте wiki.astralinux !!!
sudo apt-get update —fix-missing
sudo apt-get install -f
sudo dpkg —configure -a
sudo apt-get clean
в самых тяжелых случаях
dpkg -l | grep ^ .. r
sudo dpkg —remove —force-remove-reinstreq
sudo apt-get clean
Способов много, копайте в сторону debian
абсолютно все пакеты целые, система только что установлена(на гипервизоре), проблема в чем то другом
Последнее редактирование:
sudo apt show krdc_19.12.3-0ubuntu1astra1_amd64.deb есть выбор или один пакет?
Извените у меня вопрос на какой основе Астра работает? У меня Астры нет krds это Клиент RDC (Remote Desktop Connection) КДЕ. Как я понял у Астры репозиторий свой, и для того чтоб подключать сторонние пакеты похоже нужно подключать и репозитории, иначе зависимости могут не решиться. Если основа Астры взята с gnome, то лучше поставить remmina, возможно и репозиторий нужно будет подключать. Скорей всего вам нужно подключить репозиторий debian. А вот сколько зависимостей потянут за собой krdc или remmina это уже вам выбирать. Потянутся пакеты из КДЕ или Гнома.
Последнее редактирование:
подключать сторонние пакеты похоже нужно подключать и репозитории, иначе зависимости могут не решиться
Вопросы по Astra Linux 1.7. Это совсем другая вселенная.
Для удаленных подключений к пользователям — Remmina, а для RDC windows server — FreeRDP (проброс принтера + буфер обмена)
опробовано на 100+ машинах
Вопросы по Astra Linux 1.7. Это совсем другая вселенная.
название стандартных пакетов какие? по пакетам можно наверное определить или по интерфейсу программ? Откуда вытянуты пакеты для Астры, сомневаюсь что нельзя узнать.
apt show krdc
Package: krdc
Version: 4:20.12.3-1
Priority: optional
Section: net
Maintainer: Debian/Kubuntu Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Installed-Size: 3 623 kB
Depends: libc6 (>= 2.15), libkf5bookmarks5 (>= 5.69.0), libkf5completion5 (>= 5.25.0~), libkf5configcore5 (>= 5.25.0~), libkf5configgui5 (>= 5.25.0~), libkf5configwidgets5 (>= 4.96.0), libkf5coreaddons5 (>= 5.2.0), libkf5dnssd5 (>= 5.25.0~), libkf5i18n5 (>= 5.25.0~), libkf5kcmutils5 (>= 5.25.0~), libkf5notifications5 (>= 5.25.0~), libkf5notifyconfig5 (>= 5.25.0~), libkf5service-bin, libkf5service5 (>= 4.96.0), libkf5wallet-bin, libkf5wallet5 (>= 5.25.0~), libkf5widgetsaddons5 (>= 5.25.0~), libkf5windowsystem5 (>= 5.25.0), libkf5xmlgui5 (>= 5.25.0~), libqt5core5a (>= 5.15.1), libqt5gui5 (>= 5.14.1) | libqt5gui5-gles (>= 5.14.1), libqt5widgets5 (>= 5.2.0~alpha1), libqt5xml5 (>= 5.0.2), libssh-4 (>= 0.8.0), libstdc++6 (>= 4.1.1), libvncclient1 (>= 0.9.10)
Recommends: freerdp2-x11
Suggests: khelpcenter, krfb, freerdp2-wayland
Homepage: https://apps.kde.org/en/krdc
Tag: implemented-in::c++, interface::graphical, interface::x11,
network::client, protocol::TODO, role:rogram, scope::utility,
suite::kde, uitoolkit::qt, use::login, x11::application
Download-Size: 1 683 kB
APT-Sources: https://deb.debian.org/debian bullseye/main amd64 Packages
Description: Remote Desktop Connection client
The KDE Remote Desktop Connection client can view and control a desktop
session running on another system. It can connect to Windows Terminal Servers
using RDP and many other platforms using VNC/RFB.
.
This package is part of the KDE networking module.
название стандартных пакетов какие? по пакетам можно наверное определить или по интерфейсу программ? Откуда вытянуты пакеты для Астры, сомневаюсь что нельзя узнать.
В Astra Linux 1.7 нет места левым пакетам и репам. Только родные репы и проверенные QA пакеты. Иначе, проблемы с безопасностью. Народу в техподдержку писать нужно или баг оформить.
В Astra Linux 1.7 нет места левым пакетам и репам. Только родные репы и проверенные QA пакеты. Иначе, проблемы с безопасностью. Народу в техподдержку писать нужно или баг оформить.
debian не родной репозиторий? Из чего же тогда сделана Астра?
debian не родной репозиторий? Из чего же тогда сделана Астра?
Так у Вас в школе Astra Special Edition? Я думал что для школ такие не поставляют…
Так у Вас в школе Astra Special Edition? Я думал что для школ такие не поставляют…
Нет у нас Астры Common Edition в школе, для школ эта ОС платная, хотя к ней присматривались. Минт, Роса, да сейчас вот Ред ОС. Сервера на debian.
разобрался
если у вас дистрибутив 1.7.1 то репозиторий от 1.7.0 не подходит!
debian не родной репозиторий?
Прикалываетесь?
ага, только расширение у пакетов .deb похоже.
to banzay242
Ну, с такой логикой AstraLinux и с Windows полностью совместима — там же тоже кодовая база в основном на С/С++ написана, ага…
Репозитории у современной ALSE (про ALCE уже в другой ветке отвечал — на текущий момент это полупродукт на поиграццо, не более) весьма отличаются от репозиториев той версии Debian, на которой базируется релиз. Потому что множество ключевых пакетов пересобрано разработчиками ALSE. Со всеми вытекающими особенностями зависимостей, функционала и проч.
to banzay242
Потому что множество ключевых пакетов пересобрано разработчиками ALSE. Со всеми вытекающими особенностями зависимостей, функционала и проч.
Не соглашусь. Не множество, а все пакеты, и не пересобраны. Исходники проверены на наличие закладок и т.п. и уже из проверенных исходников собраны пакеты для Астры. Иначе, какой смысл в сертифицированном дистрибутиве.
to kvv-vp
В 1.7 возможно, детально ее еще не ковырял. Вплоть до 1.6 пересобраны были далеко не все пакеты (часть из них вообще имеет открытые исходники, поэтому пересобирать их при отсутствии явных недоверенных функций бессмысленно), библиотеки и утилиты. На тему проверок по ОУД-2/1 — там хитрая схема, так что 100% гарантии после сертификации даже по такому уровню контроля нет…
И, что важно, до сих пор «в гражданском» применении ALSE допустимо вносить софт из сторонних репозиториев. Потому что сертификат по ИТ.ОС.А2.ПЗ (А1.ПЗ) в большей мере означает доверенность ключевых механизмов и целостность/стойкость/соответствие механизмов защиты. А прикладной софт, особенно утилитарный, особенно не участвующий в обработке ИОД, допустим, в принципе, любой. Пусть и с ограничениями и рядом доп.правил и требований его встраивания/инсталляции…
А прикладной софт, особенно утилитарный, особенно не участвующий в обработке ИОД, допустим, в принципе, любой. Пусть и с ограничениями и рядом доп.правил и требований его встраивания/инсталляции…
Просвятите на счет драйверов. Они, как бы, доверенными считаются. Можно любые ставить? Или я не прав?
to kvv-vp
Red Book же, там и ограничения, и условия…
Впрочем, тут все не однозначно и зависит от:
- обрабатываемой информации ограниченного доступа (и, как следствие, выбранного релиза ALSE 1.7 теперь);
- линии, по которой был выдан сертификат (ФСБ, МО, ФСТЭК);
- фактических требований безопасности, определенных для объекта, на котором используется ОС;
- функций и задач, возложенных на софт, планируемый к интеграции (драйвер сетевой карты, в случае, когда сеть не используется для передачи ИОД, в целом, ни на что не влияет).
Хотя да, согласен, в условиях «коня в вакууме» полная «доверенность» возможна исключительно на условиях применения только «доверенного» общесистемного и прикладного ПО…
One of the best things about Linux is the apt command which lets you install applications and software effortlessly. Using apt, you don’t have to go through downloading the software, then going through the installer and clicking ‘Next’ a dozen times. It makes sure that every software is installed with just one terminal command.
But, just like any other program, things can go wrong. The error that we will be talking about in this write-up looks something like the following:
E: Unable to correct problems, you have held broken packages.
This error may occur when you are trying to install something via the apt utility. Let us look into the error in detail and try to solve the problem.
What causes this error?
Some of the software (mostly third-party ones) do not come with compatible dependencies and apt expects that your system already has those components. In case the required components aren’t found on your system, apt throws an error related to broken packages which means that the package you are trying to install is incomplete.
Outdated repositories, problems with the ‘sources.list‘ file, or an old/unsupported version of Linux might be the cause of this problem.
Methods to fix this problem
Before moving to the advanced methods, let us try a few quick tricks that can potentially help:
Method 1: Update the repositories
The apt update
is a well-known command which instantly updates the list of packages and their dependencies. As the problem we are facing is due to missing dependencies, there is a good chance that this command will fix the error.
If the problem persists, try this command:
This will update the existing packages on your system to the latest version.
Method 2: Use aptitude instead of apt
Aptitude is also a package manager like apt and it surprisingly works in some situations where apt doesn’t! all you need to do is use aptitude
instead of apt.
For example, suppose you want to install BIND9 using aptitude
, you will have to enter the following command:
sudo aptitude install bind9
If you don’t have aptitude installed, run the following commands:
sudo apt-get update sudo apt-get install aptitude
Method 3: Use autoremove to get rid of unnecessary packages
Sometimes, unnecessary packages stay behind even after uninstalling their parent application. These residual packages might interfere with installation of new applications or libraries. To get rid of these unnecessary residual packages, just enter the following command into the terminal:
There’s no need to worry as autoremove
will only handle the leftover packages and dependencies.
Now with the basics out of the way, we will look at some more advanced methods to solve this problem.
Method 4: Look for held packages and unhold them
As the error message suggests, the problem is caused by packages on hold. The term ‘held package’ means that it can’t be upgraded, removed, or modified in any way.
To get a list of held packages, you need to enter the following command:
To unhold a specific package, enter:
sudo apt-mark unhold <package-name>
To unhold all held packages, enter:
sudo apt-mark unhold $(sudo apt-mark showhold)
Method 5: Use the synaptic package manager to fix broken packages
Originally, Linux doesn’t have an inbuilt graphical package manager like Windows. This is why the synaptic package manager became immensely popular on Debian-based distributions made for personal computers as it provided a lightweight and robust GUI package manager.
One of the key features of this utility is that you can fix broken packages very easily. Follow the steps below:
1. First, install the synaptic package manager:
sudo apt update sudo apt install synaptic
2. Run synaptic with superuser privileges:
3. Go to Edit > Fix Broken Packages
It will take some time if there are broken packages present. Check if the problem is resolved.
References
- Ask Ubuntu – Unhold a package
- Ask Ubuntu thread on the same problem
Summary
In this article, we saw five different methods to fix the error “Unable to correct problems, you have held broken packages.” All the methods discussed were easy to execute and I hope you were able to fix the problem on your system. If you are still facing the same issue even after trying all the above methods, it can be because of using an unsupported Linux distribution, in which case, you will have to consider upgrading to a newer version of it.
@besogonskiy
работаю php laravel разработчиком.
Система debian Buster.
устанавливал пакет в snap но потом прервал. Теперь получаю при попытке что-нибудь установить сообщение о том, что есть сломанные пакеты. Например,
Первая ошибка
root@dev:/home/xfile/Загрузки# apt-get install kate
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:Следующие пакеты имеют неудовлетворённые зависимости:
kate : Зависит: plasma-framework но он не может быть установлен
Зависит: libkf5newstuff5 (>= 5.27.0) но он не может быть установлен
Зависит: libkf5plasma5 (>= 4.96.0) но он не может быть установлен
libkf5xmlgui5 : Ломает: ktexteditor-katepart (< 5.70) но 5.54.0-1 должен быть установлен
Ломает: libkf5texteditor5 (< 5.70) но 5.54.0-1 должен быть установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@dev:/home/xfile/Загрузки#
Или
Вторая ошибка
root@dev:/home/xfile# sudo apt install snapd
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:Следующие пакеты имеют неудовлетворённые зависимости:
apparmor : Ломает: snapd (< 2.44.3+20.04~) но 2.37.4-1+b1 должен быть установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@dev:/home/xfile#
Чего только не пробовал. Не получается никак восстановить работоспособность системы.
-
Вопрос задан
-
3029 просмотров
Пригласить эксперта
Тут всё просто у вас есть пакеты не из бастера, вам нужно создать pref файл и указать что бастер имеет приоритеты выше чем левые репозитории и если нужно с возможностью удаления не корректных зависимостей и всё у вас заработает.
записать в файл /etc/apt/preferences.d/buster.pref
Package: *
Pin: release n=buster
Pin-Priority: 1001
Но учтите что это может понизить версии многих пакетов и часть из них могут быть удалены если нет возможности поставить их с бастера…. Либо можете поставить приоритет у другого репозитория и всё будет ставиться как укажите. В любом случае вам нужно почитать про приоритеты.
поставь aptitude — интерактивная оболочка удобна, сразу видно какие пакеты сломаны. или сломаются при установке.
еще стоит глянуть в выхлоп
$ dpkg -l | grep -Pv '^ii'
показывает много чего сломанного, недоудаленного и т.д.
Просто перестаньте пользовать Дебиан. Убунта последней стейбл версии — и подобных проблем у вас не будет никогда.
Дебиан для тех, кто знает какой софт ему нужен, и предпочитает доисторические но стабильные версии.
-
Показать ещё
Загружается…
22 сент. 2023, в 01:22
10000 руб./за проект
22 сент. 2023, в 00:39
30000 руб./за проект
21 сент. 2023, в 22:23
5000 руб./за проект