Nach dem Upgrade von 10.04 auf 12.04 versuche ich verschiedene Pakete zu installieren. Zum Beispiel ia32-libs und Skype (4.0).
Beim Versuch, diese zu installieren, wird die Fehlermeldung "Fehler können nicht behoben werden, da fehlerhafte Pakete enthalten sind" angezeigt.
Ausgabe von Befehlen:
sudo apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Nachdem Sie dies ausgeführt haben:
sudo dpkg --configure -a
foo@foo:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
sudo apt-get install ia32-libs
), und die Ausgabe dieses Befehls zeigen. Werden auchsudo apt-get dist-upgrade
verfügbare Updates angezeigt?Antworten:
Diese bestimmte Fehlermeldung weist möglicherweise darauf hin, dass Sie Pakete gespeichert haben, weist jedoch möglicherweise auch auf ein anderes Problem hin.
Sie erhalten eine Liste der tatsächlich gehaltenen Pakete mit:
Wenn es keine gibt oder keine im Zusammenhang stehen, dann ist es wahrscheinlich etwas anderes. Überprüfen Sie sorgfältig die Ausgabe des Befehls, den Sie versucht haben, als Sie die Fehlermeldung erhalten haben, da die vollständige Ausgabe dieses Befehls neben der Fehlermeldung möglicherweise noch weitere Hinweise enthält.
Eine andere Methode zur Fehlerbehebung kann darin bestehen, aptitude anstelle von apt-get zu verwenden, um zu versuchen, Ihr Paket zu installieren:
Aptitude gibt weniger leicht auf und versucht, Lösungen zu finden, bei denen möglicherweise andere Pakete geändert werden. Möglicherweise erhalten Sie eine genauere Erläuterung des Problems und der Optionen zur Behebung des Problems.
Gelegentlich ist aptitude zu bemüht, eine große Anzahl von Paketen zu entfernen oder herunterzustufen, um Ihre Anforderung zu erfüllen. In diesem Fall werden
-f
Änderungen an den Prioritäten wiederholt, und es werden Lösungen entwickelt, bei denen weniger Pakete entfernt / heruntergestuft werden, auch wenn dies bedeutet, dass nicht alle von Ihnen angeforderten Änderungen vorliegen kann weitermachen:quelle
Das ist mir auch passiert. Alles, was ich getan habe, war
sudo apt-get update
und das hat mein Problem behoben. Viel Glück.quelle
In Bezug auf fehlende Abhängigkeiten bin ich auf ein ähnliches Szenario gestoßen. In meinem Fall habe ich versucht, Curl auf Ubuntu Saucy Salamander 13.10 zu installieren ...
Der Fehler gab an, dass für die Abhängigkeit eine frühere Version der curl3-Bibliothek erforderlich war.
Ich konnte mich auf die frühere Version verschlechtern, indem ich versuchte, Curl mit aptitude zu installieren.
Wenn es die fehlende Abhängigkeit festgestellt, und den Grund (eine frühere Version der Bibliotheksdatei erforderlich), es gab mir mehrere Möglichkeiten, wie zu reagieren ... y// n/q
Yhätte die Installation abgebrochen, Nnach einer anderen Option Qgesucht und einfach beendet und nichts mehr getan, was ein defektes Paket hinterlassen hätte.
Ich habe ausgewählt N, und es gab mir die Möglichkeit, die Bibliotheksdatei auf eine frühere Version herunterzustufen. Das habe ich also getan und die Installation von curl ist ohne weitere Fehler abgeschlossen.
quelle
Ich hatte ein ähnliches Szenario in einer Neuinstallation von 14.04, in der keine Dateien aufgelistet
dpkg --get-selections | grep hold
waren und keine Freude danachsudo apt-get update
.Was tat für mich fix es war ein einfacher
Als ich versuchte, das fehlerhafte Paket erneut zu installieren, funktionierte es einwandfrei. Yay!
quelle
Hatte das gleiche Problem, habe ich diesen Paketprüfbefehl von der anderen Antwort (
dpkg --get-selections | grep hold
) ausgeführt und gesehenalso habe ich "
apt-get remove tomcat7-common
" verwendetDann konnte ich Tomcat 6 installieren (ich entfernte Tomcat 7 und installierte Tomcat 6 wie Sie).
quelle
Dies sind einige schnelle und einfache Möglichkeiten, um den
you have held broken packages
Fehler zu beheben .Öffnen Sie Ihre Datei sources.list in
/etc/apt/sources.list
und stellen Sie sicher , dass es keine Software-Quellen für eine andere Ubuntu-Version gibt als die Ubuntu-Version, die Sie derzeit verwenden. Wenn Sie in sources.list fehlerhafte Versionszeilen finden, öffnen Sie die sources.list-Datei mitsudoedit /etc/apt/sources.list
, kommentieren Sie die fehlerhaften Zeilen in sources.list aus, indem Sie ihnen ein#
Zeichen voranstellen , speichern Sie die sources.list-Datei und führen Sie den Befehl aus,sudo apt update
um die Liste von zu aktualisieren verfügbare Software-Pakete.Wählen Sie im Synaptic Package Manager die Option Fix Broken Packages . Führen Sie die folgenden Befehle aus, um Synaptic zu installieren.
Öffnen Sie Synaptic und wählen Sie in Synaptic Bearbeiten -> Defekte Pakete reparieren und wiederholen Sie dann Bearbeiten -> Defekte Pakete reparieren ein zweites Mal.
Klicken Sie in Synaptic im linken Bereich auf die Schaltfläche Benutzerdefinierte Filter , die im folgenden Screenshot mit dem Mauszeiger markiert ist. Wählen Sie aus der Liste in der oberen linken Ecke die Option Defekt . Im mittleren Bereich werden alle defekten Pakete aufgelistet, die noch repariert werden müssen.
Wählen Sie die beschädigten Pakete einzeln aus. Wählen Sie ein defektes Paket aus, öffnen Sie das Terminal und führen Sie es aus . Die Ergebnisse dieses Befehls zeigen an, ob das beschädigte Paket aus den Standard-Ubuntu-Repositorys oder aus einer anderen Quelle installiert wurde. Wenn das kaputte Paket von einer anderen Quelle installiert wurde, kann dieses Paket möglicherweise zusammen mit seiner Softwarequelle entfernt und durch eine andere Version desselben Pakets aus den Standard-Ubuntu-Repositorys ersetzt werden. Normalerweise bedeutet dies, ein defektes Paket zu reparieren, indem dieses Paket auf eine ältere Version zurückgesetzt wird.
apt policy <package-name>
Wenn Sie diese Fehlermeldung erhalten:
Führen Sie die folgenden Befehle aus:
Entfernen Sie ein defektes Paket manuell.
Finden Sie Ihr Paket in
/var/lib/dpkg/info
Verschieben Sie den Paketordner an einen anderen Speicherort.
Führen Sie den folgenden Befehl aus:
Wenn alle diese Methoden nicht funktionieren, werden die beschädigten Pakete möglicherweise von etwas verursacht, das so tief im Betriebssystem eingebettet ist, dass keine dieser Methoden Auswirkungen darauf hat. Der erste offensichtliche Ort, um nach diesem tief eingebetteten "Etwas" zu suchen, ist in den Softwarequellen in
/etc/apt/sources.list
. Überprüfen Sie die Datei sources.list, um festzustellen, ob sie nicht standardmäßige Zeilen enthält, die möglicherweise einen Fehler bei fehlerhaften Paketen verursachen. Eine Ubuntu-Standarddatei sources.list sieht aus wie die Dateien sources.list in dieser Antwort .Um eine verdächtige Zeile aus der sources.list zu entfernen, müssen Sie sie auskommentieren, indem Sie ein
#
Zeichen voranstellen . Führen Sie dann aussudo apt update
, um die Liste der verfügbaren Software zu aktualisieren.quelle
Bei mir hat keines der oben genannten Probleme funktioniert, da mein System nicht aktualisiert wurde. Ich tat
Home Key > Software Updater > Install
und mein System aktualisiert; danach konnte ich mein paket normal mit installieren
apt
.quelle
Ich hatte das gleiche Problem bei der Neuinstallation
xsane
nach einer fehlgeschlagenenppa
Installation. Wie Yochannah, "keine Dateien aufgelistetdpkg --get-selections | grep hold
, und keine Freude danachsudo apt-get update
".Der Hinweis,
apt-get
der mir gegeben hat, istxsane : Depends: libsane (>= 1.0.24) but it is not going to be installed
Aufgrund der Yochannah-Antwort hatte ich das Gefühl, einige zuvor installierte Pakete entfernen zu müssen. Und es war so, dass ich
sane
unter anderem alle dazugehörigen Pakete manuell entfernen musstexsane-common
undlibsane
das noch alsppa
Version installiert war .Achten Sie deshalb darauf, was Sie vorher installiert und aufgeräumt haben!
quelle