无人值守安装服务

       Kickstart是一种无人值守的安装方式,其工作原理是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中需要填写参数时则自动匹配Kickstart生成的文件。

 

配置DHCP服务程序

DHCP服务程序用于为客户端主机分配可用的IP地址,而且这是服务器与客户端主机进行文件传输的基础

[root@linuxprobe ~]# yum install dhcp -y
[root@linuxprobe ~]# vim /etc/dhcp/dhcpd.conf         # 分配IP地址
 allow booting; 
 allow bootp;                                 # 允许了BOOTP引导程序协议,旨在让局域网内暂时没有操作系统的主机也能获取静态IP地址
 ddns-update-style interim;
 ignore client-updates;
 subnet 192.168.10.0 netmask 255.255.255.0 {                        # 设置网段
      option subnet-mask       255.255.255.0;                       # 设置网关#设置子网掩码
      option domain-name-servers 192.168.10.10;                     # 设置dns服务器地址
      range dynamic-bootp 192.168.10.100 192.168.10.200;            # IP地址租用的范围
      default-lease-time         21600;                             # 默认租约时间
      max-lease-time             43200;                             # 大租约时间
      next-server                   192.168.10.10;                  # tftp服务器地址
      filename                             "pxelinux.0";            # 在配置文件的最下面加载了引导驱动文件pxelinux.0(这个文件会在下面的步骤中创建),
# 其目的是让客户端主机获取到IP地址后主动获取引导驱动文件,自行进入下一步的安装过程。 } [root@linuxprobe
~]# systemctl restart dhcpd [root@linuxprobe ~]# systemctl enable dhcpd ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'

配置TFTP服务程序

使用TFTP协议帮助客户端获取引导及驱动文件。TFTP作为一种基于UDP协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源。

[root@linuxprobe ~]# yum install tftp-server -y
[root@linuxprobe ~]# vim /etc/xinetd.d/tftp
 14         disable                 = no                         # 不要禁用tftp功能

[root@linuxprobe
~]# systemctl restart xinetd [root@linuxprobe ~]# systemctl enable xinetd [root@linuxprobe ~]# firewall-cmd --permanent --add-port=69/udp # TFTP服务程序默认使用的是UDP协议,占用的端口号为69 success [root@linuxprobe ~]# firewall-cmd --reload success [root@linuxprobe ~]# iptables -F [root@linuxprobe ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

配置SYSLinux服务程序

  SYSLinux是一个用于提供引导加载的服务程序。与其说SYSLinux是一个服务程序,不如说更需要里面的引导文件,在安装好SYSLinux服务程序软件包后,/usr/share/syslinux目录中会出现很多引导文件。

[root@linuxprobe ~]# yum install syslinux
[root@linuxprobe ~]# cd /var/lib/tftpboot/
[root@linuxprobe tftpboot]# cp /usr/share/syslinux/pxelinux.0 .                      # 复制SYSLinux提供的引导文件
[root@linuxprobe tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .    # 复制光盘镜像中引导文件
[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .
[root@linuxprobe tftpboot]# mkdir pxelinux.cfg
[root@linuxprobe tftpboot]# cd pxelinux.cfg/
[root@linuxprobe pxelinux.cfg]# cp /media/cdrom/isolinux/isolinux.cfg default        # 复制开机选项菜单,并命名defaul
[root@linuxprobe pxelinux.cfg]# ls
 default
[root@linuxprobe pxelinux.cfg]# vim default
  1 default linux                                                                    # 系统在开机时就会默认执行那个名称为linux的选项
 61 label linux
 62   menu label ^Install Red Hat Enterprise Linux 7.0
 63   kernel vmlinuz
 64   append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet
       # 将默认的光盘镜像安装方式修改成FTP文件传输方式,并指定好光盘镜像的获取网址以及Kickstart应答文件的获取路径
 64   append initrd=initrd.img ks=http://192.168.134.130/config/ks.cfg biosdevname=0 net.i
       # 将默认的光盘镜像安装方式修改成HTTP协议,并指定好光盘镜像的获取网址以及Kickstart应答文件的获取路径

 

配置VSFtpd服务程序

  vsftpd服务程序用于将完整的系统安装镜像通过网络传输给客户端。当然,只要能将系统安装镜像成功传输给客户端即可,因此也可以使用httpd来替代vsftpd服务程序。

[root@linuxprobe ~]# yum install vsftpd
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
[root@linuxprobe ~]# iptables -F
[root@linuxprobe ~]# cp -r /media/cdrom/* /var/ftp

配置HTTP服务程序

  通过把光盘镜像内容传给客户端,因此也可以使用vsftpd来替代httpd服务程序。

[root@linuxprobe ~]# yum install httpd -y
[root@linuxprobe ~]# systemctl restart httpd
[root@linuxprobe ~]# systemctl enable httpd
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
[root@linuxprobe ~]# systemctl status httpd
[root@linuxprobe ~]# cp -rf /mnt/* /var/www/html/
[root@linuxprobe ~]# mkdir -p /var/www/html/config                     # 新建目录,把自定义的文件、脚本等放置于此

创建KickStart应答文件

[root@linuxprobe ~]# ls                                   # 在root管理员的家目录中有一个名为anaconda-ks.cfg的文件,它就是应答文件
[root@linuxprobe ~]# cp anaconda-ks.cfg /var/ftp/pub/
[root@linuxprobe ~]# cd /var/ftp/pub/
[root@linuxprobe pub]# ls
anaconda-ks.cfg
[root@linuxprobe pub]# mv anaconda-ks.cfg ks.cfg
[root@linuxprobe pub]# chmod +r ks.cfg                    # 确保所有人都有可读权限,以保证客户端主机顺利获取到应答文件及里面的内容
[root@linuxprobe pub]# vim ks.cfg                         # 使用vsftpd服务程序。
  6 url --url=ftp://192.168.10.10
 12 # System language 
 13 # lang zh_CN.UTF-8
 21 timezone Asia/Shanghai --isUtc
 29 clearpart --all --initlabel                           # 磁盘选项设置为清空所有磁盘内容并初始化磁盘
 
[root@linuxprobe ~]# vim /var/www/html/config/ks.cfg      # 使用httpd服务程序。
 # Use network installation 
 url --url="http://192.168.134.130/"
 #!!!
 # Use CDROM installation media
 repo --name="yum" --baseurl=http://192.168.134.130/
 #!!!

 检查是否存在错误

[root@linuxprobe ~]# yum install pykickstart
[root@linuxprobe ~]# ksvalidator ks.cfg
原文地址:https://www.cnblogs.com/dinghailong128/p/12178434.html