特定のターゲットで特定のユニットを有効にする方法は?有効にすると、設定はどこに保存されますか?
ベストアンサー1
Hauke Lagingが述べたように、systemctl enable ...
実行中のジョブに関する情報が印刷されます。たとえば、私のアーチシステムのdhcpd
インターフェイスでサービスを有効にするとenp0s3
...
$ systemctl enable dhcpcd@enp0s3
Created symlink from /etc/systemd/system/multi-user.target.wants/[email protected]
to /usr/lib/systemd/system/[email protected]
systemctl
このサービスを無効にすると、古いリンクが削除されたことがわかります...
$ systemctl disable dhcpcd@enp0s3
Removed symlink /etc/systemd/system/multi-user.target.wants/[email protected]
この出力で知ることができるのは...
- 呼び出されると、
systemctl enable
下にシンボリックリンクが作成されます/etc/systemd/system/multi-user.target.wants
。 - 呼び出されると、
systemctl disable
このシンボリックリンクは削除されます。
したがって、アクティブなサービスのリスト(「構成」と呼ばれるようです)を取得するには、次のリンクをリストするだけです。
ls /etc/systemd/system/multi-user.target.wants
systemctl list-unit-files
ただし、利用可能なすべてのサービスとそのステータス(有効、無効、静的)を一覧表示することで、より多くの情報を見つけることができます。アクティブなユニットが/etc/systemd/system
属しているユニットによっては、下のどこかにリンクがあることがわかります。
$ find /etc/systemd/system -type l
systemd
一部のディストリビューションではディレクトリが変更される可能性がありますが、これはディストリビューション(およびそれ以前の他のシステム)が設定を処理する方法です。/etc/systemd
複数の設定ファイルが保存されていても、デバイス固有の設定はリンクを介して処理されます。私にとって、このアプローチは、開発者がユニットとそのパッケージ(以下にインストールされている/usr/lib/systemd/system
)を提供することを可能にしますが、システムに予約されているユニットを決定できる管理者に制御を提供するので、ファイルよりはるかに実用的です。
興味があれば、Arch Wikiは実際に良い紹介を提供しています。systemd
。 RHELもその文書に関するいくつかの情報。