Pertanyaan Bagaimana memperbaiki paket yang rusak, ketika "apt-get install -f" tidak berfungsi? [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Saya mencoba menginstal Scala dengan tumpukan typesafe dan mendapat masalah. Sekarang saya tidak dapat melakukan banyak hal dengan apt (kecuali update), paket yang rusak tampaknya tidak mungkin untuk dihapus / dibersihkan:

Inilah hasil dari apt-get -f install:

$ 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:
  gstreamer0.10-fluendo-mp3:i386 scala-library liboil0.3:i386
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  scala
The following NEW packages will be installed:
  scala
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
4 not fully installed or removed.
Need to get 21.5 MB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://apt.typesafe.com/ unicorn/main scala all 2.9.2-400 [21.5 MB]
Fetched 21.5 MB in 13s (1,567 kB/s)                                                                          
(Reading database ... 329381 files and directories currently installed.)
Unpacking scala (from .../scala_2.9.2-400_all.deb) ...
dpkg: error processing /var/cache/apt/archives/scala_2.9.2-400_all.deb (--unpack):
 trying to overwrite '/usr/share/java/scala-partest.jar', which is also in package scala-library 2.9.1.dfsg-3
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/scala_2.9.2-400_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Inilah upaya saya untuk autoremove:

$ apt-get autoremove
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
phdp@desktop:~/work/manuscripts/ideas/ibm_food_webs$ sudo apt-get autoremove
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:
 typesafe-stack : Depends: scala but it is not installed
E: Unmet dependencies. Try using -f.

24
2018-05-23 20:39


asal




Jawaban:


Saya memperbaiki masalah saya menggunakan perintah ini:

sudo dpkg -i --force-overwrite path-to-the-deb-file
  • Jika --force-overwrite tidak berfungsi, coba:

    sudo dpkg -i --force-overwrite-all path-to-the-deb-file

Dalam kasus Anda:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/scala_2.9.2-400_all.deb

27
2017-07-11 23:07



Terima kasih banyak! Kau mencerahkan hariku. Ini membantu saya di mana 'sudo apt --fix-broken install' gagal. - Ohumeronen


Sepertinya menghapus scala-library paket dan kemudian konfigurasi ulang mungkin berhasil. Jadi Anda berada di jalur yang benar. Perintah yang benar adalah, dalam urutan ini:

sudo apt-get autoremove
sudo apt-get install -f

Anda autoremove perintah tidak berhasil karena Anda tidak menjalankannya sebagai root (menggunakan sudo).


7
2018-05-23 20:50



Sebenarnya, dia memutar ulang autoremove setelah mengatakan kepadanya bahwa dia bukan root. Lihatlah baris ketiga. - Ethan Brouwer
tidak berfungsi ... - Mehdi
Saya menemukan set perintah ini berguna karena mengidentifikasi pelakunya yang menyebabkan ketergantungan buruk, memungkinkan saya untuk menghapusnya secara normal. Kalau tidak, itu adalah misteri yang menyebabkan masalah. - SunPowered


Dalam kasus saya ini berhasil:

sudo dpkg -P package_name 

(bukan nama deb)


4
2017-07-09 11:18



dpkg: masalah ketergantungan mencegah penghapusan collada-dom-dev: ros-indigo-collada-parser bergantung pada collada-dom-dev. ros-indigo-collada-urdf bergantung pada collada-dom-dev. dpkg: paket pemrosesan kesalahan collada-dom-dev (--purge): masalah ketergantungan - tidak menghapus Kesalahan ditemukan saat memproses: collada-dom-dev - Mehdi
thx, menyelamatkan hariku - ZFNerd


Berikut ini bekerja untuk saya (meskipun saya menggunakan x86):

$ sudo vim /var/lib/apt/lists/apt.typesafe.com_dists_unicorn_main_binary-i386_Packages

Ubah pembacaan baris

Filename: pool/main/s/scala/scala_     2.9.2-400_all.deb

untuk:

Filename: pool/main/s/scala/scala_%20%20%20%20%202.9.2-400_all.deb

Diikuti oleh:

sudo apt-get remove scala-library
sudo apt-get remove scala
sudo apt-get install scala

2
2017-09-17 22:54



Nano lebih mudah bagi sebagian pengguna. Mungkin Anda dapat mendokumentasikan yang juga bisa digunakan sudo nano atau gksudo gedit? - hexafraction


Cara mudah untuk membuka sinapsis. Ini akan menyatakan Anda bahwa paket yang rusak ditemukan sehingga Anda harus menemukan paket yang rusak dan hanya menghapus maka Anda dapat melakukan apapun yang Anda suka.


2
2017-09-26 06:47





perintah berikut berhasil.

sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists/*
sudo rm /var/cache/apt/*.bin
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get install -f

jika masih mendapatkan kesalahan yang sama maka cobalah

sudo dpkg --remove --force-remove-reinstreq package_name 

setelah menghapus paket, perbarui sistem Anda dan hidupkan ulang satu kali.


2
2018-05-06 08:47





Dalam kasus saya, saya tidak dapat memperbarui sistem karena kesalahan berikut saat mencoba sudo apt-get install -f:

update-alternatives: error: /var/lib/dpkg/alternatives/package_name broken: invalid status

Obat adalah untuk menghapus file dari /var/lib/dpkg/alternatives dan ulangi perintah di atas. Saya menjalankannya beberapa kali hingga semua paket yang tidak valid diperbaiki.

Dalam kasus saya itu mencegah saya dari mengkonfigurasi Java dengan benar.


0
2017-07-26 13:02





Saya memiliki masalah ini sekali, untuk beberapa reaspon saya pikir itu adalah paket skype

sebenarnya saya ingat saya sudah dua kali, sekali ketika paket skype hanya rusak dalam hal ini jika hanya beberapa 1. buka pembaruan perangkat lunak, dan tunggu sampai memuat 2. pengaturan klik 3. klik tab perangkat lunak lain Ini semua paket Anda, lihat keluaran konsol Anda, gunakan beberapa baris terakhir untuk menemukan paket mana dan keluarkan, atau lakukan satu per satu hingga Anda tidak lagi mendapatkan kesalahan

Jika itu seperti yang pernah saya lakukan, semua paket tidak dapat diterima dengan benar sama seperti di atas, tetapi klik tab Perangkat Lunak Ubuntu

hanya centang kotak pertama dan ketiga Pilih server utama dari dropdown, klik tutup sudo apt-get pembaruan


-1
2018-01-06 20:16