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 version plus récente du noyau fournie avec les mises à jour automatiques.
Après avoir installé cette nouvelle version, la partition est presque pleine à nouveau. Alors quoi d'autre puis-je supprimer? Existe-t-il d'autres fichiers associés aux anciennes images du noyau?
Voici une liste des fichiers qui se trouvent 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
.
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
Supprimer le package linux-image-x.x.x-x
aura également pour effet de supprimer linux-image-x.x.x-x-generic
.
Les en-têtes sont installés dans /usr/src
et sont utilisés lors de la construction de modules du noyau en dehors de l’arbre (comme le pilote nvidia et la virtualbox propriétaires). La plupart des utilisateurs doivent supprimer ces packages d'en-tête si le package de noyau correspondant (linux-image-*
) n'est pas installé.
Pour lister tous les noyaux installés, lancez:
dpkg -l linux-image-\* | grep ^ii
Une commande pour afficher tous les noyaux et en-têtes pouvant être supprimés, à l’exclusion du noyau actuel en cours d’exécution:
kernelver=$(uname -r | sed -r 's/-[a-z]+//')
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve $kernelver
Il sélectionne tous les packages nommés commençant par linux-headers-<some number>
ou linux-image-<some number>
, affiche les noms des packages pour les packages installés, puis exclut le noyau noyau chargé/en cours d'exécution actuel (pas nécessairement le noyau dernière!). Cela correspond à la recommandation de tester un nouveau noyau avant de supprimer les anciens noyaux connus pour fonctionner.
Ainsi, après avoir mis à niveau les noyaux et redémarré 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 $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')")
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 d’amorçage. 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 vais donner un résumé de base de la méthode. Utilisez cette commande pour imprimer la version actuelle de votre noyau:
uname -r
Puis utilisez cette commande pour imprimer tous les noyaux que vous avez installés et qui ne sont pas votre dernier noyau:
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | 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. Remarquez comme il s’agit de la majorité de la commande finale (en bas). Pour désinstaller et supprimer ces anciens noyaux, vous souhaitez 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ésordre impie:
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]' | xargs Sudo apt-get -y purge
Et cette commande prendra soin de tout pour vous. Je confirmerai que cela fonctionne parfaitement, mais ne faites jamais confiance à quiconque sur Internet. :) Pour plus d'informations, l'article de blog fournit une très bonne explication de la lecture de chaque partie de la commande, de sorte que vous êtes convaincu qu'elle fait ce que vous voulez.
Sudo apt-get autoremove
Cette commande fait le travail automatiquement.
Le gestionnaire de paquets Synaptic peut être utilisé pour sélectionner et supprimer facilement les anciennes images du noyau.
Si vous n'avez pas encore installé Synaptic:
Sudo apt-get install synaptic
Démarrez l'application et sélectionnez les options affichées.
Vous devriez pouvoir mettre en surbrillance tous les paquets "linux" avec la version "2.6.x" où x est compris entre 31 et 38 en fonction des fichiers de votre dossier/boot.
Cliquez avec le bouton droit de la souris sur chacun de ces packages linux et choisissez l'option "Marquer pour suppression complète". 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 ordonné.
Merci pour votre message détaillé de votre problème, cela m'a permis d'aller dans la bonne direction. Bien qu'il soit utile de conserver les fichiers du noyau précédents, 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 en ligne de commande. Si vous le faites via une utilisation à distance, utilisez quelque chose comme WINSCP pour ouvrir une session de terminal et collez-le simplement, cela fonctionne très bien.
Ici, il est copié 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]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs Sudo apt-get -y purge
Ceci est une nouvelle réponse à une vieille question, mais un moyen facile de nettoyer cette chose (et plus) est d'installer buntu Tweak . Pour l'installer :
Sudo add-apt-repository ppa:tualatrix/ppa
Sudo apt-get update
Sudo apt-get install ubuntu-Tweak
ensuite, vous pouvez exécuter Ubuntu Tweak, en allant sur l'onglet "concierge", et à partir d'ici, il suffit de trois clics:
Il est préférable de laisser le dernier noyau (on ne sait jamais) ou un noyau qui fonctionne bien pour des raisons de sécurité; mais c'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 si nécessaire.
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
, ce qui libère de l'espace.
phrogz@planar:/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`
Ensuite, apt-get -f install
a corrigé mes problèmes de dépendance et tout allait bien dans le monde.
Cependant, je n'accepterai pas cette réponse car je dois encore savoir si je devrais augmenter ma taille /boot
ou faire autre chose.
Vous pouvez cesser d'utiliser une partition/boot distincte pour ne pas disposer d'un espace aussi limité. Pour ce faire, démontez la partition, montez-la ailleurs, copiez tous les fichiers dans le répertoire/boot de votre partition racine, 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, de sorte que cela ne vaut peut-être pas la peine. difficulté.
Prenant 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 la liste des versions du noyau que vous souhaitez supprimer. Il s’agit de 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
pour tout ce qui est installé sur votre système.Sudo apt-get autoremove
supplémentaire - cela supprimera toutes les dépendances restantes des anciens noyaux qui ne sont plus nécessaires par celui-ci, libérant ainsi davantage d'espace.Vous pouvez avoir des fichiers d'en-tête sans que les versions du noyau correspondantes soient installées, ou inversement - incluez simplement toutes ces versions dans la commande. APT se plaindra que certains packages ne peuvent pas être supprimés car ils ne sont pas installés, mais cela ne leur causera aucun préjudice.
Sudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}
.linux-image
sont requis par les packages linux-headers
de la même version (que vous souhaitez également désinstaller), il est possible que dpkg n’ait pas résolu ce problème. Vérifiez à nouveau le résultat de dpkg -l
et spécifiez les suffixes de nom de package sur la ligne de commande. Par exemple, sur l'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
.Pour moi, apt-get purge
et dpkg --remove
ont tous deux échoué. J'ai donc dû supprimer quelques images plus anciennes du noyau de/boot avec rm -f
.
J'ai déjà supprimé les anciens paquets du noyau (linux-headers ...)
linux-headers-*
ne sont pas des noyaux. Les packages de noyau sont ceux nommés linux-image-*
. Ceux nommés linux-headers-*
sont des packages de développement pour la compilation de modules du noyau: ils ne résident pas dans le répertoire/boot et ne sont pas nécessaires pour une utilisation quotidienne au quotidien de votre système.
Les fichiers que vous avez répertorié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 de nombreux anciens packages du noyau sont toujours installés.
Vous devriez pouvoir lister vos noyaux installés avec
aptitude search ~ilinux-image
(Notez que ceci retournera probablement les paquets qui ne sont pas des noyaux, aussi).
Il n’est généralement pas nécessaire d’installer plus de deux noyaux - celui qui est actuellement utilisé et celui qui le précède (en tant que solution de secours). Vous pouvez donc commencer à supprimer les anciens, un à 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! En outre, 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 en avertir).
Vous pouvez trouver votre noyau en cours d'exécution avec:
uname -r
Lister tous les noyaux:
dpkg --list 'linux-image*'
Afficher le noyau actuel:
uname -r
Liste tous les noyaux SAUF courant:
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | 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.
Supprimer tous les noyaux SAUF courant:
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]' | xargs Sudo apt-get -y purge
Effacer les autres trucs:
Sudo apt-get autoremove
Si cela vous donne toujours une erreur d’espace disque de démarrage pour installer/désinstaller des fichiers, supprimez directement l’un des OLD image du répertoire/boot,
ls -lh /boot/*-3.13.0-119*;
rm /boot/*-3.13.0-119*;
NOTE: Veuillez revoir l’image actuelle du noyau avant de supprimer une image.
Je montre que, même en 2017, cette question a de nouveaux commentaires et réponses mais manque une réponse qui me semble très utile ici:
buntu en tant que système d'exploitation simple d'utilisation quotidienne n'a pas de raison d'être installé avec une partition\boot distincte et quelque chose comme ceci n'offrira pas quelque chose à un "utilisateur commun" ... Une solution est donc une nouvelle installation sans\partition de démarrage et de cette façon vous n'aurez jamais un tel problème
PS: Ma réponse peut être supprimée ou ajoutée à la réponse acceptée ... (Je pense que cela aidera certaines personnes de cette façon)
J'ai eu ce problème et plus encore lorsque j'ai supprimé manuellement certains fichiers initrd-img-xxx
du répertoire/boot et que ces anciennes versions étaient toujours générées et remplies dans le dossier /boot
. Pour résoudre ce problème, j'ai suivi ce qui suit:
Vous allez éditer un fichier de configuration texte en tant que superutilisateur. Collez donc les éléments suivants dans un terminal:
Sudo gedit /etc/initramfs-tools/update-initramfs.conf
Recherchez la ligne update_initramfs=yes
et remplacez-la par 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
Espérons que tout se passera bien lorsque vous redémarrerez. Vous pourrez ensuite essayer de remplacer le no
par le yes
dans le update-initramfs.conf
.
tilitaire super utile qui effacera votre partition de démarrage
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
J'ai écrit ceci script bash pour purger sélectivement tous les anciens noyaux:
Tout le code bash et les instructions sont inclus dans le lien.
J'ai écrit ci-dessous un script bash qui rend le processus un peu plus convivial.
YMMV - c'était fait pour Mint 14. J'apprends toujours BASH, alors c'est probablement un peu maladroit. Utilisez à vos risques et périls, mais cela fonctionne 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 $2 }' | grep -v "$current_kernel" | grep -v "linux-image-generic")
current_old_kernel=$(dpkg --list | grep linux-image | awk -F' ' '{ print $2 }' | 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 $2 }' | 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 $2 }' | 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 $4 }' | 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 $4 }' | 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
[En tant que membre de AskUbuntu, je ne peux pas commenter avant d'avoir la réputation = 50. Ne votez donc pas à cause de cela.]
Mon serveur faisait cela aussi. Aucune des réponses attendues n’a littéralement fonctionné, car elles nécessitent de la place sur/boot pour pouvoir être complétées. Si la partition de démarrage est pleine, elle se termine brusquement sans supprimer aucune des images.
La seule chose qui a fonctionné pour moi a été d'examiner l'image actuelle, puis manuellement Sudo rm filename
pour les fichiers d'image les plus anciens (chacun d'entre eux avait - 3.16.0- dans leurs noms). Une fois cela fait, alors Sudo apt-get autoremove
avait la marge de manœuvre dont il avait besoin 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.
Une fois l'opération terminée, df
a renvoyé 42% des utilisateurs de/boot pour indiquer qu'ils sont à nouveau en bon état.
La partition/boot peut être un peu étrange parfois
ne commencez pas directement à supprimer les fichiers kernal.
Étapes à suivre
Recherchez le kernal actuellement utilisé et utilisé par le système linux.
uname -r
cela devrait vous donner le nom de l'image kernal actuellement installée sur le système
Maintenant, commencez à supprimer des fichiers supplémentaires, sauf celui qui est installé sur votre système
apt-get remove linux-image-XXXXX
Supprimez également le fichier d'en-tête.
apt-get remove linux-headers-XXXXX
Il peut également y avoir une condition où apt
a cessé de fonctionner, dans ce cas, basculez vers/boot
cd /boot
Commencez à supprimer les fichiers manuellement, mais en veillant également à ne pas supprimer les fichiers installed one's
kernal de votre système.
rm linux-image-XXXXX
rm linux-image-extra-XXXXXX
Après avoir supprimé les fichiers corrects, installation partielle, le cas échéant
apt-get -f install
Supprimez les fichiers supplémentaires qui se trouvent là, car les fichiers de démarrage sont nettoyés manuellement
apt-get autoremove
Mettre à jour grub
update-grub
Enfin mettre à jour vos paquets système
apt-get update
Dans aptitude ou synaptic il y a une section "vieux ou emballé manuellement". Il devrait y avoir les anciens paquets linux.
Enregistrez ce script sous /usr/local/bin/remove_kernels.sh
(n'oubliez pas de donner les autorisations d'exécution Sudo chmod 755 /usr/local/bin/remove_kernels.sh
):
#!/bin/sh
if test $(id -u) != 0; then
echo Error: You must be root to run this script!
exit 1
fi
apt purge $( dpkg --list | grep -P -o "linux-image-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") )
update-grub
Ensuite, pour supprimer tous les anciens noyaux, tapez simplement: Sudo remove_kernels.sh