Я запустил sudo apt-get upgrade
на своем сервере 12.04 и застрял с зависимостью PostgreSQL.
Вывод консоли (из sudo apt-get -f install
) ниже:
dpkg: dependency problems prevent configuration of postgresql-9.1:
postgresql-client-9.1 (9.1.7-0ubuntu12.04) breaks postgresql-9.1 (<< 9.1.7-0ubuntu12.04) and is installed.
Version of postgresql-9.1 to be configured is 9.1.6-1~precise2.
dpkg: error processing postgresql-9.1 (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
postgresql-9.1
E: Sub-process /usr/bin/dpkg returned an error code (1)
Как мне решить эту проблему?
NB. У меня есть рабочая база данных, работающая на этом сервере, поэтому очистка / переустановка postgres является последним средством.
Редактировать:
По запросу, вывод apt-get update
: http://paste.ubuntu.com/1469631/
У меня возникла та же проблема с этим обновлением postgresql.
Последней версией postgres является 9.1.7, по какой-то причине 9.1.6 отсутствует в репозитории, поэтому вот как я опустился до 9.1.5:
sudo apt-get -V install postgresql-client-9.1=9.1.5-0ubuntu12.04
sudo apt-get -V install postgresql-9.1=9.1.5-0ubuntu12.04
Обратите внимание, что я понижен до клиент первый. Похоже, в последнем обновлении есть ошибка, которая вызывает ошибку зависимости между клиентом и сервером.
edit: Если вы хотите предотвратить обновление postgresql в будущем, см. Эту страницу: https://help.ubuntu.com/community/PinningHowto . Обязательно примените этот метод как к клиенту, так и к серверу.
Вот еще одно решение (решение AgDude не работало в моей системе, хотя я считаю, что у меня та же проблема. У меня также установлен plpython. Я считаю, что это усложняет ситуацию.)
Удалите информацию пакета postgres из / var / lib / dpkg / status (сначала, конечно, создайте резервную копию файла). Я считаю, что это означает, что apt
не поймет, что postgres установлен, и поэтому не застрянет, когда не сможет найти 9.1.6 в репозитории.
Это решение позволит вам обновить остальную часть вашей системы, как обычно, и снова установить / удалить программное обеспечение. Конечно, он больше не будет обновлять postgres.
Я оставил несколько пакетов со ссылками на postgres. Вот они, так что вы знаете, что вам не нужно их извлекать: