Linux
缺少 procfs 和 sysctl 設置的預設值
我有幾個關於處理
procfs
或sysctl
值的問題。可以通過缺少 /proc 文件啟用功能嗎?
缺少
/proc
或sysctl
條目是否總是意味著該特定核心上未啟用該選項?換句話說:核心是否可以在沒有相應/proc
條目的情況下啟用或支持某個功能?我假設沒有人更改核心原始碼以刪除填充的程式碼部分/proc
。如果可以 - 它是否預設為特定值?
/proc
如果相應的 proc-File 不存在,我想知道值是否預設為一個值。如果由於某種原因我的核心支持aslr,但/sys/kernel/randomize_va_space
不存在,這是否會導致 aslr 處於活動狀態?所有設置的行為都相同嗎?
所有核心、版本和功能的行為是否相同?還是我必須單獨獲取每個設置的這些資訊?
例如:
如果
/proc/sys/kernel/sysrq
我的機器上不存在,這是否意味著
- 我的核心上沒有Magic SysRQ 功能?
- 它可用嗎?
- 它是否可用取決於我不知道的其他選項?
- 此功能的特定程式碼包含硬編碼的預設值,並且此設置對於核心上的每個功能都不同?因此,如果我想知道它的預設值是什麼,我必須查看每個功能的程式碼。
有很好的文件可供我閱讀核心設置的含義。是否有解釋預設行為的文件?
/proc
和/sys
目錄用於暴露 Liunx 核心的“調整旋鈕”。完全有可能(儘管非常罕見)有一些工作核心功能沒有任何條目,/proc
或者/sys
- 例如,如果該核心功能沒有任何參數,也沒有任何內容要發布給使用者,則不需要任何條目。但是,如果核心文件中有一些記錄/引用的條目但您找不到它們,則會出現兩種可能性:
- 您使用的是舊核心,沒有這些旋鈕;
- 您沒有使用香草核心- 即您的核心或多或少是由某人(可能是您的發行版維護者)定制的。
/proc
如果您認為核心上啟用了某些功能,但在and中找不到任何條目,/sys
請查看您的核心配置文件(通常通過 in/boot
或 in 中的文件獲得/proc/config.gz
)