dpkg hatası: “dosyanın üzerine yazılmaya çalışılıyor, bu da…”

75

Örneğin:

$ 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 ve diğer birkaç paketi yüklemeye çalıştığımda aynı veya benzer hataları alıyorum.

Hata iletisinde yapılan öneriyi denediğimde, şu oluyor:

$ 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.
    
sordu missingfaktor 15.08.2012 14:31

4 cevap

48

Lütfen bu tür "üzerine yazma" hatasıyla karşılaşırsanız doğrudan danjjl yanıtı için gitmeyin. , öncelikle çözülmesi gereken çakışan paketlere sahip olmanız muhtemeldir.

Sorunun derhal düzeltilmesi, istenmeyen paketin istenmeyen şekilde kaldırılmasıdır. Bu durumda scala ,

sudo dpkg -P scala

Ardından, ilgili paket koruyucularla bir hata raporu göndermeniz önerilir. Bu normalde kontrol dosyasında Conflict: package satırı eklemek anlamına gelir.

Ayrıca, bu hatayla ilgili daha ayrıntılı açıklama için bu yanıtı inceleyin.

    
verilen cevap Avinash Raj 13.03.2014 05:29
79

Sorununuzu çözmek için

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

her şeyin çalışıp çalışmadığını kontrol et: sudo apt-get -f install

Hala sorun yaşıyorsanız, ilk adımı dpkg: error processing (...) kaldı

ile yeniden başlatın.

Çözüm, webupd8 adresinde bulundu

    
verilen cevap danjjl 15.08.2012 15:01
35

@ danjjl komutu .deb dosyası için çalışır. Bu komutun apt / apt-get ile çalıştığı bulundu:

sudo apt-get -o Dpkg::Options::="--force-overwrite" install <package-name>
    
verilen cevap David Xia 03.07.2014 05:48
1

Aynı sorunu yaşadığım için genel bir düzeltme olduğundan emin olun, ancak önbellekte Nvidia-390 ile çakışan bir libglx-mesa dosyasıyla. Dosyayı kaldırdım ve apt install -f -y verdikten sonra, bu sekansı bittikten sonra apt update , upgrade ve autoremove ile devam ettirdim.

Ubuntu 18.04'te apt dist-upgrade yürütürken hatayı aldım ve işlemi tekrar sürdürdüm, başka sorun yok ve "benim" düzeltmesi görünüyordu.

Komutlar:

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: Üzerine yazmayı zorlamak denediğim kötü bir fikirdi ve şanslıydım. Ancak kök nedenini bulmak ve düzeltmek daha iyidir. Hala araştırmam gerekiyor ama hata, dosyayı yoldan çıkarmamı sağlıyor.

    
verilen cevap user3091464 11.06.2018 21:34

Etiketlerdeki diğer soruları oku