我肯定忽略了一些显而易见的东西。我接手了一个定制的 Ubuntu 安装的开发,它使用 11.04 Desktop Live ISO 和定制的预置文件,使新 PC 的安装完全自动化 - 使用 UCK 工具构建 ISO,将其刻录到 DVD,从 DVD 启动 PC,喝杯好茶,然后返回到完成的安装,只等您单击以重新启动进入新系统。
除了这一点之外,一切都运行正常:我无法运行预置文件中的 late_command。文件中的其他所有内容都运行正常 - 分区、选择包、创建用户等 - 但预置文件的最后一行:
d-i preseed/late_command string /bin/echo "trying echo" > /var/log/myfile
...没有发生。我尝试了所有可能的组合in-target
和/target/
路径前缀。我在自动安装运行时通过 SSH 连接到机器,并验证了我的输出路径存在且可写。我检查了内核命令行以确保使用了正确的预置文件。我的 late_command 命令就在那里,拒绝运行。我们已经坐在这里互相盯着对方看了好一会儿了。我的脑子已经开始滴答作响了,我简直就开始滴答作响了。
我是不是遗漏了古代东方种子的某些关键部分?我现在已经束手无策了(我妈妈会告诉你我不用走太远)——任何帮助我都会非常感激。
答案1
如果你正在使用桌面安装程序(又名 Ubiquity),你可以尝试将 late_command 放在
ubiquity ubiquity/success_command string
喜欢
ubiquity ubiquity/success_command string /bin/echo "trying echo" > /var/log/myfile
我通常会把这个和第二个节都放上,只是为了确保我的预置文件在这两个节上都能正常工作。
答案2
正确的字符串是
ubiquity ubiquity/success_command 字符串目标内/bin/echo “尝试回显” >/目标/var/log/我的文件