Partição de inicialização completa no CentOS 6

2

Estou encontrando um problema usando yum update em que / boot não tem espaço livre suficiente para continuar. Eu li sobre alguns outros posts e as respostas mais úteis que encontrei indicam que a maneira mais segura e eficiente de resolver o problema é usar o yum-utils e executar a limpeza de pacotes. Infelizmente essa solução não corrigiu o problema que estou tendo. Eu tenho / boot como uma partição de 100MB que eu li é muito espaço.

Eu instalei yum-utils e quando estou executando

package-cleanup --oldkernels --count=1

O resultado é:

Not removing kernel 2.6.32-642.13.1.e16 because it is the running kernel
No old kernels to remove

Os resultados de rpm -qa | grep kernel são:

kernel-devel-2.6.32-642.13.1.el6.i686
kernel-firmware-2.6.32-696.1.1.el6.noarch
dracut-kernel-004-409.el6_8.2.noarch
kernel-headers-2.6.32-696.1.1.el6.i686
kernel-2.6.32-696.1.1.el6.i686
kernel-2.6.32-642.13.1.el6.i686
libreport-plugin-kerneloops-2.0.9-33.el6.centos.i686
kernel-devel-2.6.32-696.1.1.el6.i686
abrt-addon-kerneloops-2.0.8-43.el6.centos.i686

Meu pensamento inicial foi remover tudo que não fosse meu kernel, mas estou hesitante porque a limpeza de pacotes não decidiu que os kernels mais antigos deviam ser removidos.

Fazer ls -ls /boot resulta nisso:

  113 -rw-r--r--. 1 root root   112760 Jan 11 15:26 config-2.6.32-642.13.1.el6.i686
  113 -rw-r--r--. 1 root root   112820 Apr 11 12:43 config-2.6.32-696.1.1.el6.i686
    2 drwxr-xr-x. 3 root root     1024 Dec 20  2016 efi
    2 drwxr-xr-x. 2 root root     1024 Apr 28 22:16 grub
23036 -rw-------. 1 root root 23494547 Jan 20 11:09 initramfs-2.6.32-642.13.1.el6.i686.img
23062 -rw-------. 1 root root 23521098 Apr 28 22:16 initramfs-2.6.32-696.1.1.el6.i686.img
 4526 -rw-------. 1 root root  4613691 Apr 28 22:13 initrd-2.6.32-642.13.1.el6.i686kdump.img
   13 drwx------. 2 root root    12288 Dec 20  2016 lost+found
  209 -rw-r--r--. 1 root root   211920 Jan 11 15:26 symvers-2.6.32-642.13.1.el6.i686.gz
  210 -rw-r--r--. 1 root root   211993 Apr 11 12:43 symvers-2.6.32-696.1.1.el6.i686.gz
 2023 -rw-r--r--. 1 root root  2061183 Jan 11 15:26 System.map-2.6.32-642.13.1.el6.i686
 2026 -rw-r--r--. 1 root root  2064145 Apr 11 12:43 System.map-2.6.32-696.1.1.el6.i686
 4051 -rwxr-xr-x. 1 root root  4128992 Jan 11 15:26 vmlinuz-2.6.32-642.13.1.el6.i686
 4058 -rwxr-xr-x. 1 root root  4136928 Apr 11 12:43 vmlinuz-2.6.32-696.1.1.el6.i686

Não super familiarizado com o que deve estar no diretório / boot e / ou o que é seguro remover. Espero que isso ajude a determinar o que é seguro remover e possa ajudar outras pessoas no futuro.

Eu já editei /etc/yum.conf com installonly_limit=2 do limite original de 5 para evitar que isso ocorra no futuro.

    
por ityler22 09.07.2017 / 16:30

1 resposta

1

Se você realocar seu /boot em seu sistema de arquivos raiz, você ganharia qualquer quantidade de armazenamento que seu sistema de arquivos raiz tivesse, e não seria mais limitado pelo tamanho da partição de inicialização.

Ajustar o carregador de inicialização, GRUB, é uma operação delicada. No processo a seguir, atenuo o risco não fazendo alterações que não possam ser facilmente revertidas. O processo envolve a realocação de /boot e a atualização do carregador de inicialização.

Relocating / boot

Atualmente, /boot está localizado em uma partição separada do sistema de arquivos raiz. Uma maneira segura de realocá-lo é copiar em vez de mover os arquivos:

umount /boot
mount /dev/sd?? /mnt
cp -av /mnt/* /boot/

Copiar os arquivos envolve umount -ing /boot , montá-lo em outro lugar e copiar os arquivos do local montado para /boot .

Em seguida, edite /etc/fstab e comente a linha que monta /boot .

Atualizando o carregador de boot

Antes de atualizar o gerenciador de inicialização, é melhor fazer um teste para garantir que o GRUB possa inicializar a partir de seus arquivos realocados:

  1. Abra /boot/grub/grub.conf e anote as linhas kernel e initrd usadas para inicializar seu kernel do Cent OS. Você vai digitá-los manualmente para o teste.
  2. Reinicie a máquina.
  3. Na tela do GRUB, pressione "c"
  4. No prompt do GRUB, insira find /boot/grub/stage1 . Deve imprimir algo como (hd0,5) . Isso deve corresponder ao disco e à partição do sistema de arquivos raiz.
  5. Insira root (hd0,5) (ou qualquer que seja o comando anterior impresso)
  6. Insira a linha kernel que você anotou. Algo como: kernel /boot/vmlinuz-2.6.18-238.19.1.el5.centos.plusPAE ro root=/dev/sda6
  7. Insira a linha initrd que você anotou. Algo como: initrd /boot/initrd-2.6.18-238.19.1.el5.centos.plusPAE.img
  8. Insira boot para inicializar o kernel.

Se tudo correr bem, o sistema deve inicializar e a partição /boot antiga não deve ser montada, o que você pode confirmar com o comando mount .

Assumindo que funcionou, para tornar o gerenciador de inicialização permanente:

  1. Edite /boot/grub/grub.conf e atualize as linhas root , kernel e initrd à medida que você as inseriu durante o teste.
  2. Execute grub para inserir o prompt do GRUB. Para esclarecer, isso é feito a partir do Cent OS, não reiniciando.
  3. Semelhante ao teste, insira root (hd0,5) (ou seja qual for a partição supostamente)
  4. Execute setup (hd0) , em que hd0 é o disco em que o GRUB instala seu estágio MBR. Pode ser que você esteja usando o MBR de disco ou o primeiro setor de uma partição. Seja qual for, é isso que hd0 deve ser.

Após essas etapas, o GRUB apresentará um menu que inicializará o kernel a partir de seu novo /boot . Observe que sua partição de inicialização ainda está intacta.

Você pode ler um pouco mais sobre o GRUB e o Cent OS aqui: link Preste atenção especial nas anotações e avisos seção.

    
por 20.07.2017 / 17:45