如何在Kickstart自动化安装完成后ISO内拷贝文件到新系统或者执行命令
需求
- 在自动化安装操作系统完成后,需要对操作系统进行配置
- 需要拷贝一些文件到新的操作系统中
- 需要运行一些脚本
问题分析
- Linux安装操作系统时,实际上是将ISO镜像文件中的操作系统加载到服务器的内存中
- 我们需要拷贝的文件实际放在ISO的根目录下
处理办法
- 我们将安装操作系统时,服务器加载的操作系统称为安装临时系统
- 将安装完成,重启后进入的操作系统称为新系统
- 安装Linux操作系统时,实际上是将ISO光盘文件挂载到安装临时系统的
/run/install/repo/
下 - 安装完成后,新系统实际上是挂载在安装临时系统的
/mnt/sysimage
目录下 - 如果需要进入新系统的
/
目录的下级目录,在/mnt/sysimage/
后跟下级目录名称即可
- 使用
%post
命令加上--nochroot
参数可以访问安装临时系统的文件目录 - 使用
%post
命令不加其他参数,是在新系统中执行命令 - 示例:
- 将ISO光盘下的
install_module.sh
脚本拷贝到新系统的/tmp
目录下执行,在ks.cfg
配置文件中的写法
%post --nochroot
cp -rf /run/install/repo/install_module.sh /mnt/sysimage/tmp
%end
%post
sh /install_module.sh
%end