![如何从实时安装程序 preseed/early_command 访问启动介质上的文件?](https://linux22.com/image/922973/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%AE%9E%E6%97%B6%E5%AE%89%E8%A3%85%E7%A8%8B%E5%BA%8F%20preseed%2Fearly_command%20%E8%AE%BF%E9%97%AE%E5%90%AF%E5%8A%A8%E4%BB%8B%E8%B4%A8%E4%B8%8A%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我目前正在尝试为我的 ubuntu 桌面 18.04 设置一个预置文件。查看它是否正常工作的一个简单方法是更改 ubuntu live 安装程序的背景图像。因此,受到这个问题我在预置文件的开头添加了以下内容:
d-i preseed/early_command string cp /cdrom/preseed/warty-final-ubuntu-blue.png /root/usr/share/backgrounds/warty-final-ubuntu.png
/root
我按照建议将前缀添加到目标路径无处不在的自动化
您可以在 Live CD 中使用 preseed/early_command;它将由 initramfs 中的“casper”(在启动时设置 Live 环境的组件)运行。
请注意,如果您想影响 Live 环境中的文件,这意味着您必须在其文件名前加上 /root 前缀。
当我从我的 USB 记忆棒(我用mkisofs
、isohybrid
和创建dd
的)启动时,我进入安装程序开始验证的部分。它会自动选择语言,因为我在启动参数中指定了该语言,然后显示分区对话框(正如预期的那样,我没有在预置文件中指定分区)。但背景保持不变。
当我按下打开 tty2CtrlAltF2并使用 ubuntu 登录时,我可以看到/log/var/casper.log
cp 无法统计我的文件。
但此时我可以看到该文件。它就在那里,/cdrom/preseed/warty-final-ubuntu-blue.png
正如我所期望的那样。当然,由 casper 运行,因此可能没有与安装期间相同的文件系统可访问。但如果是这种情况,它实际上执行位于 的预置文件中的命令preseed/early_command
会很奇怪。在启动参数中,它使用该路径指定。cp
/cdrom/preseed/early_command
我怎样才能将我的映像文件从 USB 驱动器复制到实时系统?
我明确询问的是实时系统,而不是正在安装的目标系统。
答案1
如果您想影响实时环境中的文件,[...] 您必须在其文件名前加上前缀
/root
。
我知道在实时环境中我可以使用 访问 USB 驱动器的文件系统/cdrom
。所以我尝试使用 是否/root/cdrom
可以工作,结果确实可以工作。
d-i preseed/early_command string cp /root/cdrom/preseed/warty-final-ubuntu-blue.png /root/usr/share/backgrounds/warty-final-ubuntu.png