
私の問題は、次のコマンドでApacheデーモンを停止したくないということです。./apache2 stop
から/etc/init.d
(これを行う方法は知っています)。システム起動時に Apache サービスが自動的に開始されることは望ましくありません/etc/init.d
。ただし、サービスをinit.d
フォルダー内に保持する必要もあります。どうすればよいでしょうか? サービス スクリプトのいくつかのフィールドを変更する必要がありますか?
答え1
ディストリビューションによっては、起動時にサービスを無効にするコマンドを実行できるはずです。これを行うと、手動で開始するまでサービスは停止されます。以下に、さまざまなディストリビューションの例を示します。
- Ubuntu/Debian:
update-rc.d -f apache2 remove
- ジェンツー:
rc-update del apache2
- アーチリナックス:
systemctl disable apache2
答え2
これは古いスレッドですが、ここに来る他の人の役に立つように、私が学んだことを追加します。
Debian の場合、この回答の問題点は、ソフトウェアが次回更新されたときに変更が元に戻ってしまうことです。 のマニュアル ページから引用update-rc.d
:
よくあるシステム管理エラーは、リンクを削除するとサービスが「無効」になる、つまりサービスが起動しなくなると考えてリンクを削除することです。ただし、すべてのリンクが削除された場合、パッケージが次にアップグレードされるときに、パッケージの postinst スクリプトが update-rc.d を再度実行し、リンクが工場出荷時のデフォルトの場所に再インストールされます。
無効化ディレクティブを使用する方が良いと思います:
sudo update-rc.d apache2 disable
enable
これには、指令によって変更を元に戻すことができるという利点があります。