Debian 安装完成后运行脚本

Debian 安装完成后运行脚本

我在用预播种自动安装 Debian。
我希望能够在 Debian 安装结束时运行一个名为“run.sh”的脚本:

#!/bin/bash
touch /root/example.txt

我尝试了通过谷歌找到的几种模型(我将这些命令添加到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”文件已损坏的错误

我刚刚看到 2015 年的一个类似问题

答案1

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

此命令会将文件复制run.sh到用户的根目录然后它将执行脚本。

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 运行脚本(无需复制),但经过一些测试,我已验证它可能会导致人为错误

相关内容