私は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
。残念ながら、どの依存関係がどの場所から来たのかを確認する方法はありません。依存関係を削除するには、手動で確認する必要があります。