在Pxe环境下使用kickstart自动化批量安装Linux系统

一、环境准备

1.rhel7.9操作系统

2.开启主机图形

bash 复制代码
systemctl set-default graphical.target
reboot

如果你的服务器安装了图形,直接切换启动级别5**:**

bash 复制代码
init 5

3.配置好ip,网关,dns地址

bash 复制代码
nmcli connection add ifname eth0 con-name eth0
type ethernet ipv4.method manual ipv4.addresses 172.25.254.120/24 
ipv4.gateway 172.25.254.2 ipv4.dns 114.114.114 

4.关闭wmware网卡dhcp自动获取ip

5.关闭防火墙

bash 复制代码
systemctl stop firewalld
systemctl disable firewalld
systemcl mask firewalld

6.准备一台没有镜像的操作系统

7.把rhel7.9的本地镜像挂载到/mnt下

bash 复制代码
mount /dev/sr0 /mnt

二、部署过程

由于通过kickstart打包好linux镜像自动化安装到多台虚拟机上,所以我们需要使用httpd服务共享到默认发布目录,这样其他的主机就能访问到镜像了,我们再用kickstart图形制作好自动化安装的脚本

bash 复制代码
 yum install system-config-kickstart

如果你的本地源安装不了kickstart,尝试用下面的方法过滤出来再安装:

bash 复制代码
yum list | grep kick

把全名复制上去就能安装成功了

启动kickstart工具:

bash 复制代码
sysetem-config-kickstart

保存好之后,我们再把它存在root用户的家目录下:

进入/root后用ksvalidator命令检查一下有没有语法错误:

bash 复制代码
ksvalidator ks.cfg

然后我们把ks.cfg文件拷贝到http的自动发布目录下,再在/var/www/html下建立一个/mnt的软连接

bash 复制代码
ln -s /mnt mnt

重启http服务:

bash 复制代码
systemctl restart httpd

访问一下:

安装dhcp服务器为其他服务器提供分配ip的功能

bash 复制代码
yum install dhcp -y

生成配置文件

bash 复制代码
\cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

进入dhcp的配置文件:

bash 复制代码
vim /etc/dhcp/dhcpd.conf

配置好之后退出启动dhcp服务:

bash 复制代码
systemctl enable --now dhcpd

下载syslinux

bash 复制代码
yum install syslinux.x86_64

下载共享pxelinux.0数据文件的网络服务

bash 复制代码
yum install tftp-server.x86 64 -y

用rpm -ql看一下tftp的共享目录:

bash 复制代码
cp /mnt/isolinux/* /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cd /var/lib/tftpboot/

进入default目录

bash 复制代码
vim /var/lib/tftpboot/pxelinux.cfg/default

大功告成,我们只需要在我们的新操作系统中使用网卡启动模式:

退出后静待安装即可

在我们新安装的rhel7.9操作系统中,我们可以看见ip是从dhcp池子中获取的:

相关推荐
生活很暖很治愈2 分钟前
Linux——基础IO&软硬链接
linux·ubuntu
2401_8589368815 分钟前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言
Roc.Chang27 分钟前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
松涛和鸣1 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂1 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
wVelpro2 小时前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm
程序员老舅2 小时前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
雨中风华3 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
Yeats_Liao3 小时前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
爱吃生蚝的于勒3 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习