J'essaie de faire do-release-upgrade
mais alors je reçois:
Pas assez d'espace disque libre
La mise à niveau a été annulée. La mise à niveau nécessite un total de 25,7 M d'espace libre sur le disque '/ boot'. Veuillez libérer au moins 25,7 M d’espace disque supplémentaire sur '/ boot'. Videz votre corbeille et supprimez les paquets temporaires d'installations antérieures à l'aide de 'sudo apt-get clean'.
Sortie de df
:
237251272 214797108 10402504 96% /
udev 488120 4 488116 1% /dev
tmpfs 198676 668 198008 1% /run
none 5120 0 5120 0% /run/lock
none 496684 0 496684 0% /run/shm
/dev/sda1 233191 225867 0 100% /boot
Comment se fait-il qu'il n'y ait plus d'espace au démarrage? Voici le résultat de ls -as /boot
:
total 221839
4 .
4 ..
645 abi-2.6.32-34-generic-pae
698 abi-2.6.35-30-generic-pae
727 abi-2.6.38-12-generic-pae
727 abi-3.0.0-12-generic-pae
727 abi-3.0.0-13-generic-pae
727 abi-3.0.0-14-generic-pae
727 abi-3.0.0-15-generic-pae
727 abi-3.0.0-16-generic-pae
727 abi-3.0.0-17-generic-pae
727 abi-3.0.0-19-generic-pae
761 abi-3.0.0-20-generic-pae
115 config-2.6.32-34-generic-pae
128 config-2.6.35-30-generic-pae
136 config-2.6.38-12-generic-pae
140 config-3.0.0-12-generic-pae
140 config-3.0.0-13-generic-pae
140 config-3.0.0-14-generic-pae
140 config-3.0.0-15-generic-pae
140 config-3.0.0-16-generic-pae
140 config-3.0.0-17-generic-pae
140 config-3.0.0-19-generic-pae
140 config-3.0.0-20-generic-pae
5 grub
10773 initrd.img-2.6.32-34-generic-pae
13619 initrd.img-2.6.35-30-generic-pae
15365 initrd.img-2.6.38-12-generic-pae
16481 initrd.img-3.0.0-12-generic-pae
16487 initrd.img-3.0.0-13-generic-pae
16501 initrd.img-3.0.0-14-generic-pae
16476 initrd.img-3.0.0-15-generic-pae
16481 initrd.img-3.0.0-16-generic-pae
16478 initrd.img-3.0.0-17-generic-pae
12 lost+found
174 memtest86+.bin
176 memtest86+_multiboot.bin
1700 System.map-2.6.32-34-generic-pae
1841 System.map-2.6.35-30-generic-pae
2115 System.map-2.6.38-12-generic-pae
2141 System.map-3.0.0-12-generic-pae
2141 System.map-3.0.0-13-generic-pae
2143 System.map-3.0.0-14-generic-pae
2146 System.map-3.0.0-15-generic-pae
2147 System.map-3.0.0-16-generic-pae
2147 System.map-3.0.0-17-generic-pae
2148 System.map-3.0.0-19-generic-pae
2149 System.map-3.0.0-20-generic-pae
2 vmcoreinfo-2.6.32-34-generic-pae
2 vmcoreinfo-2.6.35-30-generic-pae
2 vmcoreinfo-2.6.38-12-generic-pae
2 vmcoreinfo-3.0.0-12-generic-pae
2 vmcoreinfo-3.0.0-13-generic-pae
2 vmcoreinfo-3.0.0-14-generic-pae
2 vmcoreinfo-3.0.0-15-generic-pae
2 vmcoreinfo-3.0.0-16-generic-pae
2 vmcoreinfo-3.0.0-17-generic-pae
2 vmcoreinfo-3.0.0-19-generic-pae
2 vmcoreinfo-3.0.0-20-generic-pae
4092 vmlinuz-2.6.32-34-generic-pae
4347 vmlinuz-2.6.35-30-generic-pae
4567 vmlinuz-2.6.38-12-generic-pae
4675 vmlinuz-3.0.0-12-generic-pae
4676 vmlinuz-3.0.0-13-generic-pae
4681 vmlinuz-3.0.0-14-generic-pae
4698 vmlinuz-3.0.0-15-generic-pae
4700 vmlinuz-3.0.0-16-generic-pae
4700 vmlinuz-3.0.0-17-generic-pae
4703 vmlinuz-3.0.0-19-generic-pae
4705 vmlinuz-3.0.0-20-generic-pae
Sortie de uname -a
:
Linux kitsch 3.0.0-17-generic-pae #30-Ubuntu SMP Thu Mar 8 17:53:35 UTC 2012 i686 i686 i386 GNU/Linux
upgrade
kernel
disk-usage
serrer
la source
la source
ls -l /boot
etuname -a
à votre question.dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'
à votre question.ls -as /boot
pourrait être utile à la place. Il ne comprendra que la taille des fichiers.Réponses:
Votre partition / boot est remplie d'anciens noyaux. Parfois, on ne sait pas trop pourquoi cela n’est jamais résolu. Vous pouvez facilement supprimer les anciens noyaux si vous connaissez les paquets dans lesquels ils sont entrés.
Commencez
uname -a
par vérifier votre version actuelle.Puis exécutez la commande suivante:
Cette commande listera tous les paquetages dont vous n’avez plus besoin. Je n'aime pas les supprimer automatiquement, j'aime bien contrôler les noyaux. Pour chaque paquet répertorié, procédez comme suit:
Intermezzo
Cet intermezzo décrit plus en détail le fonctionnement des commandes et tente de résoudre un problème
linux-libc-dev:amd64
. La plupart des utilisateurs peuvent ignorer ce paragraphe.dpkg -l 'linux-*'
liste tous les paquets qui ont un nom commençant par 'linux-'sed '/^ii/!d; remove all lines that do *not* start with
ii`uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/"
trouver la version actuelle du noyau en cours d'exécution/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d
Supprime toutes les lignes, sauf celles contenant le numéro de version du noyau en cours d'exécutions/^[^ ]* [^ ]* \([^ ]*\).*/\1/
Pour chaque ligne, indiquez uniquement le nom du package./[0-9]/!d
Supprimer les lignes qui ne contiennent pas de nombres.Pour résoudre le problème de Frederick Nord, je pense que la commande peut être modifiée comme suit:
Il ajoute essentiellement un filtre supplémentaire:
linux-headers
oulinux-image
/Intermezzo
Où
some-kernel-package
peut être remplacé par l'un des packages répertoriés. Méfiez-vous simplement de ne pas supprimer les paquets du noyau actuellement utilisés (comme indiqué par leuname -a
), par exemple.sudo apt-get purge -y linux-headers-3.0.0-12
etc.Il peut être automatisé davantage en utilisant la commande xargs, mais je n'aime pas ça. C'est une chose personnelle. Cependant, voici la commande pour le faire:
Voici à quoi je
/boot
ressemble, un noyau disponible (2.6.38-11) au cas où et 3.2.0-24 étant à jour:Et utilisation du système de fichiers:
la source
It does that sometimes, not sure why it is never fixed
Ubuntu a pris la décision, pour le meilleur ou pour le pire, de fournir régulièrement de nouveaux noyaux sous forme de nouveaux paquets plutôt que de mettre à niveau des paquets existants, afin de permettre l’installation de plusieurs noyaux et la commutation entre eux à volonté. Je conviens que cette hypothèse ne convient pas aux 95% de personnes qui veulent seulement le dernier noyau (et peut-être une solution de secours en cas de nouveau problème de démarrage) et qui ne veulent pas gérer elles-mêmes les noyaux installés. Peut-être qu'à l'avenir Ubuntu changera ce comportement. Pour le moment, assurez-vous que votre / boot est énorme.sudo apt-get autoremove
fait le tour pour moi, il a nettoyé avec succès tous les paquets du noyau inutilisés.
la source
man apt-get
autoremove est utilisé pour supprimer les packages qui ont été installés automatiquement pour satisfaire les dépendances de certains packages et qui ne sont plus nécessaires. un noyau ne serait pas installé pour satisfaire les dépendances, ils sont installés lors des mises à niveau./dev/sda1, 240M total, 171M used, 57M free, 75% used /boot
après:/dev/sda1, 240M total, 129M used, 98M free, 57% used /boot
Équivalent à la réponse acceptée - un autre moyen (éventuellement) plus simple consiste à installer l'
ubuntu-tweak
outil, il peut être téléchargé à partir d' ici . Allez dans "Concierge", et sélectionnez "Ancien noyau" pour nettoyer. Cela peut être fait en quelques clics. (testé sur le bureau 14.04)la source
/boot
se produit tout le temps, c'est donc ma solution préférée - une application facile à exécuter qui fait le travail en un clic.Comparé aux autres réponses fournies ici, l’avantage de cette réponse est qu’Ubuntu Bash est utilisé sans installation d’applications tierces.
Solution basée sur Zenity et Bash
Zenity fournit une interface graphique agréable au terminal pour traiter une liste et sélectionner des éléments avec des boutons radio :
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 inclus aussi.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é initialisé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:
REMARQUE: Pour une version de ce script sur serveur (texte, et non pas graphique), voir: Comment supprimer les anciennes versions du noyau pour nettoyer le menu de démarrage?
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
Vous pouvez facilement gérer les noyaux via le gestionnaire de paquets synaptic. Mais d’abord, vous devez connaître le nom de la version du noyau utilisée, à l’invite du terminal:
linux@linux-desktop:~$ uname -r 4.4.0-75-generic
Donc, au moins cette version devrait rester intacte. Ouvrez synaptic et commencez à renseigner le paramètre de substitution de filtre rapide, comme indiqué ci-dessous: Vous pouvez maintenant sélectionner tous les packages à supprimer et procéder comme suit: Marquer pour suppression complète -> Appliquer . Je suggérerais de conserver au moins le dernier paquet du noyau actuel et un noyau précédent. Par exemple, dans ce cas, vous pouvez vous débarrasser en toute sécurité de linux-image-4.4.0-66-generic et de linux-image-extra-4.4.0-66-generic , mais il est bon de conserver 4.4.0-72 et bien sûr 4.4.0-75 .la source
Pour la facilité en ligne de commande:
https://github.com/erichs/bootnukem
ensuite
la source
Fonctionne sur Linux Mint 18.3 (basé sur Ubuntu 16.04).
sudo apt-get purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head -n -1) --assume-yes
Source: https://ubuntuforums.org/showthread.php?t=2248846&p=13146650#post13146650
la source