partição de inicialização está quase cheia no CentOS


22

Recebi um aviso de que minha partição / boot está quase cheia (85%). O que devo fazer? Posso remover um dos kernel de backup? Como fazer isso com segurança?

Minha partição agora

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

O Kernel que tenho

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

O diretório / 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

O Kernel que estou usando

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

4
Por que isso foi marcado como duplicado? A outra pergunta nem é sobre yum. Não duvido que seja uma duplicata, mas não dessa questão em particular.
— Bratchley

Respostas:


47

Faça o seguinte para manter apenas os 2 últimos kernels no seu sistema, para manter / inicializar limpo

1 - Edite /etc/yum.confe defina o seguinte parâmetro

installonly_limit=2

Isso fará com que seu gerenciador de pacotes mantenha apenas os 2 últimos kernels do seu sistema (incluindo o que está sendo executado)

2 - Instalar yum-utils:

yum install yum-utils

3- Faça uma limpeza do kernel antigo:

package-cleanup --oldkernels --count=2

Feito. Isso apagará de boa maneira os kernels antigos e manterá apenas os dois últimos para as próximas atualizações.

Para casos especiais em que você tem vmlinuz-0-rescue-*e initramfs-0-rescue-*arquivos usando muito espaço em disco, por favor dê uma olhada nesta pergunta sobre L & L:


Obrigado nwildner! Posso fazer isso agora? Preciso reiniciar o sistema depois de fazer isso? Preciso fazer backup de todos os meus dados?
— Testador

Sim você pode. Um backup do seu / boot, apenas por precaução, pode ser uma boa coisa a fazer. Você não precisará reiniciar, pois a etapa 3 apagará o kernel mais antigo, a menos que você esteja executando agora. O primeiro passo, vai fazer esta configuração permanente;)

Embora isso nem sempre seja suficiente. Eu segui estas etapas e descobri que já tinha apenas 2 kernels - o problema para mim era um arquivo "initramfs-0-rescue" de 60 MB com 5 meses de idade. Excluiu isso e estava tudo bem.
— Codemonkey 19/02

1
Hey @Codemonkey. Atualizei minha resposta com detalhes sobre arquivos de resgate ...

10

Você pode excluir kernels antigos com segurança, fazendo o seguinte:

# 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

E, se desejar, você pode limitar isso sempre fazendo o seguinte em /etc/yum.conf

installonly_limit=2

Depois de ver a resposta de Joel Davis, eu também concordo com ele. Verifique para ver o que realmente está usando todo esse espaço.
— Sparticvs

Se você olhar para ele lse adicionar os arquivos, são cerca de 25 MB por kernel, principalmente no initramfs.
— Cjm

Sim, eu tinha a sensação de que poderia ser os arquivos initramfs. A limpeza acima também deve removê-los.
— Sparticvs

@sparticvs, verifiquei -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.imgusar muito espaço.
— Testador

@sparticvs, posso fazê-lo agora? Preciso reiniciar o sistema depois de fazer isso? Preciso fazer backup de todos os meus dados?
— Testador

2

As imagens do kernel são realmente muito pequenas:

[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

Obviamente, há mais no pacote do kernel, mas essa é a parte em /bootque é sua preocupação.

Portanto, com uma /bootpartição de 100 MB , excluir um kernel de 2-3 MB provavelmente não o levará muito longe.

100MB é geralmente muito mais do que as pessoas precisam. Eu faria du -shinvocações suficientes para que você possa ver o que está ocupando todo esse espaço, porque você nem deveria estar chegando perto de usar 100 MB nesse ponto de montagem:

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

Que é com três núcleos instalados:

[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 ~]#

Estou disposto a apostar que alguém colocou um arquivo /bootcomo uma mudança temporária e esqueceu de removê-lo mais tarde.


3
Mas existem os arquivos initramfs, que são bem maiores que os arquivos do kernel. Olhando para @ Don ls, eles usam 14 MB.

ah sim, eu estou vendo isso agora. Oh bem, eu vou deixar minha resposta e apenas votar em seus caras '
— Bratchley

0

O que devo fazer?

se você fizer um uname -aque relatará sua versão em execução no momento .

De acordo com a sua postagem, presumo que essa seja a 2.6.32-358.23.2.el6.x86_64sua versão atual; portanto, mova todas as antigas para outra partição em que haja espaço suficiente para economizar, faça algo como:

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

O /boot/efi/EFI/centos/grub.cfgarquivo que você deseja verificar e será fácil ler o código do menu, o superior será o padrão que você vê ao inicializar e também procura o de resgate ; você provavelmente terá vários listados. É aqui que você também pode verificar qual versão está realmente executando.

Normalmente, apenas mantenho a mais recente (na parte superior) e o resgate (na parte inferior) grub.cfg. Conhecer o verdadeiro grub.cfg(no seu caso, porque eu vejo a pasta EFI) está em /boot/efi/EFI/centos/grub.cfg. Você não edita esse arquivo diretamente, mas eu examinaria esse arquivo para verificar se os arquivos foram inicializados porque é esse grub.cfg que é usado durante a inicialização.

O resgate geralmente é a versão do kernel voltando à instalação do sistema, que pode ser muitas versões anteriores ao que você pode estar executando agora. Para uma opção de resgate, que provavelmente é uma boa idéia a longo prazo, basta apontá-la para uma versão confiável e funcional, para que o sistema seja inicializado pelo menos e você possa editar arquivos no disco, caso um novo kernel desapareça depois de instalar e não inicializar ou não funcionar. Basicamente, você deseja pelo menos 2 opções de inicialização no menu grub, a mais recente e, em seguida, alguma versão confiável para recorrer.

você edita /etc/default/grub.cfge modifica este arquivo; faça o menu como quiser, simplesmente comentando os que você não deseja com a e #, em seguida, faça umgrub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

KDUMP é o problema

E a partir dos initrd-2.6.32-358.18.1.el6.x86_64kdump.imgarquivos com o kdump no nome, parece que você tem o kdump ativado. A menos que você o use, você pode desativar o kdump, o que ajudará a economizar espaço. E, a menos que você esteja depurando falhas do sistema e similares, você não precisa dos *kdump.imgarquivos para poder excluí-los. Eu não uso o kdump, nunca o usei, mas ele está ativado por padrão durante a instalação e suspeito que, por padrão, salve na sua pasta / boot; que se apenas 100mb é ruim. Portanto, modifique o kdump para despejar em outro lugar ou você provavelmente não o usará, portanto desative o kdump.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.