sysctl修改內核參數

直接使用sysctl可以修改內核在運行時的參數,這些參數位於/proc/sys/目錄下,修改內核參數時,可以不用寫/proc/sys,只需要寫上在該目錄下的文件的名稱或子目錄的名稱,如修改操作系統的主機名,該參數位於/proc/sys/kernel/目錄下的hostname文件,如下所示:

[root@zhanghe ~]# ll /proc/sys/kernel/hostname 
-rw-r--r-- 1 root root 0 Aug  3 21:17 /proc/sys/kernel/hostname
[root@zhanghe ~]# cat /proc/sys/kernel/hostname
zhanghe
[root@zhanghe ~]#

如果要修改主機名,可以採用如下方式:

[root@zhanghe ~]# sysctl -w kernel.hostname=frame
kernel.hostname = frame
[root@zhanghe ~]# hostname 
frame
[root@zhanghe ~]# cat /proc/sys/kernel/hostname 
frame
[root@zhanghe ~]#

sysctl -p則表示載入sysctl的配置文件,位於/etc/sysctl.conf,不需要重啓系統即可生效。

通過使用sysctl -w修改內核參數或者是修改/proc/sys/目錄下的文件,在系統重啓後,所有的配置都會丟失,因此要修改內核配置文件sysctl.conf,以便系統啓動時就生效。

示例:

net.ipv4.ip_forward = 0
說明:
上述文件是修改內核參數的,也不需要寫/proc/sys,所有的/都用點(.)來代替。說明該參數位於/proc/sys/net/ipv4/ip_forward裏面。
將其中的0改爲1則表示啓用數據包的轉發功能。
然後使用sysctl -p使配置立即生效。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章