Qual é o método recomendado para preparar modelos Red Hat / CentOS 7?

6

Se eu precisar implantar o Red Hat 7 a partir do modelo, gostaria de seguir as etapas recomendadas para tornar minha "imagem de ouro" limpa. Ele deve iniciar o primeiro prompt de inicialização e guiar o usuário pelas etapas típicas.

No Red Hat 5/6, eu seguiu a documentação fornecida pelo fornecedor. No entanto, não consigo encontrar o equivalente para o Red Hat 7. Especificamente, touch /.unconfigured não aciona a primeira configuração de inicialização.

9.3.1. Sealing a Linux Virtual Machine for Deployment as a Template

Summary
Generalize (seal) a Linux virtual machine before making it into a template. This prevents conflicts between virtual machines deployed from the template.

Procedure 9.6. Sealing a Linux Virtual Machine

Log in to the virtual machine. Flag the system for re-configuration by running the following command as root:

  1. # touch /.unconfigured
  2. Remove ssh host keys. Run:
    # rm -rf /etc/ssh/ssh_host_*
  3. Set HOSTNAME=localhost.localdomain in /etc/sysconfig/network
  4. Remove /etc/udev/rules.d/70-*. Run:
    # rm -rf /etc/udev/rules.d/70-*
  5. Remove the HWADDR= and UUID= line from /etc/sysconfig/network-scripts/ifcfg-eth*.
  6. Optionally delete all the logs from /var/log and build logs from /root.
  7. Shut down the virtual machine. Run:
    # poweroff

Editar: etapas 1 e amp; 7 pode ser combinado executando sys-unconfig last. Ou então, dê uma olhada em virt-sysprep de libguestfs-tools-c que faz muito, muito mais.

 [user@hostname ~]$ virt-sysprep --list-operations
 abrt-data * Remove the crash data generated by ABRT
 bash-history * Remove the bash history in the guest
 blkid-tab * Remove blkid tab in the guest
 ca-certificates   Remove CA certificates in the guest
 crash-data * Remove the crash data generated by kexec-tools
 cron-spool * Remove user at-jobs and cron-jobs
 delete * Delete specified files or directories
 dhcp-client-state * Remove DHCP client leases
 dhcp-server-state * Remove DHCP server leases
 dovecot-data * Remove Dovecot (mail server) data
 firewall-rules   Remove the firewall rules
 firstboot * Add scripts to run once at next boot
 flag-reconfiguration   Flag the system for reconfiguration
 hostname * Change the hostname of the guest
 kerberos-data   Remove Kerberos data in the guest
 logfiles * Remove many log files from the guest
 lvm-uuids * Change LVM2 PV and VG UUIDs
 machine-id * Remove the local machine ID
 mail-spool * Remove email from the local mail spool directory
 net-hostname * Remove HOSTNAME in network interface configuration
 net-hwaddr * Remove HWADDR (hard-coded MAC address) configuration
 pacct-log * Remove the process accounting log files
 package-manager-cache * Remove package manager cache
 pam-data * Remove the PAM data in the guest
 password * Set root or user password
 puppet-data-log * Remove the data and log files of puppet
 random-seed * Generate random seed for guest
 rhn-systemid * Remove the RHN system ID
 rpm-db * Remove host-specific RPM database files
 samba-db-log * Remove the database and log files of Samba
 script * Run arbitrary scripts against the guest
 smolt-uuid * Remove the Smolt hardware UUID
 ssh-hostkeys * Remove the SSH host keys in the guest
 ssh-userdir * Remove ".ssh" directories in the guest
 sssd-db-log * Remove the database and log files of sssd
 tmp-files * Remove temporary files
 udev-persistent-net * Remove udev persistent net rules
 user-account   Remove the user accounts in the guest
 utmp * Remove the utmp file
 yum-uuid * Remove the yum UUID
    
por Aaron Copley 08.09.2014 / 03:59

1 resposta

4

O que pensamos como configuração inicial é, na verdade, em três partes. Os dois primeiros são:

  • Configuração inicial, que pede para você aceitar a licença e criar um usuário
  • Firstboot, que pede para você configurar o kdump e (no RHEL) configurar sua assinatura

Ambos agora estão habilitados via systemd; depois de concluídos, eles se desabilitam.

Portanto, tudo o que você precisa fazer é remover qualquer usuário local criado durante o primeiro processo de Configuração inicial e reativar esses serviços:

systemctl enable initial-setup-graphical.service
systemctl enable firstboot-graphical.service
> /etc/sysconfig/firstboot

e reinicie.

Não tenho certeza absoluta sobre a terceira parte, que pede seu idioma e cria uma conta de usuário ou para ingressar a máquina em um domínio. Isso, pelo menos, continuará voltando até você completar o assistente. (Então não faça isso.)

Ainda pode ser uma boa ideia limpar as chaves do host e qualquer configuração específica do hardware. (Endereços do Mac em regras do udev e arquivos de configuração de interface.)

    
por 08.09.2014 / 04:40