CentOS-7-x86_64-Minimal-2003.iso # http共享:网络装机安装源
CentOS-7-x86_64-DVD-2003.iso # 本地离线yum源
配置好的ks.cfg
tar -xvf dhcp_tftp_http_syslinux.tar.gz
yum -y install pxe_soft/*.rpm
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 { # 网段、子网掩码
range 192.168.1.10 192.168.1.30; # 分配的IP范围
option domain-name-servers 114.114.114.114; # 指定客户端DNS服务器
option routers 192.168.1.1; # 网关地址
default-lease-time 600; # IP租期,默认
max-lease-time 7200;
next-server 192.168.1.10; # 指定客户端访问下一个服务器
filename "pxelinux.0"; # 指定网卡引导文件名称(装机说明)
# pxelinux.0为二进制文件,安装软件syslinux获得
}
systemctl restart/enable/status dhcpd
yum -y install tftp-server` # 第二步已安装
systemctl restart/enable/status tftp
yum -y install syslinux-4.05-15.el7.x86_64.rpm # 第二步已安装
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
ls /var/lib/tftpboot/
pxelinux.0 ---> 引导 ---> 客户端读取菜单文件 /var/lib/tftpboot/pxelinux.cfg/default
mkdir /var/lib/tftpboot/pxelinux.cfg # 创建菜单文件的目录
# 获取菜单文件:以光盘内容为模板,获得(挂载)后并改名default
mount /dev/cdrom /mnt/ # 挂载光驱,以读取光盘内容
或:mount *.iso /mnt/
cd /mnt/isolinux
cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp vesamenu.c32 splash.png /var/lib/tftpboot/
cp initrd.img vmlinuz /var/lib/tftpboot/
# 验证:
ls /var/lib/tftpboot/
pxelinux.0 引导文件 pxelinux.cfg/default 菜单文件
splash.png 背景图片 vesamenu.c32 图形模块
vmlinuz 启动内核 initrd.img 驱动程序
# 启动文件准备完毕,umount /mnt释放挂载
vim /var/lib/tftpboot/pxelinux.cfg/default # set nu行号显示
1 default vesamenu.c32 # 默认加载图形模块
2 timeout 300 # 读秒时间,30秒
10 menu background splash.png # 背景图片
11 menu title CentOS 7 # 菜单界面标题
61 label linux
62 menu label ^Install CentOS 7 # 选项显示内容
!!!加行 menu default # 读秒结束后的默认选择
63 kernel vmlinuz # 加载内核
64 append initrd=initrd.img # 加载驱动
注意:65行后,66行开始全删(多余标签)
systemctl restart dhcpd # 注意关闭firewalld防火墙
systemctl restart tftp
yum -y install httpd # 第二步已安
systemctl restart/enable/status httpd
mkdir /var/www/html/centos7.8
mount /dev/cdrom /var/www/html/centos7.8
# 若该pxe_server长期提供pxe服务,可考虑开机自动mount
vim /etc/fstab
/dev/cdrom /var/www/html/centos7.8 iso9660 defaults 0 0
cp /root/ks.cfg /var/www/html/
ls /var/www/html/
centos7.8 共享网络安装源 ks.cfg 自动应答文件
vim /var/lib/tftpboot/pxelinux.cfg/default
65 append initrd=initrd.img ks=http://192.168.1.10/ks.cfg
systemctl restart dhcpd
systemctl restart tftp
systemctl restart httpd
- a. 安装图形工具system-config-kickstart(需系统支持图形化)
yum -y install system-config-kickstart
- b. 以英文en运行,图形配置应答文件
LANG=en system-config-kickstart # 启动图形界面
- c. 点击”软件包选择”,查看是否有包可以进行选择
无包可选 —> 需要yum仓库临时支持:
vim /etc/yum.repos.d/local.repo
[development] # 标识必须为[development]
name=CentOS-7.8-mini
baseurl="file:///var/www/html/centos7.8"
enabled=1
gpgcheck=0
- d.运行LANG=en system-config-kickstart,开始配置
1 选择设置语言、时区、root密码、勾选自动重启、字符界面…
2 选择全新安装、安装来源 http共享: 192.168.1.10 centos7.8
3 选择全新的启动程序
4 清楚启动记录、删除现有分区、初始化标签(全勾选第1个)
add 配置分区 # 此处涉及分区,根据实际需要进行配置!!!
5 添加网卡: ens33 dhcp类型
6 验证:默认
7 关闭selinux,开放防火墙firewall(勾选:信任ssh服务)
8 显示配置: 取消勾选,不安装图形化
9 自定义装包: 最小化安装,勾选Core
10 预安装脚本
11 安装后脚本: 例:
- e. File保存 -> root/ks.cfg
vim /root/ks.cfg # 可查看生成的应答文件,进行再编辑