Linux系统下手把手完成无人值守安装服务

2026-03-01 01:43:31

1、当然需要使用 TFTP 协议帮助客户端获取引导及驱动文件。vsftpd 服务程序用于败蕉将完整的系统安装镜像通过网络传输给客户端。当然,只要能将系统安装镜像成功传输给客户端即可,因此也可以使用 httpd 来替代 vsftpd 服务程序。

首先,配置DHCP服务程序。DHCP 服务程序用于为客户端主机分配可用的 IP 地址,而且这是服务器与客户端主机进行文件传叮温雁输的基础,因此我们先行配置 DHCP 服务程序。

[root@linuxprobe linuxprobe]# yum install dhcp

[root@linuxprobe ~]# vim /etc/dhcp/dhcpd.conf

allow booting;

allow bootp;

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;

range dynamic-bootp 192.168.10.100 192.168.10.200;

default-lease-time 21600;

max-lease-time 43200;

next-server 192.168.10.10;

filename "pxelinux.0";

}

该操作的目的是为了允许BOOTP引导程序协议,旨在让局域网内暂时没有操作系统的主机也能获取静态 IP地址;在配置文件的最下面加载了引导驱动文件 pxelinux.0 ,其目的是让客户端主机获取到 IP 地址后主动获取引导驱动文件,自行进入下一步的安装过程。具体解释见《Linux就该这样学》。

2、第二步,配置TFTP服务程序。

vsftpd 是一款功能丰富的文件传输服务程序,允许用户以匿名开放模式、本地用户模式、虚拟用户模式来进行访问认证。但是,当前的客户端主机还没有安装操作匠沃系统,该如何进行登录认证呢?而 TFTP 作为一种基于 UDP 协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源。因此接下来配置 TFTP 服务程序,为客户端主机提供引导及驱动文件。当客户端主机有了基本的驱动程序之后,再通过 vsftpd 服务程序将完整的光盘镜像文件传输过去。

[root@linuxprobe ~]# yum install tftp-server

[root@linuxprobe ~.d]# 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

}

3、第三步,配置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 .

[root@linuxprobe tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .

[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .

首先需要把 SYSLinux 提供的引导文件复制到 TFTP 服务程序的默认目录中,也就是前文提到的文件 pxelinux.0,这样客户端主机就能够顺利地获取到引导文件了。另外在 RHEL 7 系统光盘镜像中也有一些我们需要调取的引导文件。确认光盘镜像已经被挂载到/media/cdrom 目录后,使用复制命令将光盘镜像中自带的一些引导文件也复制到 TFTP 服务程序的默认目录中。

[root@linuxprobe tftpboot]# mkdir pxelinux.cfg

[root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default

然后在 TFTP 服务程序的目录中新建 pxelinux.cfg 目录,虽然该目录的名字带有后缀,但依然也是目录,而非文件!将系统光盘中的开机选项菜单复制到该目录中,并命名为 default。这个 default 文件就是开机时的选项菜单,如图所示。

Linux系统下手把手完成无人值守安装服务

4、第四步,配置vdftpd服务程序。

[root@linuxprobe ~]# yum install vsftpd

在确认系统光盘镜像已经正常挂载到/media/cdrom 目录后,把目录中的光盘镜像文件全部复制到 vsftpd 服务程序的工作目录中。

[root@linuxprobe ~]# cp -r /media/cdrom/* /var/ftp

最后,创建KickStart应答文件。

毕竟,我们使用 PXE + Kickstart 部署的是一套“无人值守安装系统服务”,而不是“无人值守传输系统光盘镜像服务”,因此还需要让客户端主机能够一边获取光盘镜像,还能够一边自动帮我们填写好安装过程中出现的选项。

在 root 管理员的家目录中有一个名为 anacondaks.cfg 的文件,它就是应答文件。下面将这个文件复制到 vsftpd 服务程序的工作目录中(在开机选项菜单的配置文件中已经定义了该文件的获取路径,也就是 vsftpd 服务程序数据目录中的 pub 子目录中)。使用 chmod 命令设置该文件的权限,确保所有人都有可读的权限,以保证客户端主机可以顺利获取到应答文件及里面的内容:

[root@linuxprobe ~]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg

[root@linuxprobe ~]# chmod +r /var/ftp/pub/ks.cfg

5、到目前为止,我们的服务基本部署完毕,集体详细解释过程参见《Linux就该这样学》,希望本文对刚入职的运维人员有一定的帮助。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢