学习啦>学习电脑>操作系统>Linux教程>

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、modinfo查看模块信息

  modinfo可以查看模块的信息,通过查看模块信息来判定这个模块的用途。

  ty@tonylinux:~$modinfobluetoothfilename:/lib/modules/2.6.15-27-386/kernel/net/bluetooth/bluetooth.koauthor:MaximKrasnyansky<maxk@qualcomm.com>,MarcelHoltmann<marcel@holtmann.org>description:BluetoothCorever2.8version:2.8license:GPLalias:net-pf-31vermagic:2.6.15-27-386preempt486gcc-4.0depends:srcversion:7EE5558C84FD3DB2B68971C http://www.mscto.com

  linux模块操作命令3、modprobe挂载新模块以及新模块相依赖的模块

  modprobe我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;这是于insmod挂载模块有区别的地方。当然modprobe也有列出内核所有模块,还有移除模块的功能;下在我们举个例子说一说咱们常用的功能和参数;

  modprobe-codprobe-c可以查看modules的配置文件,比如模块的别名是什么等;

  modprobe -l 是列出内核中所有的模块,包括已挂载和未挂载的;通过modprobe-l,我们能查看到我们所需要的模块,然后根据我们的需要来挂载;

  [root@localhostbeinan]#modprobe 模块名 注:挂载一个模块;

  [root@localhostbeinan]#modprobe-r 模块名 注:移除已加载的模块,和rmmod功能相同;

  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目录中相应的驱动目录

    3625289