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

501

Gelegentlich, wenn ich Sachen installiere, erhalte ich einen Fehler wie den folgenden:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 package1 : Depends: package2 (>= 1.8) but 1.7.5-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

Wie kann ich das beheben?

    
jrg 21.05.2012, 16:17

14 Antworten

527

APT ist ein Paketverwaltungssystem für Debian und andere darauf basierende Linux-Distributionen wie Ubuntu. In den meisten Fällen ist APT zum Installieren, Entfernen und Aktualisieren von Paketen einfach zu verwenden. In seltenen Fällen gibt es oft, wenn Sie Abhängigkeiten von Drittanbietern mischen, die Möglichkeit, dass apt-get Ihnen möglicherweise einen Fehler gibt, der Ihnen mitteilt, dass eine Paketinstallation nicht abgeschlossen werden konnte.

Lösungen:

Es ist immer eine gute Idee, Konfigurationsdateien wie /etc/apt/sources.list zu sichern, damit Sie die Änderungen bei Bedarf wiederherstellen können.

  • Wenn die error etwa so aussieht:

    <some-package>: Depends: <other-package> (= version) but this-version is to be installed

    Stellen Sie dann sicher, dass die Repositories restricted und universe aktiviert sind. Drücken Sie Alt + F2 , geben Sie software-properties-gtk ein und drücken Sie Enter .

    Aktivieren Sie unter Ubuntu Software alle Repositories.

  • Eine mögliche Ursache für nicht erfüllte Abhängigkeiten könnte eine beschädigte Paketdatenbank sein, und / oder einige Pakete wurden nicht ordnungsgemäß installiert. Um dieses Problem zu beheben, drücken Sie Alt + Strg + T , um das Terminal zu öffnen und einen der folgenden Befehle auszuführen:

    sudo apt-get clean

    oder

    sudo apt-get autoclean

    apt-get clean löscht das lokale Repository der abgerufenen Paketdateien (die .deb-Dateien). Es entfernt alles außer der Sperrdatei aus / var / cache / apt / archives / und / var / cache / apt / archives / partial /. apt-get autoclean löscht das lokale Repository der abgerufenen Paketdateien, entfernt jedoch im Gegensatz zu apt-get clean nur Paketdateien, die nicht mehr heruntergeladen werden können und weitgehend nutzlos sind.

  • Eine der einfachsten Korrekturen zum Lösen von Abhängigkeiten ist das Ausführen von:

    sudo apt-get -f install

    Das -f steht hier für "fix broken". Apt versucht fehlerhafte Abhängigkeiten zu korrigieren. Wenn Sie ein Paket mit nicht erfüllten Abhängigkeiten manuell installiert haben, installiert apt-get diese Abhängigkeiten nach Möglichkeit, andernfalls entfernt es möglicherweise einfach das Paket, das Sie installiert haben, um das Problem zu beheben.

    Dann renne:

    sudo dpkg --configure -a

    Dann führe das nochmal aus:

    sudo apt-get -f install

    Wenn die Ausgabe ist:

    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

    Das bedeutet, es ist fehlgeschlagen.

  • Nächste Lösung ist:

    sudo apt-get -u dist-upgrade

    Wenn es gehaltene Pakete zeigt, ist es am besten, sie zu beseitigen. Pakete werden aufgrund von Abhängigkeitskonflikten gehalten, die apt nicht auflösen kann. Versuchen Sie diesen Befehl, um die Konflikte zu finden und zu reparieren:

    sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

    Wenn es die Konflikte nicht beheben kann, wird es mit:

    beendet

    0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

    Löschen Sie die angehaltenen Pakete nacheinander, indem Sie dist-upgrade jedes Mal ausführen, bis keine weiteren Pakete mehr vorhanden sind. Installieren Sie dann alle erforderlichen Pakete neu. Stellen Sie sicher, dass Sie die Option --dry-run verwenden, damit Sie über die Konsequenzen informiert sind:

    sudo apt-get remove --dry-run package-name

    Da das Entfernen des zu installierenden Pakets möglicherweise nicht ideal ist, können Sie auch versuchen, ein Repository mit den Paketen zu finden, die Sie benötigen, um die Abhängigkeiten zu erfüllen.

Wenn alles andere fehlschlägt, können Sie schließlich versuchen, die Abhängigkeiten selbst zu erfüllen, indem Sie entweder die erforderlichen Pakete finden und installieren oder indem Sie sie von der Quelle installieren und anschließend " deb " Pakete für sie.

Deaktivieren / Entfernen / Entfernen von PPAs:

PPAs (Personal Package Archive) sind Repositories, die auf Launchpad gehostet werden. Sie können PPAs verwenden, um Pakete zu installieren oder zu aktualisieren, die nicht in den offiziellen Ubuntu-Repositories verfügbar sind.

Eine der häufigsten Ursachen für nicht erfüllte Abhängigkeiten sind PPAs, insbesondere wenn sie zum Aktualisieren des vorhandenen Pakets in Ubuntu-Repositories verwendet werden. Um das Problem zu lösen, haben Sie drei Optionen: deaktivieren, löschen (zurück zum ursprünglichen Paket in Ubuntu-Repositories) oder PPA entfernen.

  • Deaktivieren:

    Das Deaktivieren eines PPA bedeutet, dass für die Pakete, die von diesem PPA installiert wurden, keine Aktualisierungen mehr vorgenommen werden. So deaktivieren Sie eine PPA: Öffnen Sie Software Center > Edit > Software Sources Oder,

    Drücken Sie Alt + F2 und führen Sie software-properties-gtk .

    aus

    Klicken Sie auf Other Software , Sie sehen, dass jeder PPA hier zwei Zeilen hat, eine für die kompilierten Pakete und eine für die Quelle, Uncheck beide Zeilen, um eine PPA zu deaktivieren. Hier können Sie auch PPAs hinzufügen und entfernen.

  • Bereinigen:

    Das Löschen einer PPA bedeutet, dass die Pakete in der ausgewählten PPA auf die Version in den offiziellen Ubuntu-Repositorys herabgestuft und diese PPA deaktiviert wird. PPA Purge macht genau das. Führen Sie den folgenden Befehl aus, um die PPA-Bereinigung zu installieren:

    sudo apt-get install ppa-purge

Aber in Anbetracht der Frage apt wird der obige Befehl fehlschlagen. Also benutze diesen Befehl

mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

So verwenden Sie die PPA-Bereinigung:

sudo ppa-purge ppa:someppa/ppa

Wenn der Befehl 'ppa-purge' aus irgendeinem Grund fehlschlägt, können Sie 'ppa-purge' nicht erneut ausführen, wenn Sie den PPA nicht erneut aktivieren (Gehen Sie zum Aktivieren des PPA genauso vor wie beim Deaktivieren eines PPA und Check die beiden Linien eines bestimmten PPA, um es zu ermöglichen).

Hinweis: PPA Purge entfernt keine PPAs ( kann in Zukunft sein ), also Sie müssen die PPA manuell entfernen.

  • Entfernen:

    Wenn das von einem PPA installierte Paket nicht in offiziellen Ubuntu-Repositories existiert, dann wird die Verwendung von PPA Purge nicht empfohlen, da nichts heruntergestuft werden muss und PPA Purge es auch nicht löschen würde. Führen Sie die folgenden Befehle aus, um eine PPA und installierte Pakete zu entfernen: (Ignorieren Sie den ersten Befehl, wenn Sie die installierten Pakete nicht entfernen möchten)

    sudo apt-get autoremove --purge package-name
    sudo add-apt-repository --remove ppa:someppa/ppa
    sudo apt-get autoclean
    

Alternativ können Sie Y PPA Manager zum Deaktivieren / Entfernen / Löschen von PPAs verwenden (Details am Ende der Antwort).

Vorbeugende Maßnahmen:

Wie können wir das von vornherein vermeiden?

  • Halte Ubuntu auf dem neuesten Stand. Ubuntu benachrichtigt automatisch, wenn Updates verfügbar sind. Sie können auch nach verfügbaren Updates suchen, indem Sie im Bedienfeld Unity auf Session Indicator klicken:

    Oder drücken Sie Alt + Strg + T , um das Terminal zu öffnen und folgende Befehle auszuführen:

    sudo apt-get update
    sudo apt-get upgrade

    Update: Synchronisiert Ihre Liste der verfügbaren Pakete mit den Servern in Quell-Repositories. Upgrade: Downloads & amp; installiert neuere Versionen Ihrer installierten Pakete.

  • Wenn Sie beschließen, andere Quellen zu sources.list hinzuzufügen, stellen Sie sicher, dass das Repository mit Ubuntu funktionieren soll (und dafür bekannt ist). Repositorys, die nicht für die Verwendung mit Ihrer Ubuntu-Version entwickelt wurden, können zu Inkonsistenzen in Ihrem System führen und Sie möglicherweise zur Neuinstallation zwingen. Stellen Sie außerdem sicher, dass Sie wirklich externe Repositories hinzufügen müssen, da das / die Softwarepakete, die Sie suchen, möglicherweise bereits in die offiziellen Repositories aufgenommen wurden! Quelle
  • Entfernen Sie doppelte PPAs. Y PPA Manager (Installationsanleitung am Ende der Antwort) kann einfach doppelte PPAs scannen und entfernen.

    • Drücken Sie Alt + F2 und führen Sie y-ppa-manager aus, um den Y PPA Manager zu öffnen.
    • Einmal geöffnet, doppelklicke oder drücke Enter auf Advanced .
    • Wählen Sie im sich ergebenden Fenster Scan and remove duplicate PPAs und klicken Sie auf OK.

Hilfe bekommen:

Wenn Sie auf Askubuntu oder einem anderen Hilfeforum um Hilfe bitten, sollten Sie die Ausgabe der folgenden Befehle in Ihre Frage einfügen:

  • Ausgabe des tatsächlichen Fehlers:

    sudo apt-get install package-name
  • Dies zeigt Ihre sources.list:

    cat /etc/apt/sources.list
  • Dies zeigt die Liste der PPAs (falls vorhanden):

    cat /etc/apt/sources.list.d/*

Zusätzliche Quellen:

Y-PPA-Manager :  Y PPA Manager ist ein One-Stop-Shop für alle Ihre PPA-Anforderungen.

Hier sind einige seiner Funktionen:

  • Suchpakete in allen Launchpad PPAs
  • Listen Sie Pakete in einer PPA auf und laden Sie sie herunter
  • Hinzufügen / Entfernen / Löschen eines PPA
  • Sicherung und Wiederherstellung von PPA-Quellen
  • Entfernen Sie doppelte PPA-Quellen

Um Y PPA Manager zu installieren, öffnen Sie das Terminal, indem Sie Alt + Strg + T drücken und folgende Befehle ausführen:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

In Anbetracht der Frage ist apt kaputt, also benutze stattdessen diese Befehle

sudo su

und

32 Bit:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_i386.deb && dpkg -i ./*.deb

64 Bit:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_amd64.deb && dpkg -i ./*.deb
    
Basharat Sialvi 27.05.2012, 09:26
82
  

Hinweis: Alle Befehle, die ausgeführt werden sollen, müssen im Terminal ausgeführt werden, das entweder mit Strg + Alt + T geöffnet werden kann oder nach Terminal im Bindestrich suchen.

Ist es wirklich kaputt?

Versuchen Sie, den folgenden Befehl auszuführen und versuchen Sie, die Software, die Sie installieren wollten, erneut zu installieren.

sudo apt-get update

Pre-Perfomance-Schritte

Sichern

Sichern Sie die folgenden Dateien:

  • /etc/apt/sources.list
  • /var/lib/dpkg/status

Verwenden Sie dazu diese Befehle

sudo cp /etc/apt/sources.list /etc/apt/sources.list.original

und

sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.original

Löschen Sie Ihren apt-cache

apt speichert einen Cache von kürzlich heruntergeladenen Paketen, um Bandbreite zu sparen, wenn es installiert werden muss. Dies kann in einigen Fällen kontraproduktiv sein.

Nun, um es zu säubern, haben Sie zwei Möglichkeiten

sudo apt-get clean 

Dadurch werden alle zwischengespeicherten Pakete entfernt, die zu den Ordnern /var/cache/apt/archives/ und /var/cache/apt/archives/partial mit Ausnahme der .lock-Dateien gehören. Dies wird empfohlen

sudo apt-get autoclean

Dies durchsucht die Ordner /var/cache/apt/archives/ und /var/cache/apt/archives/partial und prüft, ob sich das Paket noch in den Repositories befindet und entfernt diejenigen, die nicht

sind

Abhängigkeiten beheben

Verwendung des reparierten Modus von apt

sudo apt-get -f install

Dies führt dazu, dass apt nach fehlenden Abhängigkeiten sucht und diese aus den Repositories löscht.

Wenn die Ausgabe angibt, dass nichts Neues installiert oder aktualisiert wurde, ist es fehlgeschlagen.

Überprüfen, ob alle erforderlichen Quellen aktiviert sind

Geben Sie gksu software-properties-gtk ein und Sie erhalten dieses Fenster

Stellen Sie sicher, dass alle Quellen aktiviert sind.

Als nächstes gehen Sie zur Registerkarte Andere Software und prüfen Sie, ob die erforderlichen PPAs für die zu installierende Software vorhanden und aktiviert sind. Versuchen Sie auch einige PPAs zu deaktivieren, die möglicherweise defekte Pakete enthalten.

Führen Sie jetzt sudo apt-get update

aus

Versuchen Sie, die Software jetzt zu installieren

Auswahl eines besseren Servers zum Herunterladen von

Geben Sie gksu software-properties-gtk ein und Sie erhalten dieses Fenster

Klicken Sie auf das Download-Feld und wählen Sie ein anderes

Klicken Sie auf Besten Server auswählen

Führen Sie sudo apt-get update

aus

Versuchen Sie, die Software zu installieren

Versuchen Sie auch, sudo apt-get install -f

zu verwenden

PPA-Bereinigung

Dies ist ein Werkzeug, das verwendet wird, um kaputte / unerwünschte ppas und ihre Anwendungen zusammen mit ihm zu löschen

Um es zu installieren, führen Sie

aus
sudo apt-get install ppa-purge

Aber in Anbetracht der Frage apt ist gebrochen, so dass der obige Befehl fehlschlägt. Also benutze diesen Befehl

mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

Verwenden Sie jetzt ppa clean

sudo ppa-purge ppa:someppa/ppa  

Y-PPA-Manager

Der Y-PPA-Manager ist eine GUI-App, mit der Sie PPA's und verschiedene damit verbundene Probleme verwalten können

Um es zu installieren

sudo add-apt-repository ppa:webupd8team/y-ppa-manager

und

sudo apt-get update

und

sudo apt-get install y-ppa-manager

In Anbetracht der Frage, apt ist so kaputt, benutze stattdessen diesen Befehl

sudo su

und

32 Bit:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_i386.deb && dpkg -i ./*.deb

64 Bit:

mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_amd64.deb && dpkg -i ./*.deb

Geben Sie nun y-ppa-manager

ein

Ihnen wird dieses Fenster angezeigt

Doppelklicken Sie auf Erweitert, und Sie erhalten dieses Fenster

Führen Sie die folgenden Aufgaben in schwarzer Schrift aus

Vorbeugen ist besser als heilen

Es ist besser zu verhindern, als auf AskUbuntu nach dieser Frage zu suchen: D

Also, hier sind die Richtlinien, um Sie sicher zu halten

Halten Sie Ihr System auf dem neuesten Stand

führe immer den folgenden Befehl regelmäßig

aus
sudo apt-get update&&sudo apt-get upgrade

oder Sie können den Update Manager immer mit diesem Befehl verwenden

gksu update-manager

Nur vertrauenswürdige PPAs verwenden

Verwenden Sie nur PPAs, die auch für Ubuntu verwendet werden sollen, verwenden Sie nur PPAs mit vertrauenswürdigen Quellen. Das Paket befindet sich möglicherweise bereits in den ubuntu-Repositories

Sichern, wenn die Dinge gut sind und später wiederherstellen

Dazu benötigen Sie den Y-PPA-Manager. Die Schritte zur Installation sind oben angegeben.

Führen Sie diesen Befehl aus, um den Y-PPA-Manager zu öffnen.

y-ppa-manager

Ihnen wird dieses Fenster angezeigt

Doppelklicken Sie auf Erweitert, und Sie erhalten dieses Fenster

Führen Sie Folgendes aus:

Sie werden aufgefordert, eine tar.gz-Datei mit einem Dialog ähnlich dem folgenden zu speichern. Speichern Sie es in einer anderen Partition oder an einem sicheren Ort

Später, wenn Sie es erneut wiederherstellen müssen, folgen Sie den gleichen Schritten und wenn Sie zum erweiterten Dialog gelangen, klicken Sie auf:

Sie werden aufgefordert, das vorherige Backup, das Sie zuvor gespeichert haben, mit einem ähnlichen Dialog wie dem unten stehenden wiederherzustellen.

Alles in einem Skript

In Kürze

Funktioniert immer noch nicht?

Fehler in der Paketabhängigkeit sind nicht immer generisch und hängen vom zu installierenden Paket ab.

Wenn Sie die folgenden Schritte nicht ausführen können, um den Fehler zu beheben, können Sie immer auf Ask Ubuntu

fragen

Hier sind einige Befehle, die Sie benötigen, um die Ausgabe von

zu posten
sudo apt-get install packagename

und

cat /etc/apt/sources.list

und

cat /etc/apt/sources.list.d/*

(Danke Basharat Sial )

Es gibt auch andere Dateien / Befehle, für die Sie eine Ausgabe benötigen, die möglicherweise fehlerspezifisch ist, und Benutzer werden Sie wahrscheinlich in den Kommentaren auffordern, die Datei / den Befehl zu posten.

    
Amith KK 21.05.2012 16:30
34

Diese Antworten konzentrieren sich bisher darauf, wie ein solches Problem automatisch gelöst werden kann, hauptsächlich in der Hoffnung, dass es sich selbst löst, aber nicht darauf konzentriert ist, Abhängigkeiten zu untersuchen. Es ist wichtig, dass Sie versuchen, sicherzustellen, dass Ihre Paketlisten auf dem neuesten Stand sind, denn Sie müssen sicherstellen, dass ein einfaches Aktualisieren oder Löschen des Caches das Problem nicht löst, bevor Sie tiefer graben. Wenn alles hinter den Kulissen funktioniert, sollte es jedoch unbedingt lernen, Abhängigkeiten zu verstehen. Manchmal können die Schichten der Abhängigkeiten überwältigend erscheinen, aber das Konzept ist einfach und der Schlüssel zum Verständnis, wie Software in einem Ubuntu-System installiert / deinstalliert wird.

Ich empfehle aptitude jedem, der ein .deb-basiertes System wie Ubuntu benutzt. Seine Baumstruktur ermöglicht es Ihnen, Abhängigkeiten, einschließlich empfohlener und vorgeschlagener Pakete, einfach zu durchsuchen, sowie Konflikte und nicht erfüllte Abhängigkeiten zu visualisieren. Es ist ein unschätzbares Werkzeug, wenn apt-get keine einfache Lösung bietet und Abhängigkeiten im Allgemeinen visualisiert. ( Synaptic ist auch in Ubuntu verfügbar, aber ich finde es nicht so intuitiv.)

Aptitude bietet auch einen Konfliktlöser, der Sie durch alle möglichen Kombinationen von installierten / entfernten / aktualisierten / etc Paketen führt, um alle Anforderungen ohne Konflikte oder Probleme zu erfüllen. Dies kann auch dann erfolgreich sein, wenn apt keine Lösung finden kann. Als Ubuntu-Benutzer treten normalerweise keine Situationen auf, in denen Sie untersuchen müssen, warum das bestimmte Paket installiert wird, aber es ist fast unvermeidlich, wenn Sie das System mehr verwenden.

    
overprescribed 30.05.2012 18:45
23

package1: Hängt davon ab: package2 (& gt; = 1.8) aber 1.7.5-1ubuntu1 soll installiert werden

Erklärung der Nachricht:

  1. Damit Ihre Installation abgeschlossen werden kann, benötigt Paket1 Paket2.
  2. package2 muss in der Version & gt; = 1.8
  3. verfügbar sein
  4. Der Paketmanager hat alle Repositories überprüft und nur die Version 1.7.5-1ubuntu1 gefunden, die installiert werden konnte, was nicht möglich ist, weil es & lt; 1.8

Fix

Es gibt KEINE einzige richtige Antwort für diese Frage und es gibt KEINE einfache Antwort.

Es gibt viele Szenarien, warum dies passieren kann und man muss alle Optionen untersuchen und versuchen, die Vorbedingungen, die zu diesem Fehler führen, zu lösen.

Szenario A:

Alle Repositorys, auf die Sie Zugriff haben, haben in Version & gt; = 1.8 kein Paket2. Sie müssen also ein Repository finden, das dies tut. Wenn Sie kein Repository mit den Versionen & gt; = 1.8 finden, müssen Sie möglicherweise Paket2 aus der Quelle erstellen und installieren. Und dann versuchen Sie, Paket1 zu installieren.

Wenn Sie wissen möchten, wie man ein Paket aus der Quelle erstellt, überprüfen Sie andere Fragen / Antworten oder schreiben Sie eine neue.

Szenario B:

Die Repositories enthalten package2 in einer Version & gt; = 1.8 aber der Paketmanager möchte immer noch eine ältere Version (1.7.5) installieren.

Der Grund dafür könnte sein, dass die späteren Versionen von Paket2 von einer neueren Technologie erstellt wurden, die von anderen Paketen, die Sie bereits installiert haben, nicht unterstützt wird.

Dies ist möglicherweise nicht möglich, um überhaupt zu beheben. Sie können versuchen, apt oder synaptic zu verwenden und nach allen Versionen von package2 zu suchen, die in den Repositories verfügbar sind, und versuchen, eine bestimmte Version zu installieren, & gt; = 1.8

Wenn Sie andere inkompatible Pakete haben und Sie dies tun, erhalten Sie eine Liste ähnlicher Fehlermeldungen für alle anderen Pakete, die die Installation von package2 & gt; = 1.8 verhindern.

In diesem Fall haben Sie ein größeres Problem. Sie wollten Paket1 installieren, das paket2 als & gt; = 1.8 benötigt, aber Paket2 in Version & gt; = 1.8 benötigt Paket3 in Version & gt; = 6.7 und Sie haben Paket3 Version 6.3

Die Sache ist, dass der Paketmanager (APT) versucht, alle diese Abhängigkeiten automatisch zu lösen, wenn es möglich ist. Wenn es sagt, dass es nicht möglich ist (und eine Nachricht wie in der Frage ausgibt), dann sollten Sie ihm vertrauen.

Wenn Sie sich entschließen, dem Paket-Manager nicht zu vertrauen, und wenn Sie sicher sind, dass Sie keine Probleme haben, können Sie versuchen, die benötigten Versionen aller Pakete nacheinander zu installieren, und hoffen, dass alles in Ordnung ist / p>

Vorsicht, dies kann bei Systempaketen zu ernsten Problemen führen. Sie können sich selbst aus dem System aussperren, kritische Dienste blockieren.

Szenario C:

Unabhängig von den Gründen für das Problem können Sie immer für die manuelle Kompilierung einrichten und das benötigte Paket und alle Abhängigkeiten in den genau benötigten Versionen aus der Quelle erstellen. Mit dieser Option können Sie das, was Sie erstellt haben, in einem separaten Verzeichnis und außerhalb des Systempfads aufbewahren, so dass keine Konflikte mit dem System entstehen. Dies ist wahrscheinlich die sauberste Lösung, und kann manchmal schneller sein.

Szenario D:

Paketmanager hat Zugriff auf veraltete Informationen über Pakete und kann daher keine Lösung finden. Schauen Sie sich die anderen Antworten an.

Szenario E:

Der Paket-Manager hat einen Fehler im Abhängigkeitsauflösungscode.

Sie müssen herausfinden, dass dies wirklich der Fall ist, und dann eine Fehleranforderung ausgeben.

...

Szenario Z:

Es könnte andere Szenarien geben.

Zum Beispiel könnten Paketbetreuer falsch gewesen sein und nicht überprüft haben, dass Paket1 auch mit der Version von Paket2 & lt; funktionieren würde. 1.8 und in der Spezifikation setzen sie falsche Abhängigkeiten.

    
Vangel Ajanovski 30.05.2012 12:43
16

Diese Methoden müssen immer dann beachtet werden, wenn Sie in Bezug auf nicht erfüllte Abhängigkeiten Probleme haben

Nachdem Sie die Anweisungen befolgt haben, versuchen Sie, die Software zu installieren. Mindestens eine dieser Methoden sollte für Sie funktionieren

1 Bevor Sie irgendeinen neuen Befehl versuchen oder einen neuen ppa hinzufügen, versuchen Sie dies

Bereinigen des apt-Caches:

sudo apt-get clean

Aufräumen von nicht verwendeten Abhängigkeiten:

sudo apt-get autoremove

Aktualisierung von apt-cache

sudo apt-get update

Dadurch wird der gesamte Cache entfernt und ein neuer Cache wird heruntergeladen. Dies sollte getan werden, um neue Cache-Pakete und neuere Updates zu erhalten.

2 Probiere sudo apt-get install -f .

Es wird wahrscheinlich einige Vorschläge zum Entfernen und Installieren von Paketen geben, tun, was vernünftig erscheint.

3 Ändern Sie die Download Server von Software Sources Da manchmal die Dateien auf einem Server beschädigt sind.



4 Das passiert auch, wenn Sie zuvor einen externen ppa für die defekte Abhängigkeit hinzugefügt haben. Versuchen Sie, diesen ppa um

zu entfernen
  • entweder sudo add-apt-repository --remove ppa:someppa/ppa eingeben und dann manuell die PPA-installierten Dateien / Bibliotheken
  • entfernen

oder

  • bereinigt ein ppa (das entfernt auch die installierten Dateien)

    sudo apt-get install ppa-purge   #a one time install 
    sudo ppa-purge ppa:someppa/ppa  
    

5 . Wenn 4 nicht Ihr Fall ist, dann versuchen Sie zumindest, das Paket zu entfernen, das als eine unterbrochene Abhängigkeit angezeigt wird. Versuchen Sie es dann erneut zu installieren. Dies soll für ziemlich viele Leute funktioniert haben.

6 Fügen Sie immer die stabile Version eines Repository / PPA hinzu.

7 Stellen Sie außerdem sicher, dass alle offiziellen Repositories aktiviert sind (In Software Sources )

Bitte aktivieren Sie nicht Proposed Updates , wie sie für Testing / Entwickler gedacht sind.

Wie von Doug erzählt:

  

Normalerweise besteht der beste erste Schritt darin, die Quelle von <pkg1> & amp; <pkg2> .

Zusätzlich wird nicht bemerkt, dass in vielen, wenn nicht in den meisten Fällen "& lt; was immer & gt; zu installieren ist" wirklich bedeutet "& lt; was immer & gt; installiert ist" und sollte versucht werden, entfernt zu werden, wenn nichts anderes funktioniert (wie in Punkt 5).

Ich werde weitere Dinge hinzufügen, die ich finde, um unmet dependencies zu reparieren.

    
Ashu 21.05.2012 17:24
15

In den meisten Fällen werden durch die Installation des Pakets über aptitude nicht erfüllte Abhängigkeiten aufgelöst. Standardmäßig war aptitude package nicht auf Ihrem PC installiert. Installieren Sie es zuerst, indem Sie

ausführen
sudo apt-get update
sudo apt-get install aptitude

dann,

sudo aptitude install packagename

Zum Beispiel

    
[email protected]:~$ sudo apt-get install ubuntu-sdk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ubuntu-sdk : Depends: qtcreator-plugin-ubuntu but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Installieren Sie das Paket über aptitude

[email protected]:~$ sudo aptitude install ubuntu-sdk
The following NEW packages will be installed:
  apparmor-easyprof{a} apparmor-easyprof-ubuntu{a} at{a} build-essential{a} 
  click{a} click-apparmor{a} click-dev{a} click-doc{a} cordova-ubuntu-2.8 
  cordova-ubuntu-2.8-examples{a} debhelper{a} devscripts{a} dh-apparmor{a} 
  dh-make{a} distro-info-data{a} dpkg-dev{a} dput{a} g++{a} g++-4.8{a} 
  geoclue-gypsy{a} libalgorithm-diff-perl{a} libalgorithm-diff-xs-perl{a} 
  libalgorithm-merge-perl{a} libboost-filesystem1.53.0{a} 
  libboost-program-options1.53.0{a} libboost-regex1.53.0{a} 
  libbotan-1.10-0{a} libdee-qt5-3{a} libdistro-info-perl{a} 
  libexporter-lite-perl{a} libglib2.0-dev{a} 
  libgstreamer-plugins-base1.0-dev{a} libgstreamer1.0-dev{a} libgypsy0{a} 
  libhud2{a} libio-stringy-perl{a} libjs-jquery{a} libjs-sphinxdoc{a} 
  libjs-underscore{a} liblockdev1{a} libmail-sendmail-perl{a} 
  libparse-debcontrol-perl{a} libpcre3-dev{a} libpcrecpp0{a} 
  libpoppler-qt5-1{a} libqdjango-db0{a} libqgsttools-p1{a} 
  libqt5clucene5{a} libqt5contacts5{a} libqt5declarative5{a} 
  libqt5designer5{a} libqt5designercomponents5{a} libqt5feedback5{a} 
  libqt5help5{a} libqt5location5-plugins{a} libqt5multimedia5{a} 
  libqt5multimedia5-plugins libqt5multimediaquick-p5{a} 
  libqt5multimediawidgets5{a} libqt5organizer5{a} 
  libqt5qml-graphicaleffects{a} libqt5script5 libqt5scripttools5{a} 
  libqt5svg5{a} libqt5svg5-dev libqt5systeminfo5{a} libqt5v8-5-dev 
  libqt5versit5{a} libqt5versitorganizer5{a} libqt5webkit5-dev 
  libqt5webkit5-qmlwebkitplugin{a} libqt5xmlpatterns5{a} 
  libqt5xmlpatterns5-dev libstdc++-4.8-dev{a} libsys-hostname-long-perl{a} 
  libthumbnailer0{a} libu1db-qt5-3{a} libunity-action-qt1{a} 
  libupstart-app-launch1{a} libusermetricsinput1{a} libxml2-dev{a} 
  libxslt1-dev{a} po-debconf{a} python3-apparmor-click{a} python3-click{a} 
  python3-magic{a} qmlscene qt3d5-dev qtbase5-doc{a} qtcreator{a} 
  qtcreator-doc{a} qtcreator-plugin-ubuntu{a} 
  qtcreator-plugin-ubuntu-common{a} qtdeclarative5-accounts-plugin 
  qtdeclarative5-cordova-2.8-plugin{a} qtdeclarative5-dev-tools 
  qtdeclarative5-doc-html{a} qtdeclarative5-folderlistmodel-plugin 
  qtdeclarative5-friends0.2 qtdeclarative5-localstorage-plugin 
  qtdeclarative5-particles-plugin qtdeclarative5-poppler1.0 
  qtdeclarative5-qtaudioengine-plugin qtdeclarative5-qtfeedback-plugin{a} 
  qtdeclarative5-qtlocation-plugin qtdeclarative5-qtmultimedia-plugin{a} 
  qtdeclarative5-qtorganizer-plugin qtdeclarative5-qtquick2-plugin{a} 
  qtdeclarative5-qtsensors-plugin qtdeclarative5-u1db1.0 
  qtdeclarative5-ubuntu-ui-extras-browser-plugin{a} 
  qtdeclarative5-ubuntu-ui-extras-browser-plugin-assets{a} 
  qtdeclarative5-ubuntu-ui-toolkit-plugin{a} 
  qtdeclarative5-unity-action-plugin{a} qtdeclarative5-usermetrics0.1 
  qtdeclarative5-window-plugin{a} qtdeclarative5-xmllistmodel-plugin 
  qtgraphicaleffects5-doc{a} qtlocation5-dev{a} qtmultimedia5-dev 
  qtmultimedia5-doc{a} qtmultimedia5-doc-html{a} qtscript5-dev 
  qtscript5-doc{a} qtscript5-doc-html{a} qtsensors5-dev{a} qtsvg5-doc{a} 
  qtsvg5-doc-html{a} qttools5-dev qttools5-dev-tools qttools5-doc{a} 
  qtwebkit5-doc-html{a} schroot{a} schroot-common{a} sqlite3{a} 
  ubuntu-html5-container ubuntu-html5-sdk{ab} ubuntu-html5-theme{a} 
  ubuntu-html5-theme-examples ubuntu-sdk ubuntu-sdk-libs 
  ubuntu-sdk-libs-dev{a} ubuntu-ui-toolkit-doc{a} 
  ubuntu-ui-toolkit-examples{a} ubuntu-ui-toolkit-theme{a} 
  unity-action-doc{a} upstart-app-launch{a} upstart-app-launch-tools{a} 
  usermetricsservice{a} wdiff{a} zlib1g-dev{a} 
The following packages will be upgraded:
  cpp-4.8 gcc-4.8 gcc-4.8-base hud libasan0 libatomic1 libgcc-4.8-dev 
  libgcc1 libglib2.0-0 libglib2.0-bin libgomp1 libitm1 libquadmath0 
  libstdc++6 libtsan0 
15 packages upgraded, 151 newly installed, 0 to remove and 293 not upgraded.
Need to get 108 MB/126 MB of archives. After unpacking 273 MB will be used.
The following packages have unmet dependencies:
 ubuntu-html5-sdk : Depends: qtdeclarative5-ubuntu-webapps-api which is a virtual package.
                    Depends: ubuntu-html5-ui-toolkit but it is not going to be installed.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:              
1)     qtcreator-plugin-ubuntu [Not Installed]                          
2)     ubuntu-html5-sdk [Not Installed]                                 
3)     ubuntu-sdk [Not Installed]                                       

     Leave the following dependencies unresolved:                       
4)     libhud-client2 recommends hud (= 13.10.1+13.10.20131014-0ubuntu1)
5)     qtcreator-plugin-ubuntu-common recommends qtcreator-plugin-ubuntu


Accept this solution? [Y/n/q/?] y
The following NEW packages will be installed:
  apparmor-easyprof{a} apparmor-easyprof-ubuntu{a} build-essential{a} 
  click{a} click-apparmor{a} cordova-ubuntu-2.8 debhelper{a} dh-apparmor{a} 
  dh-make{a} dpkg-dev{a} g++{a} g++-4.8{a} geoclue-gypsy{a} 
  libalgorithm-diff-perl{a} libalgorithm-diff-xs-perl{a} 
  libalgorithm-merge-perl{a} libdee-qt5-3{a} libglib2.0-dev{a} 
  libgstreamer-plugins-base1.0-dev{a} libgstreamer1.0-dev{a} libgypsy0{a} 
  libhud2{a} libjs-jquery{a} libmail-sendmail-perl{a} libpcre3-dev{a} 
  libpcrecpp0{a} libpoppler-qt5-1{a} libqdjango-db0{a} libqgsttools-p1{a} 
  libqt5clucene5{a} libqt5contacts5{a} libqt5designer5{a} 
  libqt5designercomponents5{a} libqt5feedback5{a} libqt5help5{a} 
  libqt5location5-plugins{a} libqt5multimedia5{a} libqt5multimedia5-plugins 
  libqt5multimediaquick-p5{a} libqt5multimediawidgets5{a} 
  libqt5organizer5{a} libqt5qml-graphicaleffects{a} libqt5script5 
  libqt5scripttools5{a} libqt5svg5{a} libqt5svg5-dev libqt5systeminfo5{a} 
  libqt5v8-5-dev libqt5versit5{a} libqt5versitorganizer5{a} 
  libqt5webkit5-dev libqt5webkit5-qmlwebkitplugin{a} libqt5xmlpatterns5{a} 
  libqt5xmlpatterns5-dev libstdc++-4.8-dev{a} libsys-hostname-long-perl{a} 
  libthumbnailer0{a} libu1db-qt5-3{a} libunity-action-qt1{a} 
  libupstart-app-launch1{a} libusermetricsinput1{a} libxml2-dev{a} 
  libxslt1-dev{a} po-debconf{a} python3-apparmor-click{a} python3-click{a} 
  qmlscene qt3d5-dev qtdeclarative5-accounts-plugin 
  qtdeclarative5-cordova-2.8-plugin{a} qtdeclarative5-dev-tools 
  qtdeclarative5-folderlistmodel-plugin qtdeclarative5-friends0.2 
  qtdeclarative5-localstorage-plugin qtdeclarative5-particles-plugin 
  qtdeclarative5-poppler1.0 qtdeclarative5-qtaudioengine-plugin 
  qtdeclarative5-qtfeedback-plugin{a} qtdeclarative5-qtlocation-plugin 
  qtdeclarative5-qtmultimedia-plugin{a} qtdeclarative5-qtorganizer-plugin 
  qtdeclarative5-qtquick2-plugin{a} qtdeclarative5-qtsensors-plugin 
  qtdeclarative5-u1db1.0 qtdeclarative5-ubuntu-ui-extras-browser-plugin{a} 
  qtdeclarative5-ubuntu-ui-extras-browser-plugin-assets{a} 
  qtdeclarative5-ubuntu-ui-toolkit-plugin{a} 
  qtdeclarative5-unity-action-plugin{a} qtdeclarative5-usermetrics0.1 
  qtdeclarative5-window-plugin{a} qtdeclarative5-xmllistmodel-plugin 
  qtlocation5-dev{a} qtmultimedia5-dev qtscript5-dev qtsensors5-dev{a} 
  qttools5-dev qttools5-dev-tools sqlite3{a} ubuntu-html5-container 
  ubuntu-html5-theme{a} ubuntu-html5-theme-examples ubuntu-sdk-libs 
  ubuntu-ui-toolkit-theme{a} upstart-app-launch{a} 
  upstart-app-launch-tools{a} usermetricsservice{a} wdiff{a} zlib1g-dev{a} 
The following packages will be upgraded:
  cpp-4.8 gcc-4.8 gcc-4.8-base hud libasan0 libatomic1 libgcc-4.8-dev 
  libgcc1 libglib2.0-0 libglib2.0-bin libgomp1 libitm1 libquadmath0 
  libstdc++6 libtsan0 
15 packages upgraded, 108 newly installed, 0 to remove and 293 not upgraded.
Need to get 27.1 MB/45.8 MB of archives. After unpacking 104 MB will be used.
Do you want to continue? [Y/n/?] 
    
Avinash Raj 29.12.2013 17:02
10

Meine Antwort ist ähnlich wie oben beschrieben.

Die Verwendung von apt-get clean , apt-get autoclean , apt-get autoremove , apt-get upgrade , apt-get update , apt-get -u dist-upgrade usw. hat bei mir nicht funktioniert.

Ich habe dieses Problem schließlich gelöst, indem ich über apt-get install in den Abhängigkeitsbaum verzweigte, wie in einem Beispiel unten dargestellt. In meinem Fall wollte ich libmagickwand-dev installieren:

apt-get install libmagickwand-dev

Ich habe diesen Fehler:

The following packages have unmet dependencies:
 libmagickwand-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
                     Depends: libmagickcore-dev (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed

Also habe ich apt-get install für eine der fehlerhaften Abhängigkeiten ausgeführt:

apt-get install libmagickcore-dev

The following packages have unmet dependencies:
 libmagickcore-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
                     Depends: libgraphviz-dev but it is not going to be installed

Ich stieg weiter den Baum hinunter:

apt-get install libgraphviz-dev

mit einem anderen Fehler:

The following packages have unmet dependencies:
 libgraphviz-dev : Depends: libgvc5 (= 2.26.3-10ubuntu1) but it is not going to be installed

Noch einmal tiefer im Baum:

apt-get install libgvc5

Aus irgendeinem seltsamen Grund war dies erfolgreich und ich konnte das ursprüngliche Paket, das ich wollte, mit apt-get install libmagickwand-dev :

installieren
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libcdt4 libgd2-xpm libgraph4 libpathplan4
Suggested packages:
  libgd-tools
The following NEW packages will be installed:
  libcdt4 libgd2-xpm libgraph4 libgvc5 libpathplan4
0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
Need to get 808 kB of archives.
After this operation, 2,320 kB of additional disk space will be used.
Do you want to continue [Y/n]?
    
Michael Franzl 20.12.2012 11:47
8

Ausgezeichnete Antworten! Aber heute scheint sich mein Fall von deinem zu unterscheiden. Hier ist mein Rat.

Problem:

Ich habe apache2 in ubuntu 10.10 nicht installiert.

[email protected]:~$ sudo apt-get install apache2

Reading package lists... Done

Building dependency tree      

Reading state information... Done

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

The following information may help to resolve the situation:

The following packages have unmet dependencies:

 apache2 : Depends: apache2-mpm-worker (= 2.2.16-1ubuntu3) but it is not going to be installed or

                    apache2-mpm-prefork (= 2.2.16-1ubuntu3) but it is not going to be installed or

                    apache2-mpm-event (= 2.2.16-1ubuntu3) but it is not going to be installed or

                    apache2-mpm-itk (= 2.2.16-1ubuntu3) but it is not going to be installed

           Depends: apache2.2-common (= 2.2.16-1ubuntu3) but it is not going to be installed

E: Broken packages

Lösung:

Mein Weg ist, das abhängige Paket in die Installationsliste aufzunehmen.

Wenn 'sudo apt-get installiere apache2' fehlgeschlagen ist, versuche ' sudo apt-get install apache2 apache2.2-common '.

Siehe? apache2.2-common stammt aus dem Fehlerprotokoll des vorherigen Schritts.

Endlich fand ich eine Abhängigkeitskette wie folgt:

 apache2.2-common <-- apache2.2-bin <-- libaprutil1-ldap <-- libaprutil1

Bei den ersten drei Paketen hat mir apt-get log gesagt 'wird nicht installiert',

aber für das letzte Paket wird 'libaprutil1-ldap: Depends: libaprutil1 (= 1.3.9 + dfsg-3build1) angezeigt, aber 1.3.9 + dfsg-3ubuntu0.10.10.1 soll installiert werden'

Ich habe eine andere Version in meiner lib, also:

sudo apt-get remove libaprutil1

sudo apt-get install apache2

Jetzt ist es in Ordnung.

    
rick 24.11.2012 16:55
7

was ist nicht gefunden Abhängigkeiten Fehler

Unter Ubuntu-Paketen ist die primäre Methode, mit der Software erstellt, implementiert und installiert wird. Ganz einfach, Pakete sind eine Alternative zum Herunterladen, Erstellen und Installieren von Software von Grund auf neu. Sie bieten eine Vielzahl von Vorteilen hinsichtlich der Installation, Entfernung, Überwachung und Handhabung von Interaktionen zwischen Softwarekomponenten über das Standardmodell "Build from source".   Ubuntu verwendet zentralisiertes Paketierungssystem, dh Jedes Paket hängt von einigen anderen Paketen ab. Wenn wir ein Paket installieren, werden seine Abhängigkeiten installiert. Der Fehler bei nicht erfüllten Abhängigkeiten tritt auf, wenn die Abhängigkeiten des Pakets nicht für die Installation verfügbar sind

Mögliche Ursachen

1.Computer is not connected to the Internet
2.The repository containing the depandancy package is not enabled
3.Package catalog is not updated
4.The version of the depandancy in the current repository is old
5.Software index is broken
6.The depandancy is not available for ubuntu

Lassen Sie uns versuchen, es zu lösen

  1. Verbinden Sie sich mit dem Internet: D
  2. Stellen Sie sicher, dass alle Standardrepositorys aktiviert sind

    - & gt; Sie können sie einfach in den Software Center - & gt; Edit- & gt; Softwarequellen- & gt; Andere Quellen- & gt; Hinzufügen "

    " hinzufügen

    - & gt; Starte Software Center .

    - & gt ;. Gehen Sie im Panel zu Edit und wählen Sie Software Sources .

    - & gt; Stellen Sie sicher, dass alle Repositories überprüft wurden

  3. Aktualisieren Sie den Softwarekatalog

    Klicken Sie auf das Symbol oben rechts und wählen Sie update-available Eintrag im Menü

und drücken Sie die Check-Taste

4.Typ ctrl + alt + t , um Terminal und Typ zu öffnen   sudo apt-get install -f

5.Spülen Sie den kürzlich hinzugefügten ppa mit ppa-clean    ppa-clean

  

Dieses Programm deaktiviert eine PPA aus Ihren Softwarequellen und wird zurückgesetzt   Ihr System zurück zu den offiziellen Ubuntu-Paketen. Sie können dies verwenden, um   bringen Sie Ihr System nach dem Testen einer neuen Version von einem PPA auf Normal zurück.

Syntax

sudo ppa-purge ppa:<repository-name>/<subdirectory>

Beispiel

sudo ppa-purge ppa:ubuntu-mozilla-daily/ppa
  1. Öffnen Sie das Software-Center und versuchen Sie, eine beliebige Software zu installieren. Wenn das folgende Dialogfeld angezeigt wird, drücken Sie auf die Schaltfläche "Repair" und warten Sie

Else Geben Sie ctrl + alt + t ein, um das Terminal zu öffnen, und geben Sie sudo apt-get install -f ein und befolgen Sie die Anweisungen auf dem Bildschirm

Wenn noch ein Fehler auftritt, können Sie ihn in askbuntu

stellen     
Tachyons 23.05.2012 20:09
5

... vergiss nicht 'build-dep'

Zusätzlich zu diesen obigen Antworten muss ich zugeben, dass ich überrascht bin, dass niemand diesen Ansatz erwähnt hat, den ich immer als "Silberkugel" benutzt habe, wenn ich auf apt-get-Konflikte oder ungelöste Pakete gestoßen bin (oder sogar wenn das System stur ist .... ha!).

EDITED: sudo dpkg -r [package] wird empfohlen, da es eine ziemlich mächtige Entfernungsfunktion hat. Da apt-get zusammen mit dpkg funktioniert, bedeutet apt-get , dass dpkg function befolgt wird.

  sudo dpkg -r [package]
  sudo apt-get build-dep [package]  
  ## pre-install all deps for the package

Sie rufen apt-get auf, um das fehlerhafte Paket zu bereinigen, das Sie im System installieren wollten, und dann rufen Sie den Befehl build-dep auf. apt-get greift und installiert Abhängigkeiten, die zu diesem Paket gehören werde das Paket vor erfüllen. Rufen Sie dann zum Schluss apt-get install auf:

sudo apt-get install [package]

.... 'Ugh! Lass uns deinen Arm drehen, bis du "Onkel!" Brüllst. "

Dies passierte selten während meiner langen Jahre der Verwendung von Linux, aber ich fand mich selbst bei diesem Ansatz selten und erfolgreich. Dies ist ein Beispiel für den kürzlichen Kampf, den ich vor einem Monat mit den Paketen mysql-client/mysql-server hatte. Nach einem Dutzend fehlgeschlagener Versuche, mein root-Passwort mit mysql-server zurückzusetzen (selbst über - skip-grant-tables techqiue, aber trotzdem gescheitert), gelingt es mir endlich, Linux 'Arm zu verdrehen, bis es "Onkel!" Schrie:

sudo dpkg -r mysql-server mysql-client
sudo apt-get autoclean  
## this dumps any copy of existing package to prevent apt-get from "re-using" it.
sudo apt-get build-dep mysql-client   
 ## one package at a time, starting with client first
sudo apt-get install mysql-client
sudo apt-get build-dep mysql-server
sudo apt-get install mysql-server

apt-get autoclean ist der Schlüssel in dieser Lösung

    
Faron 21.03.2015 14:51
3

Während der Installation von i386-Paketen in 64-Bit-Multiarch-Ubuntu-Systemen

Wenn Sie versuchen, ein Paket zu installieren, das von vielen i386-Paketen abhängig ist, würde der oben genannte Abhängigkeitsfehler auch dann auftreten, wenn Sie die i386-Architektur nicht mit dem Befehl sudo dpkg --add-architecure i386 hinzufügen.

Beispiel:

[email protected]:~$ sudo apt-get install skype
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 skype : Depends: skype-bin but it is not installable
E: Unable to correct problems, you have held broken packages.
[email protected]:~$ sudo dpkg --add-architecture i386
[email protected]:~$ sudo apt-get install skype
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  gcc-4.8-base:i386 gcc-4.9-base:i386 libasound2:i386 libasound2-plugins:i386
  libasyncns0:i386 libaudio2:i386 libavahi-client3:i386
  libavahi-common-data:i386 libavahi-common3:i386 libc6:i386
  libcgmanager0:i386 libcomerr2:i386 libcups2:i386 libdbus-1-3:i386
  libdbusmenu-qt2:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
  libdrm-radeon1:i386 libdrm2:i386 libelf1:i386 libexpat1:i386 libffi6:i386
  libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386
  libgcrypt11:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
  libglapi-mesa:i386 libglib2.0-0:i386 libgnutls26:i386 libgpg-error0:i386
  libgssapi-krb5-2:i386 libgstreamer-plugins-base1.0-0:i386
  libgstreamer1.0-0:i386 libice6:i386 libjack-jackd2-0:i386 libjbig0:i386
  libjpeg-turbo8:i386 libjpeg8:i386 libjson-c2:i386 libk5crypto3:i386
  libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 libllvm3.4:i386
  liblzma5:i386 libmysqlclient18:i386 libnih-dbus1:i386 libnih1:i386
  libogg0:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpciaccess0:i386
  libpcre3:i386 libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386
  libqt4-declarative:i386 libqt4-network:i386 libqt4-opengl:i386
  libqt4-script:i386 libqt4-sql:i386 libqt4-sql-mysql:i386 libqt4-xml:i386
  libqt4-xmlpatterns:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386
  libqtwebkit4:i386 libsamplerate0:i386 libselinux1:i386 libsm6:i386
  libsndfile1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386
  libstdc++6:i386 libtasn1-6:i386 libtiff5:i386 libtinfo5:i386
  libtxc-dxtn-s2tc0:i386 libudev1:i386 libuuid1:i386 libvorbis0a:i386
  libvorbisenc2:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
  libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
  libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
  libxfixes3:i386 libxi6:i386 libxml2:i386 libxrender1:i386 libxshmfence1:i386
  libxslt1.1:i386 libxss1:i386 libxt6:i386 libxv1:i386 libxxf86vm1:i386
  mysql-common skype-bin:i386 sni-qt:i386 zlib1g:i386
Suggested packages:
  nas:i386 glibc-doc:i386 locales:i386 rng-tools:i386 libglide3:i386
  gnutls-bin:i386 krb5-doc:i386 krb5-user:i386 libvisual-0.4-plugins:i386
  gstreamer-codec-install:i386 gnome-codec-install:i386
  gstreamer1.0-tools:i386 gstreamer1.0-plugins-base:i386 jackd2:i386
  pulseaudio:i386 libqt4-declarative-folderlistmodel:i386
  libqt4-declarative-gestures:i386 libqt4-declarative-particles:i386
  libqt4-declarative-shaders:i386 qt4-qmlviewer:i386 libqt4-dev:i386
  libicu48:i386 libthai0:i386 qt4-qtconfig:i386
Recommended packages:
  xml-core:i386
The following NEW packages will be installed:
  gcc-4.8-base:i386 gcc-4.9-base:i386 libasound2:i386 libasound2-plugins:i386
  libasyncns0:i386 libaudio2:i386 libavahi-client3:i386
  libavahi-common-data:i386 libavahi-common3:i386 libc6:i386
  libcgmanager0:i386 libcomerr2:i386 libcups2:i386 libdbus-1-3:i386
  libdbusmenu-qt2:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
  libdrm-radeon1:i386 libdrm2:i386 libelf1:i386 libexpat1:i386 libffi6:i386
  libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386
  libgcrypt11:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
  libglapi-mesa:i386 libglib2.0-0:i386 libgnutls26:i386 libgpg-error0:i386
  libgssapi-krb5-2:i386 libgstreamer-plugins-base1.0-0:i386
  libgstreamer1.0-0:i386 libice6:i386 libjack-jackd2-0:i386 libjbig0:i386
  libjpeg-turbo8:i386 libjpeg8:i386 libjson-c2:i386 libk5crypto3:i386
  libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 libllvm3.4:i386
  liblzma5:i386 libmysqlclient18:i386 libnih-dbus1:i386 libnih1:i386
  libogg0:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpciaccess0:i386
  libpcre3:i386 libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386
  libqt4-declarative:i386 libqt4-network:i386 libqt4-opengl:i386
  libqt4-script:i386 libqt4-sql:i386 libqt4-sql-mysql:i386 libqt4-xml:i386
  libqt4-xmlpatterns:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386
  libqtwebkit4:i386 libsamplerate0:i386 libselinux1:i386 libsm6:i386
  libsndfile1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386
  libstdc++6:i386 libtasn1-6:i386 libtiff5:i386 libtinfo5:i386
  libtxc-dxtn-s2tc0:i386 libudev1:i386 libuuid1:i386 libvorbis0a:i386
  libvorbisenc2:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
  libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
  libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
  libxfixes3:i386 libxi6:i386 libxml2:i386 libxrender1:i386 libxshmfence1:i386
  libxslt1.1:i386 libxss1:i386 libxt6:i386 libxv1:i386 libxxf86vm1:i386
  mysql-common skype skype-bin:i386 sni-qt:i386 zlib1g:i386
0 upgraded, 115 newly installed, 0 to remove and 7 not upgraded.
Need to get 63.7 MB of archives.
After this operation, 225 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
    
Avinash Raj 21.04.2014 09:46
1

Nachdem ich fast jede in diesem Thread (und anderen) erwähnte Methode versucht hatte, war ich kurz davor aufzugeben. Ich hatte mein Debian Lenny auf Squeeze upgegraded, und ich konnte nicht für das Leben von mir herauszufinden, warum PHP5, Apache, MySQL etc. nicht installieren wollten. Am Ende habe ich versucht,

zu verwenden
sudo apt-get purge apache2
sudo apt-get purge php5
sudo apt-get purge mysql-server
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get install apache2 php5 mysql-server

.. und es hat einwandfrei funktioniert! ( Vorsicht, es kann Ihre Konfigurationsdateien zerstören, also sichern Sie sie! )

    
h2ooooooo 15.01.2013 11:00
1

Was für mich funktionierte, ist, die Abhängigkeit neu zu installieren. Dies ist der Fall, wenn die installierte Version aktueller ist als die neueste (was Synapsen zeigt). Es ist tatsächlich äquivalent, um es synaptic zu erlauben, das Abhängigkeitspaket herunterzustufen.

Eine andere Sache, die funktioniert hat, ist "aptitude":

[email protected]:~# aptitude install libgfortran3
The following NEW packages will be installed:
  libgfortran3{b} 
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 250 kB of archives. After unpacking 1 230 kB will be used.
The following packages have unmet dependencies:
 libgfortran3 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is installed.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     libgfortran3 [Not Installed]                       



Accept this solution? [Y/n/q/?] n
Internal error: found 2 (choice -> promotion) mappings for a single choice.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
The following actions will resolve these dependencies:

      Downgrade the following packages:                                        
1)      cpp-4.8 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]       
2)      gcc-4.8 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]       
3)      gcc-4.8-base [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]  
4)      libasan0 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]      
5)      libatomic1 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]    
6)      libgcc-4.8-dev [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]
7)      libgomp1 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]      
8)      libitm1 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]       
9)      libquadmath0 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]  
10)     libstdc++6 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]    
11)     libtsan0 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]      

Accept this solution? [Y/n/q/?] y
    
Bob Yoplait 19.04.2015 22:59
0

Wenn Sie so einen Fehler erhalten:

Dies sagt Ihnen, dass die Pakete bereits installiert sind, aber es hat nicht alle anderen Pakete installiert, die es benötigt, um zu arbeiten. Sie sollten dies lösen können, indem Sie Folgendes ausführen:

sudo apt-get -f install

(Dieser Befehl sollte automatisch die nicht erfüllten Abhängigkeiten installieren.)

oder so ähnlich (mit den entsprechenden Paketen) :

sudo apt-get install click curl dpkg-dev python-lzma python-requests imagemagick ubuntu-dev-tools

Aber wenn Sie mit dieser Art von Fehler enden:

Sie können dann nach Möglichkeiten suchen, diese hier oder hier .
Mit dem obigen Beispiel sollten Sie in der Lage sein, eine Seite wie dies und verwenden Sie dann eine PPA oder installieren Sie a .deb für 32bit , oder ein .deb für 64bit .

    
Wilf 02.03.2014 11:44