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