Linux基础学习-使用PXE+Kickstart无人值守安装服务
2024-08-24 13:51:36
无人值守安装系统
PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于在无人机值守安装系统中引导客户端主机安装Linux操作系统.
主机名称 | 操作系统 | IP地址 |
---|---|---|
无人值守系统 | RHEL7 | 192.168.56.25 |
客户端主机 | 未安装操作系统 | - |
部署DHCP服务程序
[root@mail ~]# yum install dhcp -y
[root@mail ~]# vim /etc/dhcp/dhcpd.conf
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.56.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.56.25;
range dynamic-bootp 192.168.56.100 192.168.56.200;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.56.25;
filename "pxelinux.0";
}
配置TFTP服务程序
[root@mail ~]# yum install tftp-server -y
[root@mail ~]# 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 //yes改为no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@mail ~]# firewall-cmd --permanent --add-port=69/udp
success
[root@mail ~]# firewall-cmd --reload
success
配置syslinux服务程序
[root@mail ~]# yum install syslinux -y
[root@mail ~]# cd /var/lib/tftpboot/
[root@mail tftpboot]# cp /usr/share/syslinux/
altmbr.bin gptmbr_c.bin isolinux.bin pwd.c32
altmbr_c.bin gptmbr_f.bin isolinux-debug.bin pxechain.com
altmbr_f.bin gpxecmd.c32 kbdmap.c32 pxelinux.0
cat.c32 gpxelinux.0 linux.c32 reboot.c32
chain.c32 gpxelinuxk.0 ls.c32 rosh.c32
cmd.c32 hdt.c32 lua.c32 sanboot.c32
config.c32 host.c32 mboot.c32 sdi.c32
cpuid.c32 ifcpu64.c32 mbr.bin sysdump.c32
cpuidtest.c32 ifcpu.c32 mbr_c.bin syslinux64.exe
diag/ ifplop.c32 mbr_f.bin syslinux.com
disk.c32 int18.com memdisk syslinux.exe
dmitest.c32 isohdpfx.bin memdump.com ver.com
dosutil/ isohdpfx_c.bin meminfo.c32 vesainfo.c32
elf.c32 isohdpfx_f.bin menu.c32 vesamenu.c32
ethersel.c32 isohdppx.bin pcitest.c32 vpdtest.c32
gfxboot.c32 isohdppx_c.bin pmload.c32 whichsys.c32
gptmbr.bin isohdppx_f.bin poweroff.com zzjson.c32
[root@mail tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[root@mail tftpboot]# cp /mnt/images/pxeboot/{vmlinuz,initrd.img} .
[root@mail tftpboot]# cp /mnt/isolinux/{vesamenu.c32,boot.msg} .
[root@mail tftpboot]# ls
boot.msg initrd.img pxelinux.0 vesamenu.c32 vmlinuz
[root@mail tftpboot]# mkdir pxelinux.cfg
[root@mail tftpboot]# cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/default
[root@mail tftpboot]# vim pxelinux.cfg/default
1 default linux
64 append initrd=initrd.img inst.stage2=ftp://192.168.56.25 ks=ftp://192.168.56.25/pub/ks.cfg quiet
配置vsftpd服务程序
[root@mail tftpboot]# yum install vsftpd -y
[root@mail tftpboot]# systemctl restart vsftpd
[root@mail tftpboot]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
[root@mail pub]# firewall-cmd --permanent --add-service=ftp
success
[root@mail pub]# firewall-cmd --reload
success
[root@mail pub]# setsebool -P ftpd_connect_all_unreserved=on
创建KickStart应答文件
如果觉得系统默认自带的应答文件参数较少,不能满足生产环境的需求,可以通过Yum仓库安装
system-config-kickstart
软件包.这是一款图形化的Kickstart应答文件生成工具,可以根据自己的需求生成自定义的应答文件.
[root@mail ~]# cp anaconda-ks.cfg /var/ftp/pub/ks.cfg
[root@mail pub]# chmod 755 /var/ftp/pub/ks.cfg
6 url --url=ftp://192.168.56.25
21 timezone Asia/Shanghai --isUtc
29 clearpart --all --initlabel
最新文章
- 如何修改MySQL字符集
- D2js 的邦联式架构
- iOS 应用中有页面加载gif动画,从后台进入前台时就消失了
- MVC EF中Attach和Entry区别
- LeetCode OJ 274. H-Index
- cordova3.X 运用grunt生成plugin自定义插件骨架
- iOS - Swift 	命令行输入输出
- 二进制序列化框架easypack发布啦!
- MVC与WebForm的一些区别
- C++ Regsvr32订购具体解释
- app接入网易严选:webview注入js的几个坑
- 单点登录(SSO)的设计
- 洛谷P3434 [POI2006]KRA-The Disks(线段树)
- hive的top n
- Golang 新手可能会踩的 50 个坑【转】
- docker 安装hadoop
- php 循环数组问题
- 流程控制语句(if、for、while、do while、switch、 break、continue)
- c++中如 <;类名 类名::对象>; 是什么意思
- <;CPP学习 第二天>; 字符串的输入 及 String类