システム起動時にSystemdが何をしているのか理解しようとしています。私の考えでは、初期化する最初のターゲットは通常/usr/lib/systemd/user/default.target
Ubuntuから次のターゲットを取得します。
default.target
:
[Unit]
Description=Default
Documentation=man:systemd.special(7)
Requires=basic.target
After=basic.target
AllowIsolate=yes
default.target
必須で、後で実行してくださいbasic.target
。
[Unit]
Description=Basic System
Documentation=man:systemd.special(7)
Wants=sockets.target timers.target paths.target
After=sockets.target timers.target paths.target
sockets.target
:
[Unit]
Description=Sockets
Documentation=man:systemd.special(7)
timers.target
:
[Unit]
Description=Timers
Documentation=man:systemd.special(7)
DefaultDependencies=no
Conflicts=shutdown.target
paths.target
:
[Unit]
Description=Paths
Documentation=man:systemd.special(7)
そのため、Systemdは依存関係の依存関係、依存関係の依存関係などを決定しましたが、行き止まりの路地に達しました。どうすればいいですか?すべてがうまくいくと仮定すると、つまりすべての依存関係がdefaul.target
識別され初期化されたと仮定すると、まだ上記の目標に記載されていない、multi-user.target
およびその他の目標が必要です。sysinit.target
Systemd は、初期化すべきターゲットと無視すべきターゲットをどのように決定しますか?