Das apt-get-Upgrade hängt von der Postgresql-Abhängigkeit ab

7

Ich bin sudo apt-get upgradeauf meinem 12.04-Server gelaufen und habe eine PostgreSQL-Abhängigkeit.

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 / Neuinstallieren von Postgres ein letzter Ausweg.

Bearbeiten:

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

Peter Mellett
quelle
Haben Sie laufen apt-get updatevor apt-get upgrade? Wenn nicht, mach es. Wenn apt-get updateeine Fehlermeldung angezeigt wird, fügen Sie diese in Ihren Beitrag ein. Haben Sie auch Änderungen vorgenommen /etc/apt/sources.list?
Eric Carvalho
Ich habe es tatsächlich getan, sudo apt-get update && sudo apt-get upgradeum genau zu sein. Ich habe keine Änderungen an sources.list vorgenommen
Peter Mellett
Es scheint, dass postgresql-client-9.1 aktualisiert wird, postgresql-9.1 jedoch nicht, daher das Abhängigkeitsproblem. Es passiert, wenn apt-get updatees nicht erfolgreich durchgeführt wird. Führen Sie es apt-get updateerneut aus und melden Sie einen Fehler.
Eric Carvalho
Bitte siehe bearbeitete Frage. Keine Fehler von apt-get update.
Peter Mellett
Können Sie Ihre /etc/apt/sources.listund den Inhalt aller darin enthaltenen Dateien veröffentlichen /etc/apt/sources.list.d/? Die Ausgabe von apt-cache policy postgresql-9.1 postgresql-client-9.1wird ebenfalls hilfreich sein.
Eric Carvalho

Antworten:

9

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. Deshalb 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 ein Downgrade auf Client durchgeführt habe. Es scheint, dass das neueste Update einen Fehler enthält, der einen Abhängigkeitsfehler zwischen dem Client und dem Server verursacht.

Bearbeiten: Wenn Sie verhindern möchten, dass postgresql in Zukunft aktualisiert wird, besuchen 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.

AgDude
quelle
Vielen Dank, das Feststecken wird verhindern, dass dies auch in naher Zukunft ein Problem darstellt.
Peter Mellett
Funktioniert nicht für mich - es werden dieselben Abhängigkeitsfehler für plpython angezeigt. Wenn ich den vorgeschlagenen Befehlen postgresql-plpython-9.1 hinzufüge, erhalte ich:postgresql-9.1 : Breaks: postgresql-plpython-9.1 (< 9.1.6-1~precise2) but 9.1.5-0ubuntu12.04 is to be installed postgresql-client-9.1 : Breaks: postgresql-9.1 (< 9.1.7-0ubuntu12.04) but 9.1.6-1~precise2 is to be installed postgresql-plpython-9.1 : Depends: postgresql-9.1 (= 9.1.5-0ubuntu12.04) but 9.1.6-1~precise2 is to be installed
Pete
3

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 macht die Sache komplizierter.)

Entfernen Sie die Postgres-Paketinformationen aus / var / lib / dpkg / status (sichern Sie die Datei natürlich zuerst). Ich glaube, dies bedeutet apt, dass Postgres nicht installiert wird 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 die Software erneut installieren / entfernen. Postgres wird natürlich nicht mehr aktualisiert.

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
Pete
quelle