FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo User

 
 
LinkBack Thread Tools
 
Old 09-27-2011, 06:24 PM
 
Default "pstree" for modules ?

Hi,

ist there a tool, which displays the dependencies of loaded modules as
a tree like pstree does for tasks?

Thank you very much for any help in advance!

Best regards
mcc
 
Old 09-27-2011, 07:34 PM
Florian Philipp
 
Default "pstree" for modules ?

Am 27.09.2011 20:24, schrieb meino.cramer@gmx.de:
> Hi,
>
> ist there a tool, which displays the dependencies of loaded modules as
> a tree like pstree does for tasks?
>
> Thank you very much for any help in advance!
>
> Best regards
> mcc
>
>
>

Well, it's not a tool and it cannot print to terminal but you might want
to try out the bash skript below. It depends on media-gfx/graphviz to
create a postscript file visualizing the dependencies. The file will be
opened by your default postscript viewer (evince, okular, etc.).

Hope this helps,
Florian Philipp

psFile=$(tempfile --suffix=.ps)
lsmod | tail -n +2 | awk '{print $1,$4}' | tr ' ,' ' ' |
(
echo 'digraph modules { rankdir=LR; '
while read line; do
dependencies=( $line )
dependingOn="${dependencies[0]}"
unset dependencies[0]
for dependant in "${dependencies[@]}"; do
echo ""$dependant" -> "$dependingOn";"
done
done
echo '}'
) | dot -Tps > "$psFile"
xdg-open "$psFile"
unlink "$psFile"
 
Old 09-28-2011, 03:12 AM
 
Default "pstree" for modules ?

Florian Philipp <lists@binarywings.net> [11-09-28 04:05]:
> Am 27.09.2011 20:24, schrieb meino.cramer@gmx.de:
> > Hi,
> >
> > ist there a tool, which displays the dependencies of loaded modules as
> > a tree like pstree does for tasks?
> >
> > Thank you very much for any help in advance!
> >
> > Best regards
> > mcc
> >
> >
> >
>
> Well, it's not a tool and it cannot print to terminal but you might want
> to try out the bash skript below. It depends on media-gfx/graphviz to
> create a postscript file visualizing the dependencies. The file will be
> opened by your default postscript viewer (evince, okular, etc.).
>
> Hope this helps,
> Florian Philipp
>
> psFile=$(tempfile --suffix=.ps)
> lsmod | tail -n +2 | awk '{print $1,$4}' | tr ' ,' ' ' |
> (
> echo 'digraph modules { rankdir=LR; '
> while read line; do
> dependencies=( $line )
> dependingOn="${dependencies[0]}"
> unset dependencies[0]
> for dependant in "${dependencies[@]}"; do
> echo ""$dependant" -> "$dependingOn";"
> done
> done
> echo '}'
> ) | dot -Tps > "$psFile"
> xdg-open "$psFile"
> unlink "$psFile"
>

Hi Florian,

thank you for your mail and the script.
Unfortunately this is a little of a Lambourghini
solution where a bicycle would completly suffice...

I had searched for a terminal related tool as pstree.

Best regards,
mcc
 
Old 09-28-2011, 07:42 AM
Florian Philipp
 
Default "pstree" for modules ?

Am 28.09.2011 05:12, schrieb meino.cramer@gmx.de:
> Florian Philipp <lists@binarywings.net> [11-09-28 04:05]:
>> Am 27.09.2011 20:24, schrieb meino.cramer@gmx.de:
>>> Hi,
>>>
>>> ist there a tool, which displays the dependencies of loaded modules as
>>> a tree like pstree does for tasks?
>>>
>>> Thank you very much for any help in advance!
>>>
>>> Best regards
>>> mcc
>>>
>>>
>>>
>>
>> Well, it's not a tool and it cannot print to terminal but you might want
>> to try out the bash skript below. It depends on media-gfx/graphviz to
>> create a postscript file visualizing the dependencies. The file will be
>> opened by your default postscript viewer (evince, okular, etc.).
>>
[...]
>
> Hi Florian,
>
> thank you for your mail and the script.
> Unfortunately this is a little of a Lambourghini
> solution where a bicycle would completly suffice...
>
> I had searched for a terminal related tool as pstree.
>
> Best regards,
> mcc
>
>

The problem with doing this non-graphically is that module dependencies
do not form a tree. They form a graph (multiple parents per child,
multiple childs per parent). Visualizing this likely exceeds the graphic
capabilities of terminals (you note that even with graphviz' advanced
automatic arrangement, there are still lines that cross half the image).

You could still create a tree, but only by making most modules appear
multiple times.

Regards,
Florian Philipp
 
Old 09-28-2011, 10:41 AM
Willie Wong
 
Default "pstree" for modules ?

On Wed, Sep 28, 2011 at 09:42:09AM +0200, Florian Philipp wrote:
> You could still create a tree, but only by making most modules appear
> multiple times.

Just like the '--tree' option for 'emerge'

W

--
Willie W. Wong wwong@math.princeton.edu
Data aequatione quotcunque fluentes quantitae involvente fluxiones invenire
et vice versa ~~~ I. Newton
 
Old 09-28-2011, 02:17 PM
"Albert W. Hopkins"
 
Default "pstree" for modules ?

On Wed, 2011-09-28 at 06:41 -0400, Willie Wong wrote:
> On Wed, Sep 28, 2011 at 09:42:09AM +0200, Florian Philipp wrote:
> > You could still create a tree, but only by making most modules appear
> > multiple times.
>
> Just like the '--tree' option for 'emerge'


In that case something like:

# for m in `lsmod |awk '{print $1}'; do echo $m; modprobe
--show-depends $m|sed s'/^insmod /.*// `-/;s/.ko//'; done
 

Thread Tools




All times are GMT. The time now is 03:16 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org