Как починить зависимости в linux

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

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

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

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

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

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

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

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

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

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

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

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 и производных?

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Uno из наиболее распространенных проблем, которые обычно возникают в Ubuntu или любые его производные когда пользователь устанавливает пакеты deb, которые он загружает с какого-то веб-сайта, Это известная проблема с невыполненными зависимостями, она возникает из-за того, что для указанного пакета требуется определенная версия приложения, или он будет выпущен, и его нет в системе, или что менеджер пакетов не может найти правильные зависимые пакеты, необходимые для выполнения программы Ubuntu.

Хотя такого рода проблемы возникают все реже и реже, В связи с тем, что многие пользователи уже склонны предпочитать использование приложений Flatpak, AppImage или Snap, в дополнение к тому факту, что у них уже есть достойный каталог с самыми популярными приложениями, и все больше разработчиков продолжают добавлять свои приложения в этот тип формат.

Выявление проблемы

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

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

Здесь важно проверить, не пытаемся ли мы установить устаревший пакет. Что ж, возможно, есть более свежий пакет или проверьте репозиторий, на какую дату датируются пакеты и до какой версии доступна.

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

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

Применение первого решения

Самый прямой способ исправить ошибки Зависимость в Ubuntu от диспетчера пакетов по умолчанию, чтобы начать исправление, просто откройте терминал и выполните команду:

При выполнении вышеуказанной команды Диспетчер пакетов Ubuntu попытается исправить проблемы зависимость, стоящая перед и он напечатает внесенные вами изменения.

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

Таким же образом вы можете выбрать другое решение:

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Второе решение, установка необходимых зависимостей

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

Например, в терминале нам показывают что-то вроде этого:

Следует отметить, что Это указывает на то, что выпуск «libgtk 3.0» больше или равен версии «3.16.2». за то, что мы должныs в этом случае загрузите версию указанной библиотеки. Здесь важно учитывать, что для библиотек многие приложения зависят от одной или определенной версии, поэтому лично я не советую вам сюда прикладывать руку.

Чтобы найти конкретную версию, мы можем положиться на страница пакетов ubuntu (packages.ubuntu.com) чтобы проверить, какая это версия Ubuntu и в каком репозитории, поскольку очень часто некоторые из них не включены.

Здесь вы можете скачать и установить нужные вам пакеты.

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

Третий и последний вариант. При распаковке необходимо изменить зависимости и переупаковку.

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

Итак, если они ограничивают работу приложения под определенной версией, Это тот, который вызывает конфликт.

Итак мы собираемся распаковать пакет deb и изменить зависимости к той версии, которая у нас есть в системе (поэтому было важно отметить, какие зависимости конфликтуют с конкретной версией).

Для этого мы наберем команду:

Мы собираемся получить доступ к папке и идем по маршруту «/ ДЕБИАН»

И мы собираемся редактировать файл «control» с нашим любимым редактором

Здесь мы будем искать строки, указывающие на зависимости с которыми у нас есть конфликты и мы собираемся их редактировать.

Например, мы найдем что-то вроде этого:

Мы собираемся перейти на ту версию, которая у нас есть. Сохраняем изменения и переупаковываем для переустановки с помощью:

И для установки создается новый пакет deb.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Общие » Как исправить ошибки зависимости в Ubuntu и производных?

Источник

Как исправить ошибки зависимостей Ubuntu

от sasza

Ошибки зависимости в Ubuntu возникают, когда пользователи устанавливают сторонний пакет DEB, который они загрузили из Интернета через командную строку, и диспетчер пакетов не может найти правильные зависимые пакеты, необходимые для запуска программы в Ubuntu. Хотя такого рода проблемы возникают все реже и реже в 2019 году, из-за того, что большинство поклонников Ubuntu отходят от DEB в пользу Snaps и Flatpaks, по-прежнему важно знать, что делать, когда возникает подобная ошибка. Итак, в этом руководстве мы покажем вам, как исправить ошибки зависимости в Ubuntu.

Примечание: хотя это руководство посвящено устранению проблем с зависимостями в Ubuntu Linux, информация, которую мы рассматриваем, также применима к Linux Mint, Elementary OS, Zorin OS и любой другой операционной системе, подобной Ubuntu. Если вы используете какой-либо из этих дистрибутивов на основе Ubuntu, не стесняйтесь следить за ним.

Что такое программная зависимость?

Зависимость программного обеспечения — это общий термин, используемый в Linux для обозначения необходимых программ, библиотек, кодеков и других элементов, которые требуются данному приложению для правильной работы. Обычно разработчик обрабатывает эти важные файлы, объединяя их в пакет. Однако иногда разработчики не объединяют зависимости программного обеспечения, а вместо этого полагаются на источники программного обеспечения Ubuntu, чтобы предоставить это им.

Исправление ошибок зависимостей с помощью Apt

Самый простой способ исправить ошибки зависимости в Ubuntu Linux — использовать менеджер пакетов по умолчанию: Apt. Чтобы начать исправление, откройте окно терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. После открытия окна командной строки используйте команду ниже, чтобы исправить ошибки.

После выполнения указанной выше команды установки диспетчер пакетов Ubuntu попытается исправить проблемы с зависимостями, с которыми вы столкнулись, и распечатает изменения, которые он собирается внести. Прочтите подсказку на экране, которую распечатывает терминал. Затем, когда вы закончите читать экранную подсказку, нажмите Y на клавиатуре, чтобы продолжить.

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

Исправление ошибок зависимостей с помощью Synaptic

Устранение ошибок зависимостей с помощью Apt и командной строки обычно работает довольно хорошо. Тем не менее, если вы не являетесь поклонником этого метода, есть другой способ: диспетчер пакетов Synaptic.

Чтобы получить доступ к диспетчеру пакетов Synaptic в Ubuntu для решения ошибок зависимостей, вам необходимо установить приложение. Откройте окно терминала с помощью Ctrl + Alt + T или Ctrl + Shift + T. Затем используйте команду ниже, чтобы установить приложение в вашей системе.

Примечание. Synaptic также можно установить, выполнив поиск в Центре программного обеспечения Ubuntu по запросу «Synaptic».

После установки диспетчера пакетов Synaptic в Ubuntu запустите приложение и введите пароль пользователя, чтобы получить доступ к приложению. Затем следуйте пошаговым инструкциям ниже, чтобы узнать, как с его помощью решать ошибки зависимостей.

Шаг 1. Найдите в диспетчере пакетов Synaptic кнопку «Поиск» и выберите ее, чтобы получить доступ к функции поиска в приложении.

Шаг 2. Введите имя приложения со сломанными зависимостями в поле поиска. Например, если вы установили пакет Discord DEB, вы должны написать «discord» в поле поиска.

Шаг 3. Просмотрите результаты поиска в Synaptic для приложения с отсутствующими файлами зависимостей и выберите его с помощью мыши.

Шаг 4: Найдите меню «Правка» в окне диспетчера пакетов Synaptic и щелкните его, чтобы открыть параметры внутри. После открытия меню нажмите кнопку «Исправить поврежденные пакеты».

Шаг 5: Найдите кнопку «Применить» и выберите ее, чтобы сообщить Synaptic о необходимости продолжить процесс разрешения зависимостей.

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Функция исправления выйдет и соберет все недостающие программные зависимости, необходимые программе. Когда процесс завершен, ваши ошибки устранены, и приложение готово к использованию!

Способы избежать ошибок зависимости в Ubuntu

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

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Иногда необходимо получить программное обеспечение не из источников программного обеспечения Ubuntu. Даже с огромным количеством приложений Ubuntu, которые нужно установить, некоторые ускользают от проблем. Если вам нужно заполучить приложение, которого нет в традиционных источниках программного обеспечения Ubuntu, подумайте о поиске версии Snap или Flatpak, поскольку у них никогда не возникает проблем с зависимостями, и регулярно получайте обновления непосредственно от разработчиков.

Источник

Неудовлетворенные зависимости Ubuntu

При установке пакетов из официальных или сторонних репозиториев вы можете столкнуться с проблемой неудовлетворенные зависимости Ubuntu. Чтобы понять причину возникновения этой ошибки сначала надо разобраться как работают пакетные менеджеры в Linux. Здесь всё компоненты системы, библиотеки и сами программы разделены на пакеты. И если какой-либо программе нужна определенная библиотека, она не поставляется вместе с этой библиотекой, а ожидает, что эта библиотека будет уже установлена в системе.

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

Неудовлетворенные зависимости в Ubuntu

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

По английски наша ошибка ещё может писаться как the following packages have unmet dependencies. Она может возникнуть в нескольких случаях, давайте сначала рассмотрим основные из них:

1. Обновление и исправление зависимостей

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

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Эта команда установит зависимости, которые есть во официальных репозиториях (поможет при использовании dpkg) и если это не решит проблему, то удалит пакеты, для которых зависимости удовлетворить не удалось. Также после этого можно выполнить:

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

sudo apt upgrade
sudo apt full-upgrade

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

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

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

2. Установка зависимостей

Дальше установка зависимостей Ubuntu. Следующий этап, если вы скачали пакет в интернете, например, от другого дистрибутива с таким же пакетным менеджером, можно попытаться установить таким же способом библиотеки, которые он просит. Это может сработать особенно, если вы пытаетесь установить программу из старой версии дистрибутива. Пакеты можно искать прямо в google или на сайте pkgs.org:

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Здесь собрано огромное количество пакетов от различных дистрибутивов, в том числе и от Ubuntu и Debian. Просто выберите нужную версию пакета для вашей архитектуры. Скачать файл можно чуть ниже на странице пакета:

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

После загрузки пакета с сайта его можно установить через тот же dpkg:

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

3. Удаление зависимостей

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

Сначала распакуйте пакет в подпапку package командой:

Затем туда же извлеките метаданные пакета:

В файле package/DEBIAN есть строчка Depends, где перечислены все библиотеки, от которых зависит пакет и их версии. Просто удалите проблемную библиотеку или измените её версию на ту, которая есть в системе.

Затем останется только собрать пакет обратно:

И можете устанавливать, теперь с зависимостями будет всё верно:

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

4. Распаковать пакет

Следующий способ подойдет, если программа которую вы устанавливаете это библиотека, например, веб-драйвер для Selenium. Пакет можно распаковать и просто разложить исполняемые файлы из него по файловой системе в соответствии с папками внутри архива. Только желательно использовать не корневую файловую систему, а каталог /usr/local/ он как раз создан для этих целей.

5. Использовать snap пакеты

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Выводы

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

Источник

Неразрешенные зависимости. Поврежденная система пакетов

Здравствуйте. Только начинаю осваивать, не могу разобраться вот с этим. Прошу помощи.

следующие пакеты имеют неудовлетворенные зависимости: linux-headers-3.13.0.67-generic: Depends:linux-headers-3.13.0.67 но он не установлен

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Я не понял, в чем вопрос. Тебе же все написано, причем по-русски.

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Почему у него пакет зависит от самого себя и для самого себя не смог разрешить зависимости? Лол.

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Не сам от себя, читай вывод внимательнее.

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Понял. Моя невнимательность.
Ну, тогда пусть установит linux-headers-3.13.0.67, а потом linux-headers-3.13.0.67-generic.

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

Как починить зависимости в linux. Смотреть фото Как починить зависимости в linux. Смотреть картинку Как починить зависимости в linux. Картинка про Как починить зависимости в linux. Фото Как починить зависимости в linux

запускаю, потом терминал моргает и закрывается. Всё

Не 16.04. Стояла по ряду причин старая 14.04.LTS Сейчас обновиться не дает, вот пыталась разобраться.

Версия ядра 3.13.0.66-generic При попытке удаления выходит:

Думаю тут все понятно. Для ясности скинь текущее положение дел на диске:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *