定制ISO时在kickstart脚本的%post后处理阶段拷贝文件
  M5bHUzF5emjr 2023年11月02日 55 0

自己定制ISO使用ks.cfg实现自动安装时,可以在%post阶段执行添加文件、创建帐号、安全加固等操作,一般都会涉及从安装介质拷贝文件到目标系统,网上很多文章都是直接mount固定设备比如/dev/sr0,但实际安装过程中,ISO文件可能被刻录成光盘或U盘,另外UEFI和BIOS模式也有影响,因此无法提前知道是哪个设备。


看一下安装过程,实际上是先引导了一个内存中的vmlinuz + initrd,以它为基础实现将需要的文件安装到目标系统,此时安装介质被挂载到/run/install/repo,目标系统被挂载到/mnt/sysimage,在安装后处理的%post阶段,允许你指定在内存系统中操作还是chroot到目标系统中操作。如果需要拷贝安装介质上的文件,就以--nochroot模式运行,如果需要在目标系统上执行操作比如创建帐号,那就以chroot模式运行。并且ks.cfg中允许存在多个%post,放个例子:


# 以nochrrot模式运行,此时在内存系统上运行,可以访问原始安装介质
# 如果要记录日志,注意需要放到/mnt/sysimage下,否则重启就没了
%post --nochroot --log=/mnt/sysimage/var/log/inst1.log
cp -rf /run/install/repo/soft  /mnt/sysimage	#把安装介质上的soft目录拷贝到目标系统的根目录下,方便后面访问
%end

# 以chroot模式运行,此时相当于在目标系统上操作,/就是目标系统的根
# 安装日志可以直接放到/var/log下
%post --log=/var/log/inst2.log
useradd -s /sbin/nologin test	#在目标系统创建帐号
mkdir /usr/local/test  	#在目标系统创建目录
cp -f /soft/test.cfg /usr/local/test	#此时的/soft就是上面步骤拷贝过来的
%end



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论