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

Я пишу это, потому что я очень смущен установкой 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 installed
Depends: postgresql-common (>= 142~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

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

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

53
задан 20 November 2018 в 00:42

6 ответов

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

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

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

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

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

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

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

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install postgresql-9.3 postgresql-contrib-9.3
6
ответ дан 23 November 2019 в 00:21

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

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

sudo apt-get update

Чтобы установить пакет.

sudo apt-get install packagename

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

sudo apt-get install -f

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

47
ответ дан 23 November 2019 в 00:21

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

Ниже приведены неучтенные зависимости

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

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

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

Оказалось, что я пытался установить программу под названием "Shashlik", и установка не удалась. Так что я запустил код:

sudo apt-get --purge remove shashlik

А потом я запустил:

sudo apt install autoconf

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

13
ответ дан 23 November 2019 в 00:21

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

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

sudo apt-get install postgresql-9.3 postgresql-contrib-9.3
3
ответ дан 23 November 2019 в 00:21

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

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

sudo apt-get install aptitude

sudo 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)

, как описано в этом сообщении .

19
ответ дан 23 November 2019 в 00:21

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

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.list
libpython3.9-dev:amd64.md5sums

Теперь вы можете отбросить эти файлы.

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

Проделайте те же операции с остальными пакетами.

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

sudo apt --fix-broken install

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

0
ответ дан 28 July 2021 в 15:13

Другие вопросы по тегам:

Похожие вопросы: