And*_*ovs 16
不。但您可能想将脚本放在 中/etc/init.d/script
,然后自行删除它:
#!/bin/bash
echo "Bump! I'm your first-boot script."
# Delete me
rm $0
Run Code Online (Sandbox Code Playgroud)
Awi*_*Awi 11
结合前两个答案假设您将脚本命名为/usr/local/bin/firstboot.sh
将其放在末尾/etc/rc.local
(此脚本在每次启动时运行),脚本如下所示
#!/bin/bash 标志="/var/log/firstboot.log" 如果 [ !-f $标志]; 然后 #把你的初始化语句放在这里 echo "这是第一次开机" #下一行创建一个空文件,因此它不会在下次启动时运行 触摸$FLAG 别的 echo "什么都不做" 菲
在脚本运行时创建一个跟踪文件。如果文件已经存在,退出脚本。
小智 6
就我而言,它正在构建一个自定义系统,我不得不拒绝使用 cloud-init 并且在下面放置脚本/etc/init.d/script
不起作用 - 所以我使用了 systemd。
文件 /etc/systemd/system/firstboot.service
[Unit]
Description=One time boot script
[Service]
Type=simple
ExecStart=/firstboot.sh
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
和
文件/firstboot.sh
[Unit]
Description=One time boot script
[Service]
Type=simple
ExecStart=/firstboot.sh
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
然后启用
#!/bin/bash
SOME COMMANDS YOU WANT TO EXECUTE
systemctl disable firstboot.service
rm -f /etc/systemd/system/firstboot.service
rm -f /firstboot.sh
Run Code Online (Sandbox Code Playgroud)
这个对我来说效果很好。
归档时间: |
|
查看次数: |
60260 次 |
最近记录: |