您的位置:首页 > 其它

跟kernel相关的命令和几个内核参数

2016-10-31 18:49 274 查看
ldd命令:ldd命令用于打印程序或者库文件所依赖的共享库列表
ldd programname
使用实例:
[root@wlm ~]# ldd /bin/bash
linux-vdso.so.1 =>  (0x00007fff38ddc000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00000030d0400000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000030c8400000)
libc.so.6 => /lib64/libc.so.6 (0x00000030c8800000)
/lib64/ld-linux-x86-64.so.2 (0x00000030c8000000)
lsmod命令:lsmod命令用于显示已经加载到内核中的模块的状态信息。执行lsmod命令后会列出所有已载入系统的模块
使用实例:

[root@wlm ~]# lsmod | grep mptspi
mptspi                 16411  3
mptscsih               36638  1 mptspi
mptbase                93615  2 mptspi,mptscsih
scsi_transport_spi     25447  1 mptspi
第1列:表示模块的名称;
第2列:表示模块的大小;
第3列:表示依赖模块的个数;
第4列:表示依赖模块的内容。
modprobe命令:modprobe命令用于智能地向内核中加载模块或者从内核中移除模块
使用实例:
动态卸载模块:modprobe -r module_name
[root@wlm ~]# modprobe -r ipv6
FATAL: Module ipv6 is in use.
模块的动态装载:modprobe module_name
[root@wlm ~]# modprobe  ipv6


mkinitrd命令:ramdisk文件的管理
为当前使用中的内核重新制作ramdisk文件:
# mkinitrd [OPTION...] [<initrd-image>] <kernel-version>
--with=<module>:除了默认的模块之外需要装载至initramfs中的模块;
--preload=<module>:initramfs所提供的模块需要预先装载的模块;
示例: ~]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
使用实例:
[root@wlm ~]# cd /boot/
[root@wlm boot]# ls
config-2.6.32-573.el6.x86_64 initramfs-2.6.32-573.el6.x86_64.img symvers-2.6.32-573.el6.x86_64.gz
efi initrd-2.6.32-573.el6.x86_64kdump.img System.map-2.6.32-573.el6.x86_64
grub lost+found vmlinuz-2.6.32-573.el6.x86_64
[root@wlm boot]# mv initramfs-2.6.32-573.el6.x86_64.img initramfs-2.6.32-573.el6.x86_64.img.bak
[root@wlm boot]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
[root@wlm boot]# ll
total 66967
-rw-r--r--. 1 root root   107134 Jul  2  2015 config-2.6.32-573.el6.x86_64
drwxr-xr-x. 3 root root     1024 Sep 30 22:29 efi
drwxr-xr-x. 2 root root     1024 Nov  1 01:59 grub
-rw-------. 1 root root 28028282 Nov  1 02:41 initramfs-2.6.32-573.el6.x86_64.img
-rw-------. 1 root root 27940603 Sep 30 22:32 initramfs-2.6.32-573.el6.x86_64.img.bak
-rw-------. 1 root root  5456789 Sep 30 22:43 initrd-2.6.32-573.el6.x86_64kdump.img
drwx------. 2 root root    12288 Sep 30 22:14 lost+found
-rw-r--r--. 1 root root   205998 Jul  2  2015 symvers-2.6.32-573.el6.x86_64.gz
-rw-r--r--. 1 root root  2585052 Jul  2  2015 System.map-2.6.32-573.el6.x86_64
-rwxr-xr-x. 1 root root  4222192 Jul  2  2015 vmlinuz-2.6.32-573.el6.x86_64


内核信息输出的伪文件系统:
/proc:内核状态和统计信息的输出接口;同时,还提供一个配置接口,/proc/sys;
参数:
只读:信息输出;例如/proc/#/*
可写:可接受用户指定一个“新值”来实现对内核某功能或特性的配置;/proc/sys/

/proc/sys:
net/ipv4/ip_forward 相当于 net.ipv4.ip_forward

(1) sysctl命令
专用于查看或设定/proc/sys目录下参数的值;
sysctl [options] [variable[=value]]
查看:
# sysctl -a
# sysctl variable
修改其值:
# sysctl -w variable=value
(2) 文件系统命令(cat, echo)
查看:
# cat /proc/sys/PATH/TO/SOME_KERNEL_FILE
设定:
# echo "VALUE" > /proc/sys/PATH/TO/SOME_KERNEL_FILE

注意:上述两种方式的设定仅当前运行内核有效;

(3) 配置文件:/etc/sysctl.conf, /etc/sysctl.d/*.conf
立即生效的方式:sysctl -p [/PATH/TO/CONFIG_FILE]

内核参数:
net.ipv4.ip_forward:核心转发;
kernel.hostname:主机名;
net.ipv4.icmp_echo_ignore_all:忽略所有ping操作;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  kernel