Sono consapevole di seguire il thread e presumibilmente una risposta ad esso . Tranne una risposta non è una risposta in senso generico. Indica quale fosse il problema in un caso particolare, ma non in generale.
La mia domanda è: esiste un modo per eseguire il debug dei cicli di ordinazione in modo generico ? Ad esempio: esiste un comando che descriverà il ciclo e che cosa collega un'unità all'altra?
Ad esempio, ho seguito journalctl -b
(per favore, ignora la data, il mio sistema non ha RTC con cui sincronizzare l'ora):
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
dove cvol.service (quello che è stato introdotto e che interrompe il ciclo) è:
[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
Secondo journalctl, cvol.service vuole basic.service, tranne che non lo fa, almeno non ovviamente. Esiste un comando che dimostrerebbe da dove deriva questo link? E in generale, esiste un comando che trova i cicli e mostra dove ha origine ciascun collegamento nel ciclo?