Ma /boot
partition 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 /boot
partition:
:~$ 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 3.0.0-14-generic
noyau.
boot
hard-drive
filesystem
disk-usage
init
utilisateur6722
la source
la source
Réponses:
Vous avez beaucoup de noyaux inutilisés. Supprimez tous les noyaux sauf les derniers avec:
Ceci est un raccourci pour:
Le retrait du
linux-image-x.x.x-x
paquet sera également supprimé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:
Une commande pour afficher tous les noyaux et les en-têtes pouvant être supprimés, à l’exclusion du noyau en cours d’ exécution:
Il sélectionne tous les packages nommés en commençant par
linux-headers-<some number>
oulinux-image-<some number>
, affiche les noms des packages pour les packages 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 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:
la source
uname -a
. Il est probablement préférable de ne pas avoir de processus en attente de redémarrage pour installer le nouveau noyau (comme je l'ai fait, mais j'ai noté l'inadéquation entreuname -a
le "dernier" noyau et le dernier).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:
Utilisez ensuite cette commande pour imprimer tous les noyaux que vous avez installés et qui ne sont pas votre dernier noyau:
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:
Maintenant, nous pouvons faire tout ce que nous voulons en combinant ces deux dernières commandes dans ce désordre impie:
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 afin que vous soyez convaincu qu'elle fait ce que vous voulez.
la source
Cette commande fait le travail automatiquement.
la source
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:
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 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 "Marquer pour suppression complète". Enfin, cliquez sur le bouton Appliquer. Cela supprimera tous les fichiers et tous les fichiers associés. Votre
/boot
dossier devrait maintenant être un peu plus ordonné.la source
/boot
!Merci pour votre post 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. Pour ce faire, consultez l'article suivant:
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:
la source
Ceci est une nouvelle réponse à une vieille question, mais un moyen simple de nettoyer cette chose (et plus) consiste à installer Ubuntu Tweak . Pour l' installer :
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 des vignettes ou le cache de la TB, le système devra les reconstruire si nécessaire.
la source
J'ai pu résoudre le problème en utilisant
dpkg
pour supprimer directement les packages. Bien que les packages soient toujours répertoriésdpkg -l
, les fichiers sont supprimés/boot
, ce qui libère de l'espace.Après cela,
apt-get -f install
mes problèmes de dépendance ont été résolus et tout allait bien pour le monde.Je n'accepterai cependant pas cette réponse, car je dois encore savoir si je devrais augmenter ma
/boot
taille ou faire autre chose.la source
sudo dpkg --remove linux-headers-3.5.0-28*
sudo dpkg --remove linux-image-3.5.0-28*
pour l'image, vérifié viadf -h
apt-get -f install
. Aussi, n'oubliez pas de faire plus tardapt-get autoremove
, pour éventuellement supprimer d'autres inutiles.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):
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 un temps très très long. difficulté.
la source
lsblk
peut être utilisé pour déterminer quelle partition est quoiPrenant 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 lister tous les paquets 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}
enlever les vieux noyaux. Remplacezxx,yy,zz
par une 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, car votre système ne pourra plus démarrer . Vous devrez peut-être aussi changer la version du noyau de3.16.0
ce qui est installé sur votre système.sudo apt-get autoremove
Cela supprimera toutes les dépendances résiduelles des anciens noyaux dont le noyau actuel n'a plus besoin, ce qui libèrera de l'espace supplémentaire.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 paquets ne peuvent pas être supprimés car ils ne sont pas installés, mais cela ne fera aucun mal.
Si quelque chose échoue ...
sudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}
.linux-image
packages sont requis par leslinux-headers
packages 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 de nouveau le résultatdpkg -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é a étésudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}-generic-pae
.la source
/boot
, mais pas assez pour un autre paquet de noyau. Dans ces cas, ce qui précède a bien fonctionné. N'hésitez pas à ajouter ladpkg
commande correspondante . Pour ce qui estpurge
, non, ce n'est pas une sorte de "suppression forcée". Contrairement à ce qu’il fait,remove
il supprime également les fichiers de configuration. Depuis / aussi longtemps que les paquets du noyau installer aucun fichier de configuration,remove
etpurge
feront la même chose pour les paquets du noyau.Pour moi les deux
apt-get purge
et lesdpkg --remove
deux ont échoué. J'ai donc dû supprimer quelques anciennes images du noyau de / boot avecrm -f
.la source
/boot
partition était pleine. Ces commandes essaient d’abord de mettre à jour le noyau avec lesNo space left on device
initrd.img
Lister tous les noyaux:
Afficher le noyau actuel:
Répertoriez tous les noyaux SAUF celui en cours:
Assurez-vous que votre noyau actuel ne figure pas sur cette liste.
Supprime tous les noyaux SAUF celui en cours:
Effacer les autres trucs:
Si cela vous donne toujours une erreur d’espace disque d’amorçage pour l’installation / désinstallation de fichiers, supprimez directement l’une des OLD images du répertoire / boot,
REMARQUE: Veuillez revoir l’image actuelle du noyau avant de supprimer une image.
la source
linux-headers-*
ne sont pas des noyaux. Les paquets de noyau sont ceux nomméslinux-image-*
. Ceux nomméslinux-headers-*
sont des packages de développement pour la compilation des modules du noyau: ils ne résident pas dans le répertoire / boot et ne sont pas requis pour une utilisation quotidienne au quotidien de votre système.Les fichiers listés dans / boot font inclure plusieurs vieilles images du noyau (
vmlinuz*
) et compilé des images initrd (initrd.img*
) pour ces noyaux, ce qui est une indication que vous avez encore beaucoup de vieux paquets de noyau installés.Vous devriez pouvoir lister vos noyaux installés avec
(Notez que cela 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:
Assurez-vous de remplacer "3.2.0-23-generic" par la version du noyau que vous souhaitez supprimer! En outre, ne supprimez pas les paquets tels que
linux-image-generic
. Vous devez faire très attention de ne pas supprimer le noyau en cours d'exécution, sinon vous ne pourrez pas démarrer (Ubuntu peut ou non vous en avertir).Vous pouvez trouver votre noyau en cours d'exécution avec:
la source
J'ai eu ce problème et plus encore car j'ai supprimé
initrd-img-xxx
manuellement certains fichiers du répertoire / boot et que ces anciennes versions étaient toujours générées et remplies dans le/boot
dossier. 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:
Localisez la ligne
update_initramfs=yes
et remplacez-la parupdate_initramfs=no
. Enregistrez et quittez le fichier, puis exécutez:Cela a résolu mon problème. C'était basé sur ce blog
Si tout va bien, tout devrait bien se passer lorsque vous redémarrez, et plus tard, vous pourrez essayer de modifier le
no
retouryes
enupdate-initramfs.conf
.la source
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:
Ubuntu, en tant qu’OS de bureau à usage quotidien simple, n’a aucune raison de s’installer avec une partition \ boot distincte, et quelque chose comme cela n’offrira PAS quelque chose à un "utilisateur ordinaire" ... Une solution est donc une nouvelle installation sans partition \ boot et cela comme 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)
la source
Super utilitaire qui efface votre partition de démarrage
Utilisez à vos risques et périls, mais cela a fonctionné pour moi:
la source
Dans aptitude ou synaptic il y a une section "vieux ou emballé manuellement". Il devrait y avoir les anciens paquets linux.
la source
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, donc c'est probablement un peu maladroit. Utilisez à vos risques et périls, mais cela fonctionne pour moi!
la source
[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 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 terminera brutalement 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 avait -3.16.0-30 dans leurs noms). Une fois cela fait, ilsudo apt-get autoremove
disposait de 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 terminé,
df
42% des utilisateurs retournés sont utilisés pour / boot pour indiquer qu'ils sont à nouveau en bonne santé.la source
apt-get
dispose de suffisamment d’espace pour continuer, et b), qu’ilapt-get
échoue car le disque est trop plein. C'est l'autre post.J'ai écrit ce script bash pour purger sélectivement tous les anciens noyaux:
Tout le code bash et les instructions sont inclus dans le lien.
la source
Enregistrez ce script sous
/usr/local/bin/remove_kernels.sh
(n'oubliez pas de donner les autorisations d'exécutionsudo chmod 755 /usr/local/bin/remove_kernels.sh
):Ensuite, pour supprimer tous les anciens noyaux, tapez simplement:
sudo remove_kernels.sh
la source
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
De plus, il peut y avoir une condition qui
apt
a cessé de fonctionner, dans ce cas, passez à / bootcd /boot
Commencez à supprimer les fichiers manuellement, mais en prenant garde de ne pas supprimer les
installed one's
fichiers 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 à cet emplacement en tant que fichiers de démarrage nettoyés manuellement
apt-get autoremove
Mettre à jour grub
update-grub
Enfin mettre à jour vos paquets système
apt-get update
la source
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 une opération dangereuse , enregistrez vos données importantes sur un autre support avant de le faire!
la source