Debian Wheezy で起動時にスクリプトを実行するにはどうすればいいですか?

Debian Wheezy で起動時にスクリプトを実行するにはどうすればいいですか?

Debian Wheezy AWS EC2 AMI で起動時にいくつかのタスクを実行するスクリプトを作成しています。インターネットの情報源によると、これを行う通常の方法は、update-rc.d起動時に実行するように設定するために必要なシンボリックリンクをインストールすることです。

しかし、これを試してみるとエラーが発生します

$ update-rc.d
-bash: update-rc.d: command not found

この方法は Debian Squeeze まではうまく機能していました。Debian 7.0 では、これを行う標準的な方法が変更になったのでしょうか? 公式の方法を説明するドキュメントは見つかりません。

答え1

update-rc.d権限のないユーザーとして を使用しようとしているようです。このツールは にあるため/usr/sbin/、おそらく にはインストールされていません$PATH。そのため、ルート ユーザーとして実行するか、 経由で呼び出してみてくださいsudo update-rc.d

答え2

スクリプトには、その依存関係と機能を示すLSB(Linux Standards Base)ヘッダーが含まれている必要があります(https://wiki.debian.org/LSBInitScriptsLSB ヘッダーの詳細については、こちらをご覧ください。

LSBヘッダーが存在する場合は、insservスクリプトをブートプロセスに含めるために使用できます(https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot詳細については)。

答え3

新しい LSB スクリプトを作成して追加する以外に、より標準的なアプローチとしてスタートアップ サービスとして追加する方法もあります。

また、小さなスクリプト (レポートの生成、タスクのクリーンアップなど) を追加することもできます/etc/init.d/rc.local

ただし、rc.local が存在し、実行レベル(Debian では通常 3)で有効になっていることを確認してください。find /etc/rc*.d | grep rc.local

関連情報