標籤:kernel
ldd命令:ldd命令用於列印程式或者庫檔案所依賴的共用庫列表
ldd programname
使用執行個體:
[[email protected] ~]# ldd /bin/bashlinux-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命令後會列出所有已載入系統的模組
使用執行個體:
[[email protected] ~]# lsmod | grep mptspimptspi 16411 3 mptscsih 36638 1 mptspimptbase 93615 2 mptspi,mptscsihscsi_transport_spi 25447 1 mptspi第1列:表示模組的名稱;第2列:表示模組的大小;第3列:表示相依模組的個數;第4列:表示相依模組的內容。
modprobe命令:modprobe命令用於智能地向核心中載入模組或者從核心中移除模組
使用執行個體:
動態卸載模組:modprobe -r module_name
[[email protected] ~]# modprobe -r ipv6FATAL: Module ipv6 is in use.
模組的動態裝載:modprobe module_name
[[email protected] ~]# 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)
使用執行個體:
[[email protected] ~]# cd /boot/
[[email protected] 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
[[email protected] boot]# mv initramfs-2.6.32-573.el6.x86_64.img initramfs-2.6.32-573.el6.x86_64.img.bak
[[email protected] boot]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
[[email protected] boot]# lltotal 66967-rw-r--r--. 1 root root 107134 Jul 2 2015 config-2.6.32-573.el6.x86_64drwxr-xr-x. 3 root root 1024 Sep 30 22:29 efidrwxr-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.imgdrwx------. 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相關的命令和幾個核心參數