Sistem paket rusak. Bagaimana memperbaikinya?

50

Saya baru saja membeli Arduino dan membutuhkan gcc-avr / avrdude untuk mengkompilasi perangkat lunak. Saya menginstal avr untuk komponen mikroprosesor lain beberapa waktu yang lalu, tetapi jelas merupakan versi yang sudah ketinggalan zaman (versi gcc 3.3 20030512 (prerelease)) jadi saya melanjutkan untuk memperbarui ini tetapi tidak berhasil.

(Harap dicatat bahwa sebelumnya saya juga memecahkan aptdaemon saya melalui instalasi anggur yang tidak lengkap (tidak dapat melewati perjanjian instalasi font) tetapi saya memperbaikinya melalui instalasi ulang kemudian menerima perjanjian.)

Saya mencoba memperbarui ini dengan menjalankan skrip bingo tetapi dependensi yang diperlukan tidak dapat diinstal karena avr ... laporan terminal

Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
libncurses5-dev is already the newest version.
libncurses5-dev set to manually installed.
libusb-0.1-4 is already the newest version.
libx11-dev is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
arduino-core : Depends: gcc-avr but it is not going to be installed
avr-libc : Depends: gcc-avr (>= 1:4.3.4) but it is not going to be installed
Depends: binutils-avr (>= 2.20) but it is not going to be installed
binutils-dev : Depends: binutils (= 2.21.0.20110327-2ubuntu3) but 2.21.0.20110327-2ubuntu2 is to be installed
libcwidget-dev : Depends: libcwidget3 (= 0.5.16-3ubuntu2) but it is not going to be installed
Depends: libsigc++-2.0-dev but it is not going to be installed
Depends: libncursesw5-dev but it is not going to be installed
libmpfr-dev : Depends: libgmp3-dev (>= 4.2.dfsg-1) but it is not going to be installed
python-dev : Depends: python (= 2.7.1-0ubuntu5.1) but 2.7.1-0ubuntu5 is to be installed
Depends: python2.7-dev (>= 2.7.1-1~) but it is not going to be installed
tk8.4-dev : Depends: tk8.4 (= 8.4.19-4) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Tapi berlari

apt-get -f install

hasil dalam

(Reading database ... 163021 files and directories currently installed.)
Unpacking binutils-avr (from .../binutils-avr_2.20.1-1ubuntu2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-size', which is also in package avr-binutils 2.13.90.030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking gcc-avr (from .../gcc-avr_1%3a4.3.5-1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb (--unpack):
trying to overwrite '/usr/bin/avr-g++', which is also in package avr-gcc-c++ 3.2.90.20030512-2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/binutils-avr_2.20.1-1ubuntu2_i386.deb
/var/cache/apt/archives/gcc-avr_1%3a4.3.5-1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Saya telah mencoba menjalankan pembaruan manajer dan memperbarui sistem saya melalui itu tetapi yang saya dapatkan hanyalah pesan kesalahan

The following packages have unmet dependencies:
arduino-core: Depends: gcc-avr but it is not installed
avr-libc: Depends: gcc-avr (>= 1:4.3.4) but it is not installed
Depends: binutils-avr (>= 2.20) but it is not installed

yang kemudian memberitahu saya untuk mencoba menjalankan apt-get -f install yang hasilnya sama seperti terakhir kali.

Jadi bagaimana saya bisa memperbaiki sistem saya, saya benar-benar membutuhkan avr baru, tolong :) BTW, sistem saya adalah Ubuntu 11.04

Vigi
sumber
Apakah Anda sudah menginstal sinaptik di sistem Anda ?!
Ya kenapa? Aku seharusnya tidak memilikinya?
Omer
Kesalahan yang sama (tetapi didasarkan pada libboost). Tidak ada jawaban yang cocok untuk saya.
isomorfisma

Jawaban:

41

Setelah Anda mendapatkan kesalahan itu, cobalah sudo apt-get -f installuntuk memaksa instalasi file yang tidak dimuat karena kesalahan.

Kemudian coba sudo apt-get updatelagi, sudo apt-get -f installbolak-balik sampai hanya paket yang memiliki kesalahan yang tersisa.

sudo dpkg --configure -a

dan bersihkan cache

sudo apt-get clean

Buntut cincin
sumber
3
Terima kasih atas jawabannya, tetapi saya menemukan solusinya saat Anda memposting ini: PI membuka pengelola paket sinaptik dan memfilter dua paket rusak yang kemudian saya hapus dengan SPM, yang sekarang semuanya berjalan dengan manis dan halus. Berhasil menginstal dependensi dan saya sekarang menginstal avr menggunakan skrip bingo! :) Ini belum selesai tetapi jika gagal saya akan mencoba jawaban Anda
Vigi
senang mendengarnya diperbaiki
Ringtail
ok, Baru saja menghapus partisi 11,04 dan baru diinstal 11.10. sekarang menjalankannya di samping windows vista. Jadi sekarang saya telah menginstal avr / binutils / libs terbaru dll. Jadi sekarang saya bisa mengkompilasi arduino :) yay!
Vigi
Sebagai akibat dari masalah ini, saya juga gagal memuat driver mouse dan driver WLAN. Itu berarti saya tidak memiliki koneksi internet lagi dan tidak dapat digunakan sudo apt-get -f install.
John Slegers
21

Ini biasanya terjadi sebagai akibat dari 'Ketergantungan yang tidak terpenuhi untuk paket yang diinstal'.

Ini solusi sederhana jika Anda menginstal 'Synaptic':

  • Buka Synaptic.
  • Masuk ke 'Status' (di navigasi kiri).
  • Pilih 'Rusak'.
  • Hapus paket yang rusak ini.

Kalau tidak, bisa ditangani melalui CLI:

Buka terminal dan jalankan perintah ini:

sudo apt-get clean

Perintah di atas akan membersihkan repositori lokal dari file paket yang diambil.

sudo apt-get install -f

Akan memperbaiki dependensi yang rusak yaitu di -fsini singkatan dari "fix broken".

sudo dpkg --configure -a

akan mengkonfigurasi semua ( -a) paket yang belum dikonfigurasi. Pada akhirnya, jalankan perintah pembaruan sudo apt-get update.

Nabeel Ahmed
sumber
Sebagai akibat dari masalah ini, saya juga gagal memuat driver mouse dan driver WLAN. Itu berarti saya tidak memiliki koneksi internet lagi dan tidak dapat digunakan sudo apt-get -f install.
John Slegers
Anda dapat menggunakan palang paket offline / portabel yaitu Keryx atau Cube - membantu Anda mengunduh paket dan repositori terbaru (dalam folder atau langsung ke flashdisk) dari komputer lain dengan koneksi internet (Linux atau Windows), setelah selesai pasang flashdisk ke komputer tanpa koneksi internet, dan instal paket yang diunduh.
Nabeel Ahmed
Tutorial langkah demi langkah untuk menggunakan Cube (belum menggunakannya sendiri) - community.linuxmint.com/tutorial/view/1583
Nabeel Ahmed
Jawaban askubuntu lain dengan pengaturan Keryx langkah demi langkah - askubuntu.com/a/181913/58950
Nabeel Ahmed
Saya dapat menyelesaikan hanya menggunakan sudo apt-get install -fdan sudo dpkg --configure -a.. setelah reboot saya kembali jaringan, audio dan sebagainya :)
Luke
16

Buka sinaptikInstal sinaptik . Lalu pergi ke status dan pilih Patah . Kemudian hapus sepenuhnya paket yang rusak.

Ini harus memperbaiki sistem Anda.

masukkan deskripsi gambar di sini

Komunitas
sumber
Saya di Ubuntu 12,04. Segera setelah saya membuka Pusat Perangkat Lunak Synaptics, dikatakan bahwa katalognya rusak dan harus diperbaiki, dan menawari saya tombol perbaikan, yang segera menyelesaikan masalah.
Tyler Collier
3

Coba: sudo apt-get update && sudo apt-get -f install
Saya harap ini akan menyelesaikan masalah.

Frantique
sumber
2
Tidak menyelesaikan untuk saya.
Damien Roche
Sebagai akibat dari masalah ini, saya juga gagal memuat driver mouse dan driver WLAN. Itu berarti saya tidak memiliki koneksi internet lagi dan tidak dapat digunakan sudo apt-get -f install.
John Slegers
1

Jika Anda belum melakukannya, coba ubah referensi repositori paket Anda ke 'Utama' atau Amerika Serikat . Melakukan hal ini tetap saya Python-dev yang belum terpenuhi-dependensi masalah (saya 12,04 menginstal itu menggunakan United Kingdom paket repositori, sebelumnya).

  1. Di 'Ubuntu Software Center' (USC) buka menu / tab 'Edit => Sumber Perangkat Lunak'.
  2. Ubah nilai tarik-turun 'Unduh dari' ke 'Server Utama' atau server di Amerika Serikat.
  3. Tinggalkan USC, 'Update Manager' yang terbuka dari menu program Ubuntu, dan 'Periksa' untuk pembaruan perangkat lunak (atau terbitkan 'sudo apt-get update' di jendela terminal).
  4. Perbarui perangkat lunak Anda seperti biasanya, misalnya melalui 'Update Manager' atau apt-get / aptitude di terminal.

Ini memperbaiki repositori saya dan saya kemudian menginstal apa pun yang saya butuhkan setelahnya, seperti biasa.

Sebelum memperbaiki masalah saya dengan instruksi di atas, berbagai perintah aptitude / apt-get menyarankan agar saya menghapus banyak, banyak paket, tetapi, seperti yang Anda hargai, saya tidak suka kehilangan penambahan paket selama 6 bulan + paket saya, dan meskipun begitu Saya snapshot daftar paket di kali (lihat intisari saya untuk petunjuk)! Saya sangat senang mengetahui tentang instruksi yang saya tinggalkan di sini.

Semoga ini membantu.

Kaya Besar
sumber
1

Punya masalah yang sama, sebuah

sudo apt-get clean

diikuti oleh

sudo apt-get update

diikuti oleh

sudo apt-get upgrade -f

memperbaikinya. Saya harap ini membantu!

pengguna152730
sumber
1
Sebagai akibat dari masalah ini, saya juga gagal memuat driver mouse dan driver WLAN. Itu berarti saya tidak memiliki koneksi internet lagi dan tidak dapat digunakan sudo apt-get -f install.
John Slegers