有没有工具可以显示我已加载的模块的位置。
有没有工具可以显示我已加载的模块的位置。
如果您想要了解内核虚拟地址空间中模块的基本内存地址,可以在/proc/modules
中找到它,它位于最后一个字段;查找有关的模块即可:
$ grep '^ext3' /proc/modules
ext3 125513 1 - Live 0xf88ce000
如果您想知道文件路径,它实际上没有存储在任何地方,但您可以要求 modprobe
再次搜索该模块并使用 modprobe -l
显示路径:
$ /sbin/modprobe -l ext3
/lib/modules/2.6.18-194.el5PAE/kernel/fs/ext3/ext3.ko
假设你在这段时间内没有改变模块搜索路径,那么这应该给出原始的加载路径。
编辑: 截至2015年,此信息不正确(不仅ext4不存在作为内核模块)。使用以下命令获取有关模块的信息,包括映像路径:
modinfo floppy
cat /proc/modules
命令会对所有模块返回Live 0x00000000
;但是,在使用sudo cat /proc/modules
命令时,可以看到实际地址。 - sdaau上述信息不正确,适用于2015年。
现在modinfo将为您提供有关模块的信息。例如:
modinfo floppy
modinfo
显示模块“floppy
”在搜索路径中的位置(基本上在 /lib/modules
中,而不是从加载模块“floppy”的位置。换句话说,它不看实际加载了什么,而是查看预定位置上磁盘上存在的内容。 - Eric