我正在使用preseed自动安装 debian。
我希望能够在 Debian 安装结束时运行一个名为“run.sh”的脚本:
#!/bin/bash
touch /root/example.txt
我已经尝试了几个通过 google 找到的模型(我将这些命令添加到 preseed.cfg):
d-i late_command string cp -a /cdrom/preseed/run.sh /target/root; chmod 777 /root/run.sh; /root/run.sh;
d-i preseed/late_command string \
in-target cp run.sh /root/ && in-target chmod 755 /root/run.sh \
cd /target; \
chmod +x ./run.sh; \
chroot ./ ./run.sh;
我已经尝试了我所看到的一切,并且我想到了,在任何情况下我都没有成功。我所取得的最大成就是红屏显示文件“run.sh”已损坏
该解决方案基于您使用 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 运行脚本(无需复制),但经过一些测试,我已经验证它会导致人为错误