Kickstart是一种无人值守的安装方式,工作原理就是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中出现需要填写参数时则自动匹配Kickstart生成的文件,所以只要Kickstart文件包含了安装过程中所有需要人工填写的参数,那么运维人员就完全不需要干预,等待安装完毕即可。
#系统环境
1
2
3
4
5
6
|
[root@RHCE ~]
# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@RHCE ~]
# uname -r
3.10.0-327.el7.x86_64
[root@RHCE ~]
# ip addr show enp0s8 | awk 'NR==3{print $2}'
192.168.235.36
/24
|
#安装DHCP 给客户提供IP地址
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@RHCE ~]
# yum install -y dhcp
[root@RHCE ~]
# vim /etc/dhcp/dhcpd.conf #编辑DHCP主配置文件
[root@RHCE ~]
# cat /etc/dhcp/dhcpd.conf | grep -v "#" | head -8
subnet 192.168.235.0 netmask 255.255.255.0 {
range 192.168.235.10 192.168.235.20;
default-lease-
time
600;
max-lease-
time
7200;
option domain-name-servers 192.168.235.36;
next-server 192.168.235.36;
filename
"pxelinux.0"
;
}
[root@RHCE ~]
# systemctl start dhcpd
|
#安装 FTP 给客户机传输镜像文件
1
2
|
[root@RHCE ~]
# yum install -y vsftpd
[root@RHCE ~]
# systemctl start vsftpd #匿名用户访问即可
|
#安装 tftp 给客户机传输引导程序
1
2
3
4
5
|
[root@RHCE ~]
# yum install -y tftp-server
[root@RHCE ~]
# vim /etc/xinetd.d/tftp
[root@RHCE ~]
# cat /etc/xinetd.d/tftp | grep disable #将disable 修改为no
disable= no
[root@RHCE ~]
# systemctl start tftp.service
|
#安装 syslinux
#syslinux是用于提供引导加载的服务程序
1
|
[root@RHCE ~]
# yum install -y syslinux
|
#挂载光盘
1
|
[root@RHCE ~]
# mount /dev/sr0 /mnt/cdrom/
|
#拷贝相关文件
1
2
3
4
5
6
7
8
9
|
[root@RHCE ~]
# cd /var/lib/tftpboot/
[root@RHCE tftpboot]
# cp /usr/share/syslinux/pxelinux.0 .
[root@RHCE tftpboot]
# cp /mnt/cdrom/images/pxeboot/initrd.img .
[root@RHCE tftpboot]
# cp /mnt/cdrom/isolinux/vesamenu.c32 .
[root@RHCE tftpboot]
# cp /mnt/cdrom/isolinux/boot.msg .
[root@RHCE tftpboot]
# cp /mnt/cdrom/images/pxeboot/vmlinuz .
[root@RHCE tftpboot]
# mkdir pxelinux.cfg
[root@RHCE tftpboot]
# cp /mnt/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
[root@RHCE tftpboot]
# chmod 777 /var/lib/tftpboot/pxelinux.cfg/default
|
1
2
3
4
5
6
7
|
[root@RHCE tftpboot]
# vim pxelinux.cfg/default
#将第一行修改为如下值
[root@RHCE tftpboot]
# sed -n '1p' /var/lib/tftpboot/pxelinux.cfg/default
default linux
#将第64行修改为如下值
[root@RHCE tftpboot]
# sed -n '64p' /var/lib/tftpboot/pxelinux.cfg/default
append initrd=initrd.img inst.stage2=
ftp
:
//192
.168.235.36 ks=
ftp
:
//192
.168.235.36
/pub/ks
.cfg quiet
|
1
2
3
4
5
6
7
8
9
10
11
|
[root@RHCE tftpboot]
# systemctl status vsftpd
[root@RHCE tftpboot]
# cp -r /mnt/cdrom/* /var/ftp/
[root@RHCE tftpboot]
# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
[root@RHCE tftpboot]
# chmod +r /var/ftp/pub/ks.cfg
[root@RHCE tftpboot]
# vim /var/ftp/pub/ks.cfg
#注释第5行的cdrom 并增加如下几行值
install
#安装指令
url --url=
ftp
:
//192
.168.235.36
#镜像位置
selinux --disabled
#关闭selinux
zerombr
#清空MBR
reboot
#重启
|
#用Vbox新建一台虚拟机 系统选项中 启动顺序改为如下设置
#并且网络在跟服务器一个网络中
#开启客户机 等待数分钟
#自动安装成功
本文转自 chaunceyjiang 51CTO博客,原文链接:http://blog.51cto.com/cqwujiang/1913223,如需转载请自行联系原作者