Linux中部署无人值守安装系统
主机 | IP |
---|---|
无人值守系统虚拟机 | 192.168.10.10 |
无人值守安装系统
简介
安装部署PXE + TFTP + FTP + DHCP + Kickstart等服务程序,搭建出一套可批量安装Linux系统的无人值守安装系统。从而避免枯燥乏味的重复性工作,大大提高系统安装的效率。
部署DHCP服务程序
关闭自身的DHCP服务
关闭防火墙和SELINUX
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
安装DHCP服务程序软件包
dnf install -y dhcp-server
编写服务程序配置文件
vim /etc/dhcp/dhcpd.conf
#删除文件内所有内容,添加以下内容
allow booting;
allow bootp;
ddns-update-style none;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.10.100 192.168.10.200;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.10.10;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.10.10;
filename "pxelinux.0";
}
启动服务
systemctl restart dhcpd
systemctl enable dhcpd
部署TFTP服务程序
安装TFTP服务程序软件包
dnf install -y tftp-server xinetd
编写服务程序配置文件
vim /etc/xinetd.d/tftp
#如果是空白直接添加以下内容,有其他内容的直接清空
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
启动服务
systemctl restart xinetd
systemctl enable xinetd
部署SYSLinux服务程序
安装SYSLinux服务程序
#SYSLinux是一个用于提供引导加载的服务程序
dnf install -y syslinux
配置服务程序
cd /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux.0 .
#查看光盘镜像位置
df -h
#使用复制命令将光盘镜像中自带的一些引导文件也复制到TFTP服务程序的默认目录中。
cp /run/media/g/CentOS-8-4-2105-x86_64-dvd/images/pxeboot/* .
#在复制过程中,敲击y键进行覆盖即可
cp /run/media/g/CentOS-8-4-2105-x86_64-dvd/isolinux/* .
#在TFTP服务程序的目录中新建pxelinux.cfg目录
mkdir pxelinux.cfg
#将系统光盘中的开机选项菜单复制到该目录中,并命名为default。
cp /run/media/g/CentOS-8-4-2105-x86_64-dvd/isolinux/isolinux.cfg pxelinux.cfg/default
编辑default文件
vim pxelinux.cfg/default
#修改第一行为linux
#在第64行修改为以下内容
append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet
配置VSFtpd服务程序
安装VSFtpd服务程序
cd
#下载服务程序
dnf install -y vsftpd
开启匿名访问模式
vim /etc/vsftpd/vsftpd.conf
#需要手动进行开启,修改第12行为anonymous_enable=YES
systemctl restart vsftpd
systemctl enable vsftpd
#目录中的光盘镜像文件全部复制到vsftpd服务程序的工作目录中,所需时间较长,耐心等待
cp -r /run/media/g/CentOS-8-4-2105-x86_64-dvd/* /var/ftp
创建KickStart应答文件
#将这个文件复制到vsftpd服务程序的工作目录中
cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
#使用chmod命令设置该文件的权限,确保所有人都有可读的权限,以保证客户端主机顺利获取到应答文件及里面的内容
chmod +r /var/ftp/pub/ks.cfg
vim /var/ftp/pub/ks.cfg
#修改第五行
repo --name="AppStream" --baseurl=ftp://192.168.10.10/AppStream
#修改第23行
url --url=ftp://192.168.10.10/BaseOS
#在第19行添加一行以下内容
network --bootproto=dhcp --device=ens160 --onboot=on --ipv6=auto --activate
#修改第28行为以下内容
ignoredisk --only-use=sda
开始自动部署客户机