“preseed / late_command”在Ubuntu 14.04中不起作用

时间:2017-04-17 16:37:26

标签: automation debian ubuntu-14.04

我正在使用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下?在安装的这个阶段,环境是什么样的。这样做的正确方法是什么?

提前谢谢你,

1 个答案:

答案 0 :(得分:0)

几天前我遇到了同样的问题,所以我想我会和你分享这个解决方案。预先安装Ubuntu安装时,

d-i preseed/late_command string yourcommand

命令不起作用。相反,你必须使用

ubiquity ubiquity/success_command string yourcommand

我希望这会有所帮助