PXE(Preboot eXecute Environment,預啓動執行環境)是由Intel公司開發的技術,能夠讓計算機經過網絡來啓動操做系統(前提是計算機上安裝的網卡支持PXE技術),主要用於在無人機值守安裝系統中引導客戶端主機安裝Linux操做系統.linux
主機名稱 | 操做系統 | IP地址 |
---|---|---|
無人值守系統 | RHEL7 | 192.168.56.25 |
客戶端主機 | 未安裝操做系統 | - |
[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"; }
[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
[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
[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
若是以爲系統默認自帶的應答文件參數較少,不能知足生產環境的需求,能夠經過Yum倉庫安裝
system-config-kickstart
軟件包.這是一款圖形化的Kickstart應答文件生成工具,能夠根據本身的需求生成自定義的應答文件.json
[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