Во время установки программ с помощью пакетного менеджера 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, интересуюсь всем, что связано с информационными технологиями и современной наукой.
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
Последнее редактирование: 26.04.2022
Аналогичная проблема:
Установил астралинукс 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
абсолютно все пакеты целые, система только что установлена(на гипервизоре), проблема в чем то другом
Последнее редактирование: 26.04.2022
sudo apt show krdc_19.12.3-0ubuntu1astra1_amd64.deb есть выбор или один пакет?
Извените у меня вопрос на какой основе Астра работает? У меня Астры нет krds это Клиент RDC (Remote Desktop Connection) КДЕ. Как я понял у Астры репозиторий свой, и для того чтоб подключать сторонние пакеты похоже нужно подключать и репозитории, иначе зависимости могут не решиться. Если основа Астры взята с gnome, то лучше поставить remmina, возможно и репозиторий нужно будет подключать. Скорей всего вам нужно подключить репозиторий debian. А вот сколько зависимостей потянут за собой krdc или remmina это уже вам выбирать. Потянутся пакеты из КДЕ или Гнома.
Последнее редактирование: 27.04.2022
подключать сторонние пакеты похоже нужно подключать и репозитории, иначе зависимости могут не решиться
Вопросы по 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 теперь);
- линии, по которой был выдан сертификат (ФСБ, МО, ФСТЭК);
- фактических требований безопасности, определенных для объекта, на котором используется ОС;
- функций и задач, возложенных на софт, планируемый к интеграции (драйвер сетевой карты, в случае, когда сеть не используется для передачи ИОД, в целом, ни на что не влияет).
Хотя да, согласен, в условиях «коня в вакууме» полная «доверенность» возможна исключительно на условиях применения только «доверенного» общесистемного и прикладного ПО…
- Печать
Страницы: [1] 2 Все Вниз
Тема: E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты. (Прочитано 47499 раз)
0 Пользователей и 2 Гостей просматривают эту тему.
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 Все Вверх
На чтение 4 мин. Просмотров 181 Опубликовано 22.04.2021
Вы можете обнаружить, что при попытке установить пакет в Linux вы обнаружите ужасную строку с надписью E: Невозможно исправить проблемы, у вас есть неработающие пакеты. Затем установка отказывается продвигаться дальше этой точки. Вы можете найти это в любом дистрибутиве Linux, который использует apt-get для управления пакетами, включая Debian, а также различные побочные продукты Linux Mint и Ubuntu.
Это вызвано сломанными зависимостями, которые являются побочный эффект от установки пакетов, зависящих от других пакетов, которые не установлены. Когда apt-get устанавливает что-то, он замечает, что у него нет доступа к чему-то, что ему нужно, и поэтому он не может продолжить работу. Несколько основных приемов командной строки, а также графический инструмент могут быстро все исправить.
Содержание
- Метод 1. Использование dpkg –configure для исправления задержанных поврежденных пакетов
- Метод 2 : Использование команды dist-upgrade
- Метод 3: Исправление битых пакетов с помощью Synaptic
Метод 1. Использование dpkg –configure для исправления задержанных поврежденных пакетов
Во время работы в терминале попробуйте запустить sudo dpkg –configure -a для запуска автоматический процесс обновления, который ищет любые сломанные зависимости в вашей системе, вызванные пакетами, которые не установлены. Этот инструмент должен автоматически устанавливать любой пакет, который, по его мнению, вам не хватает, без вмешательства пользователя, хотя, если вас просят установить что-то, вы должны нажать клавишу y, чтобы ответить на запрос.
Если он не обнаружит ни одного сломанного пакета, вы не должны увидеть никаких результатов. Мы запустили это на чистой тестовой машине под управлением Xubuntu, поэтому ошибок не было, но если у вас возникли проблемы «Невозможно исправить проблемы, у вас есть сломанные пакеты», то это может привести к обнаружению нескольких пакетов, которые вам нужно установить. . Запустив его, попробуйте sudo apt-get install -f из командной строки.
Эта программа выполнит и построит список зависимостей, а затем прочитает информацию о состоянии. Если вы получили сообщение о том, что было «0 обновлено, 0 недавно установлено, 0 для удаления и 0 не обновлено», значит, вы либо работали без нарушенных зависимостей, либо предыдущая команда все исправила. На этом этапе вы можете запустить sudo apt-get clean && sudo apt-get update , а затем sudo apt-get upgrade , чтобы обновить каждый пакет в вашей системе. . Это может занять некоторое время в зависимости от того, как долго в вашей системе были проблемы с пакетами.
Метод 2 : Использование команды dist-upgrade
Если вы получили сообщение о том, что «некоторые пакеты были задержаны», поэтому вы не смогли успешно выполнить предыдущую команду, то вам следует запустить sudo apt-get dist-upgrade , чтобы установить остальные пакеты. Помимо выполнения функции обычного обновления, опция dist-upgrade обрабатывает измененные зависимости с более новыми версиями пакетов.. Поскольку apt-get имеет специальную систему конфликтов, он обычно пытается обновить наиболее важные пакеты за счет того, что ничего не делает с менее важными для вашей системы. Использование этой команды заставляет обновляться даже те.
Это существо сказал, что если не обнаружено никаких сломанных пакетов, вы просто получите третье сообщение о том, что ничего не обновлено и ничего не установлено заново. В этом случае вы можете снова попробовать sudo apt-get upgrade , чтобы в случае каких-либо изменений подпрограмма автоматического обновления могла работать. С другой стороны, если вы знаете конкретное имя пакета, который вам нужен, вы можете установить его вручную.
Например, предположим, что компонент среды выполнения GNUStep был тем, чего вам не хватало, поскольку вы хотел использовать синтез голоса. Вы можете просто ввести sudo apt-get install gnustep-gui-runtime , чтобы установить этот жизненно важный пакет. Имейте в виду, что это всего лишь пример, и вы можете заменить gnustep-gui-runtime именем любого пакета, который вам нужно установить. Современные дистрибутивы, основанные на стандарте apt-get, имеют несколько тысяч пакетов, но если вы знаете имя того, который ищете, это заставит его установить.
Метод 3: Исправление битых пакетов с помощью Synaptic
Если у вас есть графический менеджер пакетов Synaptic, вы также можете использовать этот инструмент для исправления любых поврежденных пакетов. Откройте программу и выберите раскрывающееся меню «Изменить». В этом меню должна быть опция «Исправить поврежденные пакеты», поэтому выберите ее, если она у вас есть. Запуск не займет много времени, если не так много сломанных пакетов, но он может обнаружить ряд ошибок, которые замедлят выполнение.
После того, как он завершит выполнение всего, вы обратите внимание на слова «Успешно исправленные проблемы с зависимостями» в нижней строке состояния.
Теперь вы можете обновлять и устанавливать пакеты как обычно. Большинство пользователей будут делать что-то таким образом только в том случае, если они уже работали в Synaptic, но он всегда под рукой. После запуска вы можете закрыть Synaptic и снова работать из командной строки или продолжить вносить изменения здесь.
Содержание
- Ошибка у вас зафиксированы сломанные пакеты
- Как исправить у вас зафиксированы сломанные пакеты?
- 1. Обновите списки пакетов
- 2. Установите битые пакеты
- 3. Очистите лишние пакеты
- 4. Используйте dpkg
- 5. Разрешите зависимости
- Выводы
- Оцените статью:
- Об авторе
- 8 комментариев
- Неудовлетворенные зависимости Ubuntu
- Неудовлетворенные зависимости в Ubuntu
- 1. Обновление и исправление зависимостей
- 2. Установка зависимостей
- 3. Удаление зависимостей
- 4. Распаковать пакет
- 5. Использовать snap пакеты
- Выводы
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как установить пакет, для которого отсутствует зависимость нужной версии
- Ошибка «в значении поля «Description» обнаружена пустая строка»
- unixforum.org
- Как найти список битых пакетов?
- Как найти список битых пакетов?
Ошибка у вас зафиксированы сломанные пакеты
Во время установки программ с помощью пакетного менеджера apt в любом из дистрибутивов, использующих этот пакетный менеджер, вы можете столкнуться с ошибкой, что у вас зафиксированы сломанные пакеты. Это пакеты, которые не установились полностью потому что им не хватает зависимостей или процесс установки был по какой-либо причине прерван.
В этой статье мы рассмотрим что делать с такой ошибкой, как её исправить, а также я дам ссылки на другие материалы на сайте, которые помогут справится с проблемой.
Как исправить у вас зафиксированы сломанные пакеты?
1. Обновите списки пакетов
Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:
2. Установите битые пакеты
После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:
3. Очистите лишние пакеты
Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:
sudo apt autoremove
Утилита отобразит список всех битых пакетов, которые не установлены, вы можете попытаться их удалить с помощью команды:
4. Используйте dpkg
Вместо apt вы можете использовать команду dpkg чтобы посмотреть какие пакеты вызывают проблему. Просто выполните:
Команда покажет проблемные пакеты, а потом вы сможете их удалить той же командой:
5. Разрешите зависимости
Битые пакеты чаще всего появляются из-за того, что пакетный менеджер не может найти для них нужные зависимости. Если вам всё же очень нужно установить такой пакет, просто разрешите эти зависимости. Для этого можно скачать и установить их вручную или если вы уверенны, что зависимости в пакете указаны неверно, можно скачать его распаковать и удалить мешающие зависимости. Подробнее об этом читайте в этой статье.
Выводы
В этой небольшой статье мы рассмотрели что делать если в вашей системе появились битые пакеты и как их исправить. Здесь решение проблемы очень сильно зависит от вашей ситуации, но здесь приведены основные варианты решения, которые должны помочь вернуть пакетный менеджер к работе. Иногда рекомендуют удалить пакет вручную из базы данных dpkg /var/lib/dpkg/status, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.
Нет похожих записей
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
8 комментариев
Вот почему я использую Fedora с DNF, за 5 лет использования даже не припомню случаев некорректной работы DNF. APT в Дебиан подобных дистрибутивах это сплошное разочарование.
Если бы все так было просто с зависимостями, что их через форсе принудительно установить, то это был бы не Линукс. Ниче, что система после таких манипуляций не работает? После ваших советов, новичек «уложит» систему точно.
Согласен. С Fedora бубен уже покрылся пылью. Чего все с этой Ubunto’й носятся.
Ничего не помогло. Постоянно пишет, что сломаны пакеты. к примеру хочу установить: apt-get install mariadb-server. Делаю как вы пишите.
Следующие пакеты имеют неудовлетворённые зависимости:
mariadb-server : Зависит: mariadb-server-10.1 (>= 1:10.1.29-6) но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@user-All-Series:
# sudo apt clean
root@user-All-Series:
# sudo apt autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@user-All-Series:
Источник
Неудовлетворенные зависимости Ubuntu
При установке пакетов из официальных или сторонних репозиториев вы можете столкнуться с проблемой неудовлетворенные зависимости Ubuntu. Чтобы понять причину возникновения этой ошибки сначала надо разобраться как работают пакетные менеджеры в Linux. Здесь всё компоненты системы, библиотеки и сами программы разделены на пакеты. И если какой-либо программе нужна определенная библиотека, она не поставляется вместе с этой библиотекой, а ожидает, что эта библиотека будет уже установлена в системе.
Установкой библиотек и других компонентов занимается пакетный менеджер, отсюда у каждой программы есть ряд зависимостей которые должны быть удовлетворены чтобы программа смогла заработать.
Неудовлетворенные зависимости в Ubuntu
По английски наша ошибка ещё может писаться как the following packages have unmet dependencies. Она может возникнуть в нескольких случаях, давайте сначала рассмотрим основные из них:
1. Обновление и исправление зависимостей
Самое первое что надо сделать при проблемах с зависимостями, это хоть как-нибудь их исправить, потому что иначе пакетный менеджер работать не будет. В некоторых случаях, если списки репозиториев давно не обновлялись их обновление может помочь:
Эта команда установит зависимости, которые есть во официальных репозиториях (поможет при использовании dpkg) и если это не решит проблему, то удалит пакеты, для которых зависимости удовлетворить не удалось. Также после этого можно выполнить:
А потом повторить предыдущую команду. Следующим шагом можно попробовать обновить систему до самой последней версии. Это тоже может помочь если вы пытаетесь установить пакет из официальных репозиториев и при этом возникает проблема с зависимостями:
sudo apt upgrade
sudo apt full-upgrade
Если причиной вашей проблемы стал устаревший пакет надо его удалить или придумать для него замену. Например, если у вас установлена старая версия php, могут возникнуть проблемы с установкой новой версии, потому что будут конфликтовать версии библиотек, от которых зависит программа. Однако можно найти PPA со специально подготовленной старой версией php, которая ни с кем конфликтовать не будет.
Также подобная проблема может возникать при использовании PPA. Эти репозитории поддерживаются сторонними разработчиками, и могут содержать проблемы, если это ваш вариант, то, лучше поискать альтернативные способы установки необходимой программы.
2. Установка зависимостей
Дальше установка зависимостей Ubuntu. Следующий этап, если вы скачали пакет в интернете, например, от другого дистрибутива с таким же пакетным менеджером, можно попытаться установить таким же способом библиотеки, которые он просит. Это может сработать особенно, если вы пытаетесь установить программу из старой версии дистрибутива. Пакеты можно искать прямо в google или на сайте pkgs.org:
Здесь собрано огромное количество пакетов от различных дистрибутивов, в том числе и от Ubuntu и Debian. Просто выберите нужную версию пакета для вашей архитектуры. Скачать файл можно чуть ниже на странице пакета:
После загрузки пакета с сайта его можно установить через тот же dpkg:
После этого можно снова попробовать установить свой пакет. Но устанавливаемая библиотека может потребовать свои неудовлетворенные зависимости, а та ещё свои, поэтому тянуть программы из других дистрибутивов таким образом не рационально.
3. Удаление зависимостей
Если у вас есть скачанный пакет, и он говорит, что он зависит о версии библиотеки, которой в вашей системе нет, но вы уверены, что ему подойдет и другая версия, то можно просто убрать эту зависимость из пакета. Но для этого надо его перепаковать. Такая ситуация была когда-то с популярным менеджером Viber. Рассмотрим на примере того же вайбера.
Сначала распакуйте пакет в подпапку package командой:
Затем туда же извлеките метаданные пакета:
В файле package/DEBIAN есть строчка Depends, где перечислены все библиотеки, от которых зависит пакет и их версии. Просто удалите проблемную библиотеку или измените её версию на ту, которая есть в системе.
Затем останется только собрать пакет обратно:
И можете устанавливать, теперь с зависимостями будет всё верно:
Но такое исправление зависимостей Ubuntu следует использовать только для пакетов, которые точно неверно собраны. Важно понимать, что пакетный менеджер вам не враг, а помощник, и то что вы отключите зависимости и установите программу ещё не значит, что она потом будет работать.
4. Распаковать пакет
Следующий способ подойдет, если программа которую вы устанавливаете это библиотека, например, веб-драйвер для Selenium. Пакет можно распаковать и просто разложить исполняемые файлы из него по файловой системе в соответствии с папками внутри архива. Только желательно использовать не корневую файловую систему, а каталог /usr/local/ он как раз создан для этих целей.
5. Использовать snap пакеты
Выводы
В этой статье мы разобрали как исправить проблемы с зависимостями Ubuntu. Некоторые из способов довольно сложные, а другие проще. Но сама эта система, согласно которого пакеты зависят от других, а те ещё от других очень сложная и не удивительно, что время от времени в ней возникают ошибки. А какие способы решения этой проблемы вы знаете? Напишите в комментариях?
Источник
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как установить пакет, для которого отсутствует зависимость нужной версии
Бывает что нужно установить пакет .deb для которого в стандартных репозиториях отсутствует нужная версия зависимости. Например, в зависимостях прописан пакет libcurl3, а в системе доступен только libcurl4; или в зависимостях libssl1.0.0, а в системе имеется только libssl1.0.2.
Сразу оговорюсь, не стоит делать то, что здесь показано, с драйверами, особенно с драйверами видеокарты — слишком велика вероятность получить систему, которая загружается в чёрный экран. А с какими-нибудь прикладными программами это вполне можно попробовать — в конце-концов, если не заработает, то не заработает — просто удалим её, хуже уже не будет.
Для установки пакета его нужно скачать с официального сайта:
Пакет можно установить с помощью команды dpkg и ключей —ignore-depends:
но это приведёт к тому, что поломается apt. Будут показываться сообщения о неудовлетворённых зависимостях:
И уже не обновить систему, не установить новые пакеты пока не удалите программу, вызывающую эти проблемы:
Поэтому лучше пойти другим путём.
По большому счёту, файл .deb — это архив, в который собраны файлы программы (исполняемые файлы, файлы настроек, конфигурационные файлы — всё то, что нужно для запуска и работы программы), а также служебные файлы, в которых содержится описание пакета, требуемые зависимости и прочая метаинформация.
Распаковываем скаченный пакет deb:
Для распаковки используем утилиту ar, которая предназначена для создания, модификации и извлечения из архивов.
В результате будут извлечены следующие файлы:
Вообще, поскольку data.tar.xz содержит саму программу, то может возникнуть идея просто раскидать файлы в системе по нужным путям — это тоже будет работать, но мы сделаем чуть более сложно, но и более правильно.
Распаковываем контрольный архив:
Открываем текстовым редактором файл control:
Найдём там строку, начинающуюся с Depends:
То есть, это и есть список зависимостей.
Можно сделать проверку следующим образом — берём список, который идёт после Depends:, удаляем запятые, чтобы не нарушить синтаксис apt, и пытаемся установить все эти зависимости просто дописав этот список после sudo apt install, получается следующая команда:
Итак, требуется libcurl3, но в системе есть только libcurl4. Я просто меняю в файле control запись libcurl3 на libcurl4.
Ещё один отсутствующий пакет libssl1.0.0. Поскольку указана конкретная версия, можно предположить, что версия в репозитории была обновлена и по этой причине невозможно найти то, что нужно.
Ищем по более короткому описанию версии, то есть, например вместо libssl1.0.0 я ищу libssl1:
Как можно увидеть, найдено целых два варианта: libssl1.0.2 и libssl1.1. На мой взгляд, libssl1.0.2 ближе к libssl1.0.0, поэтому я в файле control меняю запись libssl1.0.0 на libssl1.0.2.
Сохраняем и закрываем файл control.
Теперь собираем установочный файл — делаем это в обратном разбору порядке.
Я уже пробовал, поэтому я знаю, что команда пожалуется на отсутствие файла postrm, поэтому просто создаём пустой файл postrm командой:
Упаковываем всё наше «добро» в control.tar.gz:
Разберём последнюю команду чуть подробнее. Строки pre post раскрываются в следующие:
То есть, фактически в создаваемый архив добавляются файлы postinst, postrm, preinst, prerm. Эти файлы представляют собой скрипты, выполняемые на различных этапах установки/удаления:
Они являются необязательными — то есть могут отсутствовать. Если команда tar написала, что отсутствует какой-либо файл (например, файл postrm), то отредактируйте эту команду — уберите из списка отсутствующий файл, например, вместо создания postrm можно было записать команду следующим образом:
Продолжаем. Вновь собираем deb:
Устанавливаем наш пофиксенный пакет:
Ошибка «в значении поля «Description» обнаружена пустая строка»
Если при установки пакета возникла ошибка:
То это означает, что в файле control есть последняя пустая строка — удалите эту пустую строку и пересоберите установочный файл.
После этого всё ставится как нужно:
Если вам действительно просто нужен Viber, то смотрите статью «Как установить Viber на Linux».
Источник
unixforum.org
Форум для пользователей UNIX-подобных систем
Как найти список битых пакетов?
Как найти список битых пакетов?
Сообщение жучара » 22.04.2018 02:30
$ sudo apt-get install libgtk-3-dev
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:
Пакеты, имеющие неудовлетворённые зависимости:
libgtk-3-dev : Зависит: libgtk-3-0 (= 3.4.2-7+deb7u1) но 3.4.2-7+deb7u1.astra1 будет установлен
Зависит: libgdk-pixbuf2.0-dev (>= 2.26.0) но он не будет установлен
Зависит: libpango1.0-dev (>= 1.30.0) но он не будет установлен
Зависит: libatk1.0-dev (>= 2.2.0) но он не будет установлен
Зависит: libcairo2-dev (>= 1.10.0) но он не будет установлен
Зависит: libx11-dev но он не будет установлен
Зависит: libxext-dev но он не будет установлен
Зависит: libxinerama-dev но он не будет установлен
Зависит: libxi-dev но он не будет установлен
Зависит: libxrandr-dev но он не будет установлен
Зависит: libxcursor-dev но он не будет установлен
Зависит: libxfixes-dev но он не будет установлен
Зависит: libxcomposite-dev но он не будет установлен
Зависит: libxdamage-dev но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
Источник
Если вы активный пользователь 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