(Courtesy Rob Keizer)
https://github.com/zevv/lsofgraph
Draws a graph of the interconnected pipes, FIFOs and IPC links between running processes on a UNIX system.
Examples look really cool, I can think of places I want to use this. But it requires lua. Yes, LUA. So if you happen to have lua installed, or don't mind installing it, here's a really nifty tool!
-Adam
Also just a heads u, I hacked together a quick parser ( in AWK thank you very much ) for traceroute, to provide similar graphs.
https://github.com/robertkeizer/traceroute-graph
traceroute, awk, graphviz
On 2018-03-30 9:28 PM, Adam Thompson wrote:
(Courtesy Rob Keizer)
https://github.com/zevv/lsofgraph
Draws a graph of the interconnected pipes, FIFOs and IPC links between running processes on a UNIX system.
Examples look really cool, I can think of places I want to use this. But it requires lua. Yes, LUA. So if you happen to have lua installed, or don't mind installing it, here's a really nifty tool!
-Adam _______________________________________________ Roundtable mailing list Roundtable@muug.ca https://muug.ca/mailman/listinfo/roundtable
On 2018-03-30 Robert Keizer wrote:
Also just a heads u, I hacked together a quick parser ( in AWK thank you very much ) for traceroute, to provide similar graphs.
Those are both cool. Graphviz is very handy. I wrote a graphviz script in perl to visualize the rpm packages that require another rpm package, in a full tree from the latter. Super handy for figuring out why some odd library or dependency is on your system, seeing the branches of the tree that you don't care about and can remove, and seeing the one branch that leafs at some app you can't live without :-)
Use it all the time. The links to things a few levels from a leaf are quite surprising, with bi-directional deps, wild leaps all over the place and even cycles. Shocking rpm/yum/dnf even work at all.
I made the mistake of running it on glibc and systemd once. It'll make the png, but it takes an hour.
I don't have it up on github or anything (could be tempted to do a tiny presentation on it at some future point though), I just wanted to add to the "neat things you can do easily with graphviz + awk/perl/lua" conversation.
I'm laughing because I've written the same tool for RPM, DEB, OpenBSD ports, Solaris pkg and HP-UX. And at least the first 3 of them now have a built-in (or at least in the repo) tool for doing it. You'd think it was a common task for sysadmins or something :-) -Adam
On March 31, 2018 2:38:01 AM CDT, Trevor Cordes trevor@tecnopolis.ca wrote:
On 2018-03-30 Robert Keizer wrote:
Also just a heads u, I hacked together a quick parser ( in AWK thank you very much ) for traceroute, to provide similar graphs.
Those are both cool. Graphviz is very handy. I wrote a graphviz script in perl to visualize the rpm packages that require another rpm package, in a full tree from the latter. Super handy for figuring out why some odd library or dependency is on your system, seeing the branches of the tree that you don't care about and can remove, and seeing the one branch that leafs at some app you can't live without :-)
Use it all the time. The links to things a few levels from a leaf are quite surprising, with bi-directional deps, wild leaps all over the place and even cycles. Shocking rpm/yum/dnf even work at all.
I made the mistake of running it on glibc and systemd once. It'll make the png, but it takes an hour.
I don't have it up on github or anything (could be tempted to do a tiny presentation on it at some future point though), I just wanted to add to the "neat things you can do easily with graphviz + awk/perl/lua" conversation. _______________________________________________ Roundtable mailing list Roundtable@muug.ca https://muug.ca/mailman/listinfo/roundtable
On 2018-03-31 Adam Thompson wrote:
I'm laughing because I've written the same tool for RPM, DEB, OpenBSD ports, Solaris pkg and HP-UX. And at least the first 3 of them now have a built-in (or at least in the repo) tool for doing it. You'd think it was a common task for sysadmins or something :-) -Adam
A tool that visualizes it in an image file, in a CLI graph, or just makes it easier to find leaf nodes and unneeded packages (rpmreaper, etc.)?
If you know of a rpm/yum/dnf visualizer, let me know its name! I'd love to not have to maintain mine. When they switched from yum to dnf and messed up some of the esoteric yum options my visualizer depended on it was a real pain to convert. On the updside, I got some patches of mine included in the official release :-)
Oh ya, it's handy to have a visualizer that can go "both ways", either down to the leaf nodes, or up to the root. I find many tools go up to the root (not nearly as useful, except in certain contexts), but not down the other way.
Future MUUG presentation: dueling pkg dependency graphing tools
While we're blabbing about neat pkg tools: I also wrote a program that goes through usr and var and finds files/dirs that aren't owned by any pkg, guesses whether they are legit or stale, and makes it easy to delete them. RPM is pretty darned good about not leaving messes behind in /usr, but even it screws up sometimes (maybe 100 leftover files/dirs every 10 years of dist-sync upgrades? mostly dirs).
Imagine the same thing in Windows with dlls... hehehe.