实验一:使用 kickstart 半自动化安装CentOS系统
- **准备一个centos7系统的主机**- **关闭防火墙和selinux**- **主机为静态ip地址**- **关闭vmware软件中的DHCP服务,基于NAT模式**
注意:使用 1G 以下内存的主机安装CentOS 7,8 会提示空间不足,建议2G以上
1.在centos7上利用system-config-kickstart工具创建kickstart文件
注意: centos8上面不支持此工具
安装system-config-kickstart工具
yum install -y system-config-kickstart
安装完成后,最小化安装的系统是无法启动这个工具的

- 需要开启xmanager中的passive工具

- 开启后在shell终端执行export DISPLAY=10.0.0.1:0.0命令,然后再执行system-config-kickstart命令即可
然后就会出现一个图形化界面,用来生成kickstart文件
- 接下来就选择需要执行的选项,完毕后保存即可
1.1 centos7的kickstart文件
# 查看kickstart文件:cat ks7.cfg |grep '^[^#]'installkeyboard 'us'rootpw --iscrypted $1$zPeZlZeR$zqJRNG0QmeEnM//6TUQjb/lang en_USauth --useshadow --passalgo=sha512textfirstboot --disableselinux --disabledskipxfirewall --disablednetwork --bootproto=dhcp --device=eth0reboottimezone Asia/Shanghaiurl --url="http://10.0.39.7/centos/7/os/x86_64/"bootloader --append="net.ifnames=0" --location=mbrzerombrclearpart --all --initlabelpart / --fstype="xfs" --size=100000part /boot --fstype="xfs" --size=1024part swap --fstype="swap" --size=2048part /data --fstype="xfs" --size=50000%postmkdir /etc/yum.repos.d/backupmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backupcat > /etc/yum.repos.d/base.repo <<EOF[BaseOS]name=basebaseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/gpgcheck=0enabled=1[epel]name=epelbaseurl=https://mirrors.aliyun.com/epel/7/x86_64/gpgcheck=0enabled=1[extras]name=extrasbaseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/gpgcheck=0enabled=1EOFmkdir /root/.ssh -m 700cat > /root/.ssh/authorized_keys <<EOFssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5+NIbhF2hleE+8T5k8JUld32RUkn/wjYO0K3lVvzemOalxetHCJ+SkDltHRIW0DPvoNcR5k+5mGX92+DxmBGcjFgbKefahDAbTpXnuf/B9NwZypzY9KYNlczNSL0JWnle1qddDHSn/eTSHfWaXtUWiJ1Xbxx8LWJUNq5zP+9v928O+KGVzzf3MIBtNVf1Pf5G8YM5VsGrKUT6ZNwg2EdG6wLbC23OQXJsQqDuS77WC7cwnu3STDvIfxhIhJxqxdWpolZxPbkUyLby6P2oLa4UGEyDBLwLNdR1RjXDY6WZOl/KZVAj/IkkEx6BDDivS5XnDwCg07xSgaZAA3a9vv2P root@centos7.localdomainEOFchmod 600 /root/.ssh/authorized_keyscat > /etc/profile.d/ps.sh <<EOFPS1="\e[1;32m\][\u@\h \W]\\$\[\e[0m\]"EOF%end%packagesvimtree%end
3.定制光盘,结合自制的kickstart文件实现半自动化安装
3.1 创建一个目录,将centos7系统光盘中的isolinux目录下的所有文件复制到该目录下
mkdir iso7mount /dev/sr0 /mnt/cp -r /mnt/isolinux/ iso7/
3.2 将centos7额应答文件放在http服务器上,并配置菜单文件isolinux.cfg
yum install -y httpdsystemctl enable --now httpdmkdir /var/www/html/ksmv ks7.cfg /var/www/html/ks/#配置菜单文件vim iso7/isolinux/isolinux.cfglabel linuxmenu label Install CentOS 7kernel vmlinuzappend initrd=initrd.img quiet ks=http://10.0.0.7/ks/ks7.cfg
3.3 刻录光盘并测试
yum install -y mkisofsmkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "centos7 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos7.iso /root/iso7/
刻录完成后,将光盘传到windows桌面,然后选择一个新虚拟机,将光盘挂载到新虚拟机下,加电启动

测试成功
实验八:实现pxe安装双系统centos6、centos7
- **准备一个centos7系统的主机**- **关闭防火墙和selinux**- **主机为静态ip地址**- **关闭vmware软件中的DHCP服务,基于NAT模式**
注意:使用 1G 以下内存的主机安装CentOS 7,8 会提示空间不足,建议2G以上
1. 安装相关服务包
yum -y install httpd tftp-server dhcp syslinux system-configkickstartsystemctl enable --now httpd tftp dhcpd
1.1 配置dhcp
vim /etc/dhcp/dhcpd.confoption domain-name "example.com";default-lease-time 600;max-lease-time 7200;subnet 10.0.0.0 netmask 255.0.0.0 {range 10.0.0.100 10.0.0.200;option routers 10.0.0.2;next-server 10.0.39.7;filename "pxelinux.0";}
2. 准备centos6,7的kickstart文件和yum源目录
mkdir /var/www/html/ks/# 将自制的centos6,7的kickstart文件移动到该目录下mv ks{6,7}.cfg /var/www/html/ks/#创建yum源目录,并将系统光盘挂载到对应的目录下mkdir -pv /var/www/html/centos/{6,7}/os/x86_64mount /dev/sr0 /var/www/html/centos/6/os/x86_64mount /dev/sr1 /var/www/html/centos/7/os/x86_64
2.1 centos7的自制kickstart文件
installkeyboard 'us'rootpw --iscrypted $1$zPeZlZeR$zqJRNG0QmeEnM//6TUQjb/lang en_USauth --useshadow --passalgo=sha512textfirstboot --disableselinux --disabledskipxfirewall --disablednetwork --bootproto=dhcp --device=eth0reboottimezone Asia/Shanghaiurl --url="http://10.0.39.7/centos/7/os/x86_64/"bootloader --append="net.ifnames=0" --location=mbrzerombrclearpart --all --initlabelpart / --fstype="xfs" --size=100000part /boot --fstype="xfs" --size=1024part swap --fstype="swap" --size=2048part /data --fstype="xfs" --size=50000%postmkdir /etc/yum.repos.d/backupmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backupcat > /etc/yum.repos.d/base.repo <<EOF[BaseOS]name=basebaseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/gpgcheck=0enabled=1[epel]name=epelbaseurl=https://mirrors.aliyun.com/epel/7/x86_64/gpgcheck=0enabled=1[extras]name=extrasbaseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/gpgcheck=0enabled=1EOFmkdir /root/.ssh -m 700cat > /root/.ssh/authorized_keys <<EOFssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5+NIbhF2hleE+8T5k8JUld32RUkn/wjYO0K3lVvzemOalxetHCJ+SkDltHRIW0DPvoNcR5k+5mGX92+DxmBGcjFgbKefahDAbTpXnuf/B9NwZypzY9KYNlczNSL0JWnle1qddDHSn/eTSHfWaXtUWiJ1Xbxx8LWJUNq5zP+9v928O+KGVzzf3MIBtNVf1Pf5G8YM5VsGrKUT6ZNwg2EdG6wLbC23OQXJsQqDuS77WC7cwnu3STDvIfxhIhJxqxdWpolZxPbkUyLby6P2oLa4UGEyDBLwLNdR1RjXDY6WZOl/KZVAj/IkkEx6BDDivS5XnDwCg07xSgaZAA3a9vv2P root@centos7.localdomainEOFchmod 600 /root/.ssh/authorized_keyscat > /etc/profile.d/ps.sh <<EOFPS1="\e[1;32m\][\u@\h \W]\\$\[\e[0m\]"EOF%end%packagesvimtree%end
2.2 centos6的自制kickstart文件
installtextrebooturl --url="http://10.0.39.7/centos/6/os/x86_64/"lang en_US.UTF-8keyboard usnetwork --onboot yes --device eth0 --bootproto dhcp --noipv6rootpw --iscrypted $6$HCVpJ2XW0sJOF4sV$a0JJzdfb5c8oaLV6/P9WOwYdT/nioK4oplthVhB/qrQkKGBnPrOyG54TJAS1X06Fe43VrXz2Yt5jlxzI87Qfh0firewall --disabledauthconfig --enableshadow --passalgo=sha512selinux --disabledtimezone --utc Asia/Shanghaibootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"zerombrclearpart --all --initlabelpart /boot --fstype=ext4 --size=2048part / --fstype=ext4 --size=102400part /dhttp://10.0.39.7/centos/6/os/x86_64/ata --fstype=ext4 --size=51200part swap --size=4096%packages@core@server-policy@workstation-policytree%end%postmkdir /etc/yum.repos.d/backupmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backupcat > /etc/yum.repos.d/base.repo <<EOF[base]name=basebaseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/gpgcheck=0enabled=1[epel]name=epelbaseurl=https://mirrors.aliyun.com/epel/6/x86_64/gpgcheck=0enabled=1[extras]name=extrasbaseurl=https://mirrors.aliyun.com/centos/6/extras/x86_64/gpgcheck=0enabled=1EOFmkdir /root/.ssh -m 700cat > /root/.ssh/authorized_keys <<EOFssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5+NIbhF2hleE+8T5k8JUld32RUkn/wjYO0K3lVvzemOalxetHCJ+SkDltHRIW0DPvoNcR5k+5mGX92+DxmBGcjFgbKefahDAbTpXnuf/B9NwZypzY9KYNlczNSL0JWnle1qddDHSn/eTSHfWaXtUWiJ1Xbxx8LWJUNq5zP+9v928O+KGVzzf3MIBtNVf1Pf5G8YM5VsGrKUT6ZNwg2EdG6wLbC23OQXJsQqDuS77WC7cwnu3STDvIfxhIhJxqxdWpolZxPbkUyLby6P2oLa4UGEyDBLwLNdR1RjXDY6WZOl/KZVAj/IkkEx6BDDivS5XnDwCg07xSgaZAA3a9vv2P root@centos7.localdomainEOFchmod 600 /root/.ssh/authorized_keys%end
3. 准备pxe启动文件
mkdir /var/lib/tftpboot/pxelinux.cfg/cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
4.修改启动菜单文件
Vim /var/lib/tftpboot/pxelinux.cfg/defaultdefault menu.c32timeout 600menu title Install centos linuxlabel linuxmenu label Install centos ^6kernel centos6/vmlinuzappend initrd=centos6/initrd.img ks=http://10.0.39.7/ks/ks6.cfglabel linuxmenu label Install centos ^7kernel centos7/vmlinuzappend initrd=centos7/initrd.img ks=http://10.0.39.7/ks/ks7.cfg
5.测试
准备一台新的主机,选择网卡引导即可。


测试完成
