起動時にいくつかのデーモン、特にsquid3の読み込みを停止したいです。これを行う最良の方法は何ですか?
この目的で chkconfig ユーティリティを使用できます。
Sudo apt-get install chkconfig
Squidの実行レベルのステータスを確認するには、次のコマンドを実行できます。
chkconfig --list | grep squid
これにより、以下のようなものが出力されます。
squid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
すべての実行レベルでsquidをオフにするには、次のコマンドを使用できます。
Sudo chkconfig squid off
chkconfig --list | grep squid
squid 0:off 1:off 2:off 3:off 4:off 5:off 6:off
特定の実行レベルでsquidをオフにするには、次のコマンドを使用できます。
chkconfig --level 3 squid off
システムデーモンは、レガシーSysV initスクリプトまたは新しいUpstartを使用できます。
Sysvスクリプトには、いくつかの管理ツールがあります。そのようなツールの1つは、「sysv-rc-conf」パッケージの「sysv-rc-conf」で、インストールしてターミナルから起動します。
Upstartに関して、管理ツールがまだない限り、/ etc/initから対応するスクリプトの名前を手動で変更する必要があります。例:
mv /etc/init/ufw.conf /etc/init/ufw.conf.disabled
Squid3はsysv initスクリプトを使用します。sysv-rc-confで無効にできます。
Squidは古いinitシステムを使用するため、このコマンドはSudo update-rc.d -f squid3 remove
というトリックを実行する必要があります。
サービスをいつ開始/停止するかの詳細な制御:Sudo sysv-rc-conf
2つの最も単純な方法(私の観点から)。
1)mv /etc/init/squid3.conf /etc/init/squid3.conf.disabled
2)次の行をコメントアウトします
start on runlevel [2345]
/etc/init/squid3.conf
上記の回答は、Ubuntu 16.04では機能しませんでした。
これが機能したものです:
Sudo systemctl stop squid
update-rc.d squid disable
Sudo systemctl status squid
次のようなエラーが表示される場合があります:
insserv:警告:スクリプトsquidの現在の開始ランレベル(空)はLSBのデフォルト(2 3 4 5)をオーバーライドします。
insserv:警告:スクリプト `squid 'の現在の停止ランレベル(0 1 2 3 4 5 6)は、LSBのデフォルト(0 1 6)をオーバーライドします。 insserv:fopen(.depend.stop):許可が拒否されました
サービスは再起動後も停止したままです。
エラーが発生する理由と修正方法がわかっている場合は、回答をコメントまたは編集してください。