KickStart无人值守部署
yum install dhcp xinetd tftp-server vsftpd syslinux system-config-kickstart
1、配置DHCP服务
#修改dhcp服务配置文件
[root@web ~]# vi /etc/dhcp/dhcpd.conf
选项说明
#指定引导文件
filename "pxelinux.0";
#指定引导文件服务器
next-server 10.86.8.129;
配置示例UUID="210b1e42-031a-4230-b76b-6e83b3ccf910"
ddns-update-style interim;
ignore client-updates;
filename "pxelinux.0";
next-server 172.16.30.4;
subnet 172.16.30.0 netmask 255.255.255.0 {
option routers 172.16.30.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 114.114.114.114;
range dynamic-bootp 172.16.30.200 172.16.30.254;
default-lease-time 60;
max-lease-time 60;
}
#检查DHCP服务启用情况
[root@mail ~]# systemctl status dhcpd
#检查服务端口
[root@mail ~]# lsof -i:67
[root@mail ~]# lsof -i:68
2、配置TFTP服务器
#修改tftp配置文件
[root@web ~]# vi /etc/xinetd.d/tftp
#指定服务目录
server_args = -s /tftpboot
#开启服务开关
disable = no
#配置示例
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
#启动服务
[root@mail ~]# systemctl restart tftp
#在7.0系统中如果服务无法启动,使用以下命令进行启动
systemctl start tftp.socket
#检查服务状态
[root@mail ~]# systemctl status tftp
#检查服务端口状态
[root@mail ~]# lsof -i:69
#启动xinetd服务
[root@mail ~]# systemctl restart xinetd
#检查xinetd服务
[root@mail ~]# systemctl status xinetd
3、准备引导的相关文件
#创建网络引导配置文件目录
[root@mail ~] mkdir -p /tftpboot/pxelinux.cfg
#复制引导文件
[root@mail ~] cp /usr/share/syslinux/pxelinux.0 /tftpboot/
#复制系统映像
[root@mail ~] cp /mnt/images/pxeboot/initrd.img /tftpboot/
#复制系统内核
[root@mail ~] cp /mnt/images/pxeboot/vmlinuz /tftpboot/
#复制引导配置文件
[root@mail ~] cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
#变更配置文件权限
[root@mail ~] chmod 644 /tftpboot/pxelinux.cfg/default
#修改配置文件
[root@mail ~] vi /tftpboot/pxelinux.cfg/default
1 default linux #修改默认启动模式
64 append initrd=initrd.img ks=ftp://172.16.50.171/ks.cfg #修改加载的KS应答文件
4、准备安装镜像
4.1 [FTP]
#启动FTP服务
[root@mail ~] systemctl start vsftpd
#查看FTP服务状态
[root@mail ~] systemctl status vsftpd
#查看服务端口启用状态
[root@mail ~]# lsof -i:21
#挂载系统镜像到共享目录
[root@mail ~] mount /dev/sr0 /var/ftp/pub/
#可通过windows系统的浏览器才确认服务访问情况
4.2 [HTTP]
#安装HTTPD服务
[root@mail ~]# yum install httpd -y
#复制系统安装文件到/var/www/html目录下
[root@mail ~]# cp -r /mnt/* /var/www/html/
#复制KS文件到/var/www/html目录下
[root@mail ~]# ll /var/www/html/ks.cfg
#启动HTTPD服务
[root@mail ~]# systemctl start httpd
#检查HTTPD服务状态
[root@mail ~]# systemctl status httpd
#检查HTTPD服务端口
[root@mail ~]# lsof -i:80
#可通过windows系统的浏览器才确认服务访问情况
#注意:需要修改default文件的ks文件路径
[root@mail ~] vi /tftpboot/pxelinux.cfg/default
64 append initrd=initrd.img ks=http://192.168.171.204/ks.cfg
#注意:需要修改KS应答文件中的系统安装资源目录
[root@mail ~]# vi /var/www/html/ks.cfg
# Use network installation
url --url="http://192.168.171.204/"
4.3 [NFS]
#编辑NFS配置文件
[root@mail ~]# vi /etc/exports
#配置文件内容如下:
[root@mail ~]# cat /etc/exports
/var/www/html *(ro)
#启动NFS服务
[root@mail ~]# systemctl restart nfs
#检查服务状态
[root@mail ~]# systemctl status nfs
#检查服务端口状态
[root@mail ~]# netstat -lntp | grep 111
[root@mail ~]# netstat -lntp | grep 2049
#可通过其他linux主机进行远程挂载共享目录来测试服务启动情况
[root@qq ~]# mount -t nfs 192.168.171.204:/var/www/html /mnt
#注意:需要修改default文件的ks文件路径
[root@mail ~] vi /tftpboot/pxelinux.cfg/default
64 append initrd=initrd.img ks=nfs:192.168.171.204:/var/www/html/ks.cfg
#注意:需要修改KS应答文件中的系统安装资源目录
[root@mail ~]# vi /var/www/html/ks.cfg
# Use network installation
nfs --server=192.168.171.204 --dir=/var/www/html
5、创建KS应答文件
#在虚拟机中执行以下命令来使用图形界面创建一个KS应答文件
[root@mail ~]# system-config-kickstart
#保存KS应答文件到/var/ftp目录下
[root@mail ~]# ll /var/ftp/ks.cfg
-rw-r--r--. 1 root root 1253 5月 2 10:57 /var/ftp/ks.cfg
#KS应答文件示例:
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$nRWRHOuT$xdCld05aBEnkLkmOd5p6t0
# System timezone
timezone Asia/Shanghai
# Use FTP network installation
url --url="ftp://192.168.171.204/pub"
# Use NFS network installation
nfs --server=192.168.171.204 --dir=/var/www/html
# Use HTTP network installation
url --url="http://192.168.171.204/"
# System language
lang zh_CN
# Firewall configuration
firewall --disabled
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Network information
network --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=200
part swap --fstype="swap" --size=2000
part / --fstype="xfs" --grow --size=1
########with KDE GUI#################
%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@kde-desktop
@multimedia
@print-client
@x11
######################################
#############with minimal#############
%packages
@^minimal
######################################
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end