Debian のインストール時にサービスが起動しないようにする方法
以前の Debian の投稿で、私は (新しいサービスのインストールに関して) 次のように述べました:
Debianのデフォルトは無効にしておくのが好みです。systemdのプリセットを使ってこの動作を防ぐ方法もありますが、それはまた別の機会に。
今日はその日です。
Debian では、新しいパッケージ (MariaDB データベース サーバーなど) をインストールすると、有効 (起動時に起動) に設定され、すぐに起動されます。
これが良いことか悪いことかは、個人の哲学によって異なります。
Debian のやり方が正しいのは、パッケージをインストールしたということは、明らかにそれを使いたいと考えているからです。大多数(おそらく圧倒的多数)は、MariaDB をインストールして使いたいと考えています。MariaDB が有効化されておらず起動されていない場合、追加のコマンドを入力する必要があります。ほとんどの人はそうしたくありませんし、逆に有効化しないことを好む人もいるため、少数派は人気のないオプションを使うために余分なコマンドを入力する負担を負うべきです。
別の見方としては、デフォルトでサービスを起動しないことがセキュリティ上良いパッケージであるというものがあります。RHEL/Fedora はこのアプローチを採用しており、BSD も同様です。パッケージをインストールしただけでは、必ずしもサービスを実行する必要はありません。例えば、ソフトウェアの一部やマニュアルページだけが必要な場合があります。また、実行したいけれど今すぐには実行したくない、何かをステージングしている最中かもしれません。また、Debian はファイアウォールルールを自動生成しないため、「apt install nginx」でウェブサーバーはインストールされますが、そのままでは役に立たない可能性があります。
どちらの道を進むかは、私が言ったように、哲学です。
インストール時にパッケージを有効化して起動したくない場合は、1行で停止できます。次のように入力するだけです。
echo 'disable *' >> /usr/lib/systemd/user-preset/90-systemd.presetこれは、systemd のプリセット システムを使用して、「すべてのパッケージをデフォルトで無効にする」というポリシーを設定します。