Como faço para liberar mais espaço no /boot?

Hoje me deparei com um problema de falta de espaço na partição /boot do Ubuntu ao tentar fazer algumas atualizações.

Tentei vários comandos de limpeza de pacote, como por exemplo, sudo apt-get autoremove e sudo apt-get clean, na tentativa de liberar espaço no /boot mas sem sucesso.

O problema é que eu tinha várias versões antigas do kernel instaladas que poderiam ser removidas. Vejam:

$ ls -l /boot/
total 184820  
-rw-r--r-- 1 root root  1270654 Ago 12  2015 abi-3.19.0-26-generic
-rw-r--r-- 1 root root  1271100 Set  1  2015 abi-3.19.0-28-generic
-rw-r--r-- 1 root root  1271518 Out  2  2015 abi-3.19.0-30-generic
-rw-r--r-- 1 root root  1271689 Out  8  2015 abi-3.19.0-31-generic
-rw-r--r-- 1 root root  1271689 Out 22  2015 abi-3.19.0-32-generic
-rw-r--r-- 1 root root  1271689 Nov  6 18:39 abi-3.19.0-33-generic
-rw-r--r-- 1 root root   177632 Ago 12  2015 config-3.19.0-26-generic
-rw-r--r-- 1 root root   177651 Set  1  2015 config-3.19.0-28-generic
-rw-r--r-- 1 root root   177730 Out  2  2015 config-3.19.0-30-generic
-rw-r--r-- 1 root root   177790 Out  8  2015 config-3.19.0-31-generic
-rw-r--r-- 1 root root   177790 Out 22  2015 config-3.19.0-32-generic
-rw-r--r-- 1 root root   177790 Nov  6 18:39 config-3.19.0-33-generic
drwxr-xr-x 5 root root     4096 Fev 21 09:41 grub  
-rw-r--r-- 1 root root 19785857 Ago 24  2015 initrd.img-3.19.0-26-generic
-rw-r--r-- 1 root root 19792337 Set 24  2015 initrd.img-3.19.0-28-generic
-rw-r--r-- 1 root root 19796539 Out 18  2015 initrd.img-3.19.0-30-generic
-rw-r--r-- 1 root root 19795835 Out 27 20:27 initrd.img-3.19.0-31-generic
-rw-r--r-- 1 root root 19794422 Nov  7 08:17 initrd.img-3.19.0-32-generic
-rw-r--r-- 1 root root 19795583 Abr 10 21:46 initrd.img-3.19.0-33-generic
-rw-r--r-- 1 root root   176500 Mar 12  2014 memtest86+.bin
-rw-r--r-- 1 root root   178176 Mar 12  2014 memtest86+.elf
-rw-r--r-- 1 root root   178680 Mar 12  2014 memtest86+_multiboot.bin
-rw------- 1 root root  3626965 Ago 12  2015 System.map-3.19.0-26-generic
-rw------- 1 root root  3626779 Set  1  2015 System.map-3.19.0-28-generic
-rw------- 1 root root  3627906 Out  2  2015 System.map-3.19.0-30-generic
-rw------- 1 root root  3628177 Out  8  2015 System.map-3.19.0-31-generic
-rw------- 1 root root  3628149 Out 22  2015 System.map-3.19.0-32-generic
-rw------- 1 root root  3628149 Nov  6 18:39 System.map-3.19.0-33-generic
-rw------- 1 root root  6570192 Ago 12  2015 vmlinuz-3.19.0-26-generic
-rw------- 1 root root  6568848 Set  1  2015 vmlinuz-3.19.0-28-generic
-rw------- 1 root root  6572496 Out  2  2015 vmlinuz-3.19.0-30-generic
-rw------- 1 root root  6572336 Out  8  2015 vmlinuz-3.19.0-31-generic
-rw------- 1 root root  6572944 Out 22  2015 vmlinuz-3.19.0-32-generic
-rw------- 1 root root  6572432 Nov  6 18:39 vmlinuz-3.19.0-33-generic

A solução é remover os pacotes de kernel mais antigos que não estão em uso, deixando apenas o kernel mais atual.

Para listar todos os kernels instalados, execute:

dpkg -l linux-image-\* | grep ^ii  

Para mostrar a versão atual do kernel, execute:

uname -r  

Um comando para mostrar todos os kernels e cabeçalhos que podem ser removidos, excluindo o kernel atual:

kernelver=$(uname -r | sed -r 's/-[a-z]+//')  
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve $kernelver  

O comando a seguir, seleciona todos os pacotes com o nome começando com linux-headers-<algum número> ou linux-image-<algum número>, imprime os nomes dos pacotes instalados e, em seguida, exclui todos menos o kernel mais recente.

sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')")  

Obs: Removendo o pacote linux-image-x.x.x-x também irá remover linux-image-x.x.x x-genérico.

Fonte: http://askubuntu.com/questions/89710/how-do-i-free-up-more-space-in-boot