ks.cfg 怎么读取光盘 (cdrom) 上的文件并执行对应的脚本

ks.cfg 文件怎么实现读取光盘 (CDROM) 上的内容并执行自定义脚本

我们知道 linux 系统安装过程中,要想实现自动化安装,一般都是利用 Kickstart 这个工具实现,最重要的就是其配置文件 ks.cfg,ks.cfg 定义了安装过程中每一步的动作。ks.cfg 文件有一段 % post 开头 % end 结尾的部分,其作用就是让用户在系统安装完成后,需要执行一些特定的脚本,以完成目中目的的需要。 这个阶段默认其实已经经过系统执行了 chroot 了,默认根就是执行 chroot 之前的 /mnt/sysimage 目录。我们搜到的资料大部分都是安装光盘上的 RPM 包或 DEB 包。如果我们安装过程中,想把光盘上的文件拷贝到新安装系统的指定目录内,并执行自己定义的部分脚本,达到自己想要定制的目的,该怎么办呢?

禁止进入 chroot

我们知道经过 chroot 之后,安装阶段基本没有访问光盘的手段,网上相关的资料甚少,那么怎么解决这个问题呢? 就是执行 % post 的阶段不需要 chroot ,经过查询大量资料,其实可以用下面的方法让安装过程中,不进入 chroot。

%post --nochroot
我们想要执行的动作都放到这个地方
%end

其实加上 --nochroot 参数就可以达到这个目的。那么此时的光盘一般都是 /dev/cdrom 这个路径,那我们即将安装的系统目录一般就是 /mnt/sysimage ,我们做的目的就是把光盘上的内容拷贝到 /mnt/sysimage 内。因此我们的脚本就可以变成下面这样

*** 拷贝光盘上内容到安装目的盘上并执行脚本 ***

光盘文件说明
/my_doc/my.tar.gz此文件在光盘上的路径
/my_doc/my.sh脚本文件在光盘上的路径
%post --nochroot
mkdir /mnt/sysimage/root/cdrom
mount -t auto /dev/cdrom /mnt/sysimage/root/cdrom
mkdir /mnt/sysimage/root/my_doc
cp /mnt/sysimage/cdrom/my_doc/my.sh /mnt/sysimage/root/my_doc/my.sh
chmod +x /mnt/sysimage/root/my_doc/my.sh
cp /mnt/sysimage/cdrom/my_doc/my.tar.gz /mnt/sysimage/root/my_doc/my.tar.gz
chroot /mnt/sysimage/ /bin/sh /root/my_doc/my.sh
%end

具体步骤解释如下:

  1. 映射光盘到指定目录 mkdir /mnt/sysimage/root/cdrom mount -t auto /dev/cdrom/mnt/sysimage/root/cdrom

  2. 从光盘上拷贝自定义内容到自定义目录 cp /mnt/sysimage/cdrom/my_doc/my.sh/mnt/sysimage/root/my_doc/my.sh chmod +x /mnt/sysimage/root/my_doc/my.sh cp /mnt/sysimage/cdrom/my_doc/my.tar.gz/mnt/sysimage/root/my_doc/my.tar.gz

  3. 执行自定义脚本 chroot /mnt/sysimage//bin/sh/root/my_doc/my.sh 想做什么操作,都通过 my.sh 进行实现即可

自定义内容:

最好把所有的自定义内容放到一个目录内,打包成 .tar.gz ,利用脚本解压再执行相应的动作,如果自定义内容里包含 rpm 包有可能会导致系统安装时失败!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值