Initサービスを永続的に無効にする


10

CentOS 6を実行する新しいVPSをプロビジョニングしたところ、Apacheが付属しています。

代わりにNginxを使用するため、Apacheを無効にします。

/etc/init.d/にあるスクリプトを削除するだけでよいことはわかっていますが、システムに付属している標準的なものであるため、削除したくありません。サービスを無効にするための優雅な方法が欲しいです。

/ etc / inittabに何かを置くことができると思いましたが、inittabには次のものが含まれています。

# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
# 
id:3:initdefault:

これは、システムが新興企業で実行されていると私に信じさせます。さて、私は見ました、そしてupstartでサービスを無効にする正しい方法は上書きファイルを追加することです。だから私は走る:

% 'manual' > /etc/init/httpd.override

サーバーを再起動します。しかし、httpdはまだ実行中です!これで混乱して、次のコマンドを実行して、upstartがinitサービスであることを確認することにしました

% readlink /proc/1/exe
/sbin/init

まあそれは私が期待していたものではありません。結局のところ、私は新興企業を実行していません。確認する明確な方法はありますか?また、initを実行している場合、サービスを永続的に無効にするための推奨される方法は何ですか?私はこれらすべてに不慣れで、相反する意見がたくさんあるようです。

ご協力ありがとうございます。


使用しない場合は、Apacheを削除しないでください。
Frederik Nielsen

将来的には、mod_wsgiを使用してPythonアプリケーションをプロキシするため、またはPHPを実行するために使用する可能性があるためです。とりあえず使いたくない。これは、サービスが異なるため、将来再び発生する可能性がある問題のようです。
Max Bucknell 2013

回答:


16

ほぼすべてのRedHat派生ディストリビューションでサービスを無効にする方法は、chkconfig次のコマンドを使用することです。

# chkconfig httpd off

実行中のサービスを停止するには:

# service httpd stop

これらのコマンドは、システムが実行されているかどうかにかかわらず、正しいことを行うだろうsystemdupstartまたはバニラSysVInit

upstartCentOS 6でほとんどのサービスを実行しているにも関わらず、実際にはにあるレガシーinit.dスクリプトを使用してい/etc/rc.d/rc<RUNLEVEL>.dます。これらのサービスでchkconfigは、のシンボリックリンクを管理し/etc/rc.d/init.dます。


これは、トリランの回答からupdate-rc.dに相当するものを検索することでわかりました。ちょうど私自身の質問に答えようとしていましたが、あなたは私を倒しました ラークさん、ありがとうございました。
Max Bucknell 2013

4

chkconfigを使用して、システムのブート中に開始したくないサービスを無効にします。

利用可能なサービスとその状態をリストする

chkconfig --list

ランレベル2345でサービスhtttpdを無効にする

chkconfig --level 2345 httpd off

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