1
resposta

Criar um playbook para limpar o /boot

o /boot está com pouco espaço, então resolvi consultar a IA para me ajudar a fazer um playbook para limpar algumas vms:

Vou testar ainda, mas primeiro vou rever os passos do curso. O que acham?

---
- name: Gerenciar e limpar kernels no Oracle Linux
  hosts: all
  become: true
  tasks:
    - name: Verificar se o pacote kernel está instalado
      shell: rpm -q kernel
      register: kernel_check
      failed_when: false

    - name: Instalar o pacote kernel se não estiver presente
      yum:
        name: kernel
        state: present
      when: kernel_check.rc != 0

    - name: Listar kernels instalados
      command: rpm -q kernel
      register: kernel_list

    - name: Identificar o kernel atual em uso
      command: uname -r
      register: current_kernel

    - name: Remover kernels antigos, exceto o kernel ativo
      yum:
        name: "{{ item }}"
        state: absent
      loop: "{{ kernel_list.stdout_lines }}"
      when: "'kernel-' ~ current_kernel.stdout not in item"

    - name: Limpar arquivos órfãos no /boot
      file:
        path: "{{ item }}"
        state: absent
      loop: "{{ lookup('ansible.utils.find', '/boot/*') }}"
      when: "'vmlinuz-' not in item and 'initramfs-' not in item"
1 resposta

Olá, Pascoal!

Seu playbook parece bem estruturado para a tarefa de limpar o diretório /boot removendo kernels antigos. Aqui estão algumas sugestões e pontos a considerar:

  1. Verificação do Kernel Atual: Você já está identificando o kernel em uso com uname -r, o que é essencial para evitar a remoção do kernel ativo. Isso está correto.

  2. Remoção de Kernels Antigos: O uso do loop para iterar sobre os kernels instalados e remover aqueles que não são o kernel atual é uma abordagem eficaz.

  3. Limpeza de Arquivos Órfãos: A tarefa de limpar arquivos órfãos no /boot está bem pensada. No entanto, certifique-se de que os padrões de exclusão ('vmlinuz-' e 'initramfs-') estão corretos e abrangem todos os arquivos que você deseja manter.

  4. Teste em Ambiente Seguro: Antes de aplicar em um ambiente de produção, é sempre uma boa prática testar em um ambiente seguro ou em máquinas virtuais para garantir que tudo funcione como esperado.

  5. Backup: Considere fazer um backup dos arquivos do /boot antes de executar o playbook, caso precise restaurar algo.

Bons estudos!