虚拟机制作模板的步骤及设置

换了工作之后接管了这边旧的ESXi和上面的虚拟机,之前的模板不是特别的合适,自己开始动手做模板。最终期望的目标是:1. 修改IP地址;2.yum install 收工。

CentOS虚拟机模板的制作

系统的硬件配置

系统的硬件规格 – 4cpu; 8G-RAM

OS的版本

系统的版本 – CentOS 7.6 1810 x64

安装VMwareTools

1
yum install -y epel vim wget curl net-tools open-vm-tools htop iotop iftop tree

安装Zabbix-agent

1
rpm -ivh zabbix-agent-$version.rpm

关闭SELinux

1
sed -i 's@SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config

更改hostname

hostname有一些有趣的问题,CentOS6.8 中的hostname可以定义在/etc/sysconfig/network文件中,系统启动的时候先读取/etc/sysconfig/network文件中的定义,如果没有的话读取/etc/hosts文件中的定义;和我自己的之前的记忆不一样。
我之前一直都是之间编辑/etc/hostname,直接将主机名echo到这个文件中就可以了,不过向来这些区别都不大,先这样吧。

清除硬件及网卡的信息

将网卡配置文件中的UUID和 HWADDR直接删除或者是注释掉,IPADDR留空。
/etc/sysconfig/network-scripts/ifcfg-eth0

删除udev

rm -rf /etc/udev/rules.d/70-*
NOTE:命令的效果貌似和sys-unconfig 的效果是一样的。

关闭防火墙

1
2
3
4
systemctl disable firewalld
iptables -F
iptables -X
iptables -Z

更改Grub的等待时间

虚拟机中的模板大部分是不需要等待grub给出的操作选单时间的,等待操作的时间是5秒,我们给出1秒就够了。

1
2
vim /etc/default/grub
GRUB_TIMEOUT=1

清理工作

1
2
3
4
5
6
7
8
9
10
11
12
rm -rf /etc/ssh/*key*.
rm -rf /root/.ssh/
systemctl stop rsyslog
systemctl stop auditd
/usr/bin/yum clean all
logrotate -f /etc/logrotate.conf
rm -f /var/log/dmesg.old
rm -rf /var/log/anaconda*
cat /dev/null > /var/log/audit/audit.log
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/grubby

清除系统的唯一ID

1
> /etc/machine-id

清除系统命令历史记录

1
2
unset HISTFILE
history -c && rm -rf /root/.bash_histroy

sys-unconfig关机

执行sys-unconfig等待关机,然后转换为模板。

文章目录
  1. 1. CentOS虚拟机模板的制作
    1. 1.1. 系统的硬件配置
    2. 1.2. OS的版本
    3. 1.3. 安装VMwareTools
    4. 1.4. 安装Zabbix-agent
    5. 1.5. 关闭SELinux
    6. 1.6. 更改hostname
    7. 1.7. 清除硬件及网卡的信息
    8. 1.8. 删除udev
    9. 1.9. 关闭防火墙
    10. 1.10. 更改Grub的等待时间
    11. 1.11. 清理工作
    12. 1.12. 清除系统的唯一ID
    13. 1.13. 清除系统命令历史记录
    14. 1.14. sys-unconfig关机