la partition de démarrage est presque pleine dans CentOS

23

J'ai reçu un avertissement indiquant que ma partition / boot est presque pleine (85%). Que devrais-je faire? Puis-je supprimer l'un des noyaux de sauvegarde? Comment le faire en toute sécurité?

Ma partition en ce moment

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             10321208    719856   9077064   8% /
tmpfs                  4015460         0   4015460   0% /dev/shm
/dev/sda1               101133     80781     15130  85% /boot
/dev/sda8            253782660  47668764 193222404  20% /home
/dev/sda7              1032088    535840    443820  55% /tmp
/dev/sda3             10321208   4823740   4973180  50% /usr
/dev/sda5             10321208   1807284   7989636  19% /var

Le noyau que j'ai

root@server1 [/boot]# rpm -q kernel
kernel-2.6.32-358.el6.x86_64
kernel-2.6.32-358.18.1.el6.x86_64
kernel-2.6.32-358.23.2.el6.x86_64

Le répertoire / Boot

root@server1 [/boot]# ls -la /boot
total 78741
dr-xr-xr-x.  5 root root     2048 Dec  3 05:33 ./
drwxr-xr-x. 23 root root     4096 Dec  4 05:46 ../
-rw-r--r--   1 root root   104112 Aug 28 12:43 config-2.6.32-358.18.1.el6.x86_64
-rw-r--r--   1 root root   104112 Oct 16 14:01 config-2.6.32-358.23.2.el6.x86_64
-rw-r--r--.  1 root root   104081 Feb 21  2013 config-2.6.32-358.el6.x86_64
drwxr-xr-x.  3 root root     1024 Sep 20 20:15 efi/
drwxr-xr-x.  2 root root     1024 Oct 21 15:06 grub/
-rw-r--r--   1 root root 16191847 Sep 20 20:21 initramfs-2.6.32-358.18.1.el6.x86_64.img
-rw-r--r--   1 root root 16261655 Oct 21 15:06 initramfs-2.6.32-358.23.2.el6.x86_64.img
-rw-r--r--.  1 root root 16187335 Sep 20 20:16 initramfs-2.6.32-358.el6.x86_64.img
-rw-------   1 root root  3698835 Sep 20 20:27 initrd-2.6.32-358.18.1.el6.x86_64kdump.img
-rw-------   1 root root  3983771 Dec  3 05:33 initrd-2.6.32-358.23.2.el6.x86_64kdump.img
-rw-------   1 root root  3695290 Sep 20 20:21 initrd-2.6.32-358.el6.x86_64kdump.img
drwx------.  2 root root    12288 Sep 20 20:13 lost+found/
-rw-r--r--   1 root root   185949 Aug 28 12:44 symvers-2.6.32-358.18.1.el6.x86_64.gz
-rw-r--r--   1 root root   185978 Oct 16 14:02 symvers-2.6.32-358.23.2.el6.x86_64.gz
-rw-r--r--.  1 root root   185734 Feb 21  2013 symvers-2.6.32-358.el6.x86_64.gz
-rw-r--r--   1 root root  2408641 Aug 28 12:43 System.map-2.6.32-358.18.1.el6.x86_64
-rw-r--r--   1 root root  2408974 Oct 16 14:01 System.map-2.6.32-358.23.2.el6.x86_64
-rw-r--r--.  1 root root  2407466 Feb 21  2013 System.map-2.6.32-358.el6.x86_64
-rwxr-xr-x   1 root root  4046224 Aug 28 12:43 vmlinuz-2.6.32-358.18.1.el6.x86_64*
-rw-r--r--   1 root root      171 Aug 28 12:43 .vmlinuz-2.6.32-358.18.1.el6.x86_64.hmac
-rwxr-xr-x   1 root root  4047152 Oct 16 14:01 vmlinuz-2.6.32-358.23.2.el6.x86_64*
-rw-r--r--   1 root root      171 Oct 16 14:01 .vmlinuz-2.6.32-358.23.2.el6.x86_64.hmac
-rwxr-xr-x.  1 root root  4043888 Feb 21  2013 vmlinuz-2.6.32-358.el6.x86_64*
-rw-r--r--.  1 root root      166 Feb 21  2013 .vmlinuz-2.6.32-358.el6.x86_64.hmac

Le noyau que j'utilise

root@server1 [/boot]# uname -a
Linux server1 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Testeur
la source
4
Pourquoi a-t-il été marqué comme doublon? L'autre question ne concerne même pas yum. Je ne doute pas qu'il s'agisse d'un doublon, mais pas de cette question particulière.
Bratchley

Réponses:

48

Procédez comme suit pour conserver uniquement les 2 derniers noyaux sur votre système, pour garder / démarrer propre

1 - Modifiez /etc/yum.confet définissez le paramètre suivant

installonly_limit=2

Cela fera que votre gestionnaire de paquets ne gardera que les 2 derniers noyaux de votre système (y compris celui qui est en cours d'exécution)

2 - Installer yum-utils:

yum install yum-utils

3- Faire un nettoyage oldkernel:

package-cleanup --oldkernels --count=2

Terminé. Cela effacera de manière appropriée les anciens noyaux et n'en conservera que les 2 derniers pour les prochaines mises à niveau.

Pour les cas particuliers où vous avez vmlinuz-0-rescue-*et des initramfs-0-rescue-*fichiers utilisant trop d'espace disque, veuillez jeter un œil à cette question sur U&L:


la source
Merci nwildner! Puis-je le faire maintenant? Dois-je redémarrer le système après cela? Dois-je sauvegarder toutes mes données?
Tester
Oui, vous pouvez. Une sauvegarde de votre / boot, par précaution, pourrait être une bonne chose à faire. Vous n'aurez pas besoin de redémarrer, car l'étape 3 effacera le noyau le plus ancien, sauf si vous l'exécutez maintenant. La première étape, rendra cette configuration permanente;)
Mais ce n'est pas toujours suffisant. J'ai suivi ces étapes et j'ai constaté que je n'avais déjà que 2 noyaux - le problème pour moi était un fichier "initramfs-0-rescue" de 60 Mo qui avait 5 mois. Supprimé cela et tout allait bien.
Codemonkey
1
Salut @Codemonkey. J'ai mis à jour ma réponse avec des détails sur les fichiers de secours ...
10

Vous pouvez supprimer les anciens noyaux en toute sécurité en procédant comme suit:

# Install the yum-utils if they aren't installed
yum install yum-utils
# Cleanup old kernels and don't keep more than 2
package-cleanup --oldkernels --count=2

Et si vous le souhaitez, vous pouvez toujours limiter cela en procédant comme suit dans /etc/yum.conf

installonly_limit=2
sparticvs
la source
Après avoir vu la réponse de Joel Davis, je serais également d'accord avec lui. Vérifiez ce qui utilise vraiment tout cet espace.
sparticvs
Si vous regardez le sien lset additionnez les fichiers, c'est environ 25 Mo par noyau, principalement dans initramfs.
cjm
Oui, j'avais l'impression que ce pourrait être les fichiers initramfs. Le nettoyage ci-dessus devrait également les supprimer.
sparticvs
@sparticvs, j'ai vérifié -rw-r--r-- 1 root root 16191847 Sep 20 20:21 initramfs-2.6.32-358.18.1.el6.x86_64.img -rw-r--r-- 1 root root 16261655 Oct 21 15:06 initramfs-2.6.32-358.23.2.el6.x86_64.img -rw-r--r--. 1 root root 16187335 Sep 20 20:16 initramfs-2.6.32-358.el6.x86_64.imgutiliser beaucoup d'espace.
Tester
@sparticvs, puis-je le faire maintenant? Dois-je redémarrer le système après cela? Dois-je sauvegarder toutes mes données?
Tester
2

Les images du noyau sont en fait très petites:

[root@ditirlns01 ~]# ls -lh /boot/vmlinuz-2.6.18-3*
-rw-r--r-- 1 root root 2.2M May  4  2012 /boot/vmlinuz-2.6.18-308.8.1.el5xen
-rw-r--r-- 1 root root 2.2M Jul 27 01:43 /boot/vmlinuz-2.6.18-348.16.1.el5xen
-rw-r--r-- 1 root root 2.2M Mar 22  2013 /boot/vmlinuz-2.6.18-348.4.1.el5xen

Il y a évidemment plus dans le paquetage du noyau, mais c'est la partie sur /bootlaquelle vous vous inquiétez.

Donc, avec une /bootpartition de 100 Mo , la suppression d'un noyau de 2-3 Mo ne vous mènera probablement pas très loin.

100 Mo sont généralement bien plus que ce dont les gens ont besoin. Je ferais assez d' du -shinvocations pour que vous puissiez voir ce qui prend tout cet espace, car vous ne devriez même pas être sur le point d'utiliser 100 Mo sur ce point de montage:

[root@ditirlns01 ~]# df -h /boot
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1             99M   34M   60M  37% /boot

Qui est avec trois noyaux installés:

[root@ditirlns01 ~]# rpm -qa kernel*
kernel-xen-2.6.18-348.16.1.el5
kernel-xen-2.6.18-348.4.1.el5
kernel-headers-2.6.18-348.16.1.el5
kernel-xen-2.6.18-308.8.1.el5
[root@ditirlns01 ~]#

Je suis prêt à parier que quelqu'un a mis un fichier sur /bootun mouvement temporaire et a oublié de le retirer plus tard.

Bratchley
la source
3
Mais il y a les fichiers initramfs, bien plus gros que les fichiers du noyau. En regardant @Don ls, ils utilisent 14 Mo.
ah ouais je vois ça maintenant. Eh bien, je vais laisser ma réponse et juste voter pour vos gars ''
Bratchley
0

Que devrais-je faire?

si vous faites uname -aqui compte votre actuellement la version en cours d' exécution.

Par votre publication, je suppose que c'est 2.6.32-358.23.2.el6.x86_64votre version actuelle, alors déplacez toutes les anciennes vers une autre partition où il y a suffisamment d'espace pour enregistrer, faites quelque chose comme:

mkdir /root/oldkernels
mv   /boot/initramfs-2.6.32-358.18.1.el6.x86_64.img    /root/oldkernels

Le /boot/efi/EFI/centos/grub.cfgfichier que vous souhaitez vérifier et il sera assez facile de lire le code du menu, celui du haut sera celui par défaut que vous voyez lors du démarrage et recherchez également celui de secours ; vous en aurez probablement plusieurs répertoriés. C'est ici que vous pouvez également vérifier quelle version vous utilisez réellement.

Je garde généralement le dernier (en haut) et le sauvetage (en bas) grub.cfg. Sachez que le réel grub.cfg(dans votre cas car je vois le dossier efi) est dedans /boot/efi/EFI/centos/grub.cfg. Vous ne modifiez pas ce fichier directement, mais je regarderais ce fichier pour vérifier les fichiers en cours de démarrage car c'est ce grub.cfg qui est utilisé lors du démarrage.

Le sauvetage est généralement la version du noyau remontant à l'installation du système, qui peut être de nombreuses versions avant ce que vous exécutez peut-être maintenant. Pour une option de sauvetage, ce qui est probablement une bonne idée à long terme, il vous suffit de la pointer vers une version fiable et fonctionnelle afin que le système démarre au moins et que vous puissiez éditer des fichiers sur le disque si un nouveau noyau venait à tomber. après l'installation et ne démarre pas ou ne fonctionne pas. Fondamentalement, vous voulez au moins 2 options de démarrage dans le menu grub, votre dernière et ensuite une version fiable.

vous éditez /etc/default/grub.cfget modifiez ce fichier; faites le menu comme vous le souhaitez simplement en commentant ceux que vous ne voulez pas avec un #, puis faites ungrub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

KDUMP est le problème

Et à partir des initrd-2.6.32-358.18.1.el6.x86_64kdump.imgfichiers ayant kdump dans le nom, il semble que kdump soit activé. À moins que vous ne l'utilisiez, vous pouvez désactiver kdump qui vous aidera à économiser de l'espace. Et à moins que vous ne déboguiez des plantages du système, etc., vous n'avez pas besoin des *kdump.imgfichiers pour pouvoir les supprimer. Je n'utilise pas kdump, jamais, mais il est activé par défaut lors de l'installation et je soupçonne par défaut d'enregistrer dans votre dossier / boot; qui si seulement 100mb est mauvais. Donc, soit modifiez kdump pour vider ailleurs, soit vous ne l'utilisez probablement pas, désactivez donc kdump.

Ron
la source