Linux

Debian安裝完成後執行腳本

  • July 19, 2021

我正在使用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”已損壞

我剛從2015年看到一個類似的問題

此解決方案基於您使用 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 執行腳本(無需複制),但經過一些測試,我已經驗證它會導致人為錯誤

引用自:https://serverfault.com/questions/1069623