6

我正在尝试在 Debian Wheezy 安装完成之前运行一个脚本。我知道“di preseed/late-command”,即。在安装完成之前使用运行命令。但我面临一个问题。我无法弄清楚在 iso 文件中复制脚本的位置。我尝试了以下两种方法:

  1. 我尝试将脚本复制到 initrd.gz (/install.386/initrd.gz) 文件的根目录中,并在 preseed.cfg 中进行了以下更改:d-i preseed/late-command in-target sh /my_script.sh
  2. 我还尝试将我的脚本复制到 iso 文件的根目录中,并在 preseed.cfg 中进行了以下更改:d-i preseed/late-command in-target sh /media/cdrom/my_script.sh

那么,在哪里复制文件(在我的脚本中)以便我可以在后期命令中使用它?

4

1 回答 1

0

该解决方案基于您使用 USB 安装操作系统这一事实,并且您将在 USB 的根目录中拥有一个名为的文件夹files,您将在其中拥有文件preseed.cfg和一个名为run.sh.

此命令会将文件复制run.sh到用户root的根目录并在那里执行脚本。

d-i preseed/late_command string cp /cdrom/files/run.sh /target/root/; chmod +x /target/root/run.sh; in-target /bin/bash /root/run.sh

在此之后,您可以使用rm删除文件。您也可以直接从 USB 运行脚本(无需复制),但经过一些测试,我已经验证它会导致人为错误

于 2021-07-16T21:01:53.997 回答