做一个完整版的iso,不依赖于网络
1 准备相关文件,yum源
mkdir /app/fulliso cp -r /misc/cd /app/fulliso
这里要注意,因为没有隐藏文件拷过来所以在考将/misc/cd里的隐藏文件拷过来ls -a后就可以看到隐藏文件
cp .treeinfo .discinfo /app/fulliso/ rm -rf /app/fulliso/repodata/*
在repodate里面有一个没有压缩的那个文件拷贝过来
cp /misc/cd/repodata/*777d-c6-x86_64-comps.xml /app/fulliso/repodata/ cd /app/fulliso
(*777d-c6-x86_64-comps.xml)这一长串是放包组信息的,要依赖这个包租创建yum源数据。
然后创建yum源
createrepo -g repodata/*777d-c6-x86_64-comps.xml ./
-g指定包组的文件名,根据它来创建yum源
find /app/fulliso -name TRANS.TBL -exec rm {} \
;待会这个文件会自动生成所以先删除
2 准备ks文件
cp /root/anaconda-ks.cfg /app/fulliso然后改名为ks.cfg vim /app/fulliso/ks6.cfg
下述就是修改该应答文件的内容,其他默认就好了
selinux --disabled zerombr clearpart --all text reboot part /boot --fstype=ext4 --size=1000 part / --fstype=ext4 --size=50000 part /app --fstype=ext4 --size=40000 part swap --size=2048 %post rm -rf /etc/yum.repos.d/* cat > /etc/yum.repos.d/base.repo <<eof [base] name=base baseurl=file:///misc/cd gpgcheck=0 eof %end
3 定制启动菜单
vim /app/fulliso/isolinux/isolinux.cfg default vesamenu.c32 label desktop自动化安装 menu label Install an ^desktop system kernel vmlinuz append initrd=initrd.img ks=cdrom:/ks6.cfg label mini最小化安装 menu label Install an m^ini system kernel vmlinuz append initrd=initrd.img ks=cdrom:/ks6-mini.cfg label manual手动安装 menu label ^Manual install an system kernel vmlinuz append initrd=initrd.img label local本地安装 menu label Boot from ^local drive menu default localboot 0xffff
4 制作ISO文件
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 autoinstall" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6.iso /app/fulliso/
制作完之后就可以将iso文件导出,用一个新的centos系统就可以尝试安装了!
PXE自动化安装CentOS 7
1 安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP
2 安装相关软件包
yum install httpd tftp-server dhcp syslinux
3 配置DHCP服务
vim /etc/dhcp/dhcpd.conf subnet 192.168.96.0 netmask 255.255.255.0 { range 192.168.96.50 192.168.96.100; next-server 192.168.96.7; filename "pxelinux.0"; }
systemctl enable dhcpd systemctl start dhcpd
4 配置文件共享服务和yum源
在httpd服务中准备yum源
systemctl enable httpd systemctl start httpd cd /var/www/html mkdir /var/www/html/centos/7 mkdir /var/www/html/mkdir 专门放置应答文件 mount /dev/sr0 /var/www/html/centos/7
5 准备kickstart文件
cp /root/anaconda-ks.cfg /var/www/html/ksdir/ks7-1.cfg chmod +r /var/www/html/ksdir/ks7-1.cfg vim /var/www/html/ksdir/ks7-1.cfg selinux --disabled zerombr clearpart --all text Reboot autofs systemctl enable autofs part /boot --fstype=ext4 --size=1000 part / --fstype=ext4 --size=50000 part /app --fstype=ext4 --size=40000 part swap --size=2048 %post rm -rf /etc/yum.repos.d/* cat > /etc/yum.repos.d/base.repo <<eof [base] name=base baseurl=file:///misc/cd gpgcheck=0 eof %end
6 配置tftp服务
systemctl enable tftp.socket systemctl start tftp.socket
7准备PXE相关文件
mkdir/var/lib/tftpboot/pxelinux.cfg/ yum install syslinux -y 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
8制作启动菜单文件
vim /var/lib/tftpboot/pxelinux.cfg/default default menu.c32 timeout 600 menu title CentOS Linux 7 PXE Install label desktop menu label Auto Install CentOS Linux 7 ^Desktop kernel vmlinuz append initrd=initrd.img ks=http://192.168.25.107/ksdir/ks7-1.cfg label mini menu label Auto Install CentOS Linux 7 M^ini kernel vmlinuz append initrd=initrd.img ks=http://192.168.25.107/ksdir/ks7-2.cfg label manual menu label ^Manual Install CentOS Linux 7 kernel vmlinuz append initrd=initrd.img inst.repo=http://192.168.25.107/centos/7 label local menu default menu label Boot from ^local drive localboot 0xffff menu end 完成上述配置后,就可以利用网络来自动安装了,其中涉及到了三个服务,httpd,tftp,dhcp服务。 在本文中只介绍了两种自动化安装方法,当然还有很多方法,可以根据自己的兴趣去研究
时间: 2024-10-08 06:10:41