Следующие пакеты имеют неудовлетворенные зависимости!

Я пишу это, потому что я очень смущен установкой PostgreSQL 9.3 на мой Ubuntu 14.04. Сначала он мне нужен для моей разработки на Python / Django, и я столкнулся с проблемой, когда попытался его установить.Теперь у меня есть эта ошибка, и это сводит меня с ума:

The following packages have unmet dependencies:postgresql-9.3 : Depends: postgresql-client-9.3 but it is not going to be installedDepends: postgresql-common (>= 142~) but it is not going to be installedE: Unable to correct problems, you have held broken packages.

Я нашел несколько решений в Интернете (Как мне устранить неудовлетворенные зависимости после добавления PPA?), и я сделал все, что касалось части превентивных мер, потому что у меня была проблема с некоторыми поврежденными пакетами, и снова после того, как мне снова показали эту ошибку.

Второе, что я сделал, следуя официальному руководству по установке PostgreSQL (http://www.postgresql.org/download/linux/ubuntu/), и у меня были дублированные репозитории, но я удалил их и добавил новый, но все равно эта ошибка.

Вы можете установить пакет с помощью.

убедитесь, что источники репо обновлены

sudo apt-get update

Для установки пакета.

sudo apt-get install packagename

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

sudo apt-get install -f

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

Я знаю, что немного опоздал, но ни одно из вышеперечисленных решений не сработало для меня. Что действительно решило мою проблему, так это использование aptitude вместо apt-get. aptitude будет предлагать решения проблемы.

Просто запустите эти:

sudo apt-get install aptitudesudo aptitude install <package-name>

aptitude предложит вам разрешение зависимостей, например:

The following actions will resolve these dependencies:Keep the following packages at their current version:1)     libyaml-dev [Not Installed]                        Accept this solution? [Y/n/q/? (n)The following actions will resolve these dependencies:Downgrade the following packages:                                1)     libyaml-0-2 [0.1.4-3ubuntu3.1 (now) -> 0.1.4-3ubuntu3 (trusty)]Accept this solution? [Y/n/q/?] (Y)

как обсуждалось в этом пост.

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

Следующие факторы имеют неудовлетворенные зависимости

шашлык : Зависит от: libc6-i386, но он не будет установлен

Зависит от: lib32gcc1, но он не будет установлен

Зависит от: lib32z1, но он не будет установлен

Оказалось, что я пытался установить программу под названием "Шашлык", и установка завершилась неудачей.Поэтому я запустил код:

sudo apt-get --purge remove shashlik

А потом я побежал:

sudo apt install autoconf

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

Позвольте мне поделиться с другими людьми своим опытом установки postgresql-9.3. Во-первых, я боролся с этим около 4/5 дней, и мне, наконец, удалось это сделать.

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

Короче говоря, у вас есть очень хороший ответ здесь, как разрешить неудовлетворенные пакеты:

Как мне устранить неудовлетворенные зависимости после добавления PPA?

Моя ошибка заключалась в том, что я создал дублированный репозиторий, и ответ по этой ссылке решил эту проблему, эта команда sudo apt-get install -f только что допустил еще одну ошибку, вы должны сделать это вручную, по крайней мере, я это сделал (прочитайте раздел Превентивные меры, но вы могли бы прочитать до конца, это сообщение imba).

Во-вторых, мне удается погуглить этот пост с официальной страницы PostgreSQL http://www.postgresql.org/message-id/20140327084212.GA12703@msgid.df7cb.de (это ошибка, с которой обычно сталкиваются люди, когда они борются с установкой postgresql), это привело меня к
https://wiki.postgresql.org/wiki/Apt, это правильный способ добавления пакетов PostgreSQL в вашу систему, просто прочитайте его и делайте это шаг за шагом.

Третий шаг - это серия команд, приведенных в сообщении @vembutech:

sudo apt-get update && sudo apt-get upgradesudo apt-get install postgresql-9.3 postgresql-contrib-9.3

Попробуйте установить с помощью приведенной ниже команды.

sudo apt-get install postgresql-common=151.pgdg12.4+1sudo apt-get install postgresql-9.3 postgresql-contrib-9.3

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

The following packages have unmet dependencies: libpython3.9 : Depends: libpython3.9-stdlib (= 3.9.5-3~20.04.1) but 3.9.4-1+bionic1 is to be installed

Вы должны вручную удалить файлы поврежденного пакета.

Чтобы получить список файлов, которые вы можете запустить

sudo ls –l /var/lib/dpkg/info | grep -i libpython3.9-dev

Заменять libpython3.9-dev с вашим собственным именем пакета.

Выход

libpython3.9-dev:amd64.listlibpython3.9-dev:amd64.md5sums

Теперь вы можете отказаться от этих файлов.

sudo rm /var/lib/dpkg/info/python3.9-dev*

Выполните те же операции для остальных пакетов.

Как только это будет сделано, вы сможете запустить

sudo apt --fix-broken install

На этот раз приведенная выше команда должна работать нормально.

возможный дубликат Как мне устранить неудовлетворенные зависимости после добавления PPA?