准备Red Hat / CentOS 7模板的推荐方法是什么?

Modified on: Sat, 18 May 2019 19:40:02 +0800

如果我需要从模板部署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.   
  3. 删除ssh主机密钥。运行:
      # rm -rf /etc/ssh/ssh_host_*
  4.   
  5. HOSTNAME=localhost.localdomain
  6. 中设置/etc/sysconfig/network   
  7. 删除/etc/udev/rules.d/70-*。运行:
      # rm -rf /etc/udev/rules.d/70-*
  8.   
  9. /etc/sysconfig/network-scripts/ifcfg-eth* HWADDR =UUID =行/ strong>即可。
  10.   
  11. (可选)从/var/log中删除所有日志,并从/root构建日志。
  12.   
  13. 关闭虚拟机。运行:
      # poweroff
  14.   醇>

编辑:步骤1&最后可以通过运行sys-unconfig来组合7。或者,看一下libguestfs-tools-c中的virt-sysprep,它可以做更多。

 [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
作者:,Aaron Copley

最佳答案

我们认为初始设置实际上分为三个部分。前两个是:

  • 初始设置,要求您接受许可并创建用户
  • Firstboot,要求您配置kdump和(在RHEL上)设置订阅

现在通过systemd启用了这两个功能;一旦完成,他们就会自我禁用。

因此,您应该做的就是删除在第一个初始设置过程中创建的任何本地用户并重新启用这些服务:

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

并重启。

我不是完全确定第三部分,它会询问您的语言并创建用户帐户或将计算机加入域。这至少会继续回来,直到你真正完成向导。 (所以不要这样做。)

清理主机密钥和任何特定于硬件的配置仍然是个好主意。 (udev规则和接口配置文件中的Mac地址。)


相关问答

添加新评论