linux kernel 单内核体系设计、但充分借鉴了微内核设计体系的优点,为内核引入模块化机制 内核组成部分: kernel:内核核心,一般为bzimage,通常在/boot目录下,名称为vmlinuz kernel object:内核对象,一般放置于/lib/modules/VERSION-RELEASE []:N [N]:N [*]:Y 辅助文件:rmdisk initrd initramfs
运行中的内核 uname命令: uname -print system information uname[OPTION]... -n:显示节点名称 -r:显示VERSION-RELEASE 模块: lsmod命令 显示由核心已经装载的内核模块 显示内容来自于:/proc/modules文件 modinfo命令 显示模块的详细描述信息 modinfo [ -k kernel ] -n:只显示模块文件路径 -p:显示模块参数 -a:author -d:description -l:licence
modprobe命令:
装载或卸载内核模块
modprobe [ -C config-file ] [ modulenname ] [ module program-ters... ]
配置文件:/etc/modprobe.conf /etc/modprobe.d/*.conf
modprobe [ -r ] modulename...
depmod命令:
内核模块依赖关系文件及系统信息映射文件的生成工具
装载或卸载内核模块:
insmod
rmmod
/proc目录
内核把自己内部状态信息及统计信息,以及配置参数通过proc伪文件系统加以输出
参数:
只读:输出信息
可写:可接受用户指定“新值”来实现对某内核某功能或特征的配置
/oroc/sys
(1)sysctl命令用于查看或设定此目录中诸多参数
sysctl -w pat
(2)echo命令通过重定向的方式也可以修改大多数参数的值
sysctl命令
配置文件:/etc/sysctl.conf
(1)设置某参数
sysctl -w paramenter=VALUE
(2)通过读取配置文件设置参数
sysctl -p [/path/to/conf_file]
内核中的路由转发
/proc/sys/net/ipv4/ip_forward
常用的几个参数
net.ipv4.ip_forward
vm.drop_caches
kernel.hostname
/sys目录:
sysfs:输出内核识别出的各硬件设备的相关属性信息,也有内核对硬件特征的设定信息,有些参数是可以修改的用于调整硬件工作特征
udev通过此路径下输出的信息动态为各设备创建所需要设备文件;udev是运行用户空间程序;专用工具:udevadmin,hotplug
udev为设备创建设备文件时,会读取其事先定义好的规则文件,一般在/etc/udev/rules.d及/usr/lib/udev/rules.d目录下
ramdisk文件的制作
(1)mkinitrd命令
为当前正在使用的内核重新制作ramdisk文件
~] # mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
(2)dracut命令
用法与mlinitrd命令相同