簡書上為首發,拒絕抄襲,原文地址: http://www.lxweimin.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" .