Я в курсе следующей ветки и якобы ответ на нее . За исключением ответа не является ответом в общем смысле. Это говорит о том, что проблема была в одном конкретном случае, но не в целом.
Мой вопрос: есть ли способ отладки циклов заказа в общем виде? Например: есть ли команда, которая будет описывать цикл и что связывает один блок с другим?
Например, у меня есть следующее journalctl -b
(пожалуйста, не обращайте внимания на дату, в моей системе нет времени RTC для синхронизации времени):
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
где cvol.service (тот, который был введен, и который нарушает цикл):
[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
Согласно journalctl, cvol.service хочет basic.service, за исключением того, что он этого не делает, по крайней мере, очевидно. Есть ли команда, которая продемонстрировала бы, откуда взята эта ссылка? И вообще, есть ли команда, которая найдет циклы и покажет, где происходит каждая ссылка в цикле?