July 10, 2017

Disk Full Error Saat Install Atau Update Pada Ubuntu Linux

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 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 

Link referensi: http://askubuntu.com/questions/171209/my-boot-partition-hit-100-and-now-i-cant-upgrade-cant-remove-old-kernels-to

No comments:

Post a Comment