Maj*_*lik 11 linux kernel kernel-module
请问如何彻底删除某个内核模块?我的意思是真正删除,而不是卸载或阻止加载。我尝试使用rmmod
,但它只是卸载模块,与modprobe -r
. 所以我得到了所有使用的模块的列表modprobe -n -v
并手动删除了它们。
rmmod cramfs:
ERROR: Module cramfs does not exist in /proc/modules
Run Code Online (Sandbox Code Playgroud)
所以当我尝试加载模块时,我得到:
modprobe -v -n cramfs:
FATAL: Could not open '/lib/modules/2.6.32-573.12.1.el6.x86_64/kerne/fs/cramfs/cramfs.ko': No such file or directory
Run Code Online (Sandbox Code Playgroud)
但这意味着,系统仍然可以获得有关已删除模块的一些信息,因为它知道cramfs.ko
文件的路径。未加载但可加载模块的示例:
modprobe -v -n jffs2
insmod /lib/modules/2.6.32-573.12.1.el6.x86_64/kernel/lib/zlib_deflat/zlib_deflate.ko
insmod /lib/modules/2.6.32-573.12.1.el6.x86_64/kernel/fs/jffs2/jffs2.ko
rmmod jffs2
ERROR: Module jffs2 does not exist in /proc/modules
Run Code Online (Sandbox Code Playgroud)
有什么办法可以正确删除模块吗?
当需要时,模块会在运行时加载到 RAM(并链接到正在运行的内核)。在此之前,它们(仅)使用磁盘空间(或等效空间)。
您可以通过构建自己的配置了模块的内核来节省一些磁盘空间。如果您构建的内核包含(不是作为模块,内置)您需要的任何内容,则使用相关功能的内核会快一点。但这对灵活性和麻烦来说是一个巨大的打击。
归档时间: |
|
查看次数: |
5050 次 |
最近记录: |