我正在使用preseed自动安装Ubuntu 14.04。我使用虚拟机(virtualBox机器)测试了这个。一切都安装得很好,没有任何问题,但我无法弄清楚如何在preseed文件的末尾使用late_command。
我想要做的第一次是运行start.sh脚本。
我尝试了几次尝试:
以下是代码:
d-i preseed/late_command string cp /cdrom/start.sh /target/home/user; in-target chmod 700 /home/user/start.sh; /home/user/start.sh
此外:
d-i preseed/late_command string chroot /target; cp -f /cdrom/start.sh /home/user; chmod 700 /home/user/start.sh;
第三次尝试:
d-i preseed/late_command string cp -f /cdrom/start.sh /home/user; in-target chmod +x /home/user/start.sh; in-target sh start.sh
脚本start.sh定义一个命令:
#! /bin/sh
echo "bonjour" > /home/user/bonjour_file
我还尝试在新机器中安装后创建文件:
d-i preseed/late_command string in-target touch /etc/postinst_user.done
preseed preseed/late_command string in-target touch /etc/postinst_user.done
但它只是挂在安装的最后。安装功能正常,但脚本根本没有运行,并且没有创建文件“postinst_user.done”。
新安装的文件系统是否安装在/ target下?在安装的这个阶段,环境是什么样的。这样做的正确方法是什么?
提前谢谢你,
答案 0 :(得分:0)
几天前我遇到了同样的问题,所以我想我会和你分享这个解决方案。预先安装Ubuntu安装时,
d-i preseed/late_command string yourcommand
命令不起作用。相反,你必须使用
ubiquity ubiquity/success_command string yourcommand
我希望这会有所帮助
扬