1. /proc 目錄和核心參數管理
/proc目錄:核心把自己内部狀态資訊及統計資訊,以及可配置參數通過proc僞檔案系統加以輸出幫助:man proc
核心參數:
隻讀:隻用于輸出資訊
可寫:可接受使用者指定“新值”來實作對核心某功能或特性的配置
設定/proc/sys
sysctl指令用于檢視或設定此目錄中諸多參數
sysctl -w path.to.parameter=VALUE 斜杠換成點
預設配置檔案:/etc/sysctl.conf 及以下檔案 (寫在配置檔案裡面永久生效)
防止檔案太多擁擠 ,是以寫在
/run/sysctl.d/*.conf
/etc/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
/etc/sysctl.conf
sysctl -w kernel.hostname=mail.magedu.com
echo指令通過重定向方式也可以修改大多數參數的值
echo "VALUE" > /proc/sys/path/to/parameter
echo “websrv” > /proc/sys/kernel/hostname
2. sysctl
(1) 臨時設定某參數
sysctl -w parameter=VALUE
(2) 通過讀取配置檔案設定參數
sysctl -p [/path/to/conf_file]
(3) 檢視所有生效參數
sysctl -a
常用的核心參數:
net.ipv4.ip_forward
net.ipv4.icmp_echo_ignore_all
net.ipv4.ip_nonlocal_bind #允許應用程式可以監聽本地不存在的IP
vm.drop_caches
fs.file-max = 1020000
[root@centos8 ~]#cat /proc/sys/net/ipv4/icmp_echo_ignore_all 0
[root@centos8 ~]#vim /etc/sysctl.d/test.conf [root@centos8 ~]#cat /etc/sysctl.d/test.conf net.ipv4.icmp_echo_ignore_all=1
[root@centos8 ~]#sysctl -p /etc/sysctl.d/test.conf net.ipv4.icmp_echo_ignore_all = 1
[root@centos8 ~]#cat /proc/sys/net/ipv4/icmp_echo_ignore_all 1
3. 讓ping指令ping不通
但是太擁擠了,是以自己寫一個
生效
4./sys 目錄
[root@c7-147 init.d]#ls /sys/class/scsi_host/host
host0/ host1/ host2/
/sys目錄:
使用sysfs檔案系統,為使用者使用的僞檔案系統,輸出核心識别出的各硬體裝置的相關屬性資訊,也有核心對硬體特性的設定資訊;有些參數是可以修改的,用于調整硬體工作特性
udev通過此路徑下輸出的資訊動态為各裝置建立所需要裝置檔案,udev是運作使用者空間程式
專用工具:udevadmin, hotplug
udev為裝置建立裝置檔案時,會讀取其事先定義好的規則檔案,一般在/etc/udev/rules.d
及/usr/lib/udev/rules.d目錄下
5. 核心子產品管理和編譯
單核心 (所有的功能全部放在核心裡面)體系設計、但充分借鑒了微核心設計體系的優點,為核心引入子產品化機制核心組成部分:
kernel:核心核心,一般為bzImage,通常在/boot目錄下,名稱為 vmlinuz-VERSION-RELEASE
kernel object:核心對象,一般放置于 /lib/modules/VERSION-RELEASE/
輔助檔案:ramdisk
initrd:從CentOS 5 版本以前
initramfs:從CentOS6 版本以後
6. 核心版本
運作中的核心:
uname指令:
uname - print system information
uname [OPTION]...
-n: 顯示節點名稱
-r: 顯示VERSION-RELEASE
-a:顯示所有資訊
7. lsmod指令:
顯示由核心已經裝載的核心子產品
顯示的内容來自于: /proc/modules檔案
8.usb_storage
[root@c7-147 init.d]#yum install usbutils -y