起動時にApache2が自動的に起動しないようにするにはどうすればよいですか?


173

起動時にApache2が自動的に起動しないようにするにはどうすればよいですか?マシンの電源を入れたときに自動起動を無効にするオプションが見つからないようです。


1
誰かがもっと具体的になるかもしれませんが、正しい方向に向けることができます... / etcには、rc * .dのディレクトリがあります。これには、initスクリプトと呼ばれるすべての開始/停止スクリプトが含まれています。/etc/init.dにあり、「kill」または「start」を表す「k」または「s」のいずれかで始まるスクリプトへのリンクと、順序を示す番号が表示されます。
マーティフライド

はい、/ etc / rcX.dディレクトリについては知っていましたが、手動でファイルの名前を変更するよりも優れたツールを見つけるために検索しました(寿命が短すぎます)。update-rc.dこの空隙を埋めました。
トマスガンドール14

回答:


160

このフォルダーの下に、/etc/init.d/apache2、ネットワーキングなどのさまざまな起動サービス用のすべてのinitスクリプトがあります。

コンピューターが起動するランレベルに応じて、異なるサービスが開始されます。そのため、/etc/init.d/フォルダから各「サービス」は、からrc0.dまでという名前のone / many / no実行レベルフォルダにリンクされますrc6.d

物事をシンプルに保つために、これらのリンクを削除/追加するためのツールがあります。したがって、起動時にスクリプトを削除または追加します。

apache2 を無効にするには、次のように入力します。

sudo update-rc.d apache2 disable

これにより、起動時にapache2が無効になりますが、削除されないため、再度有効にできます。apache2起動スクリプトを削除するには、次の手順を実行します。

apache2 を削除するには、次のように入力します。

sudo update-rc.d -f  apache2 remove

これを行うと、apache2にリンクされているすべてのランレベルフォルダーが削除されます。


2
chkconfigをも助けることができる- "のchkconfig {SERVICE_NAME}オフ"
MCR

もう動作しません:The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...)
TomDogg

2
@TomDogg、使用していたバージョンを指定できますか?この回答は、Ubuntu 14.04.3上のApache 2で動作します
デールアンダーソン

1
サービスを復元する方法は?
オイゲンコンコフ

9
警告!これにより、サービスが削除されます!を使用しsudo update-rc.d apache2 disableます。
エドゥアルドクオモ

194

次の方法で無効にできます。

sudo update-rc.d apache2 disable

そして再び有効にしたい場合:

sudo update-rc.d apache2 enable

私が取り組んでいるプロジェクトによっては、サービスを再度有効にしたい場合に便利に利用できるようにするのが便利です。


4
enableのようなエラーrunlevel arguments (none) do not match LSB Default-Start valuessudo update-rc.d apache2 defaults表示されましたが、正常に再有効化されたようです。
ここで

2
@hereここsudo update-rc.d apache2 enableで私が期待どおりにプレイ
ゲオルギオスプリゴロプロス14

1
Ubuntu Trustyでは、「disable | enable APIは安定しておらず、将来変更される可能性があります」と表示されます。
タナー14年

1
動作しません- error: no runlevel symlinks to modify, aborting!。ただし、apache2は実行中であり、自動起動します。
ダニエルKmak

もう動作しません:update-rc.d: error: no runlevel symlinks to modify, aborting!
TomDogg

55

これsystemdsystemctlコマンドを使用して、サービスがブート時に自動的に開始するのを防ぐことができます。

以下に例を示します。

sudo systemctl disable apache2

サービスを開始および停止することはできますが、ブート時に起動しません。


2
Linux MintはまだUbuntu 14.04に基づいています。Ubuntuは、15.04からsystemdの使用を開始します。
twan163

1
@dragonmnl twan163が言ったように、systemdは新しいバージョン(debian jessieまたは同等の+)
mchid

1
これはDebianでうまく機能しました
-Anupam

1
debian 9+の正しい答え
ジョン

1
が発生した場合update-rc.d: error: no runlevel symlinks to modify, aborting!、不足しているsimlinkを再作成します。再試行:/etc/rc0.d/K01 <service> /etc/rc1.d/K01 <service> /etc/rc2.d/S99 <service> /etc/rc3.d/S99 <service> / etc / rc4.d / S99 <サービス> /etc/rc5.d/S99 <サービス> /etc/rc6.d/K01 <サービス>
Amil Waduwawara

5

受け入れられた回答を使用した将来の読者のために、@ gsullinsと@tomodachiによる回答に追加したいと思いました。

既に使用している場合:

sudo update-rc.d apache2 remove

引数defaultsを使用してapache2を自動起動に戻すことができます

sudo update-rc.d apache2 defaults

次に、有効/無効にすることができます

sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.