Linux系统封装ISO镜像(自动安装)

一、准备一个系统 centos7或者centos8都可以;最小化或者桌面版的都可以,自行选择

在这里插入图片描述

二、安装自定义镜像工具
yum -y install createrepo mkisofs openssl rsync syslinux
三、挂载镜像 创建挂载点
mkdir /mnt/cdrom

mount /dev/sr0 /mnt/cdrom
四、同步 /mnt/cdrom/ 下的文件到 /soft/centos

/soft/centos 为封装镜像所准备的目录,请自行创建

mkdir /soft/centos -pv

rsync -a /mnt/cdrom/ /soft/centos

在这里插入图片描述

提示:如果采用cp方式复制,请把 .开头的文件一并复制,否则安装时将会缺少相关文件而报错

五、拷贝自定义文件或程序到待封装目录

提示:这里要拷贝的文件是指封装特定镜像时需要提前添加的文件,属于自定义文件。比如为一个压缩包或者是一个配置文件。或者直接从本地上传到相应目录下也可以
这里采用拷贝的方式:

cp /root/test.txt /soft/centos/test/
#相关目录请自行创建
六、ks.cfg文件自定义
# 启用影子密码
auth --enableshadow --passalgo=sha512
# 使用CD-ROM安装媒体
cdrom
# 使用图形安装
graphical
# 在首次启动时运行设置代理
firstboot --enable
# 忽略磁盘,仅使用sda
ignoredisk --only-use=sda
# 键盘布局
keyboard --vckeymap=us --xlayouts='us'
# 系统语言
lang en_US.UTF-8

# 网络信息默认启用DHCP
network --bootproto=dhcp --device=eth0 --ipv6=auto --activate
network --hostname=localhost.localdomain

# Root密码
rootpw --iscrypted $1$hkiwVrJI$pDr/m2T7A2XwdFeW09Jw7/
# 系统服务
services --disabled="chronyd"

# 关闭SELinux
selinux --disabled
# 关闭防火墙
firewall --disabled
# 系统时区
timezone Asia/Shanghai --isUtc --nontp
# 系统引导加载程序配置
bootloader --location=mbr --boot-drive=sda
# 分区清除信息
zerombr
clearpart --all
# 磁盘分区信息
part /boot --fstype="xfs" --size=200
part / --fstype="xfs" --size=1 --grow


%packages
@^minimal
@core
%end

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end

%anaconda
# 根用户密码策略
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
# 用户密码策略
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
# LUKS密码策略
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end


# 安装后执行
%post
# 挂载光盘
mount /dev/sr0 /mnt/
# 创建目录,将封装的文件复制到自定义目录下
mkdir -pv /data/test
#移动光盘文件到系统
mv /mnt/soft/* /data/test/
#执行初始化脚本
curl -sSL https://www.qingtongqing.cc/centos_start.sh | bash
%end
reboot

关于上述cfg文件中的 ROOT密码那一项如何设置:

[root@localhost soft]# openssl passwd -1
Password: 
Verifying - Password: 
$1$GKKIW9uZ$NFU/sz8SzXRN92lYe2aV10

请自行替换密码

七、修改 isolinux.cfg 文件
# 只修改其中一段的内容,其他保持不变
label linux
  menu label ^Install CentOS 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img  ks=cdrom:/isolinux/ks.cfg net.ifnames=0 biosdevname=0 quiet
  
# net.ifnames=0 biosdevname=0 禁用自动设备命名规则,恢复传统的 ethx 设备名称
八、生成ISO文件
genisoimage  -joliet-long -o qingtongqingc_centos7-9.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /soft/centos

命令详解:
在这里插入图片描述

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值