【学神-RHEL7】1-20-1-内核模块的操作

本节所讲内容:

使用Linux内核模块

实战-编译一个NTFS内核模块,实现linux挂载NTFS文件系统并实现读写功能

 

内核模块操作

内核(模块)管理命令:

模块的作用:把具体功能封装好的程序。  比如,冲电宝。可以给所有手机冲电。

存放内核模块的目路径:

[[email protected]]# ls

3.10.0-229.el7.x86_64  4.2.4

 

[[email protected]]# cd /lib/modules/4.2.4/kernel/fs/

[[email protected] fs]# ls

binfmt_misc.ko  ceph   dlm    fat      gfs2  lockd       nfs_common  ntfs      squashfs

btrfs           cifs    exofs fscache  isofs  mbcache.ko nfsd        overlayfs  udf

cachefiles      cramfs ext4   fuse     jbd2  nfs         nls        pstore     xfs

[[email protected] fs]# cd fat/

[[email protected] fat]#ls

fat.ko  msdos.ko vfat.ko

 

插入模块:

insmod

作用:载入模块

[[email protected] fat]#pwd

/lib/modules/4.2.4/kernel/fs/fat

[[email protected] fat]#insmod fat.ko

 

查看当前系统中加载的模块

#lsmod    列出当前模块

[[email protected] fat]#lsmod  | grep fat

fat                    69632  0

 

删除模块

#rmmod   fat  #删除模块 。跟上模块的名字

[[email protected] fat]#rmmod fat

[[email protected] fat]#lsmod | grep fat

 

解决依赖关系安装模块

Modprobe

[[email protected] fat]# insmodvfat.ko

insmod: ERROR: could notinsert module vfat.ko: Unknown symbol in module

[[email protected] fat]# modprobevfat

[[email protected] fat]# lsmod |grep fat

vfat                   20480  0

fat                    69632  1 vfat

 

删除模块

[[email protected] fat]#modprobe -r vfat

[[email protected] fat]#lsmod | grep fat

 

新添加一个模块后,需要让系统知道:

[[email protected] 4.2.4]#depmod

[[email protected] fat]#cd /lib/modules/4.2.4/

[[email protected] 4.2.4]#vim modules.dep

查看模块间依赖关系:如fat。从下图可以看出,vfat和msdos模块都依赖fat.ko模块

文件格式

模块的路径:   依赖的模块

 

查看模块信息

#modinfo    查看模块信息

[[email protected] fat]#modinfo vfat

filename:       /lib/modules/4.2.4/kernel/fs/fat/vfat.ko

author:         Gordon Chaffee

description:    VFAT filesystem support

license:        GPL

alias:          fs-vfat

srcversion:     BEF7BA1F8972367DD650AA0

depends:        fat

intree:         Y

vermagic:       4.2.4 SMP mod_unload modversions

signer:         Build time autogenerated kernel key

sig_key:       D3:5F:6B:F2:8E:BB:94:CD:66:3F:5C:D7:C6:F5:17:68:E9:30:25:B7

sig_hashalgo:   sha256

 

开机自动加载模块

[[email protected] ~]# vim/etc/rc.local

#!/bin/bash

# THIS FILE IS ADDEDFOR COMPATIBILITY PURPOSES

#

# It is highlyadvisable to create own systemd services or udev rules

# to run scripts duringboot instead of using this file.

#

# In contrast to previousversions due to parallel execution during boot

# this script will NOTbe run after all other services.

#

# Please note that youmust run ‘chmod +x /etc/rc.d/rc.local‘ to ensure

# that this script willbe executed during boot.

 

touch /var/lock/subsys/local

modprobe fat

 

[[email protected] ~]# ll/etc/rc.local

lrwxrwxrwx. 1 root root13 Nov 22 03:29 /etc/rc.local -> rc.d/rc.local

 

 

实战-编译一个NTFS内核模块,实现linux挂载NTFS文件系统

 

安装 fuse:

[[email protected]]# rpm -qa | grep fuse

fuseiso-20070708-15.el7.x86_64

gvfs-fuse-1.16.4-8.el7.x86_64

fuse-libs-2.9.2-5.el7.x86_64

fuse-2.9.2-5.el7.x86_64

 

[[email protected] ~]#modprobe ntfs

 

编译安装ntfs-3g源码包

 

[[email protected] ~]# tarzxvf ntfs-3g-2011.1.15.tgz

[[email protected] ~]# cdntfs-3g-2011.1.15/

[[email protected] ~]#./configure   && make  && make  install

 

导入U盘

 

[[email protected] ~]#umount /dev/sdc1

[[email protected] ~]#mount -t ntfs-3g /dev/sdc1 /opt/

[[email protected] ~]# vim/etc/fstab

/dev/sdc1            /opt                 ntfs-3g   defaults    

 

 

学习过程中如果问题,请留言。更多内容请加:
学神IT-linux讲师-RM老师QQ:2805537762
学神IT-戚老师QQ:3341251313
学神IT-旭斌QQ:372469347
学神IT教育RHEL7交流群:468845589

时间: 2024-10-13 00:22:02

【学神-RHEL7】1-20-1-内核模块的操作的相关文章

【学神-RHEL7】1-16-RAID5和RAID10创建&LVM管理

本节所讲内容: RAID5.RAID10配置 RAID删除   建立RAID5 1)     创建RAID5 2)     停止阵列,重新激活阵列 3)     再添加新的1G热备盘,扩展阵列容量,从3磁盘个扩展到4个 实验环境: sde1,sde2,sde3,sde5,sde6 个主分区  每个1G   [[email protected] ~]# ll/dev/sde* brw-rw---- 1 root disk8, 64 Dec 12 20:35 /dev/sde brw-rw----

秦知妍:9.20现货天然气早间操作建议

秦知妍:9.20现货天然气早间操作建议 导读: 人生充满了尝试与错误,一次失败不代表你就出局了.因为简单,才直接;因为绝望,才敢拼.太在意,往往是失败的开始,人生的成功往往多在不知不觉中.深远者,自然开阔.时间是公平的,心在哪,时间在哪,行动在哪,收获就在哪!我们缺少的不是机遇,而是对机遇的把握;缺欠的不是财富,而是创造财富的本领;缺乏的不是知识,而是学而不厌的态度;缺少的不是理想,而是身体力行的实践,笔者薇芯qzy985为您成功助力. 技术解析 从日K线图来看,周一天然气收得一根十字阴线,开盘

【学神-RHEL7】P4-Python列表操作和字符串的常用方法

本节所讲内容:     3.3.2       分片 通过分片可以访问序列中一定范围内的元素. 语法: 序列[上边界:下边界] >>> tag = '<ahref="http://www.python.org">Python web site</a>' >>> tag '<ahref="http://www.python.org">Python web site</a>' >&

【学神-RHEL7】P3-文件操作和列表的使用

本节所讲内容:        1)文件的基本操作        2)列表的基本操作        3)元组的介绍        4)实战:创建一个购物程序   文件的基本操作 3.1          打开文件 python中使用open函数来打开文件(默认函数方式,可以省略) 语法格式: open(文件名,文件模式,缓冲) 其中,文件模式和缓冲都是可选项 >>> f =open('name_list')   如果打开的文件不存在,会出现以下报错 >>> f = ope

【学神-RHEL7】1-1-课程介绍和RHEL7.1操作系统安装-VMware使用方法

本节所讲内容: 课程介绍 VMware workstation的基本使用 RHEL7 基本了解 RHEL7.1操作系统的安装 RHEL6.5操作系统的安装 实战:组装服务器   1U=4.45CM   HP    SAS   10K    450G    2100¥ Dell  SAS   10K    300G     1100¥     2100*8=16800¥ 1100*8=8800¥     RHEL7 基本了解 红帽公司于2014年6月11日正式发布企业Linux 7版本,该版本在裸

【学神-RHEL7】1-15-磁盘加密和RAID配置

本节所讲内容:   xfs和ext性能对比 加密磁盘   了解: xfs文件系统比ext文件系统的强的方面:   1.数据完整性 采用XFS文件系统,当意想不到的宕机发生后,由于文件系统开启了日志功能,所以磁盘上的文件不再会意外宕机而遭到破坏,不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容   2.传输特性 xfs文件系统采用优化算法,日志记录对整体文件操作影响非常小.xfs查询与分配存储空间非常快.xfs文件系统能连续提供快速的反应时

【学神-RHEL7】P7-Python中函数的使用

本节所讲内容:   Python 函数的使用   7.1 函数是在程序中用一种特定的格式,把一些代码封装起来,定义一个名称,然后可以在程序的任何地方通过调用此函数名来执行函数里的那组命令   使用函数的好处 1)程序可扩展性 2)减少程序代码 3)方便程序架构的更改   7.1.1       定义函数   语法格式 def  函数名(参数):        函数语句   注:在def语句中函数名后面的变量通常叫做函数的形参,而调用函数时提供的值是实参,或者称为参数.一般将实参称为"值"

【学神-RHEL7】1-22-RHEL6启动原理和故障恢复

本节所讲内容: Linux启动过程详解 影响启动的配置文件 常见的启动故障排除 救援模式的使用 Live CD的使用   本节课的所有操作在RHEL6操作系统中完成 Linux启动过程详解 1.    加载BIOS 的硬件信息,跟据设定取得第一个可开机引导设置,如:光驱,硬盘,网络,USB: 如果是硬盘为第一引导. 大白菜,  老毛桃   ,电脑店     2. 读取硬盘中 MBR 的 bootLoader (亦即是 grub,Lilo 等程序): 硬盘的0柱面.0磁头.1扇区称为主引导扇区(也

【学神-RHEL7】1-18-计划任务和日志管理

本节所讲内容: at 定制单次执行的计划任务 cron定制周期性计划任务 配置脚本实现周期性任务 配置公司内网服务器每天自动开关机 Linux系统日志记录规律 自定义日志记录方式 配置远程收集日志服务器   计划任务: at # 只能执行一次 语法: at  时间 服务:atd  必须开启   [[email protected] ~]#systemctl status atd atd.service - Jobspooling tools    Loaded: loaded (/usr/lib