Saya menyadari mengikuti utas dan seharusnya jawaban untuknya . Kecuali jawaban bukanlah jawaban dalam arti umum. Ini menceritakan apa masalahnya dalam satu kasus tertentu, tetapi tidak secara umum.
Pertanyaan saya adalah: apakah ada cara untuk men-debug siklus pemesanan dengan cara yang umum ? Misalnya: apakah ada perintah yang akan menggambarkan siklus dan apa yang menghubungkan satu unit ke unit lainnya?
Sebagai contoh, saya telah mengikuti journalctl -b
(tolong abaikan tanggal, sistem saya tidak memiliki RTC untuk menyinkronkan waktu dengan):
Jan 01 00:00:07 host0 systemd[1]: Found ordering cycle on sysinit.target/start
Jan 01 00:00:07 host0 systemd[1]: Found dependency on local-fs.target/start
Jan 01 00:00:07 host0 systemd[1]: Found dependency on cvol.service/start
Jan 01 00:00:07 host0 systemd[1]: Found dependency on basic.target/start
Jan 01 00:00:07 host0 systemd[1]: Found dependency on sockets.target/start
Jan 01 00:00:07 host0 systemd[1]: Found dependency on dbus.socket/start
Jan 01 00:00:07 host0 systemd[1]: Found dependency on sysinit.target/start
Jan 01 00:00:07 host0 systemd[1]: Breaking ordering cycle by deleting job local-fs.target/start
Jan 01 00:00:07 host0 systemd[1]: Job local-fs.target/start deleted to break ordering cycle starting with sysinit.target/start
di mana cvol.service (yang diperkenalkan, dan yang memutus siklus) adalah:
[Unit]
Description=Mount Crypto Volume
After=boot.mount
Before=local-fs.target
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/bin/cryptsetup open /dev/*** cvol --key-file /boot/***
[Install]
WantedBy=home.mount
WantedBy=root.mount
WantedBy=usr-local.mount
Menurut journalctl, cvol.service menginginkan basic.service, kecuali itu tidak, setidaknya tidak jelas. Apakah ada perintah yang akan menunjukkan dari mana tautan ini berasal? Dan secara umum, apakah ada perintah, yang akan menemukan siklus dan menunjukkan di mana setiap tautan dalam siklus berasal?