it-swarm.com.de

Die folgenden Pakete haben unerfüllte Abhängigkeiten!

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 online einige Lösungen gefunden ( Wie löse ich nicht erfüllte Abhängigkeiten, nachdem ich einen PPA hinzugefügt habe? ), und ich habe alles für den Teil "Vorbeugende Maßnahmen" getan, weil ich Probleme mit defekten Paketen hatte, und erneut, nachdem ich hatte diese fehlershow wieder bei mir.

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 einen neuen hinzugefügt, aber immer noch diesen Fehler.

34
copser

Lassen Sie mich meine Erfahrungen mit der Installation von postgresql-9.3 mit anderen teilen. Zuallererst 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 Mühe 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 auf?

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 -f nur einen weiteren Fehler gemacht hat. Sie müssen dies manuell tun, zumindest habe ich es getan (siehe Abschnitt Vorbeugende Maßnahmen, aber man könnte bis zum ende lesen, es ist ein imba post).

Zweitens schaffe ich es, diesen Beitrag von der offiziellen PostgreSQL-Seite aus zu googeln http://www.postgresql.org/message-id/[email protected] (dies ist der Fehler, den die Leute normalerweise haben, wenn Sie kämpfen mit der Installation von postgresql), das führte mich 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
5
copser

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.

35
heavyguidence

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.

8
Joel Winterton

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, aptitude anstelle von apt-get zu verwenden. aptitude schlägt Lösungen für das Problem vor. 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 besprochen post .

5
Gabriel Ziegler

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
3
vembutech