PXE(Pre-boot Execution Environment)是由Intel設計的協議,它能夠使計算機經過網絡啓動。協議分爲client和server兩端,PXE client在網卡的ROM中,當計算機引導時,BIOS把PXE client調入內存執行,並顯示出命令菜單,經用戶選擇後,PXE client將放置在遠端的操做系統經過網絡下載到本地運行。 系統環境初始化: sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config setenforce 0 iptables -F systemctl stop firewalld systemctl disable firewalld 一、配置DHCP服務程序 DHCP服務程序用於爲客戶端主機分配可用的IP地址,並且這是服務器與客戶端主機進行文件傳輸的基礎,所以咱們先行配置DHCP服務程序。 yum -y install dhcp cat /usr/share/doc/dhcp*/dhcpd.conf.example vim /etc/dhcp/dhcpd.conf allow booting; allow bootp; ddns-update-style interim; ignore client-updates; subnet 172.16.70.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option domain-name-servers 172.16.70.250; range dynamic-bootp 172.16.70.100 172.16.70.200; default-lease-time 21600; max-lease-time 43200; next-server 172.16.70.250; filename "pxelinux.0"; } systemctl start dhcpd systemctl enable dhcpd 二、配置TFTP服務程序 vsftpd服務與TFTP服務。vsftpd是一款功能豐富的文件傳輸服務程序,容許用戶以匿名開放模式、本地用戶模式、虛擬用戶模式來進行訪問認證。可是,當前的客戶端主機尚未安裝操做系統,該如何進行登陸認證呢?而TFTP做爲一種基於UDP協議的簡單文件傳輸協議,不須要進行用戶認證便可獲取到所需的文件資源。所以接下來配置TFTP服務程序,爲客戶端主機提供引導及驅動文件。當客戶端主機有了基本的驅動程序以後,再經過vsftpd服務程序將完整的光盤鏡像文件傳輸過去。 yum -y install tftp-server xinetd 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 per_source = 11 cps = 100 2 flags = IPv4 } systemctl restart xinetd systemctl enable xinetd 三、配置SYSLinux服務程序 SYSLinux是一個用於提供引導加載的服務程序。與其說SYSLinux是一個服務程序,不如說更須要裏面的引導文件,在安裝好SYSLinux服務程序軟件包後,/usr/share/syslinux目錄中會出現不少引導文件。 yum -y install syslinux mount /dev/cdrom /mnt cd /var/lib/tftpboot cp /usr/share/syslinux/pxelinux.0 . cp /mnt/images/pxeboot/initrd.img . cp /mnt/images/pxeboot/vmlinuz . cp /mnt/isolinux/vesamenu.c32 . cp /mnt/isolinux/boot.msg . mkdir pxelinux.cfg cd pxelinux.cfg/ cp /mnt/isolinux/isolinux.cfg default vim /var/lib/tftpboot/pxelinux.cfg/default 1 #default vesamenu.c32 2 default linux 65 # append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet 66 append initrd=initrd.img inst.stage2=ftp://172.16.70.250 ks=ftp://172.16.70.250/pub/ks.cfg quiet 四、配置VSFtpd服務程序 在咱們這套無人值守安裝系統的服務中,光盤鏡像是經過FTP協議傳輸的,所以勢必要用到vsftpd服務程序。固然,也能夠使用httpd服務程序來提供Web網站訪問的方式,只要能確保將光盤鏡像順利傳輸給客戶端主機便可。若是打算使用Web網站服務來提供光盤鏡像,必定記得將上面配置文件中的光盤鏡像獲取網址和Kickstart應答文件獲取網址修改一下。 #使用某臺默認的ks文件 yum -y install vsftpd cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg cd /var/ftp/pub/ vim /var/ftp/pub/ks.cfg 4 # Use CDROM installation media 5 cdrom 6 url --url=ftp://172.16.70.250 7 # Use graphical install 8 #graphical 9 text 18 network --bootproto=dhcp --device=ens33 --onboot=on --ipv6=auto --no-activate 31 #clearpart --none --initlabel 32 clearpart --all --initlabel 50 51 reboot 52 [root@kickstart]# ll /var/ftp/pub/ks.cfg 總用量 4 -rw-------. 1 root root 997 1月 20 14:10 ks.cfg chmod +r /var/ftp/pub/ks.cfg systemctl restart vsftpd systemctl enable vsftpd #自定義ks 文件 配置kickstart安裝文件 能夠使用某臺CentOS 7(注意不是6)的/root/anaconda-ks.cfg做爲模板手動修改,也能夠使用system-config-kickstart命令配置ks.cfg文件: 在某臺CentOS 7(注意不是6)系統上安裝所需包: # yum -y install system-config-kickstart 在某臺CentOS 7(注意不是6)系統上運行圖形界面進行設置: #system-config-kickstart 驗證ks文件的正確性(可選): 在CentOS 7系統安裝pykickstart包: # yum -y install pykickstart 在CentOS 7系統驗證上傳到此係統的ks文件: ksvalidator ks.cfg 若是沒任何輸出,表示沒問題。 在CentOS 7系統查看CentOS 6與7的ks版本區別: ksverdiff -f RHEL6 -to RHEL7 #########新裝機器操做############################################################ 直接設定在同網段開機便可 參考: http://hmli.ustc.edu.cn/doc/linux/centos-autoinstall.htm https://www.linuxprobe.com/chapter-19.html PS: ks文件詳解 #platform=x86, AMD64, 或 Intel EM64T #version=CentOS7 # Install OS instead of upgrade #全新安裝而不是升級 install # Keyboard layouts keyboard 'us' # Root password rootpw --iscrypted $改爲這樣不會再給我發泄密警告了吧?10 #採用加密記錄 #rootpw --plaintext 12你要認爲我泄漏密碼,我對你智商也沒轍456 #採用明文記錄 # System language lang en_US # Firewall configuration #屏蔽防火牆 firewall --disabled # System authorization information #設定NIS信息 auth --useshadow --passalgo=sha512 --enablenis --nisdomain=mydomain.org --nisserver=192.168.100.254 # Use text mode install #安裝方式,文本界面,圖形的話graphy text # SELinux configuration #關閉SELinux selinux --disabled # Do not configure the X Window System #不配置X圖形界面 skipx # Use NFS installation media #設定安裝方式 nfs --server=192.168.100.254 --dir=/centos # Use http installation source #url --url=http://192.168.100.254/centos/7/ # Network information #採用DHCP獲取IP network --bootproto=dhcp # Reboot after installation #安裝後自動重啓,若是BIOS中設置從PXE首先啓動,那麼會重複安裝,請注意,安裝後應設置爲從先硬盤啓動 reboot # System timezone timezone Asia/Shanghai # System bootloader configuration bootloader --location=mbr # Partition clearing information #清除原有分區 clearpart --all # Disk partitioning information part / --fstype="xfs" --size=10000 part /boot --fstype="xfs" --size=200 #part /boot/efi --fstype=efi --size=200 #UEFI引導安裝時須要,傳統LEGACY引導時可屏蔽此選項 part swap --fstype="swap" --size=8000 part /tmp --fstype="xfs" --grow --size=1 %packages #設定所須要的軟件包,按須要調整 @base #@表示一組軟件包 @network-server @performance @system-admin-tools sdparm tree tuned tuned-utils ypbind nfs-utils vim-enhanced #-表示從默認軟件包的須要去除的軟件包 -lvm2 -nano -pcmciautils -plymouth -rfkill -rsync -system-config-firewall-tui -system-config-network-tui -unzip -vconfig -wireless-tools %end #%packages結尾 %pre #預案裝腳本,非必須 date %end #%pre結尾 %post #安裝後腳本,非必須 cat >>/root/.bashrc <>/etc/fstab %end #%post結尾