Linux
在 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 安裝點(/run/install/repo)不可用。
然後我嘗試安裝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
您的第一次嘗試幾乎是正確的。試試這種方式:
%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