Каков рекомендуемый метод для подготовки шаблонов Red Hat/CentOS 7?

Если мне нужно развернуть Red Hat 7 из шаблона, я хотел бы предпринять рекомендуемые шаги, чтобы очистить мое "золотое изображение". Он должен загрузиться до первой подсказки загрузки и провести пользователя через типичные шаги.

В Red Hat 5/6 я следовал документации, предоставленной поставщиком. Однако я не могу найти эквивалент для Red Hat 7. В частности, touch /.unconfigured не запускает первую настройку загрузки.

9.3.1. Запечатывание виртуальной машины Linux для развертывания в качестве шаблона

Резюме
Обобщите (запечатайте) виртуальную машину Linux перед тем, как превратить ее в шаблон. Это предотвращает конфликты между виртуальными машинами, развернутыми из шаблона.

Процедура 9.6. Запечатывание виртуальной машины Linux

Войдите в виртуальную машину. Отметьте систему для переконфигурации, выполнив следующую команду от имени root:

  1. # touch /.unconfigured
  2. Удалите ключи хоста ssh. Бежать:
    # rm -rf /etc/ssh/ssh_host_*
  3. Задавать HOSTNAME=localhost.localdomain в /etc/sysconfig/network
  4. Удалите /etc/udev/rules.d/70-*. Бежать:
    # rm -rf /etc/udev/rules.d/70-*
  5. Удалите строку HWADDR= и UUID= из /etc/sysconfig/network-scripts/ifcfg-eth*,
  6. При желании удалить все журналы из /var/log и строить журналы из /root,
  7. Завершите работу виртуальной машины. Бежать:
    # poweroff

Изменить: шаги 1 и 7 можно объединить, запустив sys-unconfig прошлой. Или посмотрите на virt-sysprep из libguestfs-tools-c, который делает намного больше.

 [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

1 ответ

Решение

То, что мы считаем начальной установкой, на самом деле состоит из трех частей. Первые два:

  • Начальная настройка, которая просит вас принять лицензию и создать пользователя
  • Первая загрузка, которая просит вас настроить kdump и (на RHEL) настроить вашу подписку

Оба из них теперь включены через systemd; после завершения они отключают себя.

Итак, все, что вам нужно сделать, это удалить всех локальных пользователей, созданных во время первого процесса начальной установки, и снова включить эти службы:

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

и перезагрузите компьютер.

Я не совсем уверен в третьей части, которая спрашивает вас о вашем языке и о создании учетной записи пользователя или о присоединении компьютера к домену. По крайней мере, это будет продолжаться до тех пор, пока вы на самом деле не завершите работу мастера. (Так что не делай этого.)

Это все еще может быть хорошей идеей для очистки ключей хоста и любой конкретной аппаратной конфигурации. (Mac-адреса в правилах udev и файлах конфигурации интерфейса.)

Другие вопросы по тегам