この「スクリプト」はsysv-rc
パッケージに含まれています。これは、パッケージをインストール/アップグレード/アンインストールするたびにシステム管理者がどのサービスを開始/再起動/停止するかを制御できるDebianポリシーの一部です。
POLICY-RC.Dポリシーレイヤー(/usr/sbin/policy-rc.d)インターフェース:
ポリシー層の必要性はあまり一般的ではないため、ほとんどのDebianシステムにはこのスクリプトがありません。chroot jailを使用するほとんどの人は、jailされた/usr/sbin/policy-rc.dスクリプトとして101の終了ステータスを返す1行のスクリプトだけが必要です。
/usr/sbin/policy-rc.dファイルは、それを提供するパッケージによって、代替システム(/ usr / sbin / update-alternatives)を介して管理する必要があります。
/usr/sbin/policy-rc.d [オプション] []
/usr/sbin/policy-rc.d [オプション] --list [...]
(ソース)
それで、ここで何が起こるのでしょうか?さて、このスクリプトが存在する場合は常に、ローカルシステムの現在のポリシーを示すコードを返します(既定では101
、ポリシーによってアクションは禁止されています)。ポリシーを変更する場合は、ファイルをrootとして次のいずれかの値に変更します。
0 - action allowed
1 - unknown action (therefore, undefined policy)
100 - unknown initscript id
101 - action forbidden by policy
102 - subsystem error
103 - syntax error
104 - [reserved]
105 - behaviour uncertain, policy undefined.
106 - action not allowed. Use the returned fallback actions
(which are implied to be "allowed") instead.
スクリプトは依然としてプレースホルダーですが、完了すると、これらの値がすべて返されます。変更を許可する場合exit 101
はexit 0
、変更して完了します。サービスをインストール/削除/アップグレードするたびに、これらは(再)開始/停止されます。
exit 101
# For most Docker users, "apt-get install" only happens during "docker build", # where starting services doesn't work and often fails in humorous ways. This # prevents those failures by stopping the services from attempting to start.