起動時に起動しないように一部のデーモンを無効にしました。たとえば、次のようにします。
sudo update-rc.d -f postgresql remove
コマンドが正しいかどうかはわかりません。どこで取得したのか覚えていません。
とにかくアップグレードするたびにpostgresql
、設定が失われます(つまり、再起動時にデーモンが起動します)。
答え1
update-rc.d
元のパッケージアップグレードスクリプトで使用されました。remove
パッケージの削除時に呼び出され、すべてのリンクを削除します。defaults
パッケージのインストール時に呼び出さenable
れるか、disable
debconfに従って使用でき、システム管理者に役立ちます。実際、クリーニングはremove
サービスを無効にするのには役に立ちません。マニュアルページから:
一般的なシステム管理の間違いは、リンクを削除し、これがサービスを「無効にする」と思うことです。つまり、サービスが開始されないと思うのです。ただし、すべてのリンクが削除されると、次回パッケージがアップグレードされると、パッケージのpostinstスクリプトはupdate-rc.dを再度実行して工場出荷時の場所にリンクを再インストールします。サービスを無効にする正しい方法は、デフォルトで開始されるすべてのランレベルでサービスを停止するように設定することです。 System V init システムでは、これはサービスのシンボリックリンク名を S から K に変更することを意味します。
sudo update-rc.d postgresql disable
rc.dシンボリックリンクを保持しますが、K(kill、stop)プレフィックスがあるため、必要に応じて実行されます。これを復元するために使用しますenable
。一部のサービスはファイルの無効化をサポートしています/etc/defaults/$service
が、残念ながら例外もあります。サービスを無効にする別の方法は、ファイルをchmod -xまたはファイルの/etc/init.d/$service
先頭に挿入することです。exit 0
答え2
Tobuが提供した答えに似た最良の解決策を明確にするために、次のことを行います。
- 欲しくない
update-rc.d
オプションと一緒に使用されますremove
。 - 代わりに
update-rc.d
このdisable
オプションと一緒に使用してください。
例:update-rc.d postgresql disable
またはを使用して、より具体的な他のサービスを見つけて無効にすることもできますsystemctl
。
例:systemctl disable pppd-dns.service
答え3
Tobuの言葉は絶対に正しいですが、完全性のためにインテリジェントな概要を提供するツールがありますsysv-rc-conf
。コピーして貼り付けるには:
apt-get install sysv-rc-conf
これを実行すると、sysv-rc-conf
どのスクリプトがどのランレベルで実行されているかを確認できます。でサービスを有効/無効にspace
してログアウトできますq
。