当前位置:网站首页>ks.cfg 怎么读取光盘 (cdrom) 上的文件并执行对应的脚本
ks.cfg 怎么读取光盘 (cdrom) 上的文件并执行对应的脚本
2022-08-02 14:16:00 【freeabc】
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
具体步骤解释如下:
映射光盘到指定目录 mkdir /mnt/sysimage/root/cdrom mount -t auto /dev/cdrom/mnt/sysimage/root/cdrom
从光盘上拷贝自定义内容到自定义目录 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 想做什么操作,都通过 my.sh 进行实现即可
自定义内容:
最好把所有的自定义内容放到一个目录内,打包成 .tar.gz ,利用脚本解压再执行相应的动作,如果自定义内容里包含 rpm 包有可能会导致系统安装时失败!
边栏推荐
猜你喜欢
随机推荐
WEB自动化之键盘、鼠标操作
超简单了解三次握手与四次挥手
【Solidity智能合约基础】-- 基础运算与底层位运算
灵活的区域定义
分布式一致性协议-Paxos
Technical Selection of Message Queuing
优先级表和Ascll表
Xrdp 体验优化
Priority table and Ascll table
光波导k域布局可视化(“神奇的圆环”)
implement tcp copa on ns3
抽象类和接口 基本知识点复习
change the available bandwidth of tcp flow dynamically in mininet
audio console无法连接到RPC服务
Mysql删库恢复数据
appium 报错:AttributeError:
Xshell 使用删除键乱码问题
关于导出聊天记录这件事……
炒鸡好用的音乐平台(插件)
How does ns3 solve cross reference issue