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

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

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

Введение

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

Во - первых, вы будете использовать команду zcat для проверки сжатого файла конфигурации ядра, расположенного по пути /proc/config.gz, который содержит опции, использованные при компиляции ядра. Затем вы узнаете, как проверить эти опции, изучая файлы конфигурации, находящиеся в каталоге /boot. Наконец, вы научитесь проверять журналы компиляции ядра с помощью команды dmesg, чтобы получить более глубокое понимание включенных функций. К концу этого практического занятия вы получите навыки, позволяющие эффективно проверять опции компиляции ядра в своей системе Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/CompressionandArchivingGroup(["Compression and Archiving"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/less("File Paging") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/CompressionandArchivingGroup -.-> linux/gzip("Gzip") subgraph Lab Skills linux/ls -.-> lab-558758{{"Как проверить, включена ли определенная опция компиляции ядра в Linux"}} linux/cat -.-> lab-558758{{"Как проверить, включена ли определенная опция компиляции ядра в Linux"}} linux/less -.-> lab-558758{{"Как проверить, включена ли определенная опция компиляции ядра в Linux"}} linux/grep -.-> lab-558758{{"Как проверить, включена ли определенная опция компиляции ядра в Linux"}} linux/gzip -.-> lab-558758{{"Как проверить, включена ли определенная опция компиляции ядра в Linux"}} end

Проверка опций компиляции с помощью zcat /proc/config.gz

На этом этапе вы узнаете, как проверить параметры конфигурации ядра, использованные при компиляции вашего ядра Linux. Эта информация хранится в сжатом файле в файловой системе /proc.

Файловая система /proc представляет собой виртуальную файловую систему, которая предоставляет информацию о процессах и другой системной информации. Она не содержит реальных файлов на диске, а предоставляет доступ к внутренним структурам данных ядра.

Файл, который нас интересует, - это /proc/config.gz. Этот файл содержит параметры конфигурации ядра в сжатом формате. Чтобы просмотреть его содержимое, нам нужно использовать команду, которая может распаковать и отобразить файл.

Для этого идеально подходит команда zcat. Она используется для распаковки и отображения содержимого сжатых с использованием gzip файлов.

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

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

zcat /proc/config.gz

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

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

CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
## CONFIG_NET_KEY is not set
CONFIG_INET=y
  • CONFIG_NET=y означает, что поддержка сетевого взаимодействия включена.
  • CONFIG_NET_KEY is not set означает, что определенная сетевая функция не включена.

Прокручивание этого вывода может быть утомительным. Вы можете использовать команду less для просмотра вывода по страницам. Для этого мы будем использовать конвейер (|). Конвейер передает вывод одной команды на вход другой команде.

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

zcat /proc/config.gz | less

Теперь вы можете использовать стрелки на клавиатуре для прокрутки вверх и вниз и нажать q для выхода из less.

Эта команда очень полезна для понимания того, как именно было собрано ваше ядро и какие возможности оно имеет.

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

Проверка опций в /boot/config-*

На предыдущем этапе вы просмотрели конфигурацию ядра из файла /proc/config.gz. Другое место, где часто хранятся файлы конфигурации ядра, - это каталог /boot.

Каталог /boot содержит файлы, необходимые для загрузки операционной системы, в том числе само ядро и часто файл конфигурации, использованный для его сборки.

Файл конфигурации в /boot обычно называется config-, за которым следует версия ядра. Поскольку версия ядра может различаться, мы можем использовать подстановочный знак (*), чтобы подойти к имени файла.

Сначала выведем список файлов в каталоге /boot, чтобы проверить, существует ли там файл конфигурации. Используем команду ls:

ls /boot/

Вы должны увидеть список файлов, в том числе один, который начинается с config- и за которым следует номер версии (например, config-5.15.0-105-generic).

Теперь давайте посмотрим на содержимое этого файла. Мы можем использовать команду cat для отображения содержимого файла. Не забудьте заменить config-* на фактическое имя файла, которое вы нашли в выводе предыдущей команды ls, или использовать подстановочный знак. Использование подстановочного знака более универсально.

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

cat /boot/config-*

Это отобразит параметры конфигурации ядра из файла в каталоге /boot. Вы заметите, что содержимое очень похоже, если не идентично, выводу, который вы видели при использовании команды zcat /proc/config.gz. Это потому, что /proc/config.gz часто является сжатой копией файла конфигурации, находящегося в /boot.

Использование команды cat для файла в /boot - это еще один способ получить доступ к конфигурации ядра, особенно если /proc/config.gz недоступен или вы хотите сразу увидеть несжатую версию.

Снова вы можете направить вывод в less для более удобного просмотра:

cat /boot/config-* | less

Нажмите q для выхода из less.

Понимание, где найти конфигурацию ядра, важно для устранения неполадок и продвинутого системного администрирования.

Нажмите Продолжить, чтобы перейти дальше.

Проверка журналов компиляции с помощью dmesg

На предыдущих этапах вы узнали, как просмотреть конфигурацию ядра. Теперь давайте посмотрим на буфер сообщений ядра, который содержит сообщения, созданные ядром во время загрузки и работы системы. Иногда в этом буфере могут быть сведения, связанные с компиляцией ядра или загрузкой модулей.

Команда dmesg используется для просмотра или управления кольцевым буфером ядра. Кольцевой буфер хранит сообщения от ядра, которые часто полезны для отладки и понимания системных событий.

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

dmesg

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

Чтобы найти информацию, связанную с версией ядра или компиляцией, вы можете направить вывод команды dmesg в grep. grep - это мощная утилита командной строки для поиска в текстовых данных строк, соответствующих регулярному выражению.

Поищем строки, содержащие слово "Linux", чтобы увидеть информацию о версии ядра.

dmesg | grep "Linux"

Вы должны увидеть вывод, похожий на следующий, показывающий версию ядра:

[    0.000000] Linux version 5.15.0-105-generic (...)

Вы также можете искать другие ключевые слова, которые могут быть связаны с модулями ядра или параметрами компиляции, хотя непосредственные журналы компиляции обычно здесь не находятся. dmesg больше связан с сообщениями ядра во время работы системы.

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

Снова использование less с dmesg помогает при просмотре вывода:

dmesg | less

Нажмите q для выхода из less.

Хотя dmesg не показывает непосредственно процесс компиляции ядра, он дает ценную информацию о текущем работающем ядре, включая его версию и загруженные модули, которые определяются конфигурацией компиляции, которую вы просмотрели на предыдущих этапах.

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

Резюме

В этом практическом уроке вы узнали, как проверить, включена ли определенная опция компиляции ядра в Linux. Вы исследовали файловую систему /proc, в частности файл /proc/config.gz, который хранит параметры конфигурации ядра, использованные при компиляции. Вы использовали команду zcat для распаковки и отображения содержимого этого файла и узнали, как направить вывод в less для более удобного просмотра. Этот процесс позволяет вам проверить различные параметры CONFIG_ и определить, какие функции и драйверы включены в работающее ядро.