文章目录
一、DIY定制自己的 Linux / CentOS 系统
本文安装步骤省略,可参考此文章 Centos7 制作系统iso镜像文件
公司在内网环境开发,搭建服务或者安装 Linux 系统十分不便,于是萌生了定制一个包含常用依赖的 CentOS 7 系统,需要用的时候直接一键安装即可,环境依赖全部事先处理好,不论内外网环境都很方便。
在网上查阅了资料后,发现有两种方案很可行
1、利用 CentOS 7 官方原版 ISO 镜像
事先预下载好依赖文件,编写好安装配置文件,然后制作为 ISO 镜像文件。此方法制作出来的文件,跟原版镜像安装步骤没有区别,都是进入安装界面,配置硬盘、网络、账号、密码等步骤进行安装,还可以修改logo、背景。但是此方法制作的镜像,操作繁琐,需要频繁操作文件,而且只能使用rpm预装无状态无数据的软件,如果是需要预先配置环境等等操作,就力不从心了。
2、使用 Mondo 制作 ISO 镜像
利用 Mondo 工具制作镜像,可将以准备好的系统包括数据全盘复制,恢复系统或批量安装都可完美安装,非常符合我的需求。所以我采用了此办法制作 ISO 镜像。
二、遇到的问题及闭坑指南
本人参考第一节中的教程文章操作完成后,发现的问题级需要注意的事项如下
1、非常重要!!!将系统安全配置 SELINUX 改为 disabled,否则制作好的镜像无法登陆!!!
本人就是在这个配置项上被坑了很久的时间,每次制作出来的镜像都无法登陆,心情十分绝望。后来发现是此项配置导致恢复的镜像无法登陆
vim /etc/selinux/config
# 将其从 enforcing 改为 disabled
SELINUX=disabled
2、安装完 Mondo 后请务必修改此项配置,否则在制作镜像时会闪退失败
vim /etc/mindi/mindi.conf
# 找到以下行,解开注释或复制一行,
# EXTRA_SPACE = 80152 , 改为 EXTRA_SPACE = 801520
EXTRA_SPACE = 801520
示例:
#
# Example of mindi configuration file
#
# $Id$
#
# Force these modules to be loaded at restore time first, in that order:
# FORCE_MODS="cciss hpsa"
#
# Prevent these module to be loaded at all at restore time
# DENY_MODS="kqemu vxfen fdomain ipmi_si"
#
# EXTRA_SPACE=80152 # increase if you run out of ramdisk space
EXTRA_SPACE=801520
# MINDI_ADDITIONAL_BOOT_PARAMS="devfs=nomount noresume selinux=0 barrier=off udevtimeout=10 acpi=off"
# MINDI_DEFAULT_BOOT_OPTION="interactive ipconf=eth0:10.0.0.1:255.0.0.0:10.255.255.255:10.2.3.4"
# PROMPT_MAKE_CD_IMAGE="no" # Avoid interactive question about CD creation
# PROMPT_MAKE_USB_IMAGE="no" # Avoid interactive question about USB key creation
# USBDEVICE="/dev/sdg" # If you activated the previous option then you need to provide a device drive for the USB key
3、将系统的硬盘挂载从 UUID 挂载方式改为盘符挂载的方式
UUID 挂载在镜像恢复后可能会导致挂载盘无法识别,请改为盘符挂载
# 查看挂载信息
vim /etc/fstab
这是 UUID 挂载的方式
# 查看 UUID 对应盘符
blkid
/dev/mapper/centos-root: UUID="bd287492-73bb-437d-9ce1-10a69c46deae" TYPE="xfs"
/dev/sda2: UUID="Jiq1Fv-svdP-2Exo-1hrq-KhR8-Peq8-cq14pw" TYPE="LVM2_member"
/dev/sda1: UUID="1d1acd00-d9a2-4422-8f49-8293c1c3c751" TYPE="xfs"
/dev/sr0: UUID="2020-11-03-14-55-29-00" LABEL="CentOS 7 x86_64" TYPE="iso9660"
vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Jun 25 18:33:40 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
/dev/sda1 /boot xfs defaults 0 0
至此需要注意的事项都已完成,接下来就安装第一节的教程制作镜像即可,本人已成功制作镜像并恢复