現在、ランレベル以上で開始するサービスfoo
があります。 update-rc.d foo stop 3 .
を使用せずにそれを停止するにはどうすればよいですか(正しく理解していれば)、ランレベルが変更されるたびにサービスがオフになります。
(つまり、ランレベル1でfoo
を有効にしていた場合、ランレベルに変更すると、無効になりますか?)
Debian GNU/Linux Lennyを実行しています。
「停止」という用語は、デーモンの起動を妨げず、指定されたランレベルに入るときにデーモンをシャットダウンします。
単一のランレベルからサービス/デーモンを削除したい場合は、beifreiheitまたはsimply removeで指摘されている_update-rc.d
_ symlink from _/etc/rcX.d/
_、ここでXはランレベルです。サービスを自動的に開始したくない場合は、_update-rc.d -f foo remove
_が適切です。
sysv-rc-confを使用してLinuxスタートアップアプリケーションを構成する :
apt-get install sysv-rc-conf
他の人が指摘したように、cmd行の pdate-rc.d もここにあります。
たとえば、実行
update-rc.d Apache2 disable
すべての実行レベルからApache2を無効にします。
ショート:
これを迅速に行う信頼できる方法はありません。
長いです:
現在のDebian(2012年6月1日現在、Debianは不安定)には、サービス/デーモンを一貫して無効にする信頼できる簡単な方法が現在ありません。 –デーモンパッケージのアップグレードは無条件に「/etc/init.d/package restart」を実行するため、このランレベルで無効にするかどうか。
デーモンが起動しないようにするには、次の方法があります。
Debianのinitスクリプトには、この欠けている機能を埋めるはずだったinit-policy-somethingのステップがあります/ありましたか? –私はそれを使おうとしました、それが複雑であることを発見しました、バグを発見しました、そして二度と触れませんでした。
更新:
「initd」の代わりに「systemd」に切り替えます。 debianパッケージが存在し、次のようなものでサービスを無効にできます:
cd /etc/systemd/system
ln -s /dev/null xyz.service
このコマンドを実行する
apt-get install rcconf
インストールしたら、SSHでrcconfを実行すると、起動時に実行するように設定されたすべてのサービスを表示するダイアログボックスが表示されます。スペースキーを押して特定のものを無効/有効にすることで1つを選択し、完了したら、Okをクリックするだけで、そのサービスは次回の起動時に再び開始する必要がありません。これを何年も使用しています。非常に私のようなDebian/Ubuntuユーザーのための便利なツール。
私はこれがうまくいくと思います:insserv -r foo
あなたが何を成し遂げようとしているのか混乱しています。
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 .
Debian7からinsservを使い始める
すべてのサービスとそのランレベル情報を出力します
insserv --showall
リストされたスクリプトをすべてのランレベルから削除します
insserv --remove [specify_script]
起動スクリプトを別の場所にバックアップして、それを/etc/init.d/から削除してみませんか? update-rc.dが機能しない場合。
UbuntuのBootup Managerはsysv-rc-conflightのようなもので、よりフレンドリーなGUIバージョンであり、このスレッドを読んでいる多くの人はそれを高く評価します。
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を使用して無効にできると思います。
Sudo update-rc.d SERVICE disable
実行レベルを指定する場合。
Sudo update-rc.d SERVICE disable|enable [S|2|3|4|5]
serviceをプログラムの名前に変更することを忘れないでください。
Sudo service SERVICE restart