Como liberar espaço no RHEL6 / boot com segurança?

18

Estou tentando fazer yum update na caixa RHEL 6 e estou recebendo esta mensagem de erro

Transaction Check Error:
  installing package kernel-2.6.32-279.9.1.el6.x86_64 needs 10MB on the /boot filesystem
  installing package grub-1:0.97-77.el6.x86_64 needs 10MB on the /boot filesystem

Error Summary
-------------
Disk Requirements:
  At least 10MB more space needed on the /boot filesystem.

Meu / boot tem o seguinte

# ls -lah /boot
total 74M
dr-xr-xr-x.  5 root root 2.0K Jun 10 08:05 .
drwxr-xr-x. 23 root root 4.0K Aug 27 03:08 ..
-rw-r--r--   1 root root  99K Apr 26 12:53 config-2.6.32-220.17.1.el6.x86_64
-rw-r--r--   1 root root  99K Feb 10  2012 config-2.6.32-220.7.1.el6.x86_64
-rw-r--r--.  1 root root  99K Nov  9  2011 config-2.6.32-220.el6.x86_64
drwxr-xr-x.  3 root root 1.0K Mar 29  2012 efi
drwxr-xr-x.  2 root root 1.0K Jun 10 07:53 grub
-rw-r--r--   1 root root  15M Jun 10 07:53 initramfs-2.6.32-220.17.1.el6.x86_64.img
-rw-r--r--   1 root root  15M Mar 29  2012 initramfs-2.6.32-220.7.1.el6.x86_64.img
-rw-r--r--.  1 root root  15M Mar 29  2012 initramfs-2.6.32-220.el6.x86_64.img
-rw-------   1 root root 3.4M Jun 10 08:06 initrd-2.6.32-220.17.1.el6.x86_64kdump.img
-rw-------   1 root root 3.5M Jun 10 07:53 initrd-2.6.32-220.7.1.el6.x86_64kdump.img
-rw-------   1 root root 3.4M Mar 29  2012 initrd-2.6.32-220.el6.x86_64kdump.img
drwx------.  2 root root  12K Mar 29  2012 lost+found
-rw-r--r--   1 root root 168K Apr 26 12:55 symvers-2.6.32-220.17.1.el6.x86_64.gz
-rw-r--r--   1 root root 168K Feb 10  2012 symvers-2.6.32-220.7.1.el6.x86_64.gz
-rw-r--r--.  1 root root 168K Nov  9  2011 symvers-2.6.32-220.el6.x86_64.gz
-rw-r--r--   1 root root 2.3M Apr 26 12:53 System.map-2.6.32-220.17.1.el6.x86_64
-rw-r--r--   1 root root 2.3M Feb 10  2012 System.map-2.6.32-220.7.1.el6.x86_64
-rw-r--r--.  1 root root 2.3M Nov  9  2011 System.map-2.6.32-220.el6.x86_64
-rwxr-xr-x   1 root root 3.8M Apr 26 12:53 vmlinuz-2.6.32-220.17.1.el6.x86_64
-rw-r--r--   1 root root  171 Apr 26 12:53 .vmlinuz-2.6.32-220.17.1.el6.x86_64.hmac
-rwxr-xr-x   1 root root 3.8M Feb 10  2012 vmlinuz-2.6.32-220.7.1.el6.x86_64
-rw-r--r--   1 root root  170 Feb 10  2012 .vmlinuz-2.6.32-220.7.1.el6.x86_64.hmac
-rwxr-xr-x.  1 root root 3.8M Nov  9  2011 vmlinuz-2.6.32-220.el6.x86_64
-rw-r--r--.  1 root root  166 Nov  9  2011 .vmlinuz-2.6.32-220.el6.x86_64.hmac

aqui está o uso do disco na inicialização

# du -h
13K ./lost+found
282K    ./grub
247K    ./efi/EFI/redhat
249K    ./efi/EFI
251K    ./efi
75M .

O problema é que quando eu recebi este severer no meu ISP eu usei sua imagem padrão para o RHEL 6, que aloca apenas 100MB para / boot, claramente, isso não é suficiente. Como posso contornar este problema, é seguro excluir qualquer um dos arquivos acima, alguns deles parecem estar no disco mais de uma vez? Existe alguma maneira de expandir / boot sem re-imagem da máquina?

    
por ams 16.10.2012 / 22:31

3 respostas

17

O comando a seguir removerá as versões do kernel ALL , exceto para a que você está executando no momento:

sudo yum remove 'rpm -q kernel | grep -v 'uname -r''

e para o futuro, por ⁠7.4. Configurando Repositórios Yum e Yum :

⁠installonly_limit=value

…where value is an integer representing the maximum number of versions that can be installed simultaneously for any single package listed in the installonlypkgs directive. The defaults for the installonlypkgs directive include several different kernel packages, so be aware that changing the value of installonly_limit will also affect the maximum number of installed versions of any single kernel package. The default value listed in /etc/yum.conf is installonly_limit=3, and it is not recommended to decrease this value, particularly below 2.

    
por 16.10.2012 / 22:35
30

De acordo com a recomendação de MadHatter aqui . Vou postar minha resposta aqui como um adendo às respostas aqui para que possa ser usado em conjunto com as respostas sugeridas aqui.

Extraído dos seguintes website

## Install yum utils ##
yum install yum-utils

## Package-cleanup set count as how many old kernels you want left ##
package-cleanup --oldkernels --count=2

Isto removerá todos os kernels antigos e manterá apenas os dois kernels mais recentes no centos 6.4, que é provavelmente o que você quer, já que os kernels recentes contêm correções de bugs e você sempre pode fazer failover para os kernels mais antigos se os novos falharem na inicialização. O comando acima significa que você não precisa ir e dizer rpm -e xyz, onde xyz é seu kernel específico, pois mantém automaticamente os mais novos.

Note que o comando acima apenas limpa os pacotes existentes, então é necessário editar seu yum.conf se você não quiser começar a acumular pacotes do kernel novamente.

    
por 18.12.2013 / 15:34
9

Exclua pelo menos um dos kernels antigos, como disse alexus.

Então:

Edite /etc/yum.conf e especifique o limite do número de versões do kernel a serem mantidas. É definido como 5 por padrão, mas seu sistema parece ser capaz de lidar com apenas dois:

installonly_limit=2

Finalmente, reclame para o provedor de VPS sobre o modelo estranho. /boot é 500MB por padrão em uma instalação do CentOS 6.

    
por 16.10.2012 / 22:42