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 0iptables -Fsystemctl stop firewalldsystemctl disable firewalld1、配置DHCP服务程序DHCP服务程序用于为客户端主机分配可用的IP地址,而且这是服务器与客户端主机进行文件传输的基础,因此我们先行配置DHCP服务程序。yum -y install dhcpcat /usr/share/doc/dhcp*/dhcpd.conf.examplevim /etc/dhcp/dhcpd.confallow 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 dhcpdsystemctl enable dhcpd2、配置TFTP服务程序vsftpd服务与TFTP服务。vsftpd是一款功能丰富的文件传输服务程序,允许用户以匿名开放模式、本地用户模式、虚拟用户模式来进行访问认证。但是,当前的客户端主机还没有安装操作系统,该如何进行登录认证呢?而TFTP作为一种基于UDP协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源。因此接下来配置TFTP服务程序,为客户端主机提供引导及驱动文件。当客户端主机有了基本的驱动程序之后,再通过vsftpd服务程序将完整的光盘镜像文件传输过去。 yum -y install tftp-server  xinetd vim /etc/xinetd.d/tftpservice 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 xinetdsystemctl enable xinetd3、配置SYSLinux服务程序SYSLinux是一个用于提供引导加载的服务程序。与其说SYSLinux是一个服务程序,不如说更需要里面的引导文件,在安装好SYSLinux服务程序软件包后,/usr/share/syslinux目录中会出现很多引导文件。yum -y install syslinuxmount /dev/cdrom /mntcd /var/lib/tftpbootcp /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.cfgcd pxelinux.cfg/cp /mnt/isolinux/isolinux.cfg defaultvim  /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 quiet4、配置VSFtpd服务程序在我们这套无人值守安装系统的服务中,光盘镜像是通过FTP协议传输的,因此势必要用到vsftpd服务程序。当然,也可以使用httpd服务程序来提供Web网站访问的方式,只要能确保将光盘镜像顺利传输给客户端主机即可。如果打算使用Web网站服务来提供光盘镜像,一定记得将上面配置文件中的光盘镜像获取网址和Kickstart应答文件获取网址修改一下。#使用某台默认的ks文件yum -y install vsftpdcp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfgcd /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.cfgchmod +r /var/ftp/pub/ks.cfgsystemctl restart vsftpdsystemctl 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.htmhttps://www.linuxprobe.com/chapter-19.htmlPS: ks文件详解#platform=x86, AMD64, 或 Intel EM64T#version=CentOS7# Install OS instead of upgrade #全新安装而不是升级install# Keyboard layoutskeyboard 'us'# Root passwordrootpw --iscrypted $改成这样不会再给我发泄密警告了吧?10 #采用加密记录#rootpw --plaintext 12你要认为我泄漏密码,我对你智商也没辙456 #采用明文记录# System languagelang 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 #安装方式,文本界面,图形的话graphytext# SELinux configuration #关闭SELinuxselinux --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获取IPnetwork  --bootproto=dhcp# Reboot after installation #安装后自动重启,如果BIOS中设置从PXE首先启动,那么会重复安装,请注意,安装后应设置为从先硬盘启动reboot# System timezonetimezone Asia/Shanghai# System bootloader configurationbootloader --location=mbr# Partition clearing information #清除原有分区clearpart --all# Disk partitioning informationpart / --fstype="xfs" --size=10000part /boot --fstype="xfs" --size=200#part /boot/efi --fstype=efi --size=200 #UEFI引导安装时需要,传统LEGACY引导时可屏蔽此选项part swap --fstype="swap" --size=8000part /tmp --fstype="xfs" --grow --size=1%packages #设定所需要的软件包,按需要调整@base #@表示一组软件包@network-server@performance@system-admin-toolssdparmtreetunedtuned-utilsypbindnfs-utilsvim-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结尾


©著作权归作者所有:来自51CTO博客作者类似简单的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 遇见一只黑猫,她说程序员都是骗子
  2. oss上传文件阿里云(js版本)
  3. 再谈文件读写:判断文件的几种方法及其优劣对比
  4. 给Python学习者的文件读写指南(含基础与进阶,建议收藏)
  5. 使用pm2后台运行nodejs程序
  6. 2021 年,程序员技术公众号生死劫
  7. 前端程序员有必要学一点C语言吗?
  8. 为什么程序员应该写博客?用什么博客系统?在哪写?
  9. 程序员的快乐往往就是这么朴素无华且枯燥!

随机推荐

  1. Android中的实体类的正确用法
  2. Android使用libjpeg实现图片压缩
  3. Android 进程和线程模型
  4. android之NFC基础技术分享
  5. [转]Android 应用程序基础(Application Fu
  6. android权限管理之PermissionsDispatcher
  7. Android的路接下来该怎么走?
  8. android sqlite 操作 说明 记录
  9. android设置背景
  10. Android上的滤镜效果