Ubuntu - Faire de la place dans la partition /boot
Mon outil de monitoring m'a remonté récemment une alerte de disque plein sur l'un de me serveurs.
Il s'agissait en fait de la partition /boot qui ne faisant que 180 Mo était pleine à craquer.
En cherchant un peu, il s'est avéré que suite à plusieurs mises à jour successives du noyau le répertoire /boot de mon serveur était plein à 98%.
En effet les fichiers d'amorçage des différents noyaux successifs se sont accumulés dans la partition.
Pour nettoyer cela, il convient de :
1. Identifier le noyau (kernel) en cours d'utilisation
2. Supprimer les kernels devenus inutiles
Identifier le kernel utilisé
Par précaution on peut rebooter avant de commencer afin d'être sur d'utiliser le dernier kernel installé.
Pour connaitre le kernel en cours d'utilisation, sur Ubuntu, c'est très simple :
uname -r
Ce qui retourne quelquechose comme :
3.2.0-51-generic
Lister les kernels installés
Pour connaitre la liste des kernels intsallés :
sudo dpkg --list 'linux-image*'
Et on obtient :
linux-image-3.2.0-45-server linux-image-3.2.0-46-server linux-image-3.2.0-47-server linux-image-3.2.0-48-server linux-image-3.2.0-49-server linux-image-3.2.0-50-server
Supprimer les kernels inutiles
La méthode longue
Pour chaque Kernel devenu inutile on pourra appliquer :
sudo apt-get remove linux-image-3.2.0-45-server
La méthode courte
dpkg --get-selections|grep 'linux-image*'|awk '{print $1}'|egrep -v "linux-image-$(uname -r)|linux-image-generic" |while read n;do apt-get -y remove $n;done
En une ligne, on liste et supprime les kernels inutiles.