简书上为首发,拒绝抄袭,原文地址: https://www.jianshu.com/p/cf92bc622c5c
title: CentOS客制化镜像制作
date: 2020-09-20 00:07:19
tags: 其他
由于某些原因,需要在CentOS
镜像中安装一些开发环境
网上查询一番,相比于Ubuntu
, CentOS
系统客制化相关的资料不多,质量也不高。折腾一番,也踩了不少坑,总算将镜像做完。
现在将客制化的步骤整理如下,希望能帮到需要的人
参考视频链接: https://www.youtube.com/watch?v=_LobCfU_uIY
# 1. 挂载镜像
sudo mount -o loop CentOS-7-x86_64-LiveGNOME-1810.iso /mnt
mkdir tmp
cd tmp
mkdir iso
# 2. 将镜像里的所有文件拷贝到本地
cp -rfp /mnt/* iso/.
cd iso/LiveOS/
su root
# 3. 将img镜像解压
unsquashfs squashfs.img
cd squshfs-root/LiveOS/
# 4. (可选)扩充ext3fs.img的大小,默认是8G,因为后面安装gcc需要用到3G,会导致空间不够,所以扩充大小至12G
e2fsck -f ./ext3fs.img
resize2fs ext3fs.img 12000M
mkdir ext3fs
# 5. 挂载 ext3fs.img
mount -o loop ext3fs.img ext3fs
cd ext3fs/
# 6. (可选)将本机的网络设置,软件安装源文件拷贝到镜像里,避免无法使用yum安装软件
cp /etc/resolv.conf etc/
cp /etc/hosts etc/
# 7.将当前目录当做根目录,后面就可以在里面安装需要的东西了
chroot .
# 8. 在当前环境中装自己想要的软件,装完后会保存到镜像里
# ...
# 9. 安装结束后,退出
exit
cd ..
# 10. 卸载和删除掉一些中间文件
umount ext3fs
rm -rf ext3fs
cd ../..
rm -rf squashfs.img
# 11. 重新生成squshfs.img
mksquashfs squashfs-root/ squashfs.img -noappend -always-use-fragments
# 12. 删除中间文件
rm -rf squashfs-root/
cd ..
# 制作镜像,/media/custom_iso2.iso是生成的iso的保存路径,注意最后面的"CentOS-7-x86_64-LiveGNOME-1810"不能改,否则会导致启动不了
mkisofs -o /media/custom_iso2.iso -b isolinux/isolinux.bin -c isolinux/boot.cat --no-emul-boot --boot-load-size 4 --boot-info-table -R -J -v -T -V "CentOS-7-x86_64-LiveGNOME-1810" .