我使用自动安装 PXE 设置了 Ubuntu 20.04,一切正常。现在我想post-install.sh
在安装后运行我的脚本,该脚本会为我执行一些自定义操作,例如安装 HP 服务器实用程序、准备 git、然后签出代码以及运行一些自制应用程序等。
我按照以下步骤执行该脚本,但出现错误,一堆命令缺少路径。我相信这是/target
环境造成的。如何以正常方式运行该 shell 脚本而不处理/target
?
late-commands:
- wget http://10.70.0.20/post-install.sh -P /target/root/
- curtin in-target --target=/target -- /root/post-install.sh
我可以执行chroot /target
并运行该脚本吗?人们如何处理这个问题?
答案1
您应该先 chmod 然后再运行脚本。这应该可以工作:
late-commands:
- wget http://10.70.0.20/post-install.sh -P /target/root/
- curtin in-target --target=/target -- chmod +x /root/post-install.sh
- curtin in-target --target=/target -- bash /root/post-install.sh
答案2
目标环境无法看到安装程序环境。因此,所有数据都需要存在于 /target 中,其布局与 / 类似
对于每个安装后行,我都有一个脚本,其标头中声明了定义的环境。仅供参考,late-commands 中的每一行都使用sh -c "rest of command"