ルートとしてブート時にコマンドを実行する


9

Xubuntuでスーパーユーザーとしてブート時にbashスクリプトを実行する必要があります。どこから始めればいいのかわかりません。Arch Linuxガイドで説明されていることをしなければなりません。そのガイドは正確に言っています:

ファイルの最後に以下を追加します:/etc/rc.sysinit

# Do my action
/etc/rc.d/do_my_action

/bin/dmesg >| /var/log/dmesg.log

しかし、私は持っていない/etc/rc.sysinit/etc/rc.d/Xubuntuのインチ 同等のものがあると思いますよね?

回答:


9

必要なファイルはです/etc/rc.local。このスクリプトは、ブートプロセスの近くまたは最後に実行されます。したがって、この時点ですべてがアップしているはずです。

ただし、@ bodhi.zazenが指摘したように、Upstartが最適なオプションである可能性があります。ご覧ください

注1:15.04以降では、UbuntuはsystemdUpstart ではなく、Upstartを使用します。したがって、サービスアプローチを採用する場合は、@ muruによるこの回答を参照してください。

注2:16.10には/etc/rc.localデフォルトではありませんが、作成して実行可能(sudo chmod u+x /etc/rc.local)にすると、存在する場合はそれをプルするsystemdサービスがあるため、機能します。exit 0失敗したコマンドによってブートプロセス全体がハングするのを防ぐために、ファイルの最後にを付けて忘れずに行を入れてください。


だから、私はそのコードをここに置くだけですか?現時点では、そのファイルにはのみが含まれていますexit 0。また、起動時rc.localに実行時にファイルシステムの準備ができているので、実行したいコマンドのログをどこかに書き込むこともできます。
lorenzo-s

ブート(init)スクリプトを実行しようとしているように聞こえます。Ubuntuはupstartを使用しています。rc.localは、起動時に1つまたは一連のコマンドを実行するため、最適なオプションとは限りません。正確に何をしようとしていますか?
パンサー

@ lorenzo-s:私の編集を参照してください。
スコットセヴェランス2011

次の回答も参考になります。askubuntu.com
a

1
はい、my_scriptから/usr/local/binへの移動を解決しました/usr/bin。を/var/log使用してログインを保存することもできますmy_script &>> /var/log/my_script。どうもありがとうございました。
ロレンゾ-s
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.