Показать статистику
0 голосов
от (970 баллов)

получаю сообщение об ошибке

Как решить проблему?

2.7тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

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

Решение проблемы

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

В случае, когда error показывает 

<some-package>: Depends: <other-package> (= version) but this-version is to be installed

вам стоит убедиться в том , что restricted и universe хранилища включены. Нажмите Alt+ F2, введите software-properties-gtk и нажмите Ввод

  • Под кладкой Ubuntu Software включите все репозитории.

Одной из возможных причин неудовлетворенных зависимостей может быть поврежденная база данных пакетов, и / или некоторые пакеты не были установлены правильно. Чтобы решить эту проблему, нажмите Alt+ Ctrl+, и введите в консоли

sudo apt-get clean

или

sudo apt-get autoclean

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

Одним из основных исправлений для решения проблем зависимостей - команда

sudo apt-get -f install

-f  означает «исправить сломанный». Apt будет пытаться исправить нарушенные зависимости. Если вы вручную установили пакет с неудовлетворенными зависимостями, по возможности apt-get установите эти зависимости, в противном случае он может просто удалить установленный вами пакет, чтобы решить проблему.

Затем выполните

sudo dpkg --configure -a

после выполните

sudo apt-get -f install

Если вывелось такая строка как

0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

То это значит, что  ничего не удалось.

Следующее решение такое:

sudo apt-get -u dist-upgrade

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

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

Если он не может исправить конфликты, он завершится с:

0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

Удалите задержанные пакеты по очереди, dist-upgrade каждый раз выполняя , пока не останется больше задержанных пакетов. Затем переустановите все необходимые пакеты. Обязательно используйте --dry-run опцию, чтобы вы были полностью проинформированы о последствиях:

sudo apt-get remove --dry-run имя-пакета

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

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

  • Отключение/ удаление / удаление PPA:

PPA  - это репозитории, размещенные на Launchpad . Вы можете использовать PPA для установки или обновления пакетов, которые недоступны в официальных репозиториях Ubuntu.

Одной из наиболее распространенных причин неудовлетворенных зависимостей являются PPA, особенно когда они используются для обновления существующего пакета в репозиториях Ubuntu. Для решения этой проблемы у вас есть три варианта: отключить, очистить или вернуться к исходному пакету в репозиториях Ubuntu, или удалить PPA.

  • Отключение:

Отключение PPA означает, что больше нет обновлений для пакетов, установленных с этого PPA. Чтобы отключить PPA: Откройте Software Center -Edit -Software Sources 

Или же таким путем

Hit Alt+F2 and run software-properties-gtk.

Нажмите на Other Software вкладку, и вы увидите, что у каждого PPA есть две строки: одна для скомпилированных пакетов и одна для исходного кода Uncheck,обе строки для отключения PPA. Здесь вы также можете добавлять и удалять PPA.

  • Purge:

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

sudo apt-get install ppa-purge

учитывая, что вопрос apt не решен, приведенная выше команда потерпит неудачу. Так что используйте эту команду

mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

Теперь используйте PPA Purge:

sudo ppa-purge ppa:someppa/ppa

Если по какой-либо причине команда «ppa-purge» завершается неудачно, вы не можете снова запустить «ppa-purge», пока не включите PPA (для включения PPA выполните те же шаги, что и для отключения PPA и Check обеих строк конкретного ППА для его включения).

  • Удаление

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

sudo apt-get autoremove --purge имя-пакета 
sudo add-apt-repository --remove ppa: someppa / ppa 
sudo apt-get autoclean

В качестве альтернативы вы можете использовать Y PPA Manager для отключения, удаления, очистки PPA

Держите Ubuntu в курсе. Ubuntu автоматически уведомляет, когда обновления доступны, вы также можете проверить наличие доступных обновлений, нажав на Session Indicator

Или, Hit Alt+ Ctrl+ , T чтобы открыть терминал и запустить следующие команды:

sudo apt-get update
sudo apt-get upgrade
  • Обновление:

синхронизирует ваш список доступных пакетов с серверами в исходных репозиториях. Обновление: загружает и устанавливает любые новые версии установленных пакетов.

Если вы решили добавить другие репозитории в sources.list, убедитесь, что репозиторий предназначен для работы с Ubuntu. Репозитории, которые не предназначены для работы с вашей версией Ubuntu Linux, могут привести к несоответствиям в вашей системе и могут привести к повторной установке. Кроме того, убедитесь, что вам действительно нужно добавить внешние репозитории, поскольку искомые пакеты программного обеспечения, возможно, уже были введены в официальные репозитории. 

  • Удаление дубликатов PPA. 

Y PPA Manager может легко сканировать и удалять дубликаты PPA.

Нажмите Alt+ F2 и запустите, y-ppa-manager чтобы открыть Y PPA Manager.

После того нажмите Enter на панели Advanced.

В появившемся окне выберите Scan and remove duplicate PPAs 

Нажмите теперь ОК.

...