Il s'agit d'une solution en ligne de commande pure.
Générer d'abord une liste de toutes les versions du noyau installées, à l'exception du noyau en cours d'exécution :
dpkg-query -W -f='${Package}\n' |
grep -f <(ls -1 /boot/vmlinuz* | cut -d- -f2,3 |
grep -v $(uname -r | cut -d- -f1,2))
Alternativement, générer une liste de toutes les versions du noyau installées, sauf les deux dernières :
dpkg-query -W -f='${Package}\n' |
grep -f <(ls -1 /boot/vmlinuz* | cut -d- -f2,3 |
sort -V | head -n -2)
Examinez la liste. Assurez-vous que les versions du noyau que vous souhaitez conserver ne font pas partie de la liste. Utilisez la commande uname -r
pour voir la version du noyau en cours d'exécution.
Si vous êtes satisfait des résultats, vous pouvez utiliser apt-get
pour supprimer les paquets.
D'abord un essai à blanc (en utilisant le premier générateur comme exemple) :
sudo apt-get --dry-run purge $(
dpkg-query -W -f='${Package}\n' |
grep -f <(ls -1 /boot/vmlinuz* | cut -d- -f2,3 |
grep -v $(uname -r | cut -d- -f1,2)))
Puis une vraie course :
sudo apt-get purge $(
dpkg-query -W -f='${Package}\n' |
grep -f <(ls -1 /boot/vmlinuz* | cut -d- -f2,3 |
grep -v $(uname -r | cut -d- -f1,2)))
Si vous voulez automatiser le processus, ajoutez l'option --yes
paramètre :
sudo apt-get --yes purge $(
...)
0 votes
En plus de supprimer les anciens noyaux, décommentez cette ligne dans le fichier
/etc/default/grub
si vous voulez vous débarrasser des éléments de "récupération" dans le menu : #GRUB_DISABLE_LINUX_RECOVERY="true"0 votes
Dans les versions récentes Ubuntu cache les noyaux dans le sous menu de Grub, donc ce n'est pas si gênant. Cependant, il peut être une bonne idée de supprimer les noyaux supplémentaires pour économiser de l'espace, surtout, si vous avez une petite partition /boot séparée.
10 votes
Il existe une commande ubuntu appelée purge-old-kernels pour faire ce travail. Voir mon réponse pour plus d'informations.
29 votes
sudo apt-get autoremove
devrait faire l'affaire sur Ubuntu 14.04+.1 votes
L'accumulation de vieux noyaux est un bogue, dont la correction est en cours : bugs.launchpad.net/bugs/1357093 . Lorsque le correctif sera publié, les anciens noyaux seront supprimés automatiquement par défaut.
1 votes
@hobs La commande ne fait pas l'affaire pour moi dans Ubuntu Studio 14.04, si les noyaux n'ont pas été installés automatiquement, mais par Software Updater.
0 votes
Je ne trouve pas de réponse permettant de supprimer les noyaux de la version précédente après la mise à jour d'Ubuntu vers une version plus récente, même si une question spécifique à ce sujet a été marquée comme un doublon de celle-ci. aquí . Voir aussi rapport de bogue
0 votes
J'ai fait un script qui fait le travail. Je le publierai une fois que mon objectif de prime sera atteint : bountysource.com/issues/
0 votes
aide.ubuntu.com/community/RemoveOldKernels
0 votes
@hobs pourriez vous transformer ce commentaire en réponse
0 votes
Celui qui a lu ceci devrait aussi lire stackoverflow.com/questions/653096/how-to-free-inode-usage Vous pouvez rencontrer une situation où vous devez libérer votre inode en supprimant les anciennes sources du noyau sous /usr/src/. Si vous avez assez d'espace disque en vérifiant df -h mais 100% d'utilisation des inodes. Vous devez absolument lire le lien ci-dessus
2 votes
Je reviens sans cesse à cette page... le commentaire de @hobs ne fonctionne que si vos noyaux ont été auto-installés - cependant vous faites
sudo apt-get autoremove --purge
la réponse en suivant lesapt-mark
des conseils sur https://help.ubuntu.com/community/RemoveOldKernels0 votes
Si /boot est plein, voir askubuntu.com/questions/263363/
0 votes
Résumé utile - gist.github.com/ipbastola/2760cfc28be62a5ee10036851c654600