Chaque fois que j'installe un nouveau noyau Linux, il reste dans grub_config, ce qui allonge le menu de démarrage plus longtemps.
Je sais que je peux rechercher manuellement dans les packages installés et les supprimer.
Ubuntu fournit-il un moyen plus simple de les nettoyer ou de les empêcher de s'afficher dans la liste de démarrage?
sudo apt-get autoremove
devrait faire l'affaire sur Ubuntu 14.04+sudo apt-get autoremove --purge
la réponse en suivant lesapt-mark
conseilsRéponses:
16.04 et versions plus récentes d'Ubuntu
Cette commande supprime les packages qui ont été installés automatiquement pour résoudre une dépendance, mais dont ils ne dépendent plus. Cela inclut les anciennes versions de
linux-headers-*
etlinux-image-*
. (Ce processus est également intelligent, laissant une version de secours du noyau comme solution de secours!)11.10 et versions plus récentes d'Ubuntu
GRUB2 et son affichage de tous les noyaux
Les dernières versions de Grub2 installées dans Ubuntu affichent automatiquement le dernier noyau et masquent les anciens noyaux que vous avez éventuellement installés.
Si vous ne voyez pas votre mot d'ordre , n'oubliez pas d'appuyer sur Shiftlors du démarrage.
Comme vous pouvez le constater, seul le dernier noyau est affiché.
Si vous sélectionnez l'option affichée (appuyez sur Enter), tous les anciens noyaux deviennent visibles et disponibles pour démarrer.
Comment supprimer définitivement les anciens noyaux
Commencez par démarrer avec le dernier noyau disponible.
Il existe plusieurs façons de supprimer les anciens noyaux. Personnellement, je ne toucherais pas à Computer Janitor car il est reconnu que cela casserait votre ordinateur avec ses suggestions.
synaptique
Une alternative est Synaptic (
sudo apt install synaptic
)recherchez linux-image , cliquez avec le bouton droit de la souris sur un noyau et choisissez la suppression complète, puis cliquez sur le bouton Appliquer pour supprimer le noyau.
Répétez la recherche mais cette fois pour linux-header - vous pouvez supprimer les en-têtes associés pour l'image du noyau choisie précédemment.
Synaptic ne tentera cependant pas de vérifier ce que vous essayez de supprimer ... vous pourriez supprimer par inadvertance votre dernier noyau - ou même supprimer tous vos noyaux via cet outil, vous laissant avec un Ubuntu ! Impossible à démarrer .
N'oubliez pas de vérifier quel noyau vous utilisez, tapez:
Le résultat serait similaire à:
Rappelez-vous le résultat et le nombre - assurez-vous de ne pas supprimer l'image ou l'en-tête correspondant.
Recommandation
Ma recommandation est de conserver au moins deux ou de préférence trois noyaux, y compris le dernier. La raison de la recommandation est que vous aurez au moins un / deux autres noyaux avec lesquels démarrer, si pour quelque raison que ce soit, le dernier noyau que vous ne parvenez pas à démarrer ou à introduire une fonctionnalité régressée telle que le sans fil cassé.
la source
-y
commutateur en fin deapt-get
ligne est nécessaire, sinon apt-get demande simplement une confirmation et puisque l'entrée est un tuyau, elle échoue. Cela devrait donc se terminer par:| xargs sudo apt-get purge -y
linux-image
etlinux-headers
libérées de 4,5 Go d'espace libre sur ma machine.Tout d’abord, redémarrez votre système pour vous assurer qu’il utilise le dernier noyau. Ensuite, ouvrez le terminal et vérifiez votre noyau actuel:
NE RETIREZ PAS CE KERNEL!
Ensuite, tapez la commande ci-dessous pour afficher / répertorier tous les noyaux installés sur votre système.
Trouvez tous les noyaux inférieurs à votre noyau actuel. Lorsque vous savez quel noyau supprimer, continuez ci-dessous pour le supprimer. Exécutez les commandes ci-dessous pour supprimer le noyau sélectionné.
Enfin, lancez les commandes ci-dessous pour mettre à jour grub2
Redémarrez votre système.
la source
sudo apt-get purge linux-image-3.2.0-3{0..5}-generic
(supprime les 30,31, .., 35)linux-signed-image
paquetages pouvant être installés sur les systèmes UEFI:sudo apt-get purge linux-signed-image-3.11.0-{12,14,24}-generic
ce qui supprimerait lesuname -r
n'a pas designed
chaîne sur mon système. Je ne semblent avoir une image signée installée et la sortie de cettels
commande est:/boot/vmlinuz-3.19.0-16-generic.efi.signed
.Mon one-liner pour supprimer les anciens noyaux (cela libère également de l'espace disque)
Explication (rappelez-vous,
|
utilise le résultat de la commande précédente comme entrée de la suivante)dpkg --list
liste tous les paquets installésgrep linux-image
cherche les images linux installéesawk '{ print $2 }'
sort juste la 2ème colonne (qui est le nom du paquet)sort -V
met les éléments en ordre par numéro de versionsed -n '/'`uname -r`'/q;p'
affiche les lignes avant le noyau actuelxargs sudo apt-get -y purge
purge les noyaux trouvésDénouement de l'
sed
invocation:-n
ditsed
de se taire`uname -r`
affiche la version actuelle du noyau installé - nous l'incluons dans des correctifs afin que la sortie soit incluse avec la commande (vous pouvez également voir ceci comme$(uname -r)
/something/q
dit arrêter lorsque vous correspondez à quelque chose (dans ce cas, quelque chose sort deuname -r
) -/
entourez une expression régulièrep
est imprimer;
est le séparateur de commande,/something/q;p
dit donc quitter lorsque vous correspondez quelque chose, sinon imprimerDans l’ensemble,
sed -n '/'`uname -r`'/q;p'
affiche les lignes jusqu’à ce qu’elles correspondent au nom du noyau actuel.Si vous êtes paranoïaque (comme moi), vous pouvez créer la dernière partie de
xargs echo sudo apt-get -y purge
sorte que la commande de purge des anciens noyaux soit imprimée, puis vous pouvez vérifier que rien d'inattendu n'est inclus avant de l'exécuter.Version modifiée pour supprimer les en-têtes:
Remarque: l'
sed
invocation est modifiée."$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"
extrait uniquement la version (par exemple "3.2.0-44"), sans "-générique" ou similaire deuname -r
Version tout-en-un pour supprimer les images et les en-têtes (combine les deux versions ci-dessus):
la source
sudo apt-get purge $(for tag in "linux-image" "linux-headers"; do dpkg-query -W -f'${Package}\n' "$tag-[0-9]*.[0-9]*.[0-9]*" | sort -V | awk 'index($0,c){exit} //' c=$(uname -r | cut -d- -f1,2); done)
Voir aussi ma réponse .dkpg -P
. Voici la version complète: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 dpkg -P
Ubuntu 16.04+:
Ubuntu 15.10 et inférieur:
Je trouve que c'est le moyen le plus simple et le plus rapide. Il conserve le dernier noyau ainsi que deux autres:
Pour changer le nombre de noyaux supplémentaires conservés:
la source
which purge-old-kernels
.purge-old-kernels
pas de paquet bikeshed ( outils utiles aléatoires qui n’ont pas encore de maison permanente ) ou un paquet particulier. Éviter d’utiliser cetteapt-get -y
option, c’est comme fermer les yeux et espérer que tout se passera bien. Aussi ici est comment autoremove décide combien de noyaux anciens à conserver.apt-file search purge-old-kernels
. D'accordapt-get -y
, je vais l'enlever.sudo apt-get autoremove
cela ne supprime pas les noyaux dans 14.04. N'hésitez pas à mettre à jour la réponse avec la version spécifique si vous savez ce que c'est!Supprimer des entrées de Grub 2 Les entrées doivent être supprimées en modifiant ou en supprimant des fichiers du dossier /etc/grub.d. Le fichier /boot/grub/grub.cfg est en lecture seule et ne doit normalement pas être modifié.
Trop de noyaux?
Si vous n'êtes pas sûr du noyau que vous utilisez actuellement, dans un terminal, tapez uname -r .
Les noyaux supprimés via APT (Synaptic, "apt-get remove", etc.) mettront automatiquement à jour grub.cfg et aucune action de l'utilisateur n'est requise.
Ubuntu-Tweak, une application graphique sécurisée et facile à utiliser, est un excellent outil pour supprimer les noyaux (et les entrées de menu).
Installez Ubuntu Tweak
Ubuntu-Tweak sera disponible sous Applications> Outils système.
Supprimer les anciennes entrées du noyau
Sélectionnez "Package Cleaner" sur la gauche et "Nettoyer le noyau" dans le panneau de droite.
Appuyez sur le bouton "Déverrouiller" en bas à droite, entrez votre mot de passe.
Sélectionnez dans la liste affichée les images du noyau et les en-têtes que vous souhaitez supprimer. Le noyau utilisé n'est pas répertorié.
Appuyez sur le bouton "Nettoyage" en bas à droite pour supprimer les images du noyau et les en-têtes sélectionnés.
Supprimer les systèmes d'exploitation du menu Grub
Les autres systèmes d'exploitation supprimés de l'ordinateur le seront également une fois que "update-grub" sera exécuté en tant que root.
Les éléments de menu sont placés dans le menu Grub2 par des scripts. Si vous ne souhaitez pas que d'autres systèmes d'exploitation soient entrés dans le menu, désactivez /etc/grub.d/30_osprober.
Exécutez cette commande pour arrêter l'exécution du script.
sudo chmod -x /etc/grub.d/30_os-prober
DISABLE_30_OS-PROBER = 'true' dans / etc / default / grub
Supprimer Memtest86 + du menu Grub
sudo chmod -x /etc/grub.d/20_memtest86+
La source
Remarque: après la mise à jour du noyau, une nouvelle entrée est ajoutée au menu GRUB. Vous pouvez supprimer l’ancienne si vous le souhaitez. besoin de démarrer une ancienne version du noyau à des fins de dépannage.
Autre moyen de supprimer les entrées du noyau (avant 10.04)
pour GRUB pas GRUB2
Gestionnaire de démarrage
Vous pouvez le trouver sous Système >> Administration >>
Vous voyez dans la deuxième capture d'écran que vous pouvez choisir le nombre de noyaux à afficher? En général, je ne le garde que sur 1, mais lorsque je reçois une mise à niveau du noyau, je le change toujours en 2 avant de redémarrer afin de pouvoir sélectionner le noyau plus ancien si le nouveau noyau a des problèmes avec mon matériel. Une fois que je sais que le nouveau noyau fonctionne bien, je le repasse à 1.
la source
Purement en ligne de commande, cela supprimera tout sauf le courant et le deuxième courant (via le "-2" dans la commande head ci-dessous):
la source
dpkg -l linux-* | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e [0-9] | xargs sudo apt-get -y purge
linux-libc-dev:amd64
ce qui ne devrait pas être retiré.awk '{print "linux-image-" $0}'
.Update:
purge-old-kernels
est obsolète de nos jours.J'ai créé un script pour purger les noyaux, même dans des conditions difficiles. Il s'appelle
linux-purge
et vous pouvez le trouver ici .Si vous souhaitez simplement purger les noyaux (et les packages associés) plus anciens que le noyau actuellement utilisé, vous pouvez utiliser ce script lorsque le système n'est pas en panne .
Il existe également une page de documentation Ubuntu à laquelle j'ai contribué à la suppression des anciens noyaux ici .
la source
purge-old-kernels
n'est pas dans la version précise (1.22) de bikeshed. Existe-t-il un moyen raisonnable / sûr d’obtenir un bikeshed plus récent pour plus de précision? Ou serait-il plus simple / sûr de simplement installer le script? Je préférerais utiliser un repo cependant, malgré la longue liste de dépendances ..dlocate -lsbin bikeshed
Vous pouvez suivre l' utilisation de la « mise à niveau sans surveillance-section » paquet de mises à jour automatiques de sécurité article sur Wiki Ubuntu pour effectuer cette.
Vous devez modifier la ligne suivante dans le fichier /etc/apt/apt.conf.d/50unattended-upgrades ;
avec
pour supprimer automatiquement les anciens paquets, y compris les noyaux.
Supprimez ou commentez également la ligne
dans la section "NeverAutoRemove" du fichier /etc/apt/apt.conf.d/01autoremove.
la source
apt-get autoremove
à mon travail quotidien cron la mise à niveau effective, car il ne passe pas toujours par le gestionnaire de mises à jour intégré.Le moyen le plus rapide / simple (applicable au moins depuis le 12.04) qui existe déjà avec Ubuntu est
apt-get
. Procédez comme suit si vous souhaitez supprimer toutes les anciennes versions du noyau qui ne sont pas utilisées (à l’exception de la précédente que vous n’utilisez plus. C’est pour vous assurer que si la version actuelle du noyau échoue d’une manière ou d’une autre, vous avez encore du chemin à faire. retour à un état antérieur). Faites ce qui suit:Cela éliminera tous les anciens fichiers (y compris les versions du noyau) que vous pourriez avoir. Notez que si vous avez beaucoup d'anciennes versions, cela prendra un certain temps puisqu'il faut s'assurer que la suppression de la version du noyau ne pose aucun problème. Pour moi, la suppression des 12 dernières versions du noyau a pris environ 2 minutes. Vous pouvez également faire ce qui suit:
Ce qui éliminera tout ce qui est téléchargé et stocké dans le dossier cache d'apt. Enfin vous avez:
qui vérifierait tous les paquets inutilisés et les supprimerait si nécessaire. C'est idéal pour les bibliothèques et les paquets de dépendance qui ne sont plus nécessaires depuis l'application installée.
la source
sudo apt-get autoremove
cela supprime les anciens noyaux (il y a plus d'une version) dans 14.04. Vous devrez peut-être l'exécuter avant et après la mise à niveau de votre noyau. Lorsque j’exécutais avant la mise à niveau, il ne supprimait que la version générique de l’ancien noyau. Ensuite, après la mise à niveau de mon noyau, il a également supprimé la version à faible latence de l'ancien noyau.sudo apt-get autoclean
commande. @tekNorah J'ai installé deux noyaux plus anciens et ensuite, j'ai été lancésudo apt-get autoremove
dans Ubuntu Studio 14.04. Il n'a pas enlevé de noyaux. Je n'ai que des noyaux à basse altitude installés. Pourquoi avez-vous installé des noyaux à la fois génériques et à faible luminosité?10.04 Méthode de l'interface graphique
Computer Janitor peut nettoyer les anciens noyaux et je crois qu’il est installé par défaut dans Ubuntu (mais pas Kubuntu).
Si vous utilisez cela, GRUB 1 a une option
/boot/grub/menu.lst
permettant de spécifier le nombre maximum de noyaux à afficher. GRUB 2, autant que je sache, ne le fait pas.la source
Pour savoir quels noyaux et en-têtes sont installés, utilisez
Vous pouvez ensuite les supprimer un par un ou ensemble, assurez-vous de conserver le plus récent.
Il existe également des commandes et des scripts utiles pour automatiser la suppression.
http://ubuntuforums.org/showthread.php?t=1658648
Ce qui suit prétend supprimer tous les noyaux et en-têtes non utilisés:
(utiliser
apt-get -y
pour enlever sans question)Voici ce qui se passe lors de l'exécution du 18.04.1:
la source
linux-libc-dev
est installé.linux-libc-dev
correspond au numéro de version du noyau actuel. Voici lesdpkg -l linux-libc-dev | sed '/^ii/!d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'
impressions linux-libc-dev: amd64grep -E "(image|headers)"
.-y
drapeau avec purge s'il vous plaît ..!Afin de supprimer les anciens noyaux d'images Linux, commencez par le noyau que vous souhaitez conserver.
Vous pouvez également vérifier la version du noyau à l'aide de la commande
uname -r
afin de ne pas supprimer la mauvaise par erreur.Allez maintenant dans le gestionnaire de paquets synaptic et recherchez
linux-image
et supprimez les anciennes versions, à l'exception de celle indiquée par la commande supérieure. Généralement, je préfère aller avec le dernier.Maintenant, lorsque vous redémarrez, vous verrez un menu plus propre.
la source
Vous pouvez installer ubuntu-tweak puis aller dans Applications -> Outil système -> Ubuntu tweak et
cliquez sur le nettoyeur de paquet et nettoyez les noyaux. il ne montre pas le noyau actuellement utilisé, vous serez donc toujours en sécurité.
la source
Personnellement, j'aime utiliser
Synaptic
. Cela me rend plus sûr de ce qui se passe. Ubuntu Tweak est la seule application que j'ai utilisée et qui dispose d'une option pour supprimer les anciens noyaux .Comment supprimer les noyaux que vous n'utilisez pas:
uname -a
dans un terminalla source
update-grub
est conseillé.Vous pouvez désinstaller les anciens noyaux (
linux-image-...
packages) à l’aide de Synaptic, ce qui les supprimera du menu de démarrage. Veillez à ne pas supprimer le noyau en cours d’exécution (vous pouvez vérifier sa version avecuname -r
).N'oubliez pas qu'avoir une ou deux versions plus anciennes peut vous aider à résoudre les problèmes éventuels.
Vous pouvez également modifier / supprimer les entrées manuellement (
gksu gedit /boot/grub/grub.cfg
), mais elles seront régénérées lorsque vous effectuerez la mise à jour vers un noyau plus récent. Si vous envisagez de supprimer desrecovery mode
options, ne le faites pas. Ils peuvent être utiles si vous cassez quelque chose qui vous empêche de démarrer.Reportez-vous à cette page.
la source
update-grub
qui va réécrire tous ces noyaux.Ceci est une solution pure en ligne de commande.
Commencez par générer une liste de toutes les versions de noyau installées, à l'exception du noyau en cours d'exécution:
Vous pouvez également générer une liste de toutes les versions de noyau installées, à l'exception des deux dernières:
Examiner 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 packages.D'abord un essai à sec (en utilisant le premier générateur comme exemple):
Puis une vraie course:
Si vous souhaitez automatiser le processus, ajoutez le
--yes
paramètre suivant:la source
sudo apt-get purge -- $(ls -1U /boot/vmlinuz* | cut -d- -f2,3 | sort -uV | head -n -2 | awk -v c=$(uname -r | cut -d- -f1,2) '($0==c){exit} //' | sed -r -e 's/\./\\./g' -e 's/.*/-&($|-)/')
. Il n'y a pas besoin dedpkg-query
puisqueapt-get
peut gérer les expressions régulières Veuillez noter comment j'échappe aux points et ajoutez le préfixe et le suffixe dans l'expression régulière. En utilisant le script dans ma propre réponse, vous pouvez également conserver certains noyaux plus anciens que celui-ci.L'avantage de cette réponse est que Ubuntu Bash natif est utilisé sans installer d'applications tierces. Utilisateurs de noyaux personnalisés qui n'ont pas utilisé
apt
oudpkg
ne peuvent pas modifier ce script bash pour répondre à leurs besoins. Cette réponse est basée sur ( Comment purger sélectivement tous les anciens noyaux en même temps ).Solution basée sur Zenity
Zenity fournit une interface graphique agréable au terminal pour traiter une liste et sélectionner des éléments avec des boutons radio :
Comme le titre l'indique, le noyau actuel avec lequel vous avez démarré ne peut pas être supprimé et n'est pas inclus dans la liste. La taille indiquée est la quantité qui sera enregistrée dans le
/boot
répertoire. Plus est enregistré sur votre disque, car les fichiers binaires du noyau résident également dans d’autres domaines. 27 juillet 2017 note: Les annuaires/usr/src/*kernel_version*
et/lib/modules/*kernel_version*
sont maintenant aussi inclus.La date de modification est découverte à l'aide de la
stat
commande. Sur mon système, cette date est "modifiée" chaque fois que le noyau est démarré à l'aide de ce script ( comment savoir quand une version spécifique du noyau a été démarrée? ) Script de redémarrage cron . Cependant, sur votre système, la date sera la date de publication du noyau, et non la dernière fois que vous l’avez démarré.apt-get purge
vous donne la chance d'avorterVous avez enfin la possibilité de voir tout ce qui sera purgé et de voir l’espace disque total (quelque peu trompeur) qui sera récupéré:
Le code
Copiez ce code dans un fichier exécutable nommé
rm-kernels
dans/usr/local/bin
:NOTE: Vous devez avoir l’autorisation sudo pour créer le fichier, utilisez donc:
Pour rendre le fichier exécutable, utilisez:
Version du serveur
rm-kernels-server
est la version du serveur pour supprimer sélectivement les noyaux en une fois. Au lieu d'une boîte de dialogue graphique (graphique), une boîte de dialogue textuelle est utilisée pour sélectionner les noyaux à purger.Avant d'exécuter le script, vous devez installer la fonction de dialogue à l' aide de:
sudo apt install dialog
La boîte de dialogue est dans l'installation par défaut du bureau Ubuntu, mais pas dans Ubuntu Server.
Exemple d'écran
rm-kernels-server
code bashRemarque: dans l'appel de
dialog
la directive--ascii-lines
est passé pour remplacer le jeu de caractères étendu de dessin de ligne (quissh
n'aime pas) avec "+ ----- +" pour les zones de dessin. Si vous n'aimez pas cette apparence, vous pouvez utiliser la--no-lines
directive pour aucun champ.28 juillet 2017 Mises à jour
La taille calculée de chaque noyau a été prise, à partir de
/boot/*kernel_version*
laquelle se trouvaient 5 fichiers totalisant environ 50 Mo. La formule a été modifiée pour inclure les fichiers dans/usr/src/*kernel_version*
et/lib/modules/*kernel_version*
. La taille calculée pour chaque noyau est maintenant d’environ 400 Mo. Le code ci-dessus pourrm-kernels
etrm-kernels-server
a été mis à jour. Toutefois, les exemples d'écrans ci-dessus ne reflètent pas encore ces modifications.Par défaut, la taille des fichiers pour les en-têtes linux est estimée à 125 Mo et celle de linux-image à 220 Mo car elle
du
peut être extrêmement lente, sauf si les fichiers sont en cache. Pour obtenir la taille réelle, utilisezdu
n'importe quel paramètre du script.Le total de toutes les tailles de noyau (à l'exception de la version en cours d'exécution qui ne peut pas être supprimée) est maintenant affiché dans la barre de titre.
La boîte de dialogue utilisée pour afficher la date du dernier accès de chaque noyau . Cette date peut être écrasée en masse pour tous les noyaux lors d'une sauvegarde ou d'opérations similaires. La boîte de dialogue affiche maintenant la date de modification .
la source
Un moyen simple de supprimer presque tous les paquets obsolètes, les paquets qui ne figurent plus dans une liste de paquets, ainsi que les noyaux obsolètes, consiste à effectuer l'une des opérations suivantes:
Cependant, cela manquera les packages qui sont toujours recommandés par d'autres packages et l'argument -R / - without-recommend ne résout pas ce problème.
dselect après le changement de mode de tri avec 'o' affichera tous les paquets obsolètes, y compris ceux manquant à aptitude, mais certaines personnes n'aiment pas l'utiliser.
la source
La réponse acceptée en utilisant
sed
pour supprimer définitivement les anciens noyaux a quelques défauts. Si quelqu'un n'a pas redémarré l'ordinateur après la mise à niveau du noyau, la commande supprimera également le nouveau noyau.Voici une solution alternative qui prend en compte toutes les situations pour supprimer uniquement les noyaux plus anciens:
Si vous avez une version plus récente que la version actuelle, un avertissement vous avertira de redémarrer votre ordinateur en premier. Notez également que les anciens noyaux sont préservés pour une bonne raison: si vous gâchez votre noyau actuel en rendant votre système instable, vous devriez pouvoir démarrer dans n’importe quel noyau plus ancien.
la source
sed
solutions.grep -Po "^linux-image-[^-]+-[^-]+-generic\b"
pargrep -Eo "^linux-(image|headers|tools)-[^-]+-[^-]+(|-generic)\s" | sed -e "s/\s//g"
etgrep -Po ".*(?=-[a-z]*$)"
avecgrep -Eo "^[0-9]+\.[0-9]+\.[0-9]+-[0-9]+"
etgrep -Po "[0-9].*(?=-[a-z]*)"
avecgrep -Eo "[0-9]+\.[0-9]+\.[0-9]+-[0-9]+"
?ailurus a pour fonction de supprimer les anciens noyaux ainsi que les configurations inutilisées. Personnellement, je l'enlève manuellement de synaptic. Vous pouvez installer ailurus de getdeb ainsi que ppa
la source
J'ai un script pour cela qui n'a pas besoin d'analyse syntaxique de chaînes très sophistiquée.
Supprime les en-têtes et les images, à l'exception de l'image actuelle, pour libérer de l'espace
la source
Vous pouvez utiliser ukuu - c'est tout l'interface graphique - pour mettre à jour et supprimer les anciens noyaux. Travaille pour moi!
Rappelez-vous simplement de laisser les 2 derniers installés et évidemment le noyau 'en cours d'exécution'.
Vous pouvez également configurer ukuu pour n’afficher que les versions principales, même les noyaux RC, les versions masquées.
Vous pouvez trouver ukuu dans Synaptic, ou les instructions sont ici:
OMG! Ubuntu ukuu instructions d'installation
la source
Basé sur une réponse précédente de David Kemp, le script suivant purgera tous les en-têtes et les images, à l'exception des 2 dernières versions.
(utiliser
apt-get -y
pour enlever sans question)la source
| xargs sudo apt-get -y purge
tout). Si elle imprime 3.13.0-43-lowlatency, alors vous avez peut-être des versions plus récentes que celle installée sur votre système.Voici un aperçu de ce que j'ai fait. Attention, je ne suis pas un expert en Linux. Assurez-vous de savoir ce que vous faites et de sauvegarder tous les fichiers que vous modifiez.
puis trouver les entrées que vous souhaitez conserver, nous les mettrons en surbrillance et les copierons
vous verrez une liste de fichiers comme 10_linux et 30_os-prober
cela arrêtera automatiquement l’ajout de toutes les entrées linux dans le menu de démarrage de grub.
ouvrez le fichier de menu de démarrage personnalisé, puis retournez dans le fichier grub.cfg (qui devrait toujours être ouvert dans gedit), puis copiez les entrées à conserver, telles que
collez-les dans
40_custom
, puis enregistrez-le.le rend exécutable, puis finalement nous mettons à jour grub qui changera le fichier grub.cfg:
Maintenant, ATTENTION, si vous mettez à jour votre noyau ou votre système d'exploitation, votre menu de démarrage ne sera probablement pas mis à jour ... vous devrez le faire manuellement. Mais cette procédure vous permettra de personnaliser un peu plus le menu de démarrage, comme supprimer la version du noyau et simplement mettre le nom ubuntu ... c'est-à-dire Ubuntu Lucid 10.04, etc ...
J'espère que quelqu'un trouve cela utile, car il m'a fallu un certain temps pour comprendre ... je n'ai vu cette solution nulle part ...
la source
Installez le gestionnaire de paquets synaptic et allez dans l’onglet filtres (je pense filtres, sinon essayez tous les 5) et sélectionnez "local". Cela vous montrera des paquets orphelins sur votre système, tels que les noyaux. Après les avoir désinstallés, lancez
update-grub
. Cette commande met à jour la liste des options de démarrage pour grub.Si cela échoue, vous pouvez toujours essayer
apt-get remove linux-image-version-generic
.la source
update-grub
est conseillé.Pour avoir un peu plus de contrôle sur les versions à conserver, sélectionnez explicitement celles que vous souhaitez supprimer. Par exemple, si vous souhaitez supprimer les versions du noyau 3.2.0. [49-53], utilisez une
for
boucle simple :Ajustez la liste des versions du noyau en conséquence.
la source
Essaye ça. Exécutez-le en tant que root.
Enregistrez ce script sous, par exemple ./keep-n-kernels.sh
Transmettez, en tant qu'argument de ligne de commande, le nombre de noyaux les plus récents que vous souhaitez conserver.
Exemple d'utilisation:
Si vous voulez [ET À VOS PROPRES RISQUES], vous pouvez ajouter un -y (ou un indicateur de force) à la commande apt-get et la rendre non interactive.
la source
J'utilise un ordinateur de bureau KDE et l'option la plus simple que j'ai trouvée est d'utiliser l'application kde-config-grub2 comme suggéré ici: https://www.kubuntuforums.net/showthread.php?58075-remove-old-linux-versions (que j'avais déjà installé pour définir l'image d'arrière-plan, l'option de démarrage par défaut, etc.). En regard de la liste déroulante dans laquelle vous pouvez choisir l'entrée par défaut, vous trouverez un bouton "Supprimer les anciennes entrées". En cliquant sur ce bouton, vous obtenez une liste de tous les noyaux installés et vous pouvez sélectionner ceux à supprimer. Lorsque vous appliquez les modifications, dpkg est utilisé pour les supprimer du système ainsi que du menu GRUB.
la source
Juste pour sonner, vous pouvez aussi émettre
apt-get remove linux-{image,headers}-x.y.z-{1,2,...,n}
en tant que racine, et le travail sera fait.
la source
Si vous utilisez ansible pour contrôler les machines, ce manuel peut vous être utile.
la source