Назад | Перейти на главную страницу

Значения по умолчанию при отсутствии настроек procfs и sysctl

У меня есть несколько вопросов относительно обращения с procfs или sysctl ценности.

Можно ли включить функцию с отсутствующим файлом / proc?

Отсутствует /proc или sysctl запись всегда означает, что опция не включена в этом конкретном ядре? Другими словами: может ли функция быть включена или поддерживаться ядром без соответствующего /proc запись доступна? Я предполагаю, что никто не изменил исходный код ядра таким образом, чтобы удалить часть кода, которая заполняет /proc.

Если может - по умолчанию установлено определенное значение?

Я хотел бы знать, если /proc значения по умолчанию равны значению, если соответствующий файл proc-File не существует. Если по какой-то причине мое ядро ​​поддерживает aslr, но /sys/kernel/randomize_va_space не существует, приводит ли это к тому, что aslr активен или нет?

Одинаково ли поведение для всех настроек?

Одинаково ли поведение для всех ядер, версий и функций? Или мне нужно получать эту информацию для каждой настройки отдельно?

Например:

Если /proc/sys/kernel/sysrq не существует на моей машине, значит ли это

  1. что Функция Magic SysRQ не доступен в моем ядре?

  2. что это доступно?

  3. что это может быть доступно или нет в зависимости от какой-то другой опции, которая мне неизвестна?

  4. что конкретный код для этой функции содержит жестко запрограммированное значение по умолчанию и этот параметр отличается для каждой функции ядра? Поэтому, если я хочу знать, какое значение установлено по умолчанию, мне нужно взглянуть на код для каждой функции.

Есть хороший документация доступно, где я могу прочитать о значении настроек ядра. Есть ли документ, объясняющий поведение по умолчанию?

/proc и /sys каталоги предназначены для отображения "ручек настройки" ядра Liunx. Вполне возможно, хотя и довольно редко, иметь некоторые работающие функции ядра без каких-либо записей в /proc или /sys - например, если эта функция ядра не имеет каких-либо параметров и не имеет ничего для публикации пользователю, никаких записей не требуется.

Однако если документация ядра имеет некоторые записи задокументированы / указаны, но вы можете не найти их, возникают две возможности:

  • вы используете старое ядро ​​без этих регуляторов;
  • вы не используете ванильное ядро - т.е. ваше ядро ​​более или менее сильно настроено кем-то (возможно, вашим разработчиком дистрибутива).

Если вы думаете, что некоторые функции включены в вашем ядре, но вы не можете найти никаких записей в /proc и /sys, взгляните на файл конфигурации ядра (часто доступный через файл в /boot или в /proc/config.gz)