传递variables以用于Debian Jessie安装的预置文件

是否可以通过引导提示将variables添加到Debian安装程序中,以便variables可以用于预定义文件?

特别是,我试图解决以下问题:

我们有一个非常广泛的安装后的脚本,通常从服务器上下载。 但是现在我想创buildPacker映像,并将版本控制中的安装后脚本与其他Packer文件一起保存。 为了访问preseed,我可以在启动命令中执行“preseed / url = http:// {{.HTTPIP}}:{{.HTTPPort}} / preseed.cfg”。 但是现在我希望安装程序从同一位置下载安装后的脚本。

目前,安装后的钩子看起来像这样:

di preseed/late_command string wget -q -O /tmp/postinstall.sh http://our.public.server/postinstall.jessie.sh ; sh /tmp/postinstall.sh 

理想情况下,我想要做一些事情:

 di preseed/late_command string wget -q -O /tmp/postinstall.sh http://{{ .HTTPIP }}:{{ .HTTPPort }}/postinstall.jessie.sh ; sh /tmp/postinstall.sh 

但是,Debian安装程序当然不会取代那些所需的值。 所以我在想,可以将类似环境variables的variables传递给我们可以在预先定义的文件中使用的安装程序。

任何提示或技巧,表示赞赏!

编辑:试图将late_command添加到启动命令,但没有拿起。

编辑:尝试preseed /运行,但它运行在不允许in-target命令的不同的环境。

编辑:这可以是一个解决方法: 如何在一个debian preseed文件中一起pipe道命令? 但我宁愿将脚本放在单独的文件中。 如果这是不可能的,但这是不可能的。

好的,我自己解决了(在@lieter_的帮助下)。 不是太自豪,但它的作品:

 di preseed/late_command string wget -q -O /tmp/postinstall.sh http://`cat /proc/cmdline | sed 's/.*url=\([^ ]\+\).*/\1/'`/di/jessie/postinstall.sh ; sh /tmp/postinstall.sh 

这就是我所需要的,因为我们总是在安装时在我们的命令行中添加一个url =。