Исправить пакеты с ошибками astra linux

Ошибка у вас зафиксированы сломанные пакеты

Во время установки программ с помощью пакетного менеджера apt в любом из дистрибутивов, использующих этот пакетный менеджер, вы можете столкнуться с ошибкой, что у вас зафиксированы сломанные пакеты. Это пакеты, которые не установились полностью потому что им не хватает зависимостей или процесс установки был по какой-либо причине прерван.

В этой статье мы рассмотрим что делать с такой ошибкой, как её исправить, а также я дам ссылки на другие материалы на сайте, которые помогут справится с проблемой.

Как исправить у вас зафиксированы сломанные пакеты?

1. Обновите списки пакетов

Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:

sudo apt update —fix-missing

2. Установите битые пакеты

После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:

sudo apt install -f

3. Очистите лишние пакеты

Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:

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, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.

Нет похожих записей

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

8 комментариев

Вот почему я использую Fedora с DNF, за 5 лет использования даже не припомню случаев некорректной работы DNF. APT в Дебиан подобных дистрибутивах это сплошное разочарование.

Если бы все так было просто с зависимостями, что их через форсе принудительно установить, то это был бы не Линукс. Ниче, что система после таких манипуляций не работает? После ваших советов, новичек «уложит» систему точно.

Согласен. С Fedora бубен уже покрылся пылью. Чего все с этой Ubunto’й носятся.

dzentoo? это у меня на матунту бубен плесенью покрылся.
А ты говоришь не о убунту, а Gnome3. Мне его нескончаемые проблемы неведомы, Gnome2 — до сих пор рулит

Читайте также:  Windows installer sdk x64

Ничего не помогло. Постоянно пишет, что сломаны пакеты. к примеру хочу установить: 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:

Источник

Ошибка: Невозможно исправить ошибки, у вас отложены (held) битые пакеты

В данной статье пойдет речь об ошибке «Невозможно исправить ошибки, у вас отложены (held) битые пакеты», которая возникает на ОС Linux, а также о том, как данную ошибку можно исправить.

Описание

E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

При попытке установить какие-либо пакеты через apt, можно столкнуться с такой ошибкой. Одной из причин ее появления, может быть ситуация, когда вы подключили какие-либо сторонние репозитории(ий), которые содержат более новые версии пакетов, а потом удалили их (эти репозитории). При этом информация о новых пакетах осталась в системе.

Информация о доступных пакетах, содержится в файле /var/lib/dpkg/status

Одним из способов это исправить будет удаление информации о более новых пакетах (на которые жалуется apt) из файла /var/lib/dpkg/status.
Первым делом делаем резервную копию:

Теперь открываем файл /var/lib/dpkg/status для редактирования и ищем там пакет, на который жалуется apt. Например, в моем случае, ошибка выглядела так:

Ищем информацию о пакете nvidia-driver-390 в файле /var/lib/dpkg/status и удаляем ее.

После удаления всех мешающих пакетов, необходимо сделать sudo apt-get update
И проверить, исчезла ли ошибка.

Если не получилось, то восстановить резервную копию можно командой:

Источник

Невозможно исправить ошибки, у вас отложены (held) битые пакеты

Удалил mySQL server (скорее всего криво) После чего хотел установить новый Выдает ошибку Пакеты, имеющие неудовлетворённые зависимости: mysql-server : Зависит: mysql-server-5.7 но он не будет установлен E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

Host: igorPK Kernel: 4.10.0-38-generic x86_64 (64 bit) Desktop: Cinnamon 3.6.6 Distro: Linux Mint 18.3 Sylvia

Угадай дистрибутив по сообщению об ошибке?

И как именно удаляли MySQL, командой или ударом ноги? 🙂

Новая рубрика. Вот я считаю что ето дебиан. Ибо он самый проблемный в этих делах. Он во всех делах проблемный.

Вбей ошибку в гугл, посмотри какие варианты предлагают, если нерелевантные, попробуй еще mysql дописать. Полезно будет запустить apt с переменной LC_ALL=C, чтобы информация об ошибке выводилась на англ. языке.

Если это debian-подобный дистр или altlinux, то попробуй sudo apt-get -f install .

Будешь удивлен, но вывод apt весьма информативен. Просто надо идти по цепочке.

Я как-то микс из 5 веток Debian сбивал — все можнь настроить.

Пакеты, имеющие неудовлетворённые зависимости: mysql-server-5.7 : Зависит: mysql-client-5.7 (>= 5.7.21-0ubuntu0.16.04.1) но он не будет установлен Зависит: mysql-server-core-5.7 (= 5.7.21-0ubuntu0.16.04.1) но он не будет установлен E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

Зачем ты воруешь мои советы?

У вас отложены битые пакеты по типу с отложенными кирпичами?

Эм. извини, что тебя это обидело, но я как бы и не скрывал, что первым это ты посоветовал. Если хочешь, в дальнейшем буду упоминать имя при цитировании, не ограничиваясь упоминаним того, что совет уже был высказан другим в теме.

А можешь упоминать мое имя в каждом своем посте?

А можешь упоминать мое имя в каждом своем посте?

Это как? Типа, посрался с кем-то и говоришь: «Ну ты и козёл, username, и ещё упомяну entefeed.» Так, что ли? 🙂

Читайте также:  Куда устанавливается windows папка

Типа. По аналогии с » Carthaginem delendam esse» (гугли, если не знаешь про что это)

«Ну ты и козёл, username, и кстати в очередной раз прощу прощения у entefeed.»

Пакеты, имеющие неудовлетворённые зависимости: mysql-server-core-5.7 : Зависит: libaio1 (>= 0.3.93) но он не может быть установлен E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

дебиан тут не причем — нефиг было в репе ковыряться и левак ставить.

«RedHat delendam esse» / «Disney delendam esse». Dixi.

Типа. По аналогии с » Carthaginem delendam esse»

Что-то вроде того.

Имхо, лучше бы ты привёл команды, которые ты вводишь и их полный вывод. И всё это желательно внутри тегов [code][/code], чтоб читать было проще.

После обновления в Менеджере пакетов

Внезапно, это требует root.

Можно попробовать следующее (не всё сразу, а пошагово, проверяя на каждом шаге, не решена ли проблема):

    Независимо от того, используешь ли ты apt-get или apt, команды, изменяющие состояние системы или обновляющие информацию о репозиториях, такие как install, upgrade, dist-upgrade, remove, purge и update, должны выполняться от root’а или через sudo.

E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?

Пакетный менеджер всегда должен быть запущен в одном экземпляре. Убедись, что у тебя не работают одновременно apt, apt-get, aptitude, synaptic или ещё какой пакетный менеджер, а единственный работающий менеджер запущен в одном экземпляре на одном терминале (в случае консольного варианта). Если это не поможет, то для разблокировки закрой все пакетные менеджеры (консольные и графические) и выполни

Если какие-то из этих реп у тебя не прописаны или закомментированы, то добавь/раскомментируй их. А если прописаны лишние репы, то на всякий случай закомментируй. Перед правкой на всякий случай сохрани резервную копию этого файла. И править его тоже надо от рута.

Посмотри также, что у тебя лежит в каталоге /etc/apt/sources.list.d.

После того, как исправишь (если там есть, что исправлять), выполни команду

Обязательно предварительно сохрани копию прежней версии /etc/apt/sources.list, т. к. не факт, что это поможет, а если у тебя есть ПО из сторонних реп, то оно может перестать обновляться.

Попробуй для всех hold-пакетов выполнить команду

Но имей в виду, что эта команда снесёт и все зависящие от них пакеты. Перед сносом она спросит, действительно ли ты этого хочешь. Прежде чем соглашаться, внимательно читай, что будет снесено, т. к. снос одной библиотеки может привести к сносу половины системы, и у тебя вообще всё может перестать работать. Это опасная штука, и пользоваться ею надо осторожно.

Можно сначала попробовать переустановить их командой

Если какие-то пакеты имеются, но не переустанавливаются и не удаляются, можно попробовать выполнить

Источник

Невозможно исправить проблемы, у вас есть сломанные пакеты

После обновления с 10.04 до 12.04 я пытаюсь установить разные пакеты. Например, ia32-libs и skype (4.0).

При попытке установить их, я получаю сообщение об ошибке «Невозможно исправить проблемы, у вас есть поврежденные пакеты».

После запуска этого:

7 ответов

Это конкретное сообщение об ошибке может указывать на то, что у вас есть пакеты, но может также указывать на другую проблему.

Вы можете получить список фактически удерживаемых пакетов с:

Если их нет или они не связаны между собой, то, вероятно, это что-то еще. Внимательно проверьте выходные данные команды, которую вы пытались получить, когда получили сообщение об ошибке, поскольку в полном выводе этой команды могут быть другие подсказки, кроме сообщения об ошибке.

Другой способ устранения неполадок может заключаться в использовании aptitude вместо apt-get для установки вашего пакета:

Aptitude сдается не так легко и попытается найти решения, которые могут включать изменение других пакетов. Это может дать вам более подробное объяснение проблемы и варианты ее устранения.

Иногда aptitude будет слишком стремиться удалить или понизить количество больших пакетов, чтобы удовлетворить ваш запрос, и в этом случае повторите попытку с -f меняет свои приоритеты и помогает ему находить решения, которые включают удаление / понижение версии меньшего количества пакетов, даже если это означает, что не все запрошенные изменения могут быть выполнены:

Читайте также:  Основной объект операционной системы windows это

Это случилось со мной тоже. Все, что я сделал, было sudo apt-get update и это решило мою проблему. Удачи.

Я столкнулся с подобным сценарием относительно отсутствующих зависимостей. В моем случае я пытался установить curl на Ubuntu Saucy Salamander 13.10.

Ошибка указала, что для зависимости требовалась более ранняя версия библиотеки curl3.

Я смог перейти на более раннюю версию, пытаясь установить curl с помощью aptitude.

Когда он отметил отсутствующую зависимость и причину (требовалась более ранняя версия файла библиотеки), он дал мне несколько вариантов ответа. y / / n / q

Y прервал бы установку, N искал бы другую опцию, а Q просто завершил бы работу и больше ничего не делал, оставив поврежденный пакет.

Я выбрал N , и это дало мне возможность понизить файл библиотеки до более ранней версии. Так вот что я сделал, и curl закончил установку без ошибок.

  • Я могу посмотреть на обновление файла библиотеки еще раз после установки, но пока все хорошо.

У меня был похожий сценарий в новой установке 14.04, без файлов, перечисленных в dpkg —get-selections | grep hold и без радости после sudo apt-get update ,

Что это исправило для меня было просто

Когда я попытался переустановить сбойный пакет, он работал нормально. Ура!

Возникла та же проблема, я запустил команду проверки пакета из другого ответа ( dpkg —get-selections | grep hold ) И пила

так я и использовал apt-get remove tomcat7-common «

Затем я мог установить Tomcat 6 (я удалял Tomcat 7 и устанавливал Tomcat 6, как и вы).

Я испробовал все методы, упомянутые на этой странице. Как-то у меня не вышло.

Вот как я это исправил: Отследите сломанный пакет и переустановите его.

Я пытаюсь установить aptitude .

Не удалось установить libcwidget3v5

sudo apt установить libcwidget3v5

Попробуйте установить libncursesw5

sudo apt установить libncursesw5

Попробуйте установить libtinfo5

sudo apt установить libtinfo5

Бинго, этот парень виноват libtinfo5 , он уже там, удалите и переустановите.

Удалить или очистить libtinfo5 .

apt purge libtinof5 было бы лучше, так как он также удаляет файлы конфигурации.

Переустановить libtinfo5 еще раз

sudo apt установить libtinfo5

Теперь попробуйте установить aptitude

Вот несколько быстрых и простых способов исправить you have held broken packages ошибка.

Откройте ваш файл sources.list в /etc/apt/sources.list и убедитесь, что нет никаких программных источников для выпуска Ubuntu, отличного от выпуска Ubuntu, который вы используете в настоящее время. Если вы обнаружите какие-либо неправильные строки релиза в sources.list, откройте файл sources.list с помощью sudoedit /etc/apt/sources.list , закомментируйте неправильные строки в sources.list, поставив перед ними # сохраните файл sources.list и запустите sudo apt update обновить список доступных пакетов программного обеспечения.

Выберите опцию » Исправить сломанные пакеты» в диспетчере пакетов Synaptic. Выполните следующие команды для установки Synaptic.

Откройте Synaptic и в Synaptic выберите » Правка» -> » Исправить сломанные пакеты», а затем повторите » Правка» -> » Исправить сломанные пакеты» еще раз.

В Synaptic на левой панели нажмите кнопку Custom Filters, которая отмечена курсором мыши на снимке экрана ниже. Из списка в верхнем левом углу выберите Broken. В центральной панели будут перечислены все сломанные пакеты, которые еще нужно починить.

Выберите сломанные пакеты по одному. Выберите сломанный пакет, а затем откройте терминал и запустите apt policy

, Результаты этой команды сообщат вам, был ли установлен этот поврежденный пакет из репозиториев Ubuntu по умолчанию или из какого-либо другого источника. Если сломанный пакет был установлен из другого источника, возможно, этот пакет можно удалить вместе с источником программного обеспечения и заменить другой версией того же пакета из репозиториев Ubuntu по умолчанию. Обычно это означает исправление поврежденного пакета путем понижения этого пакета до более старой версии.

Источник

Оцените статью
Adblock
detector