Die folgenden Pakete haben unerfüllte Abhängigkeiten!

36

Ich schreibe dies, weil ich sehr verwirrt bin über die Installation von PostgreSQL 9.3 auf meinem Ubuntu 14.04. Zuerst benötige ich es für meine Python / Django-Entwicklung und stieß auf das Problem, als ich versuchte, es zu installieren. Jetzt habe ich diesen Fehler und es macht mich verrückt:

The following packages have unmet dependencies:
postgresql-9.3 : Depends: postgresql-client-9.3 but it is not going to be installed
Depends: postgresql-common (>= 142~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Ich habe einige Online-Lösungen gefunden ( Wie löse ich nicht erfüllte Abhängigkeiten, nachdem ich eine PPA hinzugefügt habe? ), Und ich habe alles für den Teil "Vorbeugende Maßnahmen" getan, weil ich ein Problem mit defekten Paketen hatte und erneut, nachdem mir dieser Fehler erneut angezeigt wurde .

Als Zweites habe ich das offizielle PostgreSQL-Installations-Tutorial ( http://www.postgresql.org/download/linux/ubuntu/ ) befolgt , und ich hatte doppelte Repositorys, aber ich habe sie gelöscht und ich habe ein neues hinzugefügt, aber Immer noch dieser Fehler.

Copser
quelle

Antworten:

36

Sie können das Paket mit installieren.

Stellen Sie sicher, dass die Repo-Quellen auf dem neuesten Stand sind

sudo apt-get update

So installieren Sie das Paket

sudo apt-get install packagename

Führen Sie den folgenden Befehl aus, um beschädigte oder fehlende Abhängigkeiten zu beheben, sobald das Paket feststellt, dass einige Abhängigkeiten fehlen.

sudo apt-get install -f

Der obige Befehl lädt die fehlenden Abhängigkeiten nur herunter, wenn Sie das Paket bereits installiert haben.

schwere Ungewissheit
quelle
2
Vielen Dank, ich dachte, es bedeutete Gebrauch sudo apt-get install -f packagenameund bekam den gleichen Fehler.
Charles Clayton
1
Dies funktioniert nicht mit python2.7-minimalen Fehlern.
IgorGanapolsky
8

Manchmal hängen die Abhängigkeiten, die behoben werden müssen, nicht mit dem Programm zusammen, das Sie installieren möchten. In meinem Fall gab es diesen Fehler aus:

Die folgenden haben unerfüllte Abhängigkeiten

shashlik: Kommt drauf an: libc6-i386 wird aber nicht installiert

Hängt von lib32gcc1 ab, wird aber nicht installiert

Hängt ab von: lib32z1, wird aber nicht installiert

Es stellte sich heraus, dass ich versucht hatte, ein Programm namens "Shashlik" zu installieren, und die Installation fehlgeschlagen war. Also habe ich den Code ausgeführt:

sudo apt-get --purge remove shashlik

Und dann rannte ich:

sudo apt install autoconf

Dies schien den Fehler zu beheben, als mein Programm dann installiert wurde. Ich bin mir nicht sicher, wie sehr der zweite Befehl geholfen hat, aber ich habe ihn dort abgelegt, falls die Lösung funktionieren sollte.

Joel Winterton
quelle
Wie haben Sie festgestellt, dass dies das Problem ist?
Kevinkayaks
5

Lassen Sie mich meine Erfahrungen mit der Installation mit anderen teilen postgresql-9.3. Zunächst habe ich ungefähr 4/5 Tage damit zu kämpfen, und es ist mir endlich gelungen, es zu tun.

Mit diesen bösen Fehlern, die ich in meinem ersten Beitrag geteilt habe, ist alles schief gelaufen, da ich versucht habe, sie zu googeln und herauszufinden, dass die Leute mehr weniger den gleichen Fehler haben oder Schwierigkeiten haben, einen ähnlichen Fehler zu lösen.

Um es kurz zu machen, Sie haben hier eine sehr gute Antwort, wie Sie nicht erfüllte Pakete lösen können:

Wie löse ich nicht erfüllte Abhängigkeiten nach dem Hinzufügen eines PPA?

Mein Fehler war, dass ich ein doppeltes Repository erstellt habe und die Antwort in diesem Link löste, dass dieser Befehl sudo apt-get install -fnur einen weiteren Fehler gemacht hat. Sie müssen dies manuell tun, zumindest habe ich es getan (lesen Sie den Abschnitt Vorbeugende Maßnahmen, aber Sie können nachlesen am ende ist es ein imba post).

Zweitens schaffe ich es, diesen Beitrag von der offiziellen PostgreSQL-Seite http://www.postgresql.org/message-id/[email protected] zu googeln (dies ist der Fehler, den Menschen normalerweise haben, wenn sie mit der Installation von postgresql zu kämpfen haben ), führte mich dies zu
https://wiki.postgresql.org/wiki/Apt . Dies ist der richtige Weg, um PostgreSQL-Pakete zu Ihrem System hinzuzufügen. Lesen Sie es einfach und führen Sie es Schritt für Schritt aus.

Der dritte Schritt besteht aus einer Reihe von Befehlen, die im @ vembutech-Post bereitgestellt werden:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install postgresql-9.3 postgresql-contrib-9.3
Copser
quelle
5

Ich weiß, dass ich etwas spät dran bin, aber keine der oben genannten Lösungen hat bei mir funktioniert. Was mein Problem wirklich löste, war, aptitudeapt-get zu verwenden. aptitudewird Lösungen für das Problem vorschlagen. Zum Beispiel:

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)

wie in diesem Beitrag besprochen .

Gabriel Ziegler
quelle
3

Versuchen Sie es mit dem folgenden Befehl.

sudo apt-get install postgresql-common=151.pgdg12.4+1

sudo apt-get install postgresql-9.3 postgresql-contrib-9.3
Vembutech
quelle
1
"E: Version '151.pgdg12.4 + 1' für 'postgresql-common' wurde nicht gefunden", Fehler erneut ...
copser
Ich schaffe es, ich führe das zweite Kommando aus und schließlich habe ich es getan, @vembutech <3
copser