Existe uma maneira simples de criar uma imagem RHEL “pré-remendada”?

2

Atualmente, praticamente todos os sistemas operacionais de desktop são projetados para obter constantemente novas atualizações de segurança da Internet. É um recurso excelente e muito necessário, e as ferramentas para gerenciar atualizações em um ambiente corporativo ou de laboratório em rede também são bastante maduras.

No entanto, tenho um ambiente em que a conectividade com o mundo externo é limitada ou inexistente, mas a segurança do sistema ainda é uma alta prioridade.

Nosso procedimento padrão para atualizar o software é recriar imagens de todas as estações de trabalho a partir de cada nova versão do nosso software, usando um kickstart baseado na mais recente imagem disponível do RHEL. Mas pode haver cerca de um ano entre os lançamentos do RHEL, enquanto novas atualizações de segurança são lançadas todos os dias. Dado o nosso ambiente e requisitos, nossa preferência seria enviar uma imagem que seja o mais próximo possível do "RHEL totalmente atualizado de hoje" em nosso dia de lançamento.

(A correção de sistemas in-loco entre o ciclo de atualização é geralmente um último recurso devido a preocupações de estabilidade e credenciamento. Ser capaz de distribuir uma imagem atualizada e totalmente testada é o objetivo.)

Em suma,

  • Existe uma maneira fácil de fazer download ou empacotamento automático de uma imagem de instalação do RHEL que inclua não apenas o release mais recente, mas também todos os patches de segurança incrementais?
  • Alguma coisa assim já foi feita antes ou precisaríamos basicamente implementar nossa própria solução do zero?
por Alex P 30.11.2016 / 20:37

1 resposta

0

Consegui integrar atualizações de segurança do RHEL em uma imagem de kickstart personalizada usando o seguinte procedimento:

  1. Configure um espelho do RHEL com uma profundidade de histórico de 1.

  2. Ao construir a imagem do kickstart, copie os dados do repositório para seu próprio diretório no disco.

    pseudo-código do script de compilação ISO:

    #!/bin/bash pseudo-code
    
    # make a copy of the RHEL system image
    mount rhel-7-server-dvd.iso /tmp/rhelbaseiso
    cp -a /tmp/rhelbaseiso /tmp/rheliso
    
    # add your own custom kickstart files
    cp myimage/ks.cfg /tmp/rheliso/.
    cp -f myimage/isolinux.bin /tmp/rheliso/isolinux/isolinux.bin
    
    # copy files from repo mirror
    mkdir /tmp/rheliso/rhelUpdatePackages
    cp -a /myrhelmirror/repos/rhel7/rhel-7-server-rpms/* rhelUpdatePackages
    
    # TODO add any custom packages to their own directory, and run createrepo on it
    
    # build the iso image
    mkisofs -rDfJV "DISK NAME" -b isolinux/isolinux.bin \
            -c isolinux/boot.cat     \
            -no-emul-boot            \
            -boot-load-size 4        \
            -boot-info-table         \
            -graft-points            \
            -eltorito-alt-boot       \
            -e images/efiboot.img    \
            -no-emul-boot            \
            -o custom_rhel.iso  /tmp/rheliso
    
    # TODO unmount and clean up
    
  3. Diga ao kickstart para usar o repositório de atualizações como um repositório adicional:

    ...
    repo --name="rhel_update"  --baseurl="file:///run/install/repo/rhelUpdatePackages"
    repo --name="your_own_software"  --baseurl="file:///run/install/repo/customPackages"
    ...
    

Isto parece ser suficiente para fazer o Yum / Anaconda puxar os pacotes apropriadamente atualizados durante a instalação do sistema. Quando instalado, o sistema terá um software atualizado "pronto para uso", sem a necessidade de se conectar a um repositório de atualizações.

(Funciona para instalação inicializável em Blu-Ray, USB-HD ou LAN. É necessário um esforço adicional para reduzir o tamanho da imagem se você precisar encaixá-la em um DVD inicializável.)

    
por 21.03.2017 / 21:32