Как проверить, настроен ли параметр ядра в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, настроен ли определенный параметр ядра в Linux. Мы рассмотрим различные методы просмотра и проверки параметров ядра, которые являются важными для понимания и управления поведением вашей системы Linux.

Вы начнете с перечисления всех доступных параметров ядра с помощью команды sysctl -a. Затем вы узнаете, как эти параметры представлены в виде файлов в виртуальной файловой системе /proc/sys и как проверить конкретные параметры с помощью команды cat. Наконец, вы проверите настройки параметров ядра, изучив файл /etc/sysctl.conf, который используется для постоянных настроек.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/help("Command Assistance") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/echo -.-> lab-558867{{"Как проверить, настроен ли параметр ядра в Linux"}} linux/help -.-> lab-558867{{"Как проверить, настроен ли параметр ядра в Linux"}} linux/cat -.-> lab-558867{{"Как проверить, настроен ли параметр ядра в Linux"}} end

Перечисление параметров с помощью sysctl -a

На этом этапе мы рассмотрим, как просматривать параметры ядра с использованием команды sysctl. Ядро является ядром (основой) операционной системы Linux, которое управляет системными ресурсами и предоставляет важные сервисы. Параметры ядра - это настройки, которые контролируют поведение ядра.

Команда sysctl позволяет вам просматривать и изменять эти параметры ядра во время выполнения системы. Чтобы увидеть полный список всех доступных параметров ядра, вы можете использовать опцию -a.

Откройте терминал, если он еще не открыт. Помните, что вы можете найти значок Xfce Terminal слева на рабочем столе.

Введите следующую команду и нажмите Enter:

sysctl -a

Эта команда выведет длинный список параметров, каждый из которых представляет определенную настройку ядра. Формат вывода обычно имеет вид parameter_name = value (имя_параметра = значение).

Например, вы можете увидеть строки, подобные этим:

kernel.hostname = your-hostname
kernel.ostype = Linux
kernel.osrelease = 5.15.0-*-generic
net.ipv4.ip_forward = 0
vm.swappiness = 60

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

Прокручивание этого вывода может быть утомительным. На следующем этапе мы узнаем, как просматривать конкретные параметры.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка конкретного параметра в /proc/sys

На предыдущем этапе мы увидели, как команда sysctl -a перечисляет все параметры ядра. Эти параметры не являются просто абстрактными настройками; они часто представлены в виде файлов в каталоге /proc/sys.

Файловая система /proc - это виртуальная файловая система, которая предоставляет информацию о процессах и другой системной информации. Подкаталог /proc/sys содержит файлы, соответствующие параметрам ядра, которые вы видели с помощью команды sysctl -a.

Рассмотрим конкретный параметр, например, kernel.hostname. В файловой системе /proc/sys он соответствует файлу /proc/sys/kernel/hostname.

Вы можете использовать команду cat для просмотра содержимого этого файла, которое покажет вам текущее значение параметра kernel.hostname.

Введите следующую команду в терминале и нажмите Enter:

cat /proc/sys/kernel/hostname

Вы должны увидеть имя хоста вашей среды LabEx, которое, вероятно, будет your-hostname или похожим.

your-hostname

Попробуем еще один параметр. Параметр net.ipv4.ip_forward контролирует, пересылает ли система пакеты IPv4. Соответствующий ему файл - /proc/sys/net/ipv4/ip_forward.

Введите следующую команду и нажмите Enter:

cat /proc/sys/net/ipv4/ip_forward

Вывод будет либо 0 (пересылка отключена), либо 1 (пересылка включена).

0

Это показывает, что вы можете проверить текущее значение параметров ядра, прочитав соответствующие файлы в /proc/sys. Хотя вы также можете изменить эти параметры, записывая в эти файлы (с соответствующими правами доступа), использование команды sysctl обычно является предпочтительным и более безопасным методом изменения параметров ядра во время выполнения системы.

Нажмите Продолжить, чтобы перейти к следующему этапу.

Проверка конфигурации с помощью cat /etc/sysctl.conf

На предыдущих этапах мы узнали, как просматривать параметры ядра с помощью команды sysctl -a и путем проверки файлов в /proc/sys. Хотя эти методы показывают текущие значения, они не обязательно показывают значения, установленные при запуске системы.

Системные настройки параметров ядра часто настраиваются в файле /etc/sysctl.conf. Этот файл считывается во время процесса загрузки системы, и параметры, указанные в нем, применяются.

Давайте посмотрим на содержимое файла /etc/sysctl.conf с помощью команды cat, чтобы узнать, настроены ли какие-либо параметры ядра в нем.

Введите следующую команду в терминале и нажмите Enter:

cat /etc/sysctl.conf

Вы увидите содержимое конфигурационного файла. Этот файл использует простой формат parameter_name = value (имя_параметра = значение), аналогичный выводу команды sysctl -a. Строки, начинающиеся с #, являются комментариями и игнорируются.

#
## /etc/sysctl.conf - Configuration file for setting system variables
#

## For more information, see sysctl.conf(5) and sysctl(8)

## Uncomment the next two lines to enable IPv4 forwarding
#net.ipv4.ip_forward=1

## Uncomment the next line to enable IPv6 forwarding
#net.ipv6.conf.all.forwarding=1

## ... (other configurations)

В этом примере вы можете увидеть закомментированные строки для net.ipv4.ip_forward и net.ipv6.conf.all.forwarding. Если бы эти строки были раскомментированы (удалением символа #), эти параметры были бы установлены в 1 (включены) при загрузке системы.

Файл /etc/sysctl.conf является основным местом для внесения постоянных изменений в параметры ядра. Изменения, сделанные непосредственно с помощью команды sysctl или путем записи в /proc/sys, обычно являются временными и будут потеряны после перезагрузки системы, если они не добавлены также в /etc/sysctl.conf или в файл в /etc/sysctl.d/.

Нажмите Продолжить, чтобы завершить этот практический урок.

Резюме

В этом практическом уроке мы узнали, как проверить, настроен ли параметр ядра в Linux. Мы начали с изучения команды sysctl -a, которая позволяет перечислить все доступные параметры ядра, и поняли, что эти настройки контролируют поведение ядра. Это дало нам полное представление о множестве настраиваемых параметров.

Затем мы обнаружили, что эти параметры ядра часто представлены в виде файлов в виртуальной файловой системе /proc/sys. Это позволяет нам проверять значение конкретных параметров, исследуя соответствующий файл в /proc/sys. Наконец, мы узнали, как проверить конфигурацию параметров ядра, изучая файл /etc/sysctl.conf, который обычно используется для установки постоянных значений параметров ядра.