1、内核是什么
2、如何管理内核模块
内核模块存放位置
arch:存储于硬件平台相关的模块
crypto:存储的是Linux内核提供的加密算法模块
drivers:存储硬件设备的驱动程序
fs:存放与文件系统有关的模块
lib:各种模块所需要用到的链接库
net:存储网络相关的模块
sound:存放声卡驱动程序的目录
查看模块信息 modinfo
模块文件名filename
模块的作者author
模块的说明description
模块的版权说明license
模块的参数parameter
查看已加载的模块
module:模块名称
size:模块加载到内存时占用的体积大小,单位字节bytes
used by:有哪些模块正在使用这个模块
手动加载模块
# insmod /lib/modules/2.6.18-238.el5/kernel/drivers/char/watchdog/softdog.ko
手动卸载模块
#rmmod 会删除指定的模块,以及该模块所依赖的任何不使用的模块
-s代表要将卸载模块的信息,记录到系统日志服务器
解决模块相依性
modprobe
-C:指定内核模块配置文件的位置
-r:卸载模块
-l:显示模块文件路径名称
-a:显示所有模块文件路径名称
-c:按照现在的模块状态产生设置值
三个模块的依赖关系 lp、parport、parport_pc
产生模块相依性数据
depmod
什么时候需要执行depmod
例如:使用depmod产生模块相依赖关系
[root@test1 ~]# ll /lib/modules/2.6.18-238.el5/
总计 1404
lrwxrwxrwx 1 root root 44 05-06 04:30 build -> ../../../usr/src/kernels/2.6.18-238.el5-i686
drwxr-xr-x 2 root root 4096 2010-12-20 extra
drwxr-xr-x 9 root root 4096 05-06 04:30 kernel
-rw-r--r-- 1 root root 299708 05-06 04:30 modules.alias
-rw-r--r-- 1 root root 69 05-06 04:30 modules.ccwmap
-rw-r--r-- 1 root root 222365 05-06 04:30 modules.dep
-rw-r--r-- 1 root root 147 05-06 04:30 modules.ieee1394map
-rw-r--r-- 1 root root 375 05-06 04:30 modules.inputmap
-rw-r--r-- 1 root root 2699 05-06 04:30 modules.isapnpmap
-rw-r--r-- 1 root root 74 05-06 04:30 modules.ofmap
-rw-r--r-- 1 root root 234333 05-06 04:30 modules.pcimap
-rw-r--r-- 1 root root 589 05-06 04:30 modules.seriomap
-rw-r--r-- 1 root root 142699 05-06 04:30 modules.symbols
-rw-r--r-- 1 root root 396941 05-06 04:30 modules.usbmap
lrwxrwxrwx 1 root root 5 05-06 04:30 source -> build
drwxr-xr-x 2 root root 4096 2010-12-20 updates
drwxr-xr-x 2 root root 4096 2010-12-20 weak-updates
[root@test1 ~]# rm -f /lib/modules/2.6.18-238.el5/modules.*
[root@test1 ~]# ll /lib/modules/2.6.18-238.el5/
总计 40
lrwxrwxrwx 1 root root 44 05-06 04:30 build -> ../../../usr/src/kernels/2.6.18-238.el5-i686
drwxr-xr-x 2 root root 4096 2010-12-20 extra
drwxr-xr-x 9 root root 4096 05-06 04:30 kernel
lrwxrwxrwx 1 root root 5 05-06 04:30 source -> build
drwxr-xr-x 2 root root 4096 2010-12-20 updates
drwxr-xr-x 2 root root 4096 2010-12-20 weak-updates
[root@test1 ~]# depmod
[root@test1 ~]# ll /lib/modules/2.6.18-238.el5/
总计 1360
lrwxrwxrwx 1 root root 44 05-06 04:30 build -> ../../../usr/src/kernels/2.6.18-238.el5-i686
drwxr-xr-x 2 root root 4096 2010-12-20 extra
drwxr-xr-x 9 root root 4096 05-06 04:30 kernel
-rw-r--r-- 1 root root 299708 05-16 14:57 modules.alias
-rw-r--r-- 1 root root 69 05-16 14:57 modules.ccwmap
-rw-r--r-- 1 root root 222365 05-16 14:57 modules.dep
-rw-r--r-- 1 root root 147 05-16 14:57 modules.ieee1394map
-rw-r--r-- 1 root root 375 05-16 14:57 modules.inputmap
-rw-r--r-- 1 root root 2699 05-16 14:57 modules.isapnpmap
-rw-r--r-- 1 root root 74 05-16 14:57 modules.ofmap
-rw-r--r-- 1 root root 234333 05-16 14:57 modules.pcimap
-rw-r--r-- 1 root root 589 05-16 14:57 modules.seriomap
-rw-r--r-- 1 root root 142699 05-16 14:57 modules.symbols
-rw-r--r-- 1 root root 396941 05-16 14:57 modules.usbmap
lrwxrwxrwx 1 root root 5 05-06 04:30 source -> build
drwxr-xr-x 2 root root 4096 2010-12-20 updates
drwxr-xr-x 2 root root 4096 2010-12-20 weak-updates
配置内核模块配置文件
# vim /etc/modprobe.conf
alias 模块别名
options 模块默认参数
install
remove
include
配置内核参数
使用sysctl工具配置内核参数
查看、修改、配置文件、调用
升级内核
手动安装新版kernel RPM文件
yum 升级内核
硬件管理
管理设备文件
设备文件类型:块设备b、字符设备c
设备文件识别号码:主要号码、次要号码
手动建立设备文件:mknod
使用makedev建立设备文件
通过udev自动建立设备文件
udev的组件
udev运行原理
配置udev
监控硬件设备
内核事件信息
#dmesg
查看日志/var/log/dmesg
通过/proc/相关信息
#cat /proc/*
devices:Linux已驱动的硬件设备列表
cpuinfo:存储内核检测到的CPU信息
diskstats:提供磁盘的状态信息
interrupts:Linux硬件的IRQ中断信息会存储在这里
iomem:硬件设备的IO地址信息
mdstat:存储多重磁盘设备的信息
meminfo:内存的使用状况信息
partitions:所有磁盘的分区信息
硬件浏览器 图形界面下查看
# rpm -ivh /media/Server/pyparted-1.8.1-4.el5.i386.rpm
Preparing... ########################################### [100%]
1:pyparted ########################################### [100%]
[root@test1 Server]# rpm -ivh /media/Server/hwbrowser-0.30-3.el5.noarch.rpm
Preparing... ########################################### [100%]
1:hwbrowser ########################################### [100%]
管理PCI设备
查看PCI设备信息:lspci
配置PCI设备:setpci
管理声卡设备
设置声卡
设置声卡音量
管理热插拔设备
管理USB设备
lsusb
cat /proc/bus/usb/devices
管理PCMCIA设备
PC机内存卡国际联合会
如何区分内核的版本
内核的组件:
内核镜像文件
内核模块
initrd镜像文件
RHEL提供的内核rpm:
内核:
1、软件包kernel,普通版本内核
2、软件包kernel-PAE 使用超过4G大小的内存时候使用的内核
3、软件包kernel-xen xen虚拟化系统使用的内核
工具和文件:
kernel-doc:Linux内核说明书
kernel-util:Linux内核的管理工具,以及与内核有关的服务
2:主要版本号码
6:次要版本号码,奇数:开发中的版本 偶数:稳定的版本
18:修正版本号
238.el5:Linux产品厂商所定义的版本编号
# uname -a
Linux test1.cdpc.com 2.6.18-238.el5 #1 SMP Sun Dec 19 14:24:47 EST 2010 i686 i686 i386 GNU/Linux
其他详细参数 uname