HCRM博客

如何用CentOS创建自定义镜像?

CentOS制作镜像的详细步骤

准备工作

1、安装必要工具:确保系统已安装createrepomkisofsisomd5sumsquashfstools,这些工具可以通过以下命令安装:

如何用CentOS创建自定义镜像?-图1
(图片来源网络,侵权删除)
   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

示例配置如下:

如何用CentOS创建自定义镜像?-图2
(图片来源网络,侵权删除)
   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、如何添加自定义的软件包到镜像中?

如何用CentOS创建自定义镜像?-图3
(图片来源网络,侵权删除)

答:将需要添加的软件包拷贝到/root/iso/Packages 目录下,并在ks.cfg 文件中通过%packages 指令列出所有需要安装的软件包。

   %packages
   @minimal
   @core
   httpd
   nginx
   %end
分享:
扫描分享到社交APP
上一篇
下一篇