使用光盘iso实现Linux操做系统的自动安装部署

前边写了一篇使用 PXE 的方式批量安装操做系统,不是任什么时候候任何地方都有环境来经过 PXE 方式来进行安装。若是此时须要经过光盘安装,默认的状况下是经过交互式方式进行安装,其实也能够经过 kickstart 的方式来实现自动化安装部署。光盘经过 ks.cfg 进行安装的实现方式比较简单,下边简单的进行总结。linux

1、实现原理centos

光盘经过读取 ks.cfg 文件来实现安装操做系统,ks.cfg 配置文件放在光盘的根目录便可,而后修改 isolinux/isolinux.cfg 文件,设置内核参数,指定 ks.cfg 文件的位置便可。因为原始 iso 镜像文件是只读的,不能直接在 iso 光盘目录文件内进行修改,须要拷贝到一个临时目录,修改完后在封装为 iso 镜像文件。markdown

2、拷贝镜像临时目录app

mkdir /mnt/cdrom mount -o loop CentOS-6.8-x86_64-minimal.iso /mnt/cdrom cp -ar /mnt/cdrom/ /root/iso    # 原来root下没有iso目录,拷贝过来重命名为iso

3、生成 ks.cfg 文件工具

生成 ks.cfg 文件的方式大概有2种,一是能够经过图形工具 system-config-kickstart 来定制生成指定的 ks.cfg 文件,二是对于熟悉 kickstart 语法的能够直接编写 ks.cfg 配置文件。本次实验用的 ks.cfg 配置比较简单,是经过工具生成的,下边给出本次的 ks.cfg 文件。oop

#platform=x86, AMD64, or Intel EM64T #version=DEVEL # Firewall configuration firewall --disabled # Install OS instead of upgrade install # Use CDROM installation media cdrom # Root password rootpw --iscrypted $1$p6oEoqGo$UDHZdzw56Rl6Rt5oi1A0Q1 # System authorization information auth --useshadow  --passalgo=sha512 # Use graphical install graphical # System keyboard keyboard us # System language lang en_US # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # Installation logging level logging --level=info # Reboot after installation #reboot # System timezone timezone --isUtc Asia/Shanghai # Network information network --bootproto=dhcp --device=eth0 --onboot=on # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --asprimary --fstype="ext4" --ondisk=sda --size=200 part swap --asprimary --fstype="swap" --ondisk=sda --size=4096 part / --asprimary --fstype="ext4" --grow --ondisk=sda --size=1

拷贝到光盘镜像根目录:测试

/bin/cp ks.cfg /root/iso/

4、修改启动项菜单内核参数spa

修改菜单项配置文件 isolinux/isolinux.cfg:操作系统

default vesamenu.c32 #prompt 1 timeout 1    # 超时自动选择菜单时间设置,设置为1时,即一闪而过,设置3秒为好。

修改内核参数,指定 ks.cfg 位置:code

label linux menu label ^Install CentOS 6.8 x64 System. # 自定义了菜单 menu default kernel vmlinuz append initrd=initrd.img ks=cdrom:/ks.cfg     # 添加了ks文件的位置:光盘的根目录

5、封装iso镜像文件

cd /root/iso/    # 进入镜像制做目录

若是没有 mkisofs 命令,执行安装:

yum install mkisofs -y

执行封装镜像的命令:

mkisofs -o /root/CentOS6.8_x64.iso \ -V centos6 -b isolinux/isolinux.bin \ -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 \ -boot-info-table -R -J -T -v .

校验并写入 md5 值(可选):

implantisomd5 /root/CentOS6.8_x64.iso

经过光盘实现自动化安装已经完成制做,接下来测试能够经过虚拟机,导入 iso 镜像来作测试。