ошибка dpkg: «попытка перезаписать файл, который также находится в ...»

59

Например:

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

Я получаю те же или подобные ошибки, когда пытаюсь установить clojure1.3, leiningen и несколько других пакетов.

Когда я пытаюсь сделать предложение в сообщении об ошибке, это происходит:

$ 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.
    
задан missingfaktor 15.08.2012 в 14:31
источник

3 ответа

36

Пожалуйста, не отправляйте ответ danjjl непосредственно, если вы сталкиваетесь с такой ошибкой «попробуйте переписать» , вероятно, у вас есть конфликтующие пакеты, которые необходимо решить в первую очередь.

Непосредственное исправление проблемы заключается в удалении противоречивого пакета, который нежелателен, в этом случае scala ,

sudo dpkg -P scala

Далее было бы рекомендовано представить отчет об ошибке с соответствующими сопровождающими пакетами. Обычно это означает добавление в файл управления Conflict: package .

Также см. этот ответ для более подробного объяснения этой ошибки.

    
ответ дан Avinash Raj 13.03.2014 в 05:29
источник
68

Чтобы устранить проблему, выполните

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

проверить, что все исправлено запуском: sudo apt-get -f install

Если у вас все еще есть проблемы, запустите первый шаг с любым оставшимся dpkg: error processing (...)

Решение найдено на webupd8

    
ответ дан danjjl 15.08.2012 в 15:01
27
Команда

@ danjjl работает для .deb файлов. Я нашел, что эта команда работает с apt / apt-get :

sudo apt-get -o Dpkg::Options::="--force-overwrite" install <package-name>
    
ответ дан David Xia 03.07.2014 в 05:48