Saya tahu pertanyaan ini ditanyakan berkali-kali sebelumnya, namun dengan saya itu agak berbeda, saya kira.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 224G 5.2G 208G 3% /
udev 1.9G 4.0K 1.9G 1% /dev
tmpfs 777M 260K 777M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm
/dev/sda2 90M 88M 0 100% /boot
/dev/sda6 1.9G 514M 1.3G 29% /tmp
Partisi boot saya penuh.
Kernel saat ini:
# uname -r
3.2.0-35-generic
Semua Kernel:
# dpkg --list | grep linux-image
ii linux-image-3.2.0-32-generic 3.2.0-32.51 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-34-generic 3.2.0-34.53 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-35-generic 3.2.0-35.55 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iF linux-image-3.2.0-37-generic 3.2.0-37.58 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iF linux-image-3.2.0-38-generic 3.2.0-38.60 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iU linux-image-generic 3.2.0.37.45 Generic Linux kernel image
Jadi saya berpikir untuk menghapus kernel 3.2.0.32-generic dengan:
# sudo apt-get purge linux-image-3.2.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-generic : Depends: linux-headers-generic (= 3.2.0.37.45) but 3.2.0.38.46 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Tidak berhasil
Ketika saya mencobanya apt-get -f install
juga gagal:
# 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:
linux-headers-3.2.0-34 linux-headers-3.2.0-35 linux-headers-3.2.0-34-generic linux-headers-3.2.0-35-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
linux-generic linux-image-generic
The following packages will be upgraded:
linux-generic linux-image-generic
2 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
5 not fully installed or removed.
Need to get 0 B/4,334 B of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Setting up initramfs-tools (0.99ubuntu13.1) ...
update-initramfs: deferring update (trigger activated)
Setting up linux-image-3.2.0-37-generic (3.2.0-37.58) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-3.2.0-38-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-37-generic /boot/vmlinuz-3.2.0-37-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-37-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-37-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-37-generic.postinst line 1010.
dpkg: error processing linux-image-3.2.0-37-generic (--configure):
subprocess installed post-installation script returned error exit status 2
Setting up linux-image-3.2.0-38-generic (3.2.0-38.60) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-3.2.0-37-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-38-generic /boot/vmlinuz-3.2.0-38-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-38-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-38-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-38-generic.postinst line 1010.
dpkg: error processing linux-image-3.2.0-38-generic (--configure):
subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-generic:
linux-image-generic depends on linux-image-3.2.0-37-generic; however:
Package linux-image-3.2.0-37-generic is not configured yet.
dpkg: error processing linux-image-generic (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic:
linux-generic depends on linux-image-generic (= 3.2.0.37.45); however:
Package linux-image-generic is not configured yet.
linux-generic depends on linux-headers-generic (= 3.2.0.37.45); however:
Version of linux-headers-generic on system is 3.2.0.38.46.
dpkg: error processing linux-generic (--configure):
dependency problems - leaving unconfigured
Processing triggers for initramfs-tools ...
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already
update-initramfs: Generating /boot/initrd.img-3.2.0-35-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-35-generic with 1.
dpkg: error processing initramfs-tools (--configure):
subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
Errors were encountered while processing:
linux-image-3.2.0-37-generic
linux-image-3.2.0-38-generic
linux-image-generic
linux-generic
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
Bantuan apapun akan sangat dihargai.
Pembaruan: Saya lakukan:
sudo rm /boot/*-3.2.0-32-generic /boot/*-3.2.0-34-generic
Setelah itu masalah berikut dengan apt-get -f install
:
root@localhost:/# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
linux-generic
The following packages will be upgraded:
linux-generic
1 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
1 not fully installed or removed.
Need to get 0 B/1,722 B of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
dpkg: dependency problems prevent configuration of linux-generic:
linux-generic depends on linux-image-generic (= 3.2.0.37.45); however:
Version of linux-image-generic on system is 3.2.0.38.46.
linux-generic depends on linux-headers-generic (= 3.2.0.37.45); however:
Version of linux-headers-generic on system is 3.2.0.38.46.
dpkg: error processing linux-generic (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
linux-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Jawaban:
Anda tidak dapat menggunakan apt-get ketika kernel Anda sudah usang.
gunakan
ls
untuk melihat apa yang ada di folder hapus satu atau dua tertua ituKemudian Anda dapat membersihkan apt-get seperti di
atau lanjutkan dengan rm.
Anda juga harus melakukannya
sudo update-grub
saat finsihedsumber
sudo apt-get -f install
, kemudian memulai kembali untuk memastikan semuanya baik-baik saja dan menghapus sisanyaapt autoremove
seperti yang disarankan dalam perintah keluaran sebelumnya.Ternyata, ini berhasil:
Menurut
apt-get
halaman manual:3.16.0-39 adalah yang saya coba instal, tetapi gagal karena / boot penuh. 3.16.0-38 adalah versi saya saat ini. Anda dapat melihat bahwa -38 dilewati.
sumber
autoremove
.Di terminal, jalankan perintah berikut:
Perintah ini mencantumkan semua kernel Linux yang saat ini diinstal, kemudian memilih semua yang saat ini tidak digunakan dan menghapusnya.
sumber
Jika menjalankan perintah di atas tanpa "sudo apt-get -y purge" cocok dengan linux-libc-dev Anda: amd64 Anda dapat menambahkan tanda titik koma ke regex untuk tidak memasukkannya:
Sekarang pastikan itu terlihat bagus dan tambahkan "sudo apt-get -y purge"
sumber
Untuk Ubuntu 12,04 coba ini
sudo apt-get purge linux-image-[kernel version]
Ini akan menghapus versi kernel apa pun. Jika folder boot Anda memiliki banyak kernel, jangan lupa memperbarui grub dan mem-boot ulang sistem Anda
ex. sudo apt-get purge linux-image-3.11.6 *
sumber
Banyak jawaban mengatakan untuk menggunakan "apt autoremove" tetapi itu mungkin tidak berfungsi ketika / boot penuh karena apt mencoba menambahkan kernel sebelum menghapus.
Selanjutnya apt autoremove tidak akan menghapus kernel yang disebutkan di /etc/apt/apt.conf.d/01autoremove-kernels sehingga kita perlu memperbaikinya.
Inilah proses yang bekerja untuk saya.
Hapus file konfigurasi kernel yang tidak diinginkan.
sudo dpkg --purge $ (KOLOM = 200 dpkg-l | grep "linux-image-extra" | grep "^ rc" | tr -s '' | cut -d '' -f 2)
Perbarui /etc/apt/apt.conf.d/01autoremove-kernels dengan menjalankan ...
sudo /etc/kernel/postinst.d/apt-auto-removal
Semoga autoremove yang tepat akan bekerja.
sudo apt autoremove --purge
Jika tidak, Anda harus dapat menghapus kernel yang sangat lama dan tidak terpakai dari / boot.
Pertama cari tahu kernel apa yang Anda jalankan.
uname -r
Jangan hapus kernel Anda saat ini, atau kernel sebelumnya.
sudo rm /boot/initrd.img-V.XX.Y-ZZ-generic
Sekarang Anda harus memiliki ruang yang cukup untuk mencoba autoremove apt lagi. Jika tidak, hapus kernel lain yang sangat lama. Tentu saja, pertahankan tertua dan terbaru.
sumber
Saya harap ini dapat membantu:
saya biasanya menghapus kernel lama menggunakan ubuntu-tweak janitor, GUI yang bagus dan mudah :)
klik 'sistem' dan akan ada daftar kernel lama, cukup klik dan bersihkan
sumber