web-dev-qa-db-fra.com

/ boot est plein à 100%, apt-get purge linux-image-x.x.x.-generic ne fonctionnera pas

J'ai une surcharge /boot. J'ai essayé de suivre / dev/sda1/boot est plein , mais je suis resté bloqué.

L'histoire:

df
Filesystem            1K-blocks    Used Available Use% Mounted on
udev                     485360       0    485360   0% /dev
tmpfs                    100744   10824     89920  11% /run
/dev/mapper/vg00-lv01  49011528 7513836  39300100  17% /
tmpfs                    503716       0    503716   0% /dev/shm
tmpfs                      5120       0      5120   0% /run/lock
tmpfs                    503716       0    503716   0% /sys/fs/cgroup
/dev/sda1                474730  466955         0 100% /boot

dpkg --list | grep linux-image

ii  linux-image-4.4.0-21-generic       4.4.0-21.37                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-59-generic       4.4.0-59.80                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-62-generic       4.4.0-62.83                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-63-generic       4.4.0-63.84                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-64-generic       4.4.0-64.85                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-66-generic       4.4.0-66.87                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-67-generic       4.4.0-67.88                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-70-generic       4.4.0-70.91                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-71-generic       4.4.0-71.92                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-72-generic       4.4.0-72.93                                AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-21-generic 4.4.0-21.37                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-59-generic 4.4.0-59.80                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-62-generic 4.4.0-62.83                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-63-generic 4.4.0-63.84                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-64-generic 4.4.0-64.85                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-66-generic 4.4.0-66.87                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-67-generic 4.4.0-67.88                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-70-generic 4.4.0-70.91                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-71-generic 4.4.0-71.92                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-extra-4.4.0-72-generic 4.4.0-72.93                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-extra-4.4.0-75-generic 4.4.0-75.96                                AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-generic                4.4.0.75.81                                AMD64        Generic Linux kernel image

!!! wow, tellement, comment cela pourrait-il arriver?

Et alors:

uname -r
4.4.0-21-generic

Essais pour purger les images inutilisées:

apt-get purge linux-image-4.4.0-59-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 linux-image-extra-4.4.0-59-generic : Depends: linux-image-4.4.0-59-generic but it is not going to be installed
 linux-image-extra-4.4.0-75-generic : Depends: linux-image-4.4.0-75-generic but it is not going to be installed
 linux-image-generic : Depends: linux-image-4.4.0-75-generic but it is not going to be installed
                       Recommends: thermald but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Quelqu'un a une idée?

5
Manny

Suppression d'anciens noyaux pour libérer de l'espace dans la partition /boot

Si votre système utilise un ancien noya (généralement le noyau le plus récent démarre par défaut), vous devez démarrer à partir du dernier noyau installé, ce qui semble être linux-image-4.4.0-72-generic dans votre cas.

Sélectionnez-le dans le menu GRUB (maintenez enfoncé ou appuyez plusieurs fois sur Shift au démarrage si GRUB ne s'affiche pas du tout).

Lorsque vous avez démarré à partir de votre dernier noyau, lancez d'abord Sudo apt-get -f install, en essayant de résoudre les problèmes de dépendances non résolues, si cela fonctionne, utilisez l'une des deux premières méthodes ci-dessous; si elle échoue, passez à purge manuelle du paquet.

La manière apt

Essayez de gérer correctement le problème d'espace avec apt:

  • Exécutez Sudo apt autoclean && Sudo apt autoremove, apt devrait gérer correctement la suppression de tous les anciens noyaux et des paquets associés si vous ne vous êtes pas trop occupé de lui.

Utilisation du paquet purge_old_kernels de byob

Si la méthode apt ​​ne fonctionne pas ou ne supprime pas assez d'espace:

  • Installez byobu sous Sudo apt install byobu.
  • Ensuite, lancez Sudo purge-old-kernels, ce qui devrait supprimer les anciens noyaux de manière plus propre que la purge directe des paquets.

Purge manuelle du paquet

Si tout ce qui précède a travaillé:

  • Purgez le noyau le plus ancien (ne fonctionne pas) avec Sudo apt-get purge linux-image-4.4.0-21-generic && Sudo update-grub.
  • Redémarrez et démarrez à partir du dernier noyau disponible.
  • Exécutez Sudo apt-get -f install.
  • Exécutez Sudo apt update && Sudo apt full-upgrade.
  • Redémarrez en utilisant votre dernier noya.
  • Nettoyez les anciens noyaux, via La méthode apt ​​et/ou _purge_old_kernels_.

La manière dpkg

En dernier recours, vous pouvez essayer de le faire de manière à la manière dpkg, qui n'est pas la plus sûre.

  • Exécuter à partir de votre terminal [(à partir de votre dernier noyau installé)]:

    echo $(dpkg --list | grep linux-image | awk '{ print $2 }' | sort -V | sed -n '/'`uname -r`'/q;p') $(dpkg --list | grep linux-headers | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p') | xargs Sudo apt-get -y purge
    

    Emprunté à cette réponse .

  • Redémarrez votre système et exécutez Sudo apt-get -f install

  • Faites une mise à niveau complète avec Sudo apt update && Sudo apt full-upgrade.
  • Redémarrez si nécessaire (nouveau noyau¿?) et partez avec la manière appropriée: Sudo apt autoclean && Sudo apt autoremove.
  • Exécutez Sudo purge_old_kernels, commande du package byoby s'il reste encore une ancienne version du noyau (en plus de la version actuelle et de la version précédente qui sont toujours conservées par mesure de sécurité).
10
dgonzalez

Si /boot est tellement plein que apt remove ne fonctionne pas (No space left on device), il suffit de rm de certains fichiers (vmlinuz ou initrd.img) appartenant aux noyaux que vous souhaitez supprimer pour libérer suffisamment d’espace afin de vous permettre d’écrire correctement les paquets apt remove. Bien sûr, comme toujours lorsque vous utilisez rm en tant que root, faites très attention aux fautes de frappe, etc., mais même si, par inadvertance, rm un fichier d’un noyau que vous ne vouliez pas supprimer, un simple apt install --reinstall le corrigera.

Contrairement à une idée fausse commune, il n’ya absolument aucun problème à le faire, comme tout le monde pourrait le voir s’ils l’essaient au lieu de simplement répéter ce qu’ils ont entendu. (En particulier, j'ai souvent lu que cela entraînerait des "paquets cassés". Non, ce n'est pas ce que signifie un paquet cassé.)

2
fkraiem