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结尾