web-dev-qa-db-fra.com

"Le volume du démarrage ne dispose que de 0 octets d'espace disque restant"

Après une récente mise à jour, je reçois une alerte disant:

The volume boot has only 0 bytes disk space remaining

Mais mon ordinateur dispose de beaucoup d’espace HD libre. Est-ce que quelqu'un sait comment je résous ceci? (Si cela est pertinent, j'utilise toute la fonctionnalité de chiffrement de disque de l'image d'installation alternative pour Ubuntu 12.04).

32
user924731

Pour lister tout le noyau:
dpkg --get-selections | grep "linux-image-[[:digit:]].*" | tr "\t" ";" | cut -d ";" -f1

Le résultat ressemble un peu à ceci:

linux-image-3.19.0-7-generic 
linux-image-3.18.0-13-generic  
linux-image-3.16.0-23-generic

Ne supprimez pas tous les noyaux, seulement les anciens!

Ensuite, retirons le noyau 3.16,
Sudo apt-get purge linux-image-3.16.0-23-generic

puis tous les paquets inutilisés du système:
Sudo apt-get autoclean && Sudo apt-get autoremove

48
Paradiesstaub

La cause était en effet de vieilles images du noyau.
Pour nettoyer tout ce que je devais faire était de lancer une ligne:

Sudo apt-get autoclean && Sudo apt-get autoremove

Cela reconnaissait automatiquement les anciens noyaux et les supprimait.

25
Selah

Il se peut que votre partition /boot ait accumulé trop de versions du noyau lors de la mise à niveau au fil du temps. Cette partition est susceptible d'être séparée de votre grande partition de disque (montée en tant que /). Vous pouvez vérifier l'espace de partition /boot comme ceci (recherchez la ligne avec/boot):

df -h

Il y a une belle page sur comment enlever les vieux noyaux .

En bref, vérifiez votre version actuelle du noyau, obtenez la liste de ce qui est installé, puis apt-get supprimez les anciennes versions. Il existe également une commande "magique" sur une page sur la page qui fera tout cela pour vous. Mais utilisez-le à vos risques et périls.

Instructions plus en détail:

  1. Obtenez la version actuelle du noyau, celle que vous voulez conserver :

    uname -r
    
  2. Obtenez la liste de tous les noyaux installés:

    dpkg -l | grep linux-image-
    
  3. Exécutez apt-get remove sur les noyaux que vous souhaitez supprimer. Pas sur le dernier ! Par exemple:

    Sudo apt-get remove linux-image-2.6.32-22-generic
    

Plus de notes:

  • dpkg -l vous indiquera le statut du paquet (noyau) avant le nom du paquet. Par exemple:

    rc  linux-image-3.13.0-39-generic  ...
    ii  linux-image-3.13.0-40-generic  ...
    
    • "rc" signifie que le paquet est r supprimé et a c configuré des dossiers. Celles-ci vous n’avez plus besoin de les enlever.
    • "ii" signifie que le paquet est marqué pour i n installation et est i nstallé

    Sur cette base, vous pouvez répertorier uniquement les packages du noyau installés:

    dpkg -l | grep "ii.*linux-image-"
    

Solution alternative , à l'aide de l'outil graphique buntu Tweak .

Installez et accédez à Computer Janitor, vérifiez les paquets Système-> Ancien noyau et Système-> Unneeded, puis appuyez sur Nettoyer.

9
elomage

Utilisez ce script pour supprimer tous les anciens noyaux de la version actuelle et précédente (la dernière version du noyau)

KERNELMAGES=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-image/g'`

KERNELHEADERS=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-headers/g'`

for PURGEKERNEL in `echo $KERNELMAGES $KERNELHEADERS`; do

apt-get autoremove -y && apt-get purge $PURGEKERNEL -y

done
3
PKumar