Я пишу это, потому что я очень смущен установкой 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 install -f
Приведенная выше команда загрузит отсутствующие зависимости только в том случае, если вы уже установили пакет.
Я знаю, что немного опоздал, но ни одно из вышеперечисленных решений не сработало для меня. Что действительно решило мою проблему, так это использование aptitude вместо apt-get. aptitude будет предлагать решения проблемы.
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 дней, и мне, наконец, удалось это сделать.
Все пошло не так с этими неприятными ошибками, которыми я поделился в своем первом посте, поскольку я попытался погуглить и обнаружил, что у людей более или менее одна и та же ошибка или они пытаются решить похожую.
Короче говоря, у вас есть очень хороший ответ здесь, как разрешить неудовлетворенные пакеты:
Моя ошибка заключалась в том, что я создал дублированный репозиторий, и ответ по этой ссылке решил эту проблему, эта команда sudo apt-get install -f только что допустил еще одну ошибку, вы должны сделать это вручную, по крайней мере, я это сделал (прочитайте раздел Превентивные меры, но вы могли бы прочитать до конца, это сообщение imba).