Linux

Как исправить ошибку Unmet Dependencies на Ubuntu

Содержание:

Ошибка Следующие пакеты имеют неудовлетворенные зависимости уже некоторое время мучает пользователей Ubuntu, и все чаще можно встретить эту ошибку на различных версиях Ubuntu. Система управления пакетами APT проста в использовании, но в некоторых случаях, например, при подключении сторонних зависимостей, может возникнуть такая ошибка apt-get.

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

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

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

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

  1. Нажмите одновременно клавиши Alt, Ctrl и T на клавиатуре, чтобы открыть Терминал.
  2. Введите и нажмите Enter.
  3. По окончании выполнения предыдущей команды введите sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.оригинал и снова нажмите Enter.

Метод 1: Использование параметра -f

Это самый простой вариант, требующий только добавления еще двух букв к набираемой команде. Вместо того чтобы использовать sudo apt-get install PACKAGENAME, где PACKAGENAME — пакет, который вы пытаетесь установить с помощью системы apt, используйте sudo apt-get install -f. На сайте -f параметр попытается исправить систему с нарушенными зависимостями, после чего вы сможете установить соответствующий пакет.

  1. Откройте файл Терминал нажав кнопку Ctrl, Alt и T одновременно на клавиатуре.
  2. Введите sudo apt-get install -f и нажмите Введите для выполнения.
  3. После того как она будет выполнена, введите sudo dpkg -configure -a, нажмите Введите чтобы запустить его, и выполните команду команда из шага 2 еще раз.

Способ 2: Используйте Aptitude

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

  1. Одновременно нажмите кнопку Ctrl, Alt, и T клавиши на клавиатуре, чтобы открыть
  2. Введите sudo apt-get install aptitude и нажмите Enter для выполнения команды.
  3. введите sudo aptitude install PACKAGENAME, где PACKAGENAME — пакет, который вы устанавливаете, и нажмите Введите для выполнения. Это позволит попытаться установить пакет через aptitude, а не apt-get, что потенциально может решить проблему неудовлетворенных зависимостей.

Метод 3: Убедитесь, что включены ограниченные и вселенские репозитории, и попробуйте использовать более подходящий сервер

  1. Нажмите одновременно Alt и F2 на компьютере, введите software-properties-gtk и нажмите кнопку
  2. В Программное обеспечение Ubuntu вкладка, убедитесь, что все репозитории (main, universe, restricted, multiverse) включены.
  3. Щелкните на списке серверов, где написано Скачать с, и выберите
  4. Нажмите Выберите лучший сервер.
  5. Нажмите Alt, Ctrl и T одновременно откройте Терминал и введите sudo apt-get update, затем нажмите После того как она будет выполнена, попробуйте установить программное обеспечение еще раз.

Способ 4: Очистка базы данных пакетов

Поврежденная база данных пакетов является потенциальной причиной неудовлетворенных зависимостей, а также некорректной установки пакетов. Однако очистка базы данных пакетов может исправить ситуацию, и сделать это можно с помощью двух команд, которые я объясню ниже. Прежде всего, нажмите Ctrl, Alt и T чтобы открыть Терминал, и не забудьте нажать Enter после команды, чтобы запустить ее.

  1. sudo apt-get clean очистит локальный репозиторий от всех извлеченных файлов пакетов (.deb). Он удалит все, кроме файлов блокировки, из /var/cache/apt/archives и /var/cache/apt/archives/partial/.
  2. sudo apt-get autoclean также очистит извлеченные файлы, но, в отличие от предыдущей команды, удалит только те пакеты, которые уже нельзя загрузить и которые практически бесполезны.

Метод 5: Устраните все удерживаемые пакеты

Удерживаемые пакеты на самом деле удерживаются из-за проблем с зависимостями и конфликтов, которые apt не удаётся решить. Устранение таких пакетов означает, что таких конфликтов не будет, и, следовательно, может решить вашу проблему.

  1. Открыть Терминал нажав кнопку Ctrl, Alt и T
  2. Введите в sudo apt-get -u dist-upgrade и нажмите Если есть какие-либо удерживаемые пакеты, он покажет их, и вы сами сможете их устранить.
  3. Первая попытка запуска

sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

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

  1. Чтобы удалить удерживаемый пакет, используйте sudo apt-get remove -dry-run PACKAGENAME (PACKAGENAME — пакет, который вы пытаетесь удалить). The -dry-run параметр информирует вас о том, что произойдет дальше. После удаления всех пакетов попробуйте установить тот, который вызвал проблему в первую очередь, и посмотрите, что произойдет.

Метод 6: Очистка/удаление/отключение PPA

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

Отключить означает, что пакеты, установленные из этого PPA, больше не будут получать обновления.

  1. Нажмите одновременно Alt и F2, и запустить software-properties-gtk.
  2. Из Другое программное обеспечение tab, и вы увидите две строки для каждого PPA, где одна предназначена для исходного кода, а другая — для скомпилированного пакета. Чтобы отключить PPA, необходимо снимите флажки с обеих строк.

Очистка означает, что все пакеты в выбранном PPA будут понижены до версии, находящейся в официальных репозиториях, а также отключит PPA. Для установки PPA Purge можно использовать команду sudo apt-get install ppa-purge, но с учетом того, что в данном случае будет использоваться apt не работает, следует использовать эту команду в Терминале (Alt, Ctrl и T одновременно, то Введите для запуска):

mkdir ppa-purge && cd ppa-purge && wget http://old-releases.ubuntu.com/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget https://ftp.u-picardie.fr/mirror/ubuntu/ubuntu/pool/main/a/aptitude/aptitude_0.8.10-6ubuntu1_i386.deb && sudo dpkg -i ./*.deb

Далее выполните команду sudo ppa-purge ppa:someppa/ppa для очистки выбранного PPA. Однако, поскольку PPA Purge все равно не удаляет PPA, для удаления PPA можно воспользоваться командами, приведенными ниже. Игнорируйте первый вариант, если в ваши намерения не входит удаление установленного пакета.

  1. sudo apt-get autoremove -purge PACKAGENAME
  2. sudo add-apt-repository -remove ppa:someppa/ppa
  3. sudo apt-get autoclean

После этого вы должны иметь возможность установить необходимый пакет.

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

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