Lors d’un upgrade Ubuntu, pour passer en version supérieure dont voici le tutoriel, l’assistant do-release-upgrade vérifie qu’il reste suffisamment de place dans la partition /boot. En effet, le processus de mise à jour va ajouter un kernel supplémentaire et il est nécessaire d’avoir au moins 50Mo de libre dans « boot » pour pouvoir effectuer l’opération de mise à niveau.
En résumé, la mise à jour Ubuntu n’est pas possible parce qu’il n’y a pas assez de place disponible dans la partition /boot du disque dur. Ce tutoriel explique comment libérer de l’espace disque dans /boot pour pouvoir faire la mise à jour système Ubuntu.
Une sauvegarde préventive est évidemment recommandée pour revenir en arrière en cas de mauvaise manipulation ou d’erreur lors de l’opération de maintenance.
Message d’erreur
« La mise à niveau nécessite xx M d’espace libre au total sur le disque /boot. Veuillez libérer au moins xx M d’espace disque sur /boot. Videz votre corbeille et supprimez les paquets temporaires des précédentes installations en utilisant sudo apt-get clean »
Voir l’espace disque utilisé dans /boot
Utiliser la commande suivante pour voir l’espace disponible de la partition boot :
df -h
Ou « df -aTh » pour avoir toutes les informations sur les partitions.
Solution automatique
Pour faire du ménage dans /boot, on peut demander au système d’exploitation de supprimer les kernels obsolètes Ubuntu.
1. Cette commande va automatiquement effacer les vieux noyaux et ne laisser que les deux versions les plus récentes :
sudo apt-get autoremove
2. Vérifier l’espace disponible dans /boot pour voir s’il correspond au minimum requis par le processus d’upgrade.
df -h
Solution manuelle
Si la méthode automatique ne fonctionne pas ou ne libère pas assez d’espace disque, faire l’opération à la main.
1. Voir quelle est la version actuelle du kernel Ubuntu :
uname -r
2. Lister les kernels disponibles :
dpkg -l | grep -Ei "linux-headers|linux-image"
Chaque version du noyau correspond à des lignes linux-headers-x.x.x-x, linux-image-x.x.x-x (et linux-image-extra-x.x.x-x mais pas à chaque fois).
3. Pour supprimer une version du kernel, utiliser la commande suivante en adaptant les numéros de version :
sudo apt-get remove --purge linux-headers-3.5.0-51-generic linux-image-3.5.0-51-generic linux-image-extra-3.5.0-51-generic
4. Confirmer par « o » (oui).
5. Répéter pour autant de noyaux à supprimer. Garder au moins les deux plus récentes versions (les numéros les plus élevés) et s’assurer de ne pas toucher au kernel courant.
On peut aussi tout faire sur une seule ligne de commande en indiquant à chaque fois le numéro de kernel à effacer, ainsi tout se supprime d’un seul coup :
6. Regarder l’espace disque libéré dans /boot pour avoir assez de disponibilité afin d’effectuer la mise à jour ou la mise à niveau du système Ubuntu.
df -h
7. Refaire une sauvegarde du serveur ou de la VM.