linux卸载模块使用命令,linux rmmod命令参数及用法详解--linux删除模块命令

本文详细介绍了Linux系统中用于管理内核模块的命令,包括rmmod用于卸载模块,insmod用于安装模块,以及lsmod用于查看已加载的模块。通过示例演示了如何操作这些命令,并解决了rmmod命令在执行时可能出现的问题。
摘要由CSDN通过智能技术生成

rmmod.html' target='_blank'>rmmod(remove module)

功能说明:删除模块。

语  法:rmmod [-as][模块名称...]

补充说明:执行rmmod指令,可删除不需要的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放如核心。你可以将这些功能编译成一个个单独的模块,待有需要时再分别载入它们。

参  数:

-a  删除所有目前不需要的模块。

-s  把信息输出至syslog常驻服务,而非终端机界面。

与内核模块操作相关的命令还有:lsmod.html' target='_blank'>lsmod     modinfo   depmod    rmmod    inmod    modprobe

范例1: 显示已安装的模块

root@linuxso.com:~# lsmod

Module         Size Used by

cramfs         39042 1

nfsd         238935 11

lockd         64849 1 nfsd

nfs_acl         2245 1 nfsd

auth_rpcgss      33735 1 nfsd

sunrpc        193181 10 nfsd,lockd,nfs_acl,auth_rpcgss

export.html' target='_blank'>exportfs        3437 1 nfsd

xt_TCPMSS        2931 0

xt_tcpmss        1197 0

xt_tcpudp        2011 0

iptable_mangle     2771 0

ip_tables        9991 1 iptable_mangle

x_tables        14299 4

……省略部分结果

pppoe          8943 0

pppox          2074 1 pppoe

binfmt_misc       6587 1

snd_ens1371      18814 0

gameport        9089 1 snd_ens1371

snd_ac97_codec    100646 1 snd_ens1371

ac97_bus        1002 1 snd_ac97_codec

snd_pcm_oss      35308 0

范例2:卸载模块

root@linuxso.com:~# rmmod -v pppoe //卸载模块pppoe

Checking ppoe for persistent data

范例3: 安装模块

root@linuxso.com:~# insmod -v pppoe >1.log //安装模块

root@linuxso.com:~# tail -b 30 1.log //显示文件信息

扩展阅读:rmmod: chdir(/lib/modules): No such file or directory 解决方法 资料整理 www.linuxso.com

必须创建/lib/modules/2.6.30.4这样一个空目录,否则不能卸载ko模块.

# rmmod nls_cp936

rmmod: chdir(/lib/modules): No such file or directory

但是这样倒是可以卸载nls_cp936,不过会一直有这样一个提示:

rmmod: module 'nls_cp936' not found

1.创建/lib/modules/2.6.30空目录就.

2.使用如下源码生成rmmod命令,就可以没有任何提示的卸载ko模块了[luther.gliethttp]

#include

#include

#include

#include

#include

#include

int main(int argc, char *argv[])

{

const char *modname = argv[1];

int ret = -1;

int maxtry = 10;

while (maxtry-- > 0) {

ret = delete_module(modname, O_NONBLOCK | O_EXCL);//系统调用sys_delete_module

if (ret < 0 && errno == EAGAIN)

usleep(500000);

else

break;

}

if (ret != 0)

printf("Unable to unload driver module \"%s\": %s\n",

modname, strerror(errno));

}

3.把生成的命令复制到文件系统

# arm-linux-gcc -static -o rmmod rmmod.c

# arm-linux-strip -s rmmod

# cp rmmod /nfs/

cp /nfs/rmmod /sbin

第一部分 基础知识 <br>1.1 什么是LKMs <br>1.2 什么是系统调用 <br>1.3 什么是内核符号表(Kernel-Symbol-Table) <br>1.4 如何实现从用户空间到内核空间的转换 <br>1.5 使用用户空间函数的方法 <br>1.6 常用内核空间函数列表 <br>1.7 什么是内核守护进程 <br>1.8 创建你自己的设备 <br><br>第二部分 渐入佳境 <br>2.1 如何截获系统调用 <br>2.2 一些有趣的系统调用 <br>2.2.1 发现有趣的系统调用(strace方法) <br>2.3 迷惑内核的系统表 <br>2.4 和文件系统有关的攻击 <br>2.4.1 如何隐藏文件 <br>2.4.2 如何隐藏文件的内容(完全的) <br>2.4.3 如何隐藏文件的某一部分(一个实现原型) <br>2.4.4 如何重新定向或者监视文件操作 <br>2.4.5 如何避免任何文件权限问题 <br>2.4.6 如何使的一个有入侵工具的目录不可存取 <br>2.4.7 如何改变CHROOT环境 <br>2.5 和进程有关的入侵 <br>2.5.1 如何隐藏任何进程 <br>2.5.2 如果改变文件的执行结果 <br>2.6 和网络(Socket)有关的入侵 <br>2.6.1 如果控制Socket操作 <br>2.7 TTY纪录的方法 <br>2.8 用LKMs写病毒 <br>2.8.1 如何让LKM病毒感染任何文件(不仅仅是模块) <br>2.8.2 如何让LKM病毒帮助我们进入系统 <br>2.9 使我们的LKM不可见,而且不可卸载 <br>2.10 其他的入侵kerneld进程的方法 <br>2.11 如何检查当前的我们的LKM <br><br>第三部分 解决方案(给系统管理员) <br>3.1 LKM检测的理论和想法 <br>3.1.1 一个使用的检测器的原形 <br>3.1.2 一个密码保护的create_module(...)的例子 <br>3.2 防止LKM传染者的方法 <br>3.3 使你的程序不可以被跟踪(理论) <br>3.3.1 一个反跟踪的实用例子 <br>3.4 使用LKMs来防护你的linux内核 <br>3.4.1 为什么我们必须允许任何一个程序都拥有可执行的权限 <br>3.4.2 链接的补丁 <br>3.4.3 /proc权限的补丁 <br>3.4.4 安全级别的补丁 <br>3.4.5 底层磁盘补丁 <br><br>第四部分 一些更好的想法(给hacker的) <br>4.1 击败系统管理员的LKM的方法 <br>4.2 修补整个内核-或者创建Hacker-OS <br>4.2.1 如何在/dev/kmem中找到内核符号表 <br>4.2.2 新的不需要内核支持的'insmod' <br>4.3 最后的话 <br><br>第五部分 最近的一些东西:2.2.x版本的内核 <br>5.1 对于LKM作者来说,一些主要的不同点 <br><br>第六部分 最后的话 <br>6.1 LKM传奇以及如何使得一个系统即好用又安全 <br>6.2 一些资源链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值