LoginSignup
0

More than 5 years have passed since last update.

Ubuntuのパッケージインストール時にデーモン起動を抑制する

Last updated at Posted at 2017-05-24

特殊な用途かもしれないけど、Ubuntuのパッケージインストールをする時に自動でデーモンを起動したくない場合があります。

ipv6を完全無効化している場合に、nginxをでインストールするとデーモンが起動されるときに、

/etc/nginx/site-enabled/default
        listen [::]:80 default_server;

に引っかかってしまって、エラーになってしまいます。(ipv6のloopbackをbindできない。)

これを回避するには、パッケージインストール時にデーモンの起動が抑制できれば良いのですが、なかなか方法が見つからなかったので個人的備忘録。

結論から言えば方法は簡単。以下のファイルを作成して実行属性をつけておくだけです。

/usr/sbin/policy-rc.d
#!/bin/sh  
exit 101

こうすると、パッケージインストール時にデーモンが起動されません。

なんでこれで抑制できるか? ですが、Debian/UbuntuのSysVinitの invoke-rc.dpolicy-rc.d を呼び出したときのリターンコードで制御しているみたいです。

101という定数がポイントのようですが、詳しいところまではわかりませんでした。
とりあえず手元の環境では期待通り動いているので良しとします。

Ansibleでプロビジョニングするときのにパッケージインストール時にデーモンが自動起動してしまって、変な副作用が発生してコケることがあるのですが、これで解決できそうです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0