在 kickstart 的 %post 脚本中将文件从可启动 USB 复制到本地驱动器

在 kickstart 的 %post 脚本中将文件从可启动 USB 复制到本地驱动器

我已经创建了可启动 USB,其中包含自定义文件夹,安装后我想将文件从 USB 复制到本地目录,以下是 kickstart 文件 %post 部分

%post --nochroot --erroronfail --log=/mnt/sysimage/root/ks-post.log
cp -af /run/install/repo/custom/Router_CFG.ini /var/lib/tftpboot
%end

上面的代码抛出错误, /var/lib/tftpboot 目录不存在,我删除了 --nochroot

%post --erroronfail --log=/mnt/sysimage/root/ks-post.log
cp -af /run/install/repo/custom/Router_CFG.ini /var/lib/tftpboot
%end

现在它抱怨 USB 安装点(/运行/安装/存储库)不可用。

然后我尝试挂载USB驱动器

%post --erroronfail --log=/mnt/sysimage/root/ks-post.log
mkdir /mnt/myusb
usbblkid=$(blkid -L "CentOS 7 x86_64")
mount $usbblkid /mnt/myusb
cp -af /mnt/myusb/custom/Router_CFG.ini /var/lib/tftpboot
%end

现在它抛出错误

mount: Special device /dev/sdc1 doese not exist

答案1

你的第一次尝试是几乎正确的。试试这样:

%post --nochroot --erroronfail --log=/mnt/sysimage/root/ks-post.log
cp -af /run/install/repo/custom/Router_CFG.ini /mnt/sysimage/var/lib/tftpboot
%end

使用时%post --nochroot,新系统的根目录将位于,/mnt/sysimage因此您需要将其作为引用您正在安装的新系统的所有路径的前缀。安装介质将位于/run/install/repo.

如果删除--nochroot,则新系统的根目录将位于/,但如果没有额外的步骤,安装介质将无法访问。如果这样做的话,您的第二次尝试可能会成功(改编自我之前制作和测试的工作 RHEL7.2 安装后配置):

%post --erroronfail --log=/root/ks-post.log
mkdir /mnt/myusb
mount /dev/disk/by-label/CentOS*7*x86_64 /mnt/myusb
cp -af /mnt/myusb/custom/Router_CFG.ini /var/lib/tftpboot
umount /mnt/myusb
rmdir /mnt/myusb
%end

相关内容