systemd ターゲットが望むものを理解しようとします。

systemd ターゲットが望むものを理解しようとします。

私はsystemdのターゲットユニットがどのように機能するかをよりよく理解しようとしていますが、graphic.targetが「欲しい」ものが何であるかは混乱しています。

ls -l内部で実行すると、/etc/systemd/system/graphical.target.wants以下が表示されます。

total 0
lrwxrwxrwx 1 root root 43 Jul 19 16:50 accounts-daemon.service -> /lib/systemd/system/accounts-daemon.service

ls -l内部で実行すると、/lib/systemd/system/graphical.target.wants以下が表示されます。

total 0
lrwxrwxrwx 1 root root 39 Jul 12 11:28 systemd-update-utmp-runlevel.service -> ../systemd-update-utmp-runlevel.service

このファイル/lib/systemd/system/graphical.targetには以下が含まれます。

[Unit]
Description=Graphical Interface
Documentation=man:systemd.special(7)
Requires=multi-user.target
Wants=display-manager.service
Conflicts=rescue.service rescue.target
After=multi-user.target rescue.service rescue.target display-manager.service
AllowIsolate=yes

最後に実行すると、次のような結果がsystemctl show --property "Wants" graphical.target得られます。

Wants=hddtemp.service ureadahead.service speech-dispatcher.service systemd-update-utmp-runlevel.service grub-common.service ntp.service lxdm.service accounts-daemon.service ondemand.service

「欲しい」の権威ある情報源は何ですか?

ベストアンサー1

ユニットファイルの有効な依存関係は、複数のソースから構成されます。の場合はgraphical.target次のようになります。

  • Wants=ファイル自体のステートメントgraphical.target(ユニットファイル自体は/lib、または/run以下のさまざまなディレクトリに配置でき、/etcその順序で互いにマッピングされます)

  • Wants=いわゆるドロップインファイルの文$PREFIX/systemd/system/graphical.target.d/*.conf(ここでPREFIXは上記と同じ名前のドロップインファイルは互いに独立しています)

  • 特別なディレクトリにある所望のユニットに対するSymlinkです$PREFIX/systemd/system/graphical.target.wants(やはり上記のように接頭辞が付きます)。

これらすべてのソースの依存関係は単に一緒に追加され、多くの暗黙的な依存関係があります(読み取り)。systemd.target(5)詳細はこちら)。

したがって、有効な依存関係を表示するには、コマンドを使用することをお勧めしますsystemctl show-property -p Wants。残念ながら、どの依存関係がどの場所から来たのかを確認する方法はありません。依存関係を削除するには、手動で確認する必要があります。

おすすめ記事