我已经创建了可启动 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