Linux对模块操作有哪些命令详细教程
Linux对模块操作是很重要的部分,包括加载,更新查看模块等,具体有哪些命令呢。下面由学习啦小编为大家整理了linux的模块操作命令的相关知识,希望对大家有帮助!
linux的模块操作命令详解
linux模块操作命令1、列出系统中所有已经加载的模块的大小与名称等
lsmod或者cat/proc /modules
ty@tonylinux:~$lsmodModuleSizeUsedbyrfcomm402160l2cap262445rfcommbluetooth500204rfcomm,l2capppdev92200radeon1160001........ty@tonylinux:~$cat/proc/modulesrfcomm402160-ive0xf8dee000l2cap262445rfcomm,Live0xf8DB2000bluetooth500204rfcomm,l2cap,Live0xf8dc2000ppdev92200-Live0xf8d88000.........
linux模块操作命令2、modprobe挂载新模块以及新模块相依赖的模块
modprobe我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;这是于insmod挂载模块有区别的地方。当然modprobe也有列出内核所有模块,还有移除模块的功能;下在我们举个例子说一说咱们常用的功能和参数;
modprobe-codprobe-c可以查看modules的配置文件,比如模块的别名是什么等;
modprobe -l 是列出内核中所有的模块,包括已挂载和未挂载的;通过modprobe-l,我们能查看到我们所需要的模块,然后根据我们的需要来挂载;
[root@localhostbeinan]#modprobe 模块名 注:挂载一个模块;
[root@localhostbeinan]#modprobe-r 模块名 注:移除已加载的模块,和rmmod功能相同;
linux模块操作命令3、modinfo查看模块信息
modinfo可以查看模块的信息,通过查看模块信息来判定这个模块的用途。
ty@tonylinux:~$modinfobluetoothfilename:/lib/modules/2.6.15-27-386/kernel/net/bluetooth/bluetooth.koauthor:MaximKrasnyansky,MarcelHoltmanndescription:BluetoothCorever2.8version:2.8license:GPLalias:net-pf-31vermagic:2.6.15-27-386preempt486gcc-4.0depends:srcversion:7EE5558C84FD3DB2B68971C http://www.mscto.com
linux模块操作命令4、rmmod移除已挂载模块rmmod模块名
linux模块操作命令5、depmod创建模块依赖关系的列表
这个模块管理工具是创建模块依赖关系的列表,有几个参数我们注意一下就行了,目前的的Linux发行版所用的内核是2.6x版本,是自动解决依赖关系,所以这个命令知道就行了;
模块之前也有依赖关系,比如我们想驱动USB移动硬盘,目前有两种驱动,一种是udev,在内核中有,但目前不太稳定;另一种办法是用usb- storage驱动,而usb-storage依赖的模块是scsi模块,所以我们要用usb-storage的模块,也得把scsi安装该命令为 modules.dep文件或映射文件创建依赖关系,modules.dep文件位于/lib/modules/2.6.15-27-i386;这是我的电脑的目录文件。
linux模块操作命令6、insmod挂载模块
insmod 这个工具,和modprobe有点类似,但功能上没有modprobe强,modprobe在挂载模块是不用指定模块文件的路径,也不用带文件的后缀.o 或.ko;而insmod需要的是模块的所在目录的绝对路径,并且一定要带有模块文件名后缀的(modulefile.o或 modulesfile.ko);
[root@localhostbeinan]#insmod/lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko
模块的配置文件modules.conf或modprobe.conf 内核模块的开机自动挂载模块一般是位于一个配置文件,一般的Linux发行版本都有/etc/modules.conf或/etc /modprobe.conf。
(Ubuntu下的模块配置文件是/etc/modules,其内容是:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lp
)
比如FedoraCore4.0内核模块开机自动加载文件是/etc/modprobe.conf;在这个文件中,一般是写入模块的加载命令或模块的别名的定义等;
比如我们在modules.conf中可能会发行类似的一行;通过源码编译驱动一般是./configure;make;makeinstall,有时程序不提供./configure,我们可以make或 makeinstall,或者执行make;makeinstall;如果不能make install,则需要我们自己复制.o或者.ko文件到/lib /modules/内核版本/kernel/目录或/lib/modules/内核版本/kernel/drivers目录中相应的驱动目录.
相关阅读:Linux系统常见故障现象
1. MBR中grub损坏,1_5阶段的数据损坏,2阶段的grub损坏
2. initramfs*.img文件损坏,内核文件损坏
3. /boot/grub/grub.conf文件丢失
4. /etc/fstab丢失,无法挂载根等文件系统
5. /boot 目录全部的文件丢失
6. root密码忘记
7. 为grub设置密码,开机时生效,保护root密码被恶意修改等
二、常见故障的分析解决:
1. 1阶段和1_5阶段出问题时会开机执行完BIOS自检后直接报错
2. 前面两个阶段顺利通过,到了执行/boot/ 下面的第二个阶段时的程序调用/boot/grub/grub.conf 时文件丢失或者/boot/下内核文件和initramfs*.img 文件丢失都会造成卡在第二个阶段:丢失initramfs文件时会在过了开机选择内核启动之后卡住不动,没有任何提示(在/boot/grub /grub.conf 配置文件中定义了timeout时间,会过了倒计时,然后没有任何提示)如果是丢失grub.conf 是会进入grub>提示符由管理员指定内核文件和initramfs文件位置
3. /etc/fstab丢失:
系统可以开机,但是开机时会卡好长时间,因为许多服务等待超时无法启动,此时磁盘按照默认以只读挂载根,这个挂载是在开机时挂载的,因为没有fstab文件所以无法重新挂载根文件系统以及其他的系统,没有运行级别
4. 为grub设置了密码会在开机进入内核启动时,想要修改grub和内核的参数或者进入系统时需要输入密码,当然忘记这样的密码也只能使用光盘引导进入救援模式修改配置文件/etc/grub/grub.conf 把相应的密码行删除即可。