对安装在VMware上的CentOS7.X进行封装,是为了后续的实验环境需要,可以批量去生成Linux系统。通过虚拟机模版来创建一台CentOS系统,跟原来机器一样,去掉了唯一性,而通过克隆出来的虚拟机,会与被克隆的机器一样,包含网卡的信息等。

1.将CentOS7.X系统升级到最新版

[root@localhost ~]# yum -y update

Linux虚拟机封装成模板

Linux虚拟机封装成模板

升级完成,重新启动机器

2.删除系统机器ID

(1)删除系统的ID:machine-id是系统的唯一性ID,每一台服务器的machin-ID都应该不一样,为了解决ID的冲突,故删除

[root@localhost ~] echo "" > /etc/machine-id

Linux虚拟机封装成模板

(2)重新生成mache-id

在/etc/profile文件最后添加:使之开机重启后,通过systemd-machine-id-setup的命令来生成全新的machine-id号

[root@localhost ~]# cat >> /etc/profile << EOF
systemd-machine-id-setup
EOF

Linux虚拟机封装成模板

Linux虚拟机封装成模板

(3)清除UDEV

​ 系统重启后会自动创建,删除/etc/udev/rules.d/目录下的所有文件

[root@localhost ~]#rm -fr /etc/udev/rules.d/*

Linux虚拟机封装成模板

(4)清除ssh私钥文件

不同的系统私钥应该是不同的,删除后重启系统会自动生成全新的私钥

[root@localhost ~]#rm -fr /etc/ssh/ssh_host_*

Linux虚拟机封装成模板

(5)清除网卡配置信息

删除/etc/sysconfig/network-scripts目录下的ifcfg-ens文件,如果是CentOS6.X可能是ifcfg-eth或是ifcfg-em*,重启后会自动生成此文件

[root@localhost ~]#rm -fr /etc/sysconfig/network-scripts/ifcfg-ens*

Linux虚拟机封装成模板

3.清除系统中的旧日志文件

(1)先停止系统的日志服务

[root@localhost ~]#systemctl stop systemd-journald.socket

Linux虚拟机封装成模板

(2)将原来的旧日志文件删除

[root@localhost ~]#find /var/log -type f -exec rm {} \;

Linux虚拟机封装成模板

(3)创建journal日志目录,用来保存日志使用,原日志是保存在/run/log/journal目录下,掉电就会丢失

[root@localhost ~]#mkdir -p /var/log/journal
[root@localhost ~]#chgrp systemd-journal /var/log/journal
[root@localhost ~]#chmod g+s /var/log/journal

Linux虚拟机封装成模板

(4)清除所有命令的历史记录

[root@localhost ~]#cd /root && rm -fr .bash_history && history -c

Linux虚拟机封装成模板

(5)关闭系统

[root@localhost ~]#systemctl poweroff

Linux虚拟机封装成模板

4.对封装好的系统做创建快照

Linux虚拟机封装成模板

Linux虚拟机封装成模板

5.启用虚拟机模板

Linux虚拟机封装成模板

6.通过虚拟机快照模版生成新的系统

Linux虚拟机封装成模板

Linux虚拟机封装成模板

为了节省实验磁盘空间,创建链接克隆

Linux虚拟机封装成模板

配置 全新克隆虚拟机的保存位置,最后单击“完成”即可

Linux虚拟机封装成模板

Linux虚拟机封装成模板

相关文章: