Comment libérer plus d'espace dans / boot?

515

Ma partition /boot est presque pleine et je reçois un avertissement chaque fois que je redémarre mon système. J'ai déjà supprimé les anciens paquets du noyau (linux-headers ...), en fait je l'ai fait pour installer une nouvelle version du noyau fournie avec les mises à jour automatiques.

Après avoir installé cette nouvelle version, la partition est à nouveau presque pleine. Alors, que puis-je supprimer? Existe-t-il d'autres fichiers associés aux anciennes images du noyau?

Voici la liste des fichiers figurant sur ma partition /boot :

:~$ ls /boot/
abi-2.6.31-21-generic         lost+found
abi-2.6.32-25-generic         memtest86+.bin
abi-2.6.38-10-generic         memtest86+_multiboot.bin
abi-2.6.38-11-generic         System.map-2.6.31-21-generic
abi-2.6.38-12-generic         System.map-2.6.32-25-generic
abi-2.6.38-8-generic          System.map-2.6.38-10-generic
abi-3.0.0-12-generic          System.map-2.6.38-11-generic
abi-3.0.0-13-generic          System.map-2.6.38-12-generic
abi-3.0.0-14-generic          System.map-2.6.38-8-generic
boot                          System.map-3.0.0-12-generic
config-2.6.31-21-generic      System.map-3.0.0-13-generic
config-2.6.32-25-generic      System.map-3.0.0-14-generic
config-2.6.38-10-generic      vmcoreinfo-2.6.31-21-generic
config-2.6.38-11-generic      vmcoreinfo-2.6.32-25-generic
config-2.6.38-12-generic      vmcoreinfo-2.6.38-10-generic
config-2.6.38-8-generic       vmcoreinfo-2.6.38-11-generic
config-3.0.0-12-generic       vmcoreinfo-2.6.38-12-generic
config-3.0.0-13-generic       vmcoreinfo-2.6.38-8-generic
config-3.0.0-14-generic       vmcoreinfo-3.0.0-12-generic
extlinux                      vmcoreinfo-3.0.0-13-generic
grub                          vmcoreinfo-3.0.0-14-generic
initrd.img-2.6.31-21-generic  vmlinuz-2.6.31-21-generic
initrd.img-2.6.32-25-generic  vmlinuz-2.6.32-25-generic
initrd.img-2.6.38-10-generic  vmlinuz-2.6.38-10-generic
initrd.img-2.6.38-11-generic  vmlinuz-2.6.38-11-generic
initrd.img-2.6.38-12-generic  vmlinuz-2.6.38-12-generic
initrd.img-2.6.38-8-generic   vmlinuz-2.6.38-8-generic
initrd.img-3.0.0-12-generic   vmlinuz-3.0.0-12-generic
initrd.img-3.0.0-13-generic   vmlinuz-3.0.0-13-generic
initrd.img-3.0.0-14-generic   vmlinuz-3.0.0-14-generic

Actuellement, j'utilise le noyau 3.0.0-14-generic .

    
posée user6722 22.12.2011 - 11:06
la source

20 réponses

591

Vous avez beaucoup de noyaux inutilisés. Supprimez tous les noyaux sauf les derniers avec:

sudo apt-get purge linux-image-{3.0.0-12,2.6.3{1-21,2-25,8-{1[012],8}}}

Ceci est un raccourci pour:

sudo apt-get purge linux-image-3.0.0-12 linux-image-2.6.31-21 linux-image-2.6.32-25 linux-image-2.6.38-10 linux-image-2.6.38-11 linux-image-2.6.38-12 linux-image-2.6.38-8

La suppression du package linux-image-x.x.x-x supprime également linux-image-x.x.x-x-generic .

Les en-têtes sont installés dans /usr/src et sont utilisés lors de la création de modules de noyau hors arborescence (comme le pilote nvidia et virtualbox propriétaires). La plupart des utilisateurs doivent supprimer ces paquets d'en-tête si le paquet de noyau correspondant ( linux-image-* ) n'est pas installé.

Pour lister tous les noyaux installés, exécutez:

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

Une commande pour afficher tous les noyaux et les en-têtes pouvant être supprimés, à l'exception du noyau actuel :

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

Il sélectionne tous les paquetages nommés en commençant par linux-headers-<some number> ou linux-image-<some number> , affiche les noms des paquetages installés puis exclut le noyau chargé / en cours d’exécution (pas nécessairement le dernier noyau!). Cela correspond à la recommandation de tester un noyau plus récent avant de supprimer les anciens noyaux connus.

Ainsi, après la mise à niveau des noyaux et le redémarrage pour le tester, vous pouvez supprimer tous les autres noyaux avec:

sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print }' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')")
    
réponse donnée Lekensteyn 24.12.2011 - 15:34
la source
196

Votre partition de démarrage est pleine. Comme il s'agit d'une mise à jour du noyau, ces fichiers seront copiés sur la partition de démarrage, vous devez donc les nettoyer. Voici un article de blog qui vous montrera comment effacer les anciennes images du noyau avec une seule commande. Je donnerai un résumé de base de la méthode. Utilisez cette commande pour imprimer la version actuelle de votre noyau:

uname -r

Ensuite, utilisez cette commande pour imprimer tous les noyaux que vous avez installés et qui ne sont pas votre noyau le plus récent:

dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print }' | grep -v -e 'uname -r | cut -f1,2 -d"-"' | grep -e '[0-9]'

Assurez-vous que votre noyau actuel ne figure pas sur cette liste. Notez que c'est la majorité de la commande finale (ci-dessous). Pour désinstaller et supprimer ces anciens noyaux, vous devez diriger ces arguments vers:

sudo apt-get -y purge

Maintenant, nous pouvons faire tout ce que nous voulons en combinant ces deux dernières commandes dans ce désastre:

dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print }' | grep -v -e 'uname -r | cut -f1,2 -d"-"' | grep -e '[0-9]' | xargs sudo apt-get -y purge

Et cette seule commande prendra soin de tout pour vous. Je vous confirmerai que cela fonctionne parfaitement mais ne faites confiance à personne sur Internet. :) Pour plus d’informations, le billet de blog explique très bien ce que chaque partie de la commande lit si bien que vous êtes convaincu qu’elle fait ce que vous voulez.

    
réponse donnée dward 21.02.2013 - 04:38
la source
91
sudo apt-get autoremove

Cette commande effectue le travail automatiquement.

    
réponse donnée karan 05.11.2012 - 06:58
la source
38

Le gestionnaire de paquets Synaptic peut être utilisé pour sélectionner et supprimer facilement les anciennes images du noyau.

Si vous n’avez pas déjà installé Synaptic:

sudo apt-get install synaptic

Lancez l'application et sélectionnez les options affichées.

Vous devriez pouvoir mettre en évidence tous les paquets "linux-" avec la version "2.6.x" où x est compris entre 31 et 38 selon les fichiers de votre dossier / boot.

Cliquez avec le bouton droit de la souris sur chacun de ces packages Linux et choisissez l’option "Mark for Complete Removal". Enfin, cliquez sur le bouton Appliquer. Cela supprimera tous les fichiers et tous les fichiers associés. Votre dossier /boot devrait maintenant être un peu plus net.

    
réponse donnée fossfreedom 24.12.2011 - 15:34
la source
24

Merci pour votre publication détaillée de votre problème, cela m'a permis d'aller dans la bonne direction. Bien qu'il soit utile de conserver les fichiers précédents du noyau, vous pouvez tous les supprimer en une fois, consultez ce post:
Comment supprimer tous les en-têtes, images et modules du noyau Linux non utilisés

Fait via la ligne de commande. Si vous le faites via l'utilisation à distance de quelque chose comme WINSCP pour ouvrir une session de terminal et simplement le coller, cela fonctionne très bien.

Ici, il est copié à partir du lien de l'article, je vous suggère de lire l'article complet:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)//")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*//;/[0-9]/!d' | xargs sudo apt-get -y purge
    
réponse donnée Omni 01.06.2012 - 14:53
la source
22

Ceci est une nouvelle réponse à une ancienne question, mais un moyen facile de nettoyer cette chose (et plus encore) est d'installer Ubuntu Tweak . Pour l’installer :

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

alors vous pouvez lancer Ubuntu Tweak, Aller à l’onglet "conciergerie", et d’ici trois clics:

Il est préférable de laisser le dernier noyau (on ne sait jamais) ou un noyau de travail bien connu pour la sécurité, cependant; mais cela est facilement personnalisable.

Vous pouvez utiliser le même outil pour nettoyer beaucoup de choses - rappelez-vous simplement que si vous nettoyez le cache de vignettes ou le cache TB, le système devra les reconstruire s’ils en ont besoin.

    
réponse donnée Rmano 25.11.2014 - 14:11
la source
17

J'ai pu résoudre le problème en utilisant dpkg pour supprimer directement les packages. Bien que les packages soient toujours répertoriés dans dpkg -l , les fichiers sont supprimés de /boot , libérant de l'espace.

[email protected]:/boot$ sudo dpkg --remove linux-image-2.6.32-30-server
(Reading database ... 145199 files and directories currently installed.)
Removing linux-image-2.6.32-30-server ...
Running postrm hook script /usr/sbin/update-grub.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-35-server
Found linux image: /boot/vmlinuz-2.6.32-34-server
Found initrd image: /boot/initrd.img-2.6.32-34-server
Found linux image: /boot/vmlinuz-2.6.32-33-server
Found initrd image: /boot/initrd.img-2.6.32-33-server
Found linux image: /boot/vmlinuz-2.6.32-32-server
Found initrd image: /boot/initrd.img-2.6.32-32-server
Found linux image: /boot/vmlinuz-2.6.32-31-server
Found initrd image: /boot/initrd.img-2.6.32-31-server
Found memtest86+ image: /memtest86+.bin
done

# Repeat for kernels -31 and -32 and -33, up to (but not including)
# the version listed by 'uname -a'

Après cela, apt-get -f install a corrigé mes problèmes de dépendance, et tout allait bien dans le monde entier.

Cependant, je n’accepterai pas cette réponse car j’ai encore besoin de savoir si je devrais augmenter ma taille de /boot ou faire autre chose.

    
réponse donnée Phrogz 03.12.2011 - 19:47
la source
11

Vous pouvez arrêter d’utiliser une partition / boot distincte, vous n’aurez donc pas assez d’espace là-bas. Pour ce faire, démontez la partition, puis montez-la ailleurs et copiez tous les fichiers dans le répertoire / boot de votre partition racine, puis supprimez l'entrée de / etc / fstab et réinstallez grub. Par exemple (vous devrez utiliser la partition correcte):

sudo -s
umount /boot
mount /dev/sda2 /mnt
cp -a /mnt/* /boot/
umount /mnt
gedit /etc/fstab
grub-install /dev/sda

Vous pouvez ensuite utiliser gparted pour supprimer l’ancienne partition / boot et éventuellement étendre la partition racine pour utiliser cet espace. Pour étendre la partition racine, vous devez démarrer à partir du livecd et l'espace libre doit être immédiatement à droite. Si la partition / boot se trouve actuellement à gauche de la partition racine, vous devrez d'abord déplacer la partition racine vers la gauche, puis l'étendre, mais cela peut prendre très très longtemps. problème.

    
réponse donnée psusi 22.12.2011 - 17:38
la source
4

Pour moi, apt-get purge et dpkg --remove ont tous deux échoué. J'ai donc dû supprimer quelques anciennes images du noyau de / boot avec rm -f .

    
réponse donnée orkoden 14.10.2013 - 11:22
la source
4

En tirant le meilleur des réponses ci-dessus, mon approche éprouvée est la suivante:

  • uname -a pour trouver le noyau en cours d'exécution.
  • dpkg -l linux-{headers,image}-\* | grep ^ii pour répertorier tous les packages liés au noyau actuellement installés. Cela inclura le noyau en cours d’exécution.
  • sudo apt-get purge linux-{image,headers}-3.16.0-{xx,yy,zz} pour supprimer les anciens noyaux. Remplacez xx,yy,zz par une liste des versions de noyau que vous souhaitez supprimer. Ce sont toutes les versions répertoriées par la commande précédente qui sont plus anciennes que le noyau en cours d'exécution. Assurez-vous de ne pas supprimer le noyau en cours d'exécution - votre système ne pourra plus être démarré . Vous devrez peut-être également changer la version du noyau de 3.16.0 à celle installée sur votre système.
  • Eventuellement, effectuez un sudo apt-get autoremove supplémentaire, ce qui supprimera toutes les dépendances restantes des anciens noyaux qui ne sont plus nécessaires, libérant ainsi de l'espace.

Vous pouvez avoir des fichiers d’en-tête sans correspondance avec les versions du noyau installées, ou vice versa - il suffit d’inclure toutes ces versions dans la commande. APT va se plaindre que certains paquets ne peuvent pas être supprimés car ils ne sont pas installés, mais cela ne fera pas de mal.

Si quelque chose échoue ...

  • Si la commande apt échoue à cause d’une erreur plus d’espace disponible sur le périphérique , utilisez plutôt la commande dpkg correspondante: sudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz} .
  • Si la commande dpkg ne fonctionne toujours pas car les packages linux-image sont requis par les packages linux-headers de la même version (que vous souhaitez également désinstaller), dpkg peut ne pas avoir résolu ce problème. Revoyez la sortie de dpkg -l et spécifiez les suffixes de nom de package sur la ligne de commande. Par exemple, sur un de mes systèmes, la commande qui a finalement fonctionné était sudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}-generic-pae .
  • Si vous rencontrez une autre erreur, demandez de l’aide - vous avez peut-être un problème différent de celui que vous pensiez.
réponse donnée user149408 09.07.2015 - 22:24
la source
2
  

J'ai déjà supprimé les anciens paquets du noyau (linux-headers ...)

linux-headers-* ne sont pas des noyaux. Les packages du noyau sont ceux nommés linux-image-* . Les fichiers nommés linux-headers-* sont des packages de développement pour la compilation des modules du noyau: ils ne sont pas stockés dans le répertoire / boot et ne sont pas requis pour une utilisation quotidienne de votre système.

Les fichiers que vous avez listés dans / boot do incluent plusieurs anciennes images du noyau ( vmlinuz* ) et des images initrd compilées ( initrd.img* ) pour ces noyaux, ce qui indique que vous avez toujours une beaucoup d'anciens paquets de noyau installés.

Vous devriez pouvoir lister vos noyaux installés avec

aptitude search ~ilinux-image

(Notez que cela renverra probablement des paquets qui ne sont pas des noyaux).

Il n’ya généralement pas besoin de plus de deux noyaux à installer - celui qui est actuellement utilisé et le précédent à cela (comme solution de repli). Vous pouvez donc commencer à supprimer les plus anciens, un par un, comme ceci:

sudo apt-get autoremove linux-image-3.2.0-23-generic

Assurez-vous de remplacer "3.2.0-23-generic" par la version du noyau que vous souhaitez supprimer! De même, ne supprimez pas les packages tels que linux-image-generic . Vous devez faire très attention de ne pas supprimer le noyau en cours d’exécution ou vous ne pourrez pas démarrer (Ubuntu peut ou non vous avertir).

Vous pouvez trouver votre noyau en cours d'exécution avec:

uname -r
    
réponse donnée thomasrutter 29.08.2014 - 11:15
la source
2
git clone https://github.com/erichs/bootnukem.git
cd bootnukem
sudo ./install.sh

Utilisez à vos risques et périls, mais cela a fonctionné pour moi:

sudo bootnukem
    
réponse donnée Jonathan 14.08.2016 - 22:08
la source
1

J'ai eu ce problème et plus encore, j'ai supprimé manuellement certains fichiers initrd-img-xxx de / boot et j'ai rencontré un problème que ces anciennes versions ont généré et qui remplissent le dossier /boot . Pour y remédier, j'ai suivi les instructions suivantes:

  • J'ai supprimé l'ancienne version du noyau générée manuellement pour libérer de l'espace.
  • Vous allez éditer un fichier de configuration de texte en tant que superutilisateur, collez donc ce qui suit dans un terminal:

    sudo gedit /etc/initramfs-tools/update-initramfs.conf
    
  • Recherchez la ligne update_initramfs=yes et modifiez-la en update_initramfs=no . Enregistrez et quittez le fichier, puis exécutez:

    sudo dpkg --configure -a
    

Cela a résolu mon problème. C'était basé sur ce blog

Si tout va bien, tout devrait bien se passer au redémarrage, et plus tard, vous pourrez essayer de remplacer no par yes in update-initramfs.conf .

    
réponse donnée aibrahim 23.03.2017 - 09:59
la source
0

Dans aptitude ou synaptic, il existe une section "ancienne ou installée manuellement". Il devrait y avoir les anciens paquets Linux.

    
réponse donnée Martin Ueding 22.12.2011 - 12:59
la source
0

Il y a un script bash que j'ai écrit ci-dessous qui rend le processus un peu plus convivial.

YMMV - il a été conçu pour Mint 14. Toujours en train d'apprendre BASH, c'est probablement un peu maladroit. Utilisez à vos risques, mais ça marche pour moi!

#!/bin/bash

endCol='\e[0m'
bold_red='\e[1;31m'
bold_green='\e[1;32m'
bold_yellow='\e[1;33m'

title_color='\e[0;30;47m'

function show_kernel_info {
clear
current_kernel=$(uname -r)
echo "Current ACTIVE kernel is:"
echo -e "  "$bold_yellow$current_kernel$endCol
echo "This kernel will be TOTALLY EXCLUDED from all actions in this script."
echo "Also, one fallback non-active kernel will be always left untouched."
echo ""
echo "These are the non-active kernels stored in /boot:"
count_of_old_kernels_in_boot=$(ls -o /boot/initrd* | grep -c -v "$current_kernel")
if [ $count_of_old_kernels_in_boot = 0 ]; then
  echo " * No non-active kernels found! *"
else
  ls -o /boot/initrd* | grep -v "$current_kernel"
fi
echo ""
list_of_old_kernels=$(dpkg --list | grep linux-image | awk -F' ' '{ print  }' | grep -v "$current_kernel" | grep -v "linux-image-generic")
current_old_kernel=$(dpkg --list | grep linux-image | awk -F' ' '{ print  }' | grep -v "$current_kernel" | grep -v "linux-image-generic" | head -n 1)
count_of_old_kernels_installed=$(dpkg --list | grep linux-image | awk -F' ' '{ print  }' | grep -v "$current_kernel" | grep -c -v "linux-image-generic")
echo "Listing of all unused kernels still installed in the system (these may not exist in /boot):"
if [ $count_of_old_kernels_installed = 0 ]; then
  echo " * No unused kernel installs found! *"
else
  dpkg --list | grep linux-image | awk -F' ' '{ print  }' | grep -v "$current_kernel" | grep -v "linux-image-generic"
fi
echo ""
}

function exit_script {
free_space_after=$(df -BM /boot | tail -n 1 | awk -F' ' '{ print  }' | tr -d M)
let freed_space=$free_space_after-$free_space_before
echo ""
echo "Results (in MB)"
echo "---------------"
echo "Free space in /boot before script was run: "$free_space_before
echo "Free space now: "$free_space_after
echo ""
echo "Amount of space freed up = "$freed_space
echo ""
echo "Press any key to exit."
read -s -n 1
echo ""
exit
}

# Main code
echo ""
echo -e $title_color" --------------------------- "$endCol
echo -e $title_color" -   Kernel Cleanup v1.0   - "$endCol
echo -e $title_color" --------------------------- "$endCol
echo ""
echo "Maximise this window for readability."
echo "Press any key to continue."
read -s -n 1
echo ""
echo "This script will remove old unused kernels, but it will prompt you before removing each one."
echo "It will never remove the current running kernel, and will also leave one fallback kernel."
echo "It can also remove source files from /usr/src for each kernel removed."
echo "This is normally safe to do and will free up lots more space."
echo ""
echo "Do you want that done as well? (y/n, enter=yes)"
valid_input=0
while [ "$valid_input" = "0" ]; do
  read -s -n 1 YesNo_input
  if [ "$YesNo_input" = "" ]; then
    YesNo_input="y"
  fi
  case $YesNo_input
  in
    y)
    RemoveSource="y"
    valid_input=1
    ;;

    Y)
    RemoveSource="y"
    valid_input=1
    ;;

    n)
    RemoveSource="n"
    valid_input=1
    ;;

    N)
    RemoveSource="N"
    valid_input=1
    ;;
  esac
done

free_space_before=$(df -h /boot | tail -n 1 | awk -F' ' '{ print  }' | tr -d M)
show_kernel_info
while [ $count_of_old_kernels_in_boot -gt 1 ]; do
  # failsafe check if somehow the current kernel is about to be removed!
  if [ "$current_old_kernel" = "$current_kernel" ]; then
    echo -e $bold_red"ERROR!"$endCol" Somehow the current kernel has crept into the removal process!"
    echo "I refuse to do that! Aborting script."
    exit_script
  fi
  # failsafe check if somehow a linux-image-generic entry is about to be removed
  if [ "$current_old_kernel" = "linux-image-generic" ]; then
    echo -e $bold_red"ERROR!"$endCol" Somehow one of the linux-image-generic entries has crept into the removal process!"
    echo "I refuse to do that! Aborting script."
    exit_script
  fi
  echo "Command about to be executed is:"
  echo "  $ sudo apt-get purge \"$current_old_kernel\""
  check_in_boot=$(echo $current_old_kernel | sed 's/linux-image/initrd.img/g')
  if [ -e /boot/$check_in_boot ]; then
    echo -e $bold_yellow"Note:"$endCol" This kernel exists in /boot but it NON-active, so it's OK to remove."
  else
    echo -e $bold_green"Totally safe to remove:"$endCol" This kernel does NOT exist in /boot."
  fi
  echo ""
  echo "Are you sure you want to remove this kernel?"
  echo "(*upper case* Y=yes / any other key will exit the script)"
  read -s -n 1 yes_no
  echo ""
  # Only entering a single upper case Y will work!
  if [ "$yes_no" != "Y" ]; then
    echo "Aborting script."
    exit_script
  fi
  echo "Removing kernel "$current_old_kernel"..."
  sleep 1
  sudo apt-get -y purge $current_old_kernel
  if [ "$RemoveSource" = "y" ]; then
    current_old_source=$(echo $current_old_kernel | sed 's/linux-image/linux-headers/g')
    current_old_source=$(echo $current_old_source | sed 's/-generic//g')
    current_old_source=$(echo $current_old_source | sed 's/-pae//g')
    sudo apt-get -y purge $current_old_source
  fi
  show_kernel_info
done

if [ $count_of_old_kernels_in_boot = 0 ]; then
  echo -e $bold_red"There are no NON-active kernels to remove!"$endCol
else
  echo -e $bold_red"There is only one NON-active kernel left in /boot!"$endCol
  echo "This script will not remove the last non-active kernel so that you have at least one backup kernel."
fi
echo "Aborting script."
exit_script
    
réponse donnée wibbynut 08.03.2014 - 07:33
la source
0

[En tant que noeuds AskUbuntu, je ne peux pas commenter jusqu'à ce que la réputation = 50, alors ne vote pas à cause de cela.]

Mon serveur le faisait aussi. Littéralement, aucune des réponses attendues ici n'a fonctionné puisque celles-ci requièrent une certaine salle de travail pour qu'elles puissent se terminer. Si la partition de démarrage est pleine, elle se terminera brusquement sans supprimer aucune des images.

La seule chose qui a fonctionné pour moi était de revoir l'image actuelle, puis de manuellement sudo rm filename pour les fichiers image les plus anciens (chacun ayant -3.16.0-30 dans leurs noms). Une fois cela fait, alors sudo apt-get autoremove avait la marge de manœuvre nécessaire pour faire son travail. Il a mis en évidence certaines erreurs associées à cette version, par exemple: "depmod: FATAL: impossible de charger /boot/System.map-3.16.0-30-generic: aucun fichier ou répertoire de ce type", mais il faut s'y attendre.

Lorsque vous avez terminé, les df ont renvoyé 42% d’utilisation pour / boot pour indiquer qu’il est à nouveau sain.

    
réponse donnée Justin Case 08.02.2017 - 01:44
la source
0

J'ai écrit cette script bash purger sélectivement les vieux noyaux en une seule fois:

Tout le code bash et les instructions sont inclus dans le lien.

    
réponse donnée WinEunuuchs2Unix 31.07.2017 - 01:46
la source
0

Je montre qu’en 2017 encore, cette question a de nouveaux commentaires et réponses mais qu’il manque une réponse qui me semble très utile ici:

Ubuntu en tant que système d’exploitation simple d’usage quotidien n’a aucune raison d’être installé avec une partition \ boot séparée et quelque chose comme ça n’offrira PAS quelque chose à un "utilisateur commun" ... Une solution est donc une nouvelle installation sans \ boot partition et de cette façon, vous n'aurez jamais un tel problème

PS: Ma réponse peut être supprimée ou ajoutée dans la réponse acceptée ... (je pense que cela aidera certaines personnes de cette façon)

    
réponse donnée koleygr 20.08.2017 - 08:58
la source
0

Liste de tous les noyaux:

dpkg --list 'linux-image*'

Afficher le noyau actuel:

uname -r

Liste de tous les noyaux SAUF l'actuel:

dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print }' | grep -v -e 'uname -r | cut -f1,2 -d"-"' | grep -e '[0-9]'

Assurez-vous que votre noyau actuel ne figure pas dans cette liste.

Supprimer tous les noyaux SAUF l'actuel:

dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print }' | grep -v -e 'uname -r | cut -f1,2 -d"-"' | grep -e '[0-9]' | xargs sudo apt-get -y purge

Effacer d’autres choses:

sudo apt-get autoremove

Si vous rencontrez toujours une erreur d’espace disque lors de l’installation / désinstallation des fichiers, supprimez directement l’un des répertoires OLD du répertoire / boot,

ls -lh /boot/*-3.13.0-119*;

rm /boot/*-3.13.0-119*; 

REMARQUE: Veuillez revoir l’image actuelle du noyau avant de supprimer une image.

    
réponse donnée Hemant Thorat 10.07.2018 - 12:35
la source
-1

Si vous ne pouvez pas supprimer davantage de fichiers inutilisés et si vous avez une autre partition avec / ou de l'espace libre sur le même périphérique, vous pouvez redimensionner la partition / boot par parted / gparted . (Il est également inclus sur le support d'installation.)

Avertissement : Le redimensionnement de la partition est dangereux , sauvegardez vos données importantes sur d’autres supports avant de le faire!

    
réponse donnée Rudolf Dovičín 02.01.2015 - 22:42
la source

Lire d'autres questions sur les étiquettes