On Sat, Nov 9, 2019 at 7:01 AM J. Roeleveld <jo...@antarean.org> wrote: > > On 9 November 2019 11:42:38 CET, Neil Bothwick <n...@digimed.co.uk> wrote: > >On Fri, 08 Nov 2019 21:03:13 +0100, J. Roeleveld wrote: > > > >> I had a similar issue and ended up checking every init-script, conf.d > >> file and rc.conf entry and making a dependency-tree manually on a big > >> white-board. > >> > >> I haven't found a tool that does this automatically yet. > > > >systemd's systemctl ;-) > > > >I'll get my coat... > > Does this parse openrc scripts correctly?
Only if somebody has created a generator for openrc, which I doubt. It was obviously a semi-trollish comment. That said, if somebody is looking to write a utility and wants to see what else is out there, systemd has a couple of useful utilities that work along these lines. For example, a short snippet out of systemctl list-dependencies: ● ├─remote-fs.target ● │ ├─mnt-lizardfs.mount ● │ ├─var-lib-machines.mount ● │ └─nfs-client.target ● │ ├─auth-rpcgss-module.service ● │ ├─rpc-statd-notify.service ● │ └─remote-fs-pre.target (The full output is obviously long on any complex host, but this gives an idea. A target is basically a virtual service - similar to a virtual package like plasma-meta.) There are also some tools in systemd-analyze that give you bootchart-like capabilities based on log scanning. It can figure out the critical path to getting to your target runlevel and what services slowed that down the most (though on a really busy host you need to bear in mind that other stuff was launching in parallel so the times given aren't what you'd get if nothing else was running.) Oh, and while bootchart doesn't really show dependencies (at least I don't think it does), if you haven't checked it out you might still find it useful. I believe that does work with openrc, and it at least helps you see where the system is spending its time at boot. -- Rich