1.lsmod:Show the status of modules in the Linux Kernel,显示内核模块信息
[root@kasumi ~]# lsmod Module Size Used by autofs4 27000 3 . .2.lsmod显示的内核来自于/proc/modules
1.modinfo命令:Show information about a Linux Kernel module,详细显示内核模块信息
2.语法:modinfo [-F field] [-k kernel] [modulename|filename…]
[root@kasumi ~]# modinfo ext4 filename: /lib/modules/2.6.32-696.el6.x86_64/kernel/fs/ext4/ext4.ko license: GPL description: Fourth Extended Filesystem author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others srcversion: 74AEE2BDA63AC8482A78F4D depends: mbcache,jbd2 vermagic: 2.6.32-696.el6.x86_64 SMP mod_unload modversions3.相关选项: 1)-F field选项:仅显示指定字段的信息
[root@kasumi ~]# modinfo -F filename ext4 /lib/modules/2.6.32-696.el6.x86_64/kernel/fs/ext4/ext4.ko2)-n选项:显示文件路径
[root@kasumi ~]# modinfo -n ext4 /lib/modules/2.6.32-696.el6.x86_64/kernel/fs/ext4/ext4.ko1.modprobe命令:Add and remove modules from the Linux Kernel,从内核中删除或新增模块
2.语法:modprobe [-r] module_name 1)模块的动态装载:modprobe module_name
[root@kasumi ~]# lsmod | grep btrfs [root@kasumi ~]# modprobe btrfs [root@kasumi ~]# lsmod | grep btrfs btrfs 786685 0 zlib_deflate 21629 1 btrfs lzo_decompress 2343 1 btrfs lzo_compress 2368 1 btrfs libcrc32c 1246 1 btrfsps:使用modprobe装载模块时,会自动解决依赖关系 2)模块的动态卸载:modprobe -r module_name
[root@kasumi ~]# modprobe -r btrfs [root@kasumi ~]# lsmod | grep btrfs1.insmod命令:装载指定模块,insmod [filename] [module options…],其中filename为模块文件的文件路径
[root@kasumi ~]# insmod $(modinfo -n btrfs) insmod: error inserting '/lib/modules/2.6.32-696.el6.x86_64/kernel/fs/btrfs/btrfs.ko': -1 Unknown symbol in module [root@kasumi ~]# modinfo btrfs | grep depends depends: libcrc32c,zlib_deflate,lzo_compress,lzo_decompress [root@kasumi ~]# insmod $(modinfo -n libcrc32c) [root@kasumi ~]# insmod $(modinfo -n zlib_deflate) [root@kasumi ~]# insmod $(modinfo -n lzo_compress) [root@kasumi ~]# insmod $(modinfo -n lzo_decompress) [root@kasumi ~]# insmod $(modinfo -n btrfs) [root@kasumi ~]# lsmod | grep "btrfs" btrfs 786685 0 lzo_decompress 2343 1 btrfs lzo_compress 2368 1 btrfs zlib_deflate 21629 1 btrfs libcrc32c 1246 1 btrfsps:需注意使用insmod安装内核模块时,需要手动解决目标模块的依赖关系,之后才可以整安装模块
2.rmmod:卸载模块,rmmod [module_name]
[root@kasumi ~]# rmmod btrfs [root@kasumi ~]# lsmod | grep "btrfs"1.depmod命令:Generate modules.dep and map files,内核模块依赖关系文件的生成工具
1.mkinitrd命令:为当前使用中的内核重新制作ramdisk文件
2.语法:mkinitrd [OPTION…] [initrd-image] kernel-version
3.相关选项: 1)- -with=module:除了默认的模块之外需要装载至initramfs中的模块
2)- -preload=module:initramfs所提供的模块需要预先装载的模块
4.测试
[root@kasumi ~]# ls /boot config-2.6.32-696.el6.x86_64 initramfs-2.6.32-696.el6.x86_64.img System.map-2.6.32-696.el6.x86_64 efi lost+found vmlinuz-2.6.32-696.el6.x86_64 grub symvers-2.6.32-696.el6.x86_64.gz [root@kasumi ~]# mv /boot/initramfs-2.6.32-696.el6.x86_64.img /root [root@kasumi ~]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) [root@kasumi ~]# ls /boot config-2.6.32-696.el6.x86_64 initramfs-2.6.32-696.el6.x86_64.img System.map-2.6.32-696.el6.x86_64 efi lost+found vmlinuz-2.6.32-696.el6.x86_64 grub symvers-2.6.32-696.el6.x86_64.gz1.dracut命令: low-level tool for generating an initramfs image,为当前使用中的内核重新制作ramdisk文件
2.语法:dracut [OPTION…] [image [kernel version]]
3.测试:同mkinitrd命令
dracut /boot/initramfs-$(uname -r).img $(uname -r)1./proc:内核状态和统计信息的输出接口,并且还提供了一个配置接口,/proc/sys/
2./proc相关参数 1)只读:信息输出,例如/proc/#/*
2)可写:可接受用户指定一个"新值"来实现对内核某功能或特性的配置/proc/sys/
/proc/sys:net/ipv4/ip_forward相当于net.ipv4.ip_forward3.sysctl命令:专用于查看或设定/proc/sys/目录下参数的值 1)语法:sysctl [options] [variable[=value]] 2)查看可设定的内核参数
1.sysctl -a [root@kasumi ~]# sysctl -a 2.sysctl variable [root@kasumi ~]# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 03)修改其值:sysctl -w variable=value
[root@kasumi ~]# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0 [root@kasumi ~]# sysctl -w net.ipv4.ip_forward=1 net.ipv4.ip_forward = 1 [root@kasumi ~]# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1ps:进队当前运行的内核有效,重启内核后设定的相关参数则会丢失 4.文件系统命令(cat echo)更改内核参数 1)cat 查看:cat /proc/sys/PATH/TO/SOME_KERNEL_FILE
[root@kasumi ~]# cat /proc/sys/net/ipv4/ip_forward 12)echo 设定:echo “VALUE” > /proc/sys/PATH/TO/SOME_KERNEL_FILE
[root@kasumi ~]# echo "0" > /proc/sys/net/ipv4/ip_forward [root@kasumi ~]# cat /proc/sys/net/ipv4/ip_forward 0ps:进队当前运行的内核有效,重启内核后设定的相关参数则会丢失
5.配置文件:/etc/sysctl.conf;/etc/sysctl.d/*.conf 1)测试
[root@yuki ~]# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0 [root@yuki ~]# vim /etc/sysctl.conf net.ipv4.ip_forward=1 [root@yuki ~]# sysctl -p net.ipv4.ip_forward = 1 [root@yuki ~]# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1 [root@yuki ~]# cat /proc/sys/net/ipv4/ip_forward 12)使更改的配置文件立即生效:sysctl -p [/PATH/TO/CONFIG_FILE] ps:centos6中的配置文件为/etc/sysctl.conf,Centos7中配置文件为:/etc/sysctl.conf或/etc/sysctl.d/*.conf(其实为/etc/sysctl.con的链接文件)
6.内核参数:
1.net.ipv4.ip_forward:管理核心转发功能 2.vm.drop_caches:管理缓存信息 3.kernel.hostname:主机名 4.net.ipv4.icmp_echo_ignore_all:忽略所有ping操作1)关闭ping操作
[root@yuki ~]# ping 192.168.3.20 PING 192.168.3.20 (192.168.3.20) 56(84) bytes of data. 64 bytes from 192.168.3.20: icmp_seq=1 ttl=64 time=0.335 ms 更改192.168.3.20的参数 [root@grub6 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all 0 [root@grub6 ~]# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all 此时已经ping不通192.168.3.20了 [root@yuki ~]# ping 192.168.3.20 PING 192.168.3.20 (192.168.3.20) 56(84) bytes of data. ^C2)管理缓存信息,通过更改对应内核参数,可以实现清除缓存
[root@yuki ~]# free -h total used free shared buff/cache available Mem: 976M 278M 350M 7.2M 346M 505M Swap: 1.0G 0B 1.0G [root@yuki ~]# sysctl vm.drop_caches vm.drop_caches = 0 [root@yuki ~]# sysctl -w vm.drop_caches=1 vm.drop_caches = 1 [root@yuki ~]# free -h total used free shared buff/cache available Mem: 976M 278M 530M 7.2M 167M 517M Swap: 1.0G 0B 1.0G [root@yuki ~]# sysctl -w vm.drop_caches=2 vm.drop_caches = 2 [root@yuki ~]# free -h total used free shared buff/cache available Mem: 976M 261M 555M 7.2M 159M 538M Swap: 1.0G 0B 1.0G3)更改主机名
[root@yuki ~]# cat /proc/sys/kernel/hostname yuki [root@yuki ~]# sysctl kernel.hostname kernel.hostname = yuki [root@yuki ~]# sysctl -w kernel.hostname=kasumi kernel.hostname = kasumi [root@yuki ~]# sysctl kernel.hostname kernel.hostname = kasumi1.sysfs:输出内核识别出的各硬件设备的相关属性信息,也有内核对硬件特性的可设置参数;对这些参数的修改,可以实现定制硬件设备工作特性
2.udev:通过读取/sys目录下的硬件设备信息,按需为各硬件设备创建设备文件,udev为用户空间程序;专用工具:devadmin, hotplug
ps:udev为设备创建设备文件时,会读取其实现定义好的规则文件,一般存放在/etc/udev/rules.d/目录下,以及/usr/lib/udev/rules.d/目录下