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
権限のないユーザーとして使用したいと思いますか?このツールは.dll/usr/sbin/
ファイルにあるため、$PATH
rootユーザーとして実行するか、またはsudo update-rc.d
.
答え2
スクリプトには、依存関係と機能を表すLSB(Linux標準ライブラリ)ヘッダーを含める必要があります(参照: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