Debian 7.5ではrc.localは起動時に実行されません

Debian 7.5ではrc.localは起動時に実行されません

rc.local がブート時に実行されない理由を解明するのに苦労しています。
ファイル自体は実行可能で、/etc/rc2.d から呼び出されます。
また、コマンドラインからこのファイルを実行するとエラーは返されません。
実行されない理由を解明するために他に何をチェックすればよいか、何かアイデアはありますか?

答え1

手動で実行すると適切に実行されるとおっしゃっているのでrc.local、すぐに思い浮かぶのは次の 2 つです。

  • 起動時に何か問題が発生していますが、自分で実行すると動作します。起動時に PATH にないプログラムを実行しようとしている可能性があります。
  • /etc/rc.local実際には起動時に実行されません。

どちらの場合も、まずは次のようなことを書きます

/usr/bin/printenv > /var/tmp/rc.local-$(date +%T)

rc.localを 行の後のの最初の行として追加します#!/bin/sh。これにより、実行されるたびに環境変数がタイムスタンプ付きのファイルに出力されます。(/tmp起動時に空になるため、ファイルに書き込まないでください。)/etc/rc.local手動で実行し、結果のファイル( のような名前が付けられます)をざっと見てみましょう/var/tmp/rc.local-21:14:35。その後、システムを再起動します。

/var/tmp比較できるファイルが2つあるはずです。最初のファイルだけの場合は、/etc/rc.local実際には呼び出されません。2つのファイルがある場合は、それらを比較します。後者にはとてもスパース環境と PATH。スクリプトを調べてrc.local、ブート時の環境にない PATH の変数またはコンポーネントに依存する実行しようとしているものがあるかどうかを確認します。何か見つかった場合は、必要な初期化を追加しますrc.local

関連情報