> >"systemctl status" tells you quite clearly what went wrong, "journalctl"
> >shows you what the program printed in case it did get started … and so on.
> If the system boots.
If it does not, you cannot stick '-x' into an init script either.
I haven't yet seen a system where booting with init=/bin/bash works but
booting systemd in emergency mode does not. And you can recover from the
latter without a reboot, and with your system in a sane state, much more
easily -- which is great if you have one of those Dell monsters which spend
an eternity in their excuse for a BIOS.
> virtually impossible to offer really complete debugging. -x is
> agreeable a pain, but it shows _everything_ a script does
That is true, but it's even simpler if there's no script to stick '-x' into
in the first place, because PID1 knows perfectly well how to do it on its
own and will give you a complete status, including failed preconditions
and whatnot. SysV init doesn't even *have* preconditions.
And if there is a script (for whatever reason), well, stick your '-x' into
it and restart its systemd service: the journal will have the shell trace.
-- Matthias Urlichs