该文档参考了不少网友编撰的文章整理的以下内容:内核相关得的命令1、lsmod列举早已加载得内核模块lsmod是列举目前系统中已加载的模块的名称及大小等;另外我们还可以查看/proc/modules,我们一样可以晓得系统早已加载的模块;

该文档参考了不少网友编撰的文章整理的以下内容:

内核相关得的命令

linux查看内核版本命令是什么?linux查看命令介绍

1、lsmod列举早已加载得内核模块

lsmod是列举目前系统中已加载的模块的名称及大小等;另外我们还可以查看/proc/modules,我们一样可以晓得系统早已加载的模块;

#lsmod

#cat/proc/modules

2、modinfo查看模块信息

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

modinfo模块名

#modinfovfat

linux命令查看内核版本_linux如何查看内核版本号_linux查看内核版本

#modinfontfs

可知vfat.ko坐落/lib/modules/5.4.18-65-generic/kernel/fs/fat/vfat.ko

可知ntfs.ko坐落/lib/modules/5.4.18-65-generic/kernel/fs/ntfs/ntfs.ko

注意:模块名是不能带有后缀的,我们通过modprobe-l所见到的模块,都是带有.ko或.o后缀

3、modprobe挂载新模块记忆新模块相依赖得模块

modprobe常用的功能就是挂载模块,在挂贼某个内核米快的同时,这个模块所依赖的模块也被同时挂载,其实modprobe也有列举内核所有模块,还有移除模块的功能;

modprobe-c//可以查看modules的配置文件,例如模块的别称是哪些等;

modprobe-l是列举内核中所有的模块,包括已挂载和未挂载的;能查看到我们所须要的模块,之后按照我们的须要来挂载;虽然modprode-l读取的模块列表坐落/lib/modules/’uname-r’目录中;其中uname-r是内核版本/lib/modules/’uname-r’/modules.alias

modprobe模块名注:挂载一个模块;

#modprobevfat

#modprobentfs

modprobe-r模块名//移除已加载的模块linux查看端口占用,和rmmod功能相同;(模块名是不能带有后缀的)

4、rmmod移除已挂载模块

rmmod模块名//模块名是不能带有后缀的

5、depmod创建模块依赖关系得列表

这个模块管理工具是创建模块依赖关系的列表

depmod工具的英语:depmod—programtogeneratemodules.depandmapfiles(译为:modules.dep文件或映射文件创建依赖关系)

modules.dep文件坐落/lib/modules/’uname-r’目前下

#depmod-a注:为所有列在/etc/modprobe.conf或/etc/modules.conf中的所有模块创建依赖关系,但是写入到modules.dep文件;

#depmod-e注:列举已挂载但不可用的模块;

#depmod-n注:列举所有模块的依赖关系,但仅仅是输出下来(Writethedependencyfileonstdoutonly)modules.dep坐落/lib/modules/内核版本目录

6、insmod挂载模块

insmod这个工具,和modprobe有点类似,但功能上没有modprobe强linux命令查看内核版本,modprobe在挂载模块是不用指定模块文件的路径,也不用带文件的后缀.o或.ko;而insmod须要的是模块的所在目录的绝对路径,但是一定要带有模块文件名后缀的(modulefile.o或modulesfile.ko);

对于这个工具,我们只是介绍一下,并不推荐使用。由于模块有依赖关系,对于菜鸟来说,可能不晓得这个模块依赖和那个模块依赖;

与内核模块加载相关的配置文件

1、模块的配置文件modules.conf或modprobe.conf

内核模块的开机手动挂载模块通常是坐落一个配置文件linux命令查看内核版本,通常的Linux发行版本都有/etc/modules.conf或/etc/modprobe.conf。例如FedoraCore4.0内核模块开机手动加载文件是/etc/modprobe.conf;在这个文件中,通常是写入模块的加载命令或模块的别称的定义等;例如我们在modules.conf中可能会发行类似的一行;

aliaseth08139too

而8029的网卡应当是

aliaseth0ne2k-pci

这样系统启动的时侯,首先会modprobe8139too,之后再为8139too指定别称为eth0,之后我们在登陆的时侯,用ifconfig都会查看到网卡的IP等情况,其实您得为网卡设置IP才行;

通常的情况下,modproe.conf或modules.conf的内容是我们用相应的硬件配置工具而生成的;倘若您的硬件驱动是没有被内核支持,您自己到硬件的厂商下载而至的驱动。通常的情况下都有安装和帮助文件。她们的驱动在配置时,他会写入硬件的支持到modules.conf或modprobe.conf文件中。

再譬如我们的声卡在modules.conf或modprobe.conf中也有相应的内容,这是由alsaconf配置工具生成的linux入门,明白了吧;同理网卡在modprobe.conf或modules.conf中的内容也是由网卡的配置工具而至的。

有些硬件是以内核模块的形式驱动的,模块一旦加载上才能用,也没有哪些配置工具,例如vfat和ntfs的支持;若果是硬件驱动不以模块的形式支持,而是直接编入内核,也不会用在modprobe.conf或modules.conf中加入哪些内容;

倘若您有些模块不能开机加载,您想让一些模块加机手动加载,就可以把modprobe模块直接写入配置文件;

2、内核模块其它配置文件

内核模块的其它配置文件还是须要了解的,例如/lib/modules/内核版本目录下的几个文件;了解一下就行;诸如

miscwmapmodules.ieee1394mapmodules.isapnpmapmodules.symbolssourcekernelmodules.aliasmodules.depmodules.inputmapmodules.pcimapmodules.usbmap

硬件驱动在系统中的目录

硬件驱动是必须由内核支持的,无论是我们自己安装驱动,还是内核自带的驱动都是这么。硬件驱动若果是以内核模块支持的,驱动目录坐落:/lib/modules/内核版本/kernel/目录或/lib/modules/内核版本/kernel/drivers目录中;

linux查看内核版本_linux命令查看内核版本_linux如何查看内核版本号

kernelarchcryptodriversfslibnetsound

注:只有驱动在内核中以模块的方式支持,驱动才坐落/lib/modules/相应的目录;若果是直接置入内核的,不会出现在/lib/modules驱动相关的目录;

四、自己编译驱动的办法;

通过源码编译驱动通常是./configure;make;makeinstall,有时程序不提供./configure,我们可以make或makeinstall,或则执行make;makeinstall;若果不能makeinstall,则须要我们自己复制.o或则.ko文件到/lib/modules/内核版本/kernel/目录或/lib/modules/内核版本/kernel/drivers目录中相应的驱动目录;

这个还是自己尝试吧,说也说不清楚,碰到问题后就晓得如何弄了;具体的还是驱动的REAME和INSTALL为准;

如今大多驱动都是在编译安装时,都手动复制.o或.ko文件到内核模块目录,大多不用我们自己动手复制过去。倘若您尝试编译安装声卡驱动alsa-drivers才会明白以上意思;

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

假如碰到此错误,首先要检测要加载的驱动是否早已存在与系统默认驱动路径/lib/modules/$(uname-r)下边,确认拷贝完成后,须要在加载模块之前构建该模块的依赖关系。也即必须用depmod来更新一下/lib/modules/$(uname-r)/modules.dep文件。

然后再执行指令modprobexxx(注意:这儿不要有后缀.ko,不然会找不到,如:ko文件名是hello.ko,这么modprobehello)就可以了。具体步骤:

#depmod-a

#modprobexxx

以上就是小编给你们带来的关于’linux查看内核版本命令是哪些?linux查看命令介绍’的阐述分享,希望你们通过阅读小编的文章以后才能有所收获!假如你们认为小编的文章不错的话,可以多多分享给有须要的人。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复