erreur dpkg: "essayant d'écraser le fichier, qui est aussi dans ..."

73

Par exemple:

$ 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).

J'obtiens les mêmes erreurs ou des erreurs similaires lorsque j'essaie d'installer clojure1.3, leiningen et plusieurs autres packages.

Lorsque j'essaie la suggestion faite dans le message d'erreur, voici ce qui se passe:

$ 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.
    
posée missingfaktor 15.08.2012 - 14:31
la source

4 réponses

47

Veuillez ne pas utiliser directement la réponse danjjl si vous rencontrez ce type d'erreur "d'essayer d'écraser" , il est probable que vous ayez des paquets en conflit qui doivent être résolus en premier.

La solution immédiate au problème consiste à supprimer le package indésirable indésirable, dans ce cas scala ,

sudo dpkg -P scala

Ensuite, il serait recommandé de soumettre un rapport de bogue aux responsables du paquet respectif. Cela implique normalement l'ajout d'une ligne Conflict: package dans le fichier de contrôle.

Voir aussi cette réponse pour des explications plus détaillées sur cette erreur.

    
réponse donnée Avinash Raj 13.03.2014 - 05:29
la source
76

Pour résoudre votre problème, exécutez

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

vérifiez que tout est corrigé en exécutant: sudo apt-get -f install

Si vous avez toujours des problèmes, réexécutez la première étape avec dpkg: error processing (...) restant

Solution trouvée sur webupd8

    
réponse donnée danjjl 15.08.2012 - 15:01
la source
34
La commande

@ danjjl fonctionne pour les fichiers .deb . J'ai trouvé que cette commande fonctionne avec apt / apt-get :

sudo apt-get -o Dpkg::Options::="--force-overwrite" install <package-name>
    
réponse donnée David Xia 03.07.2014 - 05:48
la source
1

Je ne suis pas sûr qu’il s’agisse d’un correctif global car j’avais le même problème, mais avec un fichier libglx-mesa dans le cache en conflit avec Nvidia-390. J'ai supprimé le fichier et émis un apt install -f -y , que cela soit terminé et ensuite procédé à apt update , upgrade et autoremove dans cette séquence.

J'ai eu l'erreur lors de l'exécution de apt dist-upgrade sur Ubuntu 18.04 et j'ai continué le processus, plus de problèmes et cela semblait être "mon" correctif.

Commandes:

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: Forcer un écrasement était une mauvaise idée que j'ai essayée et j'ai eu de la chance. Mais mieux vaut trouver la cause première et la réparer. Je dois encore enquêter, mais l'erreur m'a amené à déplacer le fichier.

    
réponse donnée user3091464 11.06.2018 - 21:34
la source

Lire d'autres questions sur les étiquettes