本文按照操作步骤一步一步教你如何制作可以在n台客户端直接安装linux CentOS 7:
首先来检查一下防火墙和selinux是否开启,如有开启需要关闭,不然会对接下来设置dhcp等服务产生影响。
# getenforce
# vim /etc/selinux/config
# setenforce 0
# firewall-cmd --state
# systemctl stop firewalld
# systemctl disable firewalld
我们要实现的是在没有光盘,仅有局域网的情况下,实现无人值守安装,那就需要解决如下问题:
- 内网文件服务器搭建 (dhcp服务器、tftp服务器)
- 自动交互应答文件
- 启动引导盘
$emsp;既然用网络,那新系统安装的时候就需要有IP能够获取服务器中的内容,所以需要搭建一个dhcp服务器来自动分配IP,也包括安装后自动分配IP;而安装过程中一些引导文件需要从服务器上拷贝到客户端,所以又需要用到ftp或者tftp,ftp可以用来进行文件传输,而tftp可以理解为精简版的ftp,而PXE就内置了tftp客户端,现在的网卡基本上都支持PXE,所以这里我们需要搭建一个tftp的服务端。
我们先来安装相应包:dhcp、tftp-server、syslinux
# yum install -y dhcp tftp-server syslinux httpd
装好后配置dhcp服务器,编辑配置文件/etc/dhcp/dhcpd.conf,这个文件默认为空,看提示说可以参考例子,那我们就删除原文件,把这个文件复制过来修改。
# rm -f /etc/dhcp/dhcpd.conf
# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
# vim /etc/dhcp/dhcpd.conf
对配置文件进行编辑,修改如下:指定子网段,默认网关,子网掩码、tftp服务器地址等。
注:我这台机器的地址是192.168.10.3
dhcp配置文件修改好了,接下来配置系统安装rpm包时需要的yum源,这里利用httpd服务,默认的端口是80,工作目录为/var/www/html/,创建一个目录,从这台机器的光盘中挂载,或者利用xshell的工具从windows上拷贝一个ISO镜像也可以。
# mkdir -pv /var/www/html/CentOS7/os/x86_64
# mount /data/CentOS-7-x86_64-DVD-1810.iso /var/www/html/CentOS7/os/x86_64/
将服务加入开机自启,并启动服务,用ss查看端口开启情况,其中dhcp对应67,tftp对应69,http对应80端口:
# systemctl enable httpd dhcpd tftp.socket
# systemctl start httpd dhcpd tftp.socket
# ss -ntul
在浏览器中输入“