Saya mendapat pesan kesalahan yang menjelaskan / boot saya sudah penuh. mencoba membersihkan file gambar lama sepertinya selalu gagal karena kesalahan penuh disk atau kesalahan ketergantungan. Bisakah seseorang menjelaskan kesalahan saya.
$ 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.
linux-image-extra-3.13.0-44-generic : Depends: linux-image-3.13.0-44-generic but it is not installed
linux-image-extra-3.13.0-45-generic : Depends: linux-image-3.13.0-45-generic but it is not installed
linux-image-generic : Depends: linux-image-3.13.0-45-generic but it is not installed
E: Unmet dependencies. Try using -f.
$ ls /boot
abi-3.13.0-32-generic initrd.img-3.13.0-43-generic
abi-3.13.0-36-generic lost+found
abi-3.13.0-37-generic memtest86+.bin
abi-3.13.0-39-generic memtest86+.elf
abi-3.13.0-40-generic memtest86+_multiboot.bin
abi-3.13.0-43-generic System.map-3.13.0-32-generic
config-3.13.0-32-generic System.map-3.13.0-36-generic
config-3.13.0-36-generic System.map-3.13.0-37-generic
config-3.13.0-37-generic System.map-3.13.0-39-generic
config-3.13.0-39-generic System.map-3.13.0-40-generic
config-3.13.0-40-generic System.map-3.13.0-43-generic
config-3.13.0-43-generic vmlinuz-3.13.0-32-generic
grub vmlinuz-3.13.0-36-generic
initrd.img-3.13.0-32-generic vmlinuz-3.13.0-37-generic
initrd.img-3.13.0-36-generic vmlinuz-3.13.0-39-generic
initrd.img-3.13.0-37-generic vmlinuz-3.13.0-40-generic
initrd.img-3.13.0-39-generic vmlinuz-3.13.0-43-generic
initrd.img-3.13.0-40-generic
Saya menggunakan
kernelver=$(uname -r | sed -r 's/-[a-z]+//')
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve $kernelver
mendapatkan
linux-headers-3.13.0-32
linux-headers-3.13.0-32-generic
linux-headers-3.13.0-36
linux-headers-3.13.0-36-generic
linux-headers-3.13.0-37
linux-headers-3.13.0-37-generic
linux-headers-3.13.0-39
linux-headers-3.13.0-39-generic
linux-headers-3.13.0-40
linux-headers-3.13.0-40-generic
linux-headers-3.13.0-44
linux-headers-3.13.0-44-generic
linux-headers-3.13.0-45
linux-headers-3.13.0-45-generic
linux-image-3.13.0-32-generic
linux-image-3.13.0-36-generic
linux-image-3.13.0-37-generic
linux-image-3.13.0-39-generic
linux-image-3.13.0-40-generic
Kemudian memilih gambar pertama untuk dihapus
$ sudo apt-get purge linux-image-3.13.0-32-generic
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.
linux-image-extra-3.13.0-32-generic : Depends: linux-image-3.13.0-32-generic but it is not going to be installed
linux-image-extra-3.13.0-44-generic : Depends: linux-image-3.13.0-44-generic but it is not going to be installed
linux-image-extra-3.13.0-45-generic : Depends: linux-image-3.13.0-45-generic but it is not going to be installed
linux-image-generic : Depends: linux-image-3.13.0-45-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
boot
package-management
disk-usage
Philip Howard
sumber
sumber
sudo apt-get autoremove
danls /boot
.uname -r
perintah untuk mengetahui versi kernel Anda saat ini, dan coba hapus kernel selain itu.Jawaban:
Dalam kasus seperti itu saya akan menggunakan
dpkg
alat untuk memaksa penghapusan beberapa paket kernel. Ini tidak disarankan untuk penggunaan umum dan agak berbahaya , tetapi dalam kasus seperti itu dengan dependensi yang tidak terpenuhi mungkin membantu.Pertama-tama cari kernel tempat sistem boot. Yang saat ini dimuat. Buka terminal (CTRL + ALT + T) dan jalankan perintah berikut
Ini akan menunjukkan kepada Anda kernel yang dimuat, Anda TIDAK harus mencoba menghapus yang ini.
Lalu keluarkan perintahnya
itu akan mengembalikan semua gambar yang diinstal. Pilih satu atau dua dan cobalah untuk menghapusnya. Cobalah untuk memaksa menghapus / membersihkannya. Sebagai contoh
Anda dapat melakukan hal yang sama untuk gambar lain, untuk membebaskan ruang.
Kemudian Anda dapat mencoba menginstal paket yang hilang, atau
untuk mencoba menyelesaikan dependensi.
Terakhir, berikan perintah "cleanup old kernel"
Perintah di atas akan menghapus SEMUA kernel kecuali yang saat ini dimuat.
Karena Anda memiliki partisi / boot terpisah, perlu diingat bahwa Anda perlu melacak ruangnya dan membersihkannya (frekuensinya tergantung pada ruang / boot)
sumber
dpkg
, aku harus larisudo apt-get -f autoremove
untuk mendapatkanapt-get
berhenti mengeluh tentang dependensi yang belum terpenuhi. Jika tidak,sudo apt-get -f install
tampaknya terus mencoba menginstal ulang semua gambar kernel yang saya hapusdpkg
, yang jelas hanya terisi/boot
lagi.apt-get -f autoremove
komentar di @mdunsmuir di atas, ia masih ingin menginstal semua kernel lama selama salah satu operasi pembersihan di atas. Apakah ada cara untuk hanya mengatakannya untuk mengabaikan dependensi yang tidak terkait dan menghapus satu kernel lama yang lengkap?sudo dpkg --force-all -P linux-image-extra-3.13.0-32-generic
. Kalau tidak, ekstra ini masih tergantung pada gambar yang sebenarnya dan-f
bendera akan menyebabkan gambar diinstal ulang dan kemudian kehabisan ruang disk.Inilah yang berhasil bagi saya di Ubuntu 16.04.
sumber
Daftar semua kernel:
Tampilkan kernel saat ini:
Daftar semua kernel KECUALI yang sekarang:
Pastikan kernel Anda saat ini tidak ada dalam daftar itu.
Hapus semua kernel KECUALI yang sekarang:
Bersihkan barang-barang lainnya:
sumber