Проверка деталей загрязнения ядра с помощью команды dmesg
На предыдущем этапе мы проверили статус загрязнения ядра с использованием файла /proc/sys/kernel/tainted
. Этот файл дает нам числовой код, указывающий, загрязнено ли ядро, но не говорит нам, почему оно загрязнено. Для получения более подробной информации о сообщениях ядра, включая причины загрязнения, мы можем использовать команду dmesg
.
Команда dmesg
используется для просмотра кольцевого буфера ядра. Этот буфер хранит сообщения от ядра, включая информацию о драйверах устройств, ошибки и предупреждения. Когда ядро становится загрязненным, обычно в кольцевом буфере записывается сообщение, объясняющее причину.
Если терминал еще не открыт, откройте его.
Теперь введите следующую команду и нажмите Enter:
dmesg
Эта команда может вывести большое количество текста, показывающего все сообщения ядра с момента запуска системы.
Для поиска конкретной информации, связанной с загрязнением, мы можем объединить dmesg
с командой grep
. grep
- это мощный инструмент для поиска текстовых шаблонов. Мы будем искать строки, содержащие слово "taint".
Введите следующую команду и нажмите Enter:
dmesg | grep taint
Символ |
называется пайпом (pipe). Он берет вывод команды слева (dmesg
) и передает его в качестве входных данных команде справа (grep
). Таким образом, эта команда сначала получает все сообщения ядра, а затем фильтрует их, чтобы показать только строки, содержащие слово "taint".
Если ваше ядро не загрязнено (как и ожидается в этой среде), эта команда может не вывести ничего. Это нормально и означает, что не было записано никаких событий загрязнения.
Если бы ядро было загрязнено, вы бы увидели строки, похожие на следующие (точное сообщение зависит от причины загрязнения):
[ ... ] kernel: Linux version ... (tainted: G)
[ ... ] kernel: Disabling lock debugging due to kernel taint
Часть (tainted: G)
указывает, что ядро загрязнено, и буква G
конкретно означает, что был загружен проприетарный модуль. Другие буквы обозначают разные причины загрязнения (например, P
- проприетарный модуль, F
- принудительная загрузка модуля, R
- модуль с ограниченной лицензией и т.д.).
Использование команды dmesg | grep taint
является важным этапом в диагностике проблем с ядром, когда файл /proc/sys/kernel/tainted
показывает ненулевое значение.
Нажмите Продолжить, чтобы перейти к следующему этапу.