web-dev-qa-db-ja.com

すべてのランレベルでサービスの開始を無効にしますか?

現在、ランレベル以上で開始するサービスfooがあります。 update-rc.d foo stop 3 .を使用せずにそれを停止するにはどうすればよいですか(正しく理解していれば)、ランレベルが変更されるたびにサービスがオフになります。

(つまり、ランレベル1fooを有効にしていた場合、ランレベルに変更すると、無効になりますか?)

Debian GNU/Linux Lennyを実行しています。

61
lfaraone

「停止」という用語は、デーモンの起動を妨げず、指定されたランレベルに入るときにデーモンをシャットダウンします。

単一のランレベルからサービス/デーモンを削除したい場合は、beifreiheitまたはsimply removeで指摘されている_update-rc.d_ symlink from _/etc/rcX.d/_、ここでXはランレベルです。サービスを自動的に開始したくない場合は、_update-rc.d -f foo remove_が適切です。

58
PEra

sysv-rc-confを使用してLinuxスタートアップアプリケーションを構成する

apt-get install sysv-rc-conf

他の人が指摘したように、cmd行の pdate-rc.d もここにあります。

たとえば、実行

update-rc.d Apache2 disable

すべての実行レベルからApache2を無効にします。

56
Not Now

ショート:

これを迅速に行う信頼できる方法はありません。

長いです:

現在のDebian(2012年6月1日現在、Debianは不安定)には、サービス/デーモンを一貫して無効にする信頼できる簡単な方法が現在ありません。 –デーモンパッケージのアップグレードは無条件に「/etc/init.d/package restart」を実行するため、このランレベルで無効にするかどうか。

デーモンが起動しないようにするには、次の方法があります。

  • それをアンインストールします
  • /etc/init.d/xyzスクリプトのローカル転送を作成します(この方法では、ツールはそれを見つけられません)
  • 対応するパッケージの設定ファイルを使用/乱用して、そのスクリプトの早期終了を引き起こします(たとえば、「exit」を/ etc/default/xyzの初期に配置して、それがinitスクリプトから供給されている場合)
  • そのinit-scriptで、デーモンを開始しないように事前定義された「公式」な方法を探します。

Debianのinitスクリプトには、この欠けている機能を埋めるはずだったinit-policy-somethingのステップがあります/ありましたか? –私はそれを使おうとしました、それが複雑であることを発見しました、バグを発見しました、そして二度と触れませんでした。

更新:

「initd」の代わりに「systemd」に切り替えます。 debianパッケージが存在し、次のようなものでサービスを無効にできます:

cd /etc/systemd/system
ln -s /dev/null xyz.service
15
Robert Siemer

このコマンドを実行する

apt-get install rcconf

インストールしたら、SSHでrcconfを実行すると、起動時に実行するように設定されたすべてのサービスを表示するダイアログボックスが表示されます。スペースキーを押して特定のものを無効/有効にすることで1つを選択し、完了したら、Okをクリックするだけで、そのサービスは次回の起動時に再び開始する必要がありません。これを何年も使用しています。非常に私のようなDebian/Ubuntuユーザーのための便利なツール。

5
Mark Levinsky

私はこれがうまくいくと思います:insserv -r foo

3
user38551

あなたが何を成し遂げようとしているのか混乱しています。

Fooをどの実行レベルで実行しますか?

常に実行したい場合は、update-rc.d foo defaults; 0、1、6で停止し、2、3、4、5で実行したままにします(1はシェル以外は実行できません。0と6は停止して再起動します)。

実行する実行レベルを正確に指定する場合:

update-rc.d foo stop 0 1 6 3 . start 2 4 5 .
2
freiheit

Debian7からinsservを使い始める

すべてのサービスとそのランレベル情報を出力します

insserv --showall

リストされたスクリプトをすべてのランレベルから削除します

insserv --remove [specify_script]
1
cocoa

起動スクリプトを別の場所にバックアップして、それを/etc/init.d/から削除してみませんか? update-rc.dが機能しない場合。

0
Kosaka Honoka

UbuntuのBootup Managerはsysv-rc-conflightのようなもので、よりフレンドリーなGUIバージョンであり、このスレッドを読んでいる多くの人はそれを高く評価します。

http://www.marzocca.net/linux/bum.html

0
the_guv

Red Hatベースのシステムでは、

chkconfig httpd off
chkconfig httpd --del

ランレベルからサーバーを削除する

debianベースのシステムでは、すべてのサービスは/etc/rc?.d/ディレクトリにあるファイルによって開始されることになっています。これらのファイルには、/ etc/init.d /ディレクトリ内の対応するファイルへのシンボリックリンクがあります。サービスがデフォルトで起動しないようにしたい場合は、/ etc/rc?.dディレクトリからサービスの名前を変更/削除できます。変更は、いずれかの開始リンクがまだ表示されている限り、パッケージのアップグレード時に保持されます。他の(3、4、5)ディレクトリ。または、update-rc.dコマンドを使用してリンクを変更し、その後サービスを開始する場合は、/ etc/init.d/service_name startを使用して、startをendのままにしておくことができます。停止、再起動、再読み込みなどの使用可能なオプションを提供します...

Sysv-rc-confを使用して無効にできると思います。

0
Rodent43
Sudo update-rc.d SERVICE disable

実行レベルを指定する場合。

Sudo update-rc.d SERVICE disable|enable [S|2|3|4|5]

serviceをプログラムの名前に変更することを忘れないでください。

Sudo service SERVICE restart
0
Eddie