Обновление apt-get застряло на зависимости postgresql

Я запустил 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/

7
задан 27 December 2012 в 16:32

2 ответа

У меня возникла та же проблема с этим обновлением 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 . Обязательно примените этот метод как к клиенту, так и к серверу.

0
ответ дан 27 December 2012 в 16:32

Вот еще одно решение (решение AgDude не работало в моей системе, хотя я считаю, что у меня та же проблема. У меня также установлен plpython. Я считаю, что это усложняет ситуацию.)

Удалите информацию пакета postgres из / var / lib / dpkg / status (сначала, конечно, создайте резервную копию файла). Я считаю, что это означает, что apt не поймет, что postgres установлен, и поэтому не застрянет, когда не сможет найти 9.1.6 в репозитории.

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

Я оставил несколько пакетов со ссылками на postgres. Вот они, так что вы знаете, что вам не нужно их извлекать:

  1. Пакет: libpq-dev
  2. Пакет: libreoffice-core
  3. Пакет: rsyslog
0
ответ дан 27 December 2012 в 16:32

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

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