it-swarm.com.de

apt-get upgrade hängt an der postgresql-abhängigkeit

Ich habe Sudo apt-get upgrade auf meinem 12.04-Server ausgeführt und bin in eine PostgreSQL-Abhängigkeit geraten.

Die Konsolenausgabe (von Sudo apt-get -f install) ist unten:

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)

Wie löse ich dieses Problem?

nb. Ich habe eine Produktionsdatenbank auf diesem Server, daher ist das Löschen/erneute Installieren von Postgres ein letzter Ausweg.

Bearbeiten:

Wie gewünscht, die Ausgabe von apt-get update: http://paste.ubuntu.com/1469631/

7
Peter Mellett

Ich habe das gleiche Problem mit diesem postgresql-Update festgestellt.

Die neueste Version von postgres ist 9.1.7. Aus irgendeinem Grund befindet sich 9.1.6 nicht im Repository. Daher habe ich hier ein Downgrade auf 9.1.5 durchgeführt:

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

Beachten Sie, dass ich zuerst auf den Client heruntergestuft habe. Es scheint, dass es einen Fehler im neuesten Update gibt, der einen Abhängigkeitsfehler zwischen dem Client und dem Server verursacht.

bearbeiten: Wenn Sie verhindern möchten, dass postgresql in Zukunft aktualisiert wird, lesen Sie diese Seite: https://help.ubuntu.com/community/PinningHowto . Stellen Sie sicher, dass Sie diese Methode sowohl auf den Client als auch auf den Server anwenden.

9
AgDude

Hier ist eine andere Lösung (AgDudes Lösung hat auf meinem System nicht funktioniert, obwohl ich glaube, dass ich das gleiche Problem habe. Ich habe auch plpython installiert. Ich glaube, das erschwert die Sache.)

Entfernen Sie die postgres-Paketinformationen aus/var/lib/dpkg/status (sichern Sie die Datei natürlich zuerst). Ich glaube, dies bedeutet, dass apt nicht erkennt, dass postgres installiert ist, und daher nicht hängen bleibt, wenn 9.1.6 nicht im Repository gefunden wird.

Mit dieser Lösung können Sie den Rest Ihres Systems wie gewohnt aktualisieren und erneut Software installieren/entfernen. Es wird natürlich keine Postgres mehr aktualisieren.

Ich habe einige Pakete mit Verweisen auf Postgres hinterlassen. Hier sind sie, damit Sie wissen, dass Sie diese nicht herausnehmen müssen:

  1. Paket: libpq-dev
  2. Paket: libreoffice-core
  3. Paket: rsyslog
3
Pete