03 Feb 2014

Today I tried to update the packages on broek through webmin. I do this quite... unregulary. Still, I was surprised to find that all updates where failing.

A suggestion was to use:

apt-get -f install

This gave an error on a directory in ./boot/ with no space left on device When checking with du, the disk was indeed full. It seemed I needed to clean up old kernels (per this article).

First I have to identify my current kernel version: bash uname -r: 3.2.0.53-generic

First I try to remove the old kernels with webmin.

  1. search installed packages for linux-image (under software packages, not software packages updates)
  2. deselect the installed version and installed version -1, just to be on the safe side.
  3. select "delete them all" and "remove unused dependencies" too.

Unfortunately, this fails because of the same dependency with kernel version 3.2.0.56 (that it tries to install, but can't because the disk is full).

I found a suggestion to remove 1 old kernel manually from the filesystem and try again. Removing 1 kernel manually with apt-get didn't work, so I tried:

sudo rm boot/initrd.img-3.2.0-29-generic

Now I have 6.8M free on /boot (instead of 0)

I tried removing the old kernels through webmin, but it still didn't work. So I also removed kernel *.32 and *.35 manually. Now I have 41M free. Now I try to install the newest kernel by hand (*.56):

sudo apt-get install -f

But there where still dependency errors, so in the end I found myself following the instructions from this thread:

sudo dpkg --remove linux-server
sudo dpkg --remove linux-image-server linux-headers-server

After this /boot still seems to contain the old kernels, at least the ones i didn't already removed manually, but this might be as intended.

sudo apt-get install linux-server linux-image-generic linux-headers-generic

This seems to have worked fine.

# purge unused kernels, but could do more so your mileage may vary
sudo apt-get autoremove

Again no errors, so I try to clean up some old kernels from webmin as well (see the removing with webmin steps ). Now this finally works. Now updating packages through webmin works normally again.