换了工作之后接管了这边旧的ESXi和上面的虚拟机,之前的模板不是特别的合适,自己开始动手做模板。最终期望的目标是:
- 修改IP地址
- yum install 收工
CentOS虚拟机模板制作流程
系统的硬件配置
系统的硬件规格
OS的版本
系统的版本
1
| yum install -y epel vim wget curl net-tools open-vm-tools htop iotop iftop tree atop sysstat
|
安装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留空。
1
| /etc/sysconfig/network-scripts/ifcfg-eth0
|
删除udev
1 2 3 4 5 6 7 8 9
| rm -rf /etc/udev/rules.d/70-* ``` NOTE:命令的效果貌似和 sys-unconfig 的效果是一样的。
```bash 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 2
| unset HISTFILE history -c && rm -rf /root/.bash_histroy
|
Sys-unconfig关机
执行sys-unconfig等待关机,然后转换为模板。