CentOS制作镜像的详细步骤
准备工作
1、安装必要工具:确保系统已安装createrepo
、mkisofs
、isomd5sum
和squashfstools
,这些工具可以通过以下命令安装:
yum install createrepo mkisofs isomd5sum squashfstools
2、创建目录:创建用于存放原始ISO文件、定制ISO文件以及挂载点的目录:
mkdir /root/iso /MISO /PanISO
3、下载CentOS最小化镜像:从可靠的镜像源下载所需的CentOS ISO文件(例如CentOS 7.9),可以使用wget
命令:
wget https://mirrors.163.com/centos/7.9.2009/isos/x86_64/CentOS7x86_64Minimal2009.iso O /root/CentOS7x86_64Minimal2009.iso
挂载并复制文件
1、挂载ISO文件:将下载的ISO文件挂载到/MISO
目录:
mount o loop,rw /root/CentOS7x86_64Minimal2009.iso /MISO
2、复制文件:将挂载点中的所有内容复制到定制ISO的制作目录:
cp a /MISO/* /root/iso/
修改配置文件
1、编辑isolinux/isolinux.cfg
文件:根据需求修改引导菜单的配置,例如设置默认选项、背景图片和
vim /root/iso/isolinux/isolinux.cfg
示例配置如下:
default vesamenu.c32 menu title SinoCache ISO 7.9 menu background splash.png menu vshift 8 menu rows 18 menu margin 8 label linux menu label ^Install SinoCache ISO 7.9 menu default kernel vmlinuz append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg inst.stage2=hd:LABEL=CentOS quiet net.ifnames=0 biosdevname=0
2、编辑ks.cfg
文件:这是自动化安装配置文件,可以基于默认生成的anacondaks.cfg
进行修改,示例配置如下:
#version=DEVEL auth enableshadow passalgo=sha512 cdrom graphical firstboot enable ignoredisk onlyuse=sda keyboard vckeymap=us xlayouts='us' lang en_US.UTF8 network bootproto=dhcp device=ens33 onboot=off ipv6=auto noactivate rootpw iscrypted $6$Ok9Jcj51va/3x830$/6rLkpu8k2tPCmd7byUBE7wuRexmuoMzp0jAelDRYMAIk9yRL/84mCFrAlRJbWQVcEIB7wWgw8byp0r21vT0 services disabled="chronyd" timezone Asia/Shanghai isUtc nontp user name=pan password=$6$ONSyoQ.S58OJpcnj$jUz6vDadzY5wZ39fr0dEONbI/iNIeVkRMjj9ZJbIqQLPLKqq8ZJWRoDGjolLJfkwmw58C8/ iscrypted gecos="pan" bootloader append=" crashkernel=auto" location=mbr bootdrive=sda autopart type=lvm clearpart none initlabel %pre %end %packages @minimal @core kexectools %end %post pwpolicy root minlen=6 minquality=50 notstrict nochanges notempty pwpolicy user minlen=6 minquality=50 notstrict nochanges notempty pwpolicy luks minlen=6 minquality=50 notstrict nochanges notempty %end %pre pwpolicy root minlen=6 minquality=50 notstrict nochanges notempty pwpolicy user minlen=6 minquality=50 notstrict nochanges notempty pwpolicy luks minlen=6 minquality=50 notstrict nochanges notempty %end
生成ISO文件
1、使用mkisofs
生成ISO文件:在/root/iso
目录下运行以下命令生成最终的ISO文件:
mkisofs o /root/CentOS7x86_64Custom.iso b isolinux/isolinux.bin c isolinux/boot.cat noemulboot bootloadsize 4 bootinfotable R J V "SinoCache ISO 7.9" /root/iso/
2、验证ISO文件:使用isomd5sum
校验生成的ISO文件:
isomd5sum /root/CentOS7x86_64Custom.iso
FAQs常见问题解答
1、如何修改网卡名称为ethX
?
答:在ks.cfg
文件中添加net.ifnames=0 biosdevname=0
参数,这将禁用CentOS 7的“一致性网络设备命名法”,使网卡名称恢复为传统的ethX
形式,具体配置如下:
append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg inst.stage2=hd:LABEL=CentOS quiet net.ifnames=0 biosdevname=0
2、如何添加自定义的软件包到镜像中?
答:将需要添加的软件包拷贝到/root/iso/Packages
目录下,并在ks.cfg
文件中通过%packages
指令列出所有需要安装的软件包。
%packages @minimal @core httpd nginx %end