it-swarm.com.de

dpkg-Fehler: "Versuch, eine Datei zu überschreiben, die sich auch in ... befindet"

Zum Beispiel:

$ Sudo apt-get install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
bsh : Depends: libjline-Java but it is not going to be installed
groovy : Depends: libjline-Java but it is not going to be installed
rhino : Depends: libjline-Java but it is not going to be installed
E: Unmet dependencies. 

Try 'apt-get -f install' with no packages (or specify a solution).

Ich erhalte die gleichen oder ähnliche Fehlermeldungen, wenn ich versuche, clojure1.3, leiningen und mehrere andere Pakete zu installieren.

Wenn ich den Vorschlag in der Fehlermeldung versuche, passiert Folgendes:

$ Sudo apt-get -f install 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  diffstat linux-headers-3.2.0-26-generic linux-headers-3.2.0-26 dh-apparmor dkms html2text libmail-sendmail-Perl libsys-hostname-long-Perl
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libjline-Java
Suggested packages:
  libjline-Java-doc
The following NEW packages will be installed:
  libjline-Java
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
23 not fully installed or removed.
Need to get 0 B/72.0 kB of archives.
After this operation, 129 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
(Reading database ... 226243 files and directories currently installed.)
Unpacking libjline-Java (from .../libjline-Java_1.0-1_all.deb) ...
dpkg: error processing /var/cache/apt/archives/libjline-Java_1.0-1_all.deb (--unpack):
 trying to overwrite '/usr/share/Java/jline.jar', which is also in package scala 2.9.2-400
Errors were encountered while processing:
 /var/cache/apt/archives/libjline-Java_1.0-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

$ Sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 bsh : Depends: libjline-Java but it is not installed
 groovy : Depends: libjline-Java but it is not installed
 rhino : Depends: libjline-Java but it is not installed
E: Unmet dependencies. Try using -f.
105
missingfaktor

Bitte gehen Sie nicht direkt zum Antwort danjjl , wenn Sie auf diese Art von "Überschreibversuch" stoßen, ist es wahrscheinlich, dass Sie widersprüchliche Pakete haben, die zuerst gelöst werden müssen.

Die sofortige Behebung des Problems besteht darin, das unerwünschte Paket zu entfernen, in diesem Fall scala.

Sudo dpkg -P scala

Als nächstes wird empfohlen, einen Fehlerbericht bei den jeweiligen Paketbetreuern einzureichen. Dies impliziert normalerweise das Hinzufügen einer Conflict: package -Zeile zur Steuerdatei.

Siehe auch this answer für eine genauere Erläuterung dieses Fehlers.

71
Avinash Raj

Um das Problem zu beheben, führen Sie Folgendes aus

Sudo dpkg -i --force-overwrite /var/cache/apt/archives/libjline-Java_1.0-1_all.deb

überprüfen Sie, ob alles in Ordnung ist, indem Sie folgendes ausführen: Sudo apt-get -f install

Wenn Sie immer noch Probleme haben, führen Sie den ersten Schritt mit allen verbleibenden dpkg: error processing (...) erneut aus

Lösung gefunden am webupd8

94
danjjl

Der Befehl von @ danjjl funktioniert für .deb -Dateien. Ich habe festgestellt, dass dieser Befehl mit apt/apt-get funktioniert:

Sudo apt-get -o Dpkg::Options::="--force-overwrite" install <package-name>
42
David Xia

Ich bin mir nicht sicher, ob dies ein globaler Fix ist, da ich das gleiche Problem hatte, aber mit einer libglx-mesa-Datei im Cache, die mit Nvidia-390 in Konflikt steht. Ich entfernte die Datei und gab einen apt install -f -y aus, ließ diese fertig und fuhr dann mit den apt update, upgrade und autoremove in dieser Reihenfolge fort.

Ich habe den Fehler beim Ausführen eines apt dist-upgrade unter Ubuntu 18.04 erhalten und den Vorgang ohne weitere Probleme fortgesetzt, und das schien "meine" Lösung zu sein.

Befehle:

Sudo su -
mv /var/cache/apt/archives/libglx-mesa0_18.0.0~rc5-1ubuntu1_AMD64.deb ~
apt install -f -y
apt update -y
apt upgrade -y
apt autoremove -y
apt dist-upgrade

PS: Das Erzwingen eines Überschreibens war eine schlechte Idee und ich hatte Glück. Aber es ist besser, die Ursache zu finden und zu beheben. Ich muss noch nachforschen, aber der Fehler hat mich dazu gebracht, die Datei aus dem Weg zu räumen.

1
user3091464