Disk full error saat install atau update pada Ubuntu Linux maksudnya adalah ketika kawan melakukan perintah installasi sudo apt-get install [nama paket] atau sudo apt-get update, muncul error sbb:
You might want to run 'apt-get -f install' to correct these. The following packages have unmet dependencies: linux-image-server : Depends: linux-image-3.2.0-27-generic but it is not installed E: Unmet dependencies. Try using -f.
lalu jalankan sudo apt-get -f install, dan muncul error yang berakhiran:
dpkg: error processing /var/cache/apt/archives/linux-image-3.2.0-27-generic_3.13.0.106.115_amd64.deb (--unpack): failed in write on buffer copy for backend dpkg-deb during `./boot/System.map-3.13.0.106.115-generic': No space left on device No apport report written because the error message indicates a disk full error .......... Errors were encountered while processing: /var/cache/apt/archives/linux-image-3.2.0-27-generic_3.13.0.106.115_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Hal diatas dikarenakan proses installasi atau update yang dilakukan tidak dapat dilaksanakan karena ada proses sebelumnya yang gagal dilaksanakan, dalam tulisan ini kegagalan terjadi karena installasi upgrade kernel yang tidak sempurna.
Mengapa demikian ? direktori /boot tempat kernel berada telah terpakai seluruhnya (100%)
Untuk mengetahuinya cek menggunakan perintah:
$ sudo df (perhatikan direktori boot)
/dev/sda2 241965 130422 99051 100% /boot
kemudian untuk melakukan perbaikan coba pindahkan atau backup kernel image yang tidak terpakai dengan perintah sebagai berikut:
$ sudo mkdir /home/backup-kernel
$ cd /boot
$ ls -la, muncul diantaranya seperti berikut:
-rw-r--r-- 1 root root 20198290 Dec 6 06:42 initrd.img-3.13.0-105-generic
-rw-r--r-- 1 root root 20197922 Mar 24 15:41 initrd.img-3.13.0-100-generic
-rw-r--r-- 1 root root 20198778 Mar 24 15:41 initrd.img-3.13.0-101-generic
-rw-r--r-- 1 root root 20198778 Mar 24 15:41 initrd.img-3.13.0-103-generic
Cek kernel yang aktif dengan sintaks:
$ sudo uname -r
3.13.0-105-generic
Pindahkan atau backup file yang berakhiran selain 3.13.0-105, pada direktori /boot ke direktori /home/backup-kernel, contohnya:
$ sudo mv /boot/initrd.img-3.13.0-100-generic /home/backup-kernel
$ sudo mv /boot/initrd.img-3.13.0-101-generic /home/backup-kernel dan seterusnya...
Selain file diatas, pindahkan juga semua atau sebagian (50%) file dengan awalan System.map-x.xx.x-xxx , vmlinuz-x.xx.x-xxx dan abi-x.xx.x-xxx, yang penting -x.xx.x-xxx selain 3.13.0-105, atau lebih mudahnya kawan bisa menggunakan software MC Editor jika sudah terinstall sebelumnya.
Sesudah selesai melakukan langkah pemindahan tersebut diatas, kita coba kembali langkah untuk melakukan proses intallasi yang belum selesai tersebut dengan perintah:
$ sudo apt-get -f install
Dan akhirnya Ubuntu Linux dapat melakukan proses installasi tersebut hingga selesai, setelah itu sobat harus melakukan perintah untuk membersihkan kernel yang sebelumnya kita pindahkan secara otomatis, perintahnya:
$ sudo apt-get autoremove
Reboot dan Ubuntu telah up dengan kernel baru, dalam kasusu penulis direktori /boot menjadi 35% dan proses install, update atau upgrade dapat berjalan normal kembali.
Selain cara diatas dapat juga dilakukan dengan menghapus kernel lama yg tidak terpakai, pada dasarnya cara ini sama seperti diatas tetapi penulis belum mencobanya, karena biasanya jika sudah 100% untuk melakukan remove juga ubuntu tidak akan berjalan, karena masih ada proses install yang belum selesai.
Tetapi untuk pengetahuan saja, pertama kita lihat dulu versi kernel yang aktif dengan perintah:
$ sudo uname -r
3.13.0-105-generic
DO NOT REMOVE THIS KERNEL!
Berarti kita bisa menghapus versi kernel selain versi kernel yang aktif tersebut, cek dulu list kernel yang ada dalam Ubuntu Linux dengan perintah:
$ sudo dpkg --list | grep linux-image
Setelah terlihat semua versi kernel yang ada, kawan dapat menghapusnya satu persatu atau beberapa versi hingga direktori /boot berkurang dari 100%, dengan perintah:
$ sudo apt-get purge linux-image-x.x.x.x-generic
dan jangan lupa setelah selesai, jalankan perintah: $ sudo update-grub2
Selamat mencoba ...
CATATAN TAMBAHAN
Perintah untuk melihat package lama yang tidak terpakai pada ubuntu:
dpkg --list | grep "^rc"
untuk menghapusnya:
dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
Link referensi: http://askubuntu.com/questions/171209/my-boot-partition-hit-100-and-now-i-cant-upgrade-cant-remove-old-kernels-toSelain cara diatas dapat juga dilakukan dengan menghapus kernel lama yg tidak terpakai, pada dasarnya cara ini sama seperti diatas tetapi penulis belum mencobanya, karena biasanya jika sudah 100% untuk melakukan remove juga ubuntu tidak akan berjalan, karena masih ada proses install yang belum selesai.
Tetapi untuk pengetahuan saja, pertama kita lihat dulu versi kernel yang aktif dengan perintah:
$ sudo uname -r
3.13.0-105-generic
DO NOT REMOVE THIS KERNEL!
Berarti kita bisa menghapus versi kernel selain versi kernel yang aktif tersebut, cek dulu list kernel yang ada dalam Ubuntu Linux dengan perintah:
$ sudo dpkg --list | grep linux-image
linux-image-3.13.0-101-generic 3.13.0-101.148 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP linux-image-3.13.0-103-generic 3.13.0-103.150 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP linux-image-3.13.0-105-generic 3.13.0-105.152 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP linux-image-3.13.0-96-generic 3.13.0-96.143 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP linux-image-3.13.0-98-generic 3.13.0-98.145 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP linux-image-extra-3.13.0-101-generic 3.13.0-101.148 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP linux-image-extra-3.13.0-103-generic 3.13.0-103.150 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP linux-image-extra-3.13.0-105-generic 3.13.0-105.152 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP linux-image-extra-3.13.0-96-generic 3.13.0-96.143 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP linux-image-extra-3.13.0-98-generic 3.13.0-98.145 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
Setelah terlihat semua versi kernel yang ada, kawan dapat menghapusnya satu persatu atau beberapa versi hingga direktori /boot berkurang dari 100%, dengan perintah:
$ sudo apt-get purge linux-image-x.x.x.x-generic
dan jangan lupa setelah selesai, jalankan perintah: $ sudo update-grub2
Selamat mencoba ...
CATATAN TAMBAHAN
Perintah untuk melihat package lama yang tidak terpakai pada ubuntu:
dpkg --list | grep "^rc"
untuk menghapusnya:
dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge