Scroll to navigation

DMESG(1) Команди користувача DMESG(1)

НАЗВА

dmesg — виведення стану буфера кільцевої обробки ядра та керування ним.

КОРОТКИЙ ОПИС

dmesg [параметри]

dmesg --clear

dmesg --read-clear [параметри]

dmesg --console-level рівень

dmesg --console-on

dmesg --console-off

ОПИС

dmesg використовують для вивчення вмісту буфера кільцевої обробки ядра або керування ним.

Типовою дією є показ усіх повідомлень у буфері кільцевої обробки ядра.

ПАРАМЕТРИ

Параметри --clear, --read-clear, --console-on, --console-off і --console-level є взаємно виключними.

-C, --clear

Спорожнити кільцевий буфер.

-c, --read-clear

Спорожнити кільцевий буфер, спочатку вивівши його вміст.

-D, --console-off

Вимкнути виведення повідомлень до консолі.

-d, --show-delta

Вивести часову позначку та різницю часів між повідомленнями. Якщо використано разом із --notime, буде виведено лише різницю часу без часової позначки.

-E, --console-on

Увімкнути виведення повідомлено до консолі.

-e, --reltime

Вивести місцевий час і різницю часу у зручному для читання форматі. Зауважте, що перетворення до місцевого часу може бути неточним (див. -T, щоб дізнатися більше).

-F, --file файл

Прочитати повідомлення syslog з вказаного файла. Зауважте, що для -F не передбачено підтримки повідомлень у форматі kmsg. Передбачено підтримку лише старого формату syslog.

-f, --facility список

Обмежити виведення до вказаного (відокремленого комами) списку варіантів. Приклад:

dmesg --facility=daemon

виведе повідомлення лише для фонових служб системи. Щоб ознайомитися зі списком підтримуваних варіантів, скористайтеся параметром --help.

-H, --human

Увімкнути зручне для читання виведення. Див. також --color, --reltime і --nopager.

-J, --json

Використати для виведення даних формат JSON. Форматом виведення часу може бути лише «секунди.мілісекунди», рівень пріоритетності у журналі типово не буде декодовано (скористайтеся --decode, щоб розділити дані на варіант і пріоритетність), інші параметри керування форматом виведення або форматом часу буде без додаткових повідомлень проігноровано.

-k, --kernel

Виводити повідомлення ядра.

-L, --color[=умова]

Розфарбувати виведені дані. Значенням додаткового аргументу варіант може бути auto, never або always. Якщо аргумент варіант пропущено, типовим значенням вважається auto. Розфарбовування можна вимкнути. Із поточним вбудованим типовим значенням можна ознайомитися за допомогою виведення команди з параметром --help. Див. також розділ КОЛЬОРИ нижче.

-l, --level список

Обмежити виведення до вказаного (відокремленого комами) списку рівнів. Приклад:

dmesg --level=err,warn

виведе повідомлення лише щодо помилок і попереджень. Щоб ознайомитися зі списком підтримуваних рівнів, скористайтеся параметром --help.

-n, --console-level рівень

Встановити рівень, на якому виведення повідомлень відбуватиметься до консолі. Значенням рівень має бути номер рівня або абревіатура назви рівня. Щоб ознайомитися зі списокм підтримуваних рівнів, скористайтеся параметром --help.

Наприклад, -n 1 або -n emerg забороняє виведення до консолі усіх повідомлень, окрім аварійних (панічних) повідомлень. Повідомлення усіх рівнів продовжуватимуть записуватися до /proc/kmsg, отже усе ще можна буде користуватися syslogd(8) для керування тим, де саме опинятимуться повідомлення ядра. Якщо використано параметр -n, dmesg не виводитиме вміст буфера кільцевої обробки ядра і не спорожнюватиме його.

--noescape

Непридатні до друку і потенційно небезпечні символи (наприклад, пошкоджені багатобайтові послідовності, символи керування терміналом тощо) типово буде екрановано у форматі \x<шістнадцяткове число> з міркувань безпеки. Цей параметр вимикає цю можливість взагалі. Корисно, наприклад, для діагностики у поєднанні із --raw. Будьте обережні, не використовуйте цей режим типово.

-P, --nopager

Не передавати каналом виведені дані до засобу поділу на сторінки. Засіб поділу на сторінки типово увімкнено для виведення --human.

-p, --force-prefix

Додати дані щодо варіанта, рівня або часової позначки до кожного рядка у багаторядковому повідомленні.

-r, --raw

Вивести буфер повідомлень без обробки, тобто не обрізати префікси рівня журналу, але усі непридатні до друку символи буде екрановано (див. також --noescape).

Зауважте, що справжній формат без обробки залежить від способу, у який dmesg читає повідомлення ядра. Пристрій /dev/kmsg використовує інший формат, ніж syslog(2). З метою зворотної сумісності, dmesg завжди повертає дані у форматі syslog(2). Справжні необроблені дані з /dev/kmsg можна прочитати за допомогою, наприклад, команди «dd if=/dev/kmsg iflag=nonblock».

-S, --syslog

Наказати dmesg використовувати інтерфейс ядра syslog(2) для читання повідомлень ядра. Типовим є використання /dev/kmsg, а не syslog(2), з часу появи версії ядра 3.5.0.

-s, --buffer-size розмір

Використати буфер розміру розмір для опитування буфера кільцевої обробки ядра. Типовим значенням є 16392. (Типовий розмір буфера syslog ядра спочатку мав розмір 4096, 8192 з версії 1.3.54, 16384 з версії 2.1.113.) Якщо вами налаштовано буфер ядра із розміром, більшим за типовий для ядра розмір, за допомогою цього параметра можна буде переглядати увесь буфер.

-T, --ctime

Виводити часові позначки у зручному для читання форматі.

Пам'ятайте, що часова позначка може бути неточною! Джерело даних часу, яке використано для журналу, не оновлюється після ПРИСИПЛЯННЯ/ВІДНОВЛЕННЯ роботи системи. Часові позначки коригуються відповідно до поточної різниці між часом завантаження і монотонним годинником — це працює лише для повідомлень, які виведено після останнього відновлення роботи системи.

--since час

Вивести записи, починаючи з вказаного моменту часу. Час можна вказати в абсолютний спосіб, а також у відносному позначенні (наприклад «1 hour ago»). Зауважте, що часові позначки можуть бути неточними. Докладніший опис можна знайти в описі параметра --ctime.

--until час

Вивести записи до вказаного моменту часу. Час можна вказати в абсолютний спосіб, а також у відносному позначенні (наприклад «1 hour ago»). Зауважте, що часові позначки можуть бути неточними. Докладніший опис можна знайти в описі параметра --ctime.

-t, --notime

Не виводити часові позначки ядра.

--time-format формат

Виводити часові позначки з використанням вказаного формату, яким може бути ctime, reltime, delta або iso. Перші три формати є альтернативами задання спеціалізованих варіантів форматування записів часу. Формат iso є реалізацією у dmesg формату часових позначок ISO-8601. Метою використання цього формату є спрощення порівняння часових позначок у різних системах та іншої обробки даних. Визначення часової позначки iso є таким: РРРР-ММ-ДД<T>ГГ:ХХ:СС,<мікросекунди>←+><зсув часового поясу відносно UTC>.

У формату iso є та сама вада, що і у ctime: час може бути неточним, якщо роботу системи було призупинено, а потім відновлено.

-u, --userspace

Вивести повідомлення простору користувача.

-w, --follow

Очікувати на нові повідомлення. Підтримку цієї можливості реалізовано лише у системах з придатним до читання /dev/kmsg (починаючи з версії ядра 3.5.0).

-W, --follow-new

Очікувати на нові повідомлення та виводити лише їх.

-x, --decode

Декодувати числові дані варіанта і рівня (пріоритетності) повідомлень у зручні до читання префікси.

-h, --help

Вивести текст довідки і завершити роботу.

-V, --version

Вивести дані щодо версії і завершити роботу.

КОЛЬОРИ

Розфарбовування виведених даних реалізовано у можливості terminal-colors.d(5). Неявне розфарбовування може бути вимкнено спорожненням файла

/etc/terminal-colors.d/dmesg.disable

для команди dmesg або для усіх інструментів

/etc/terminal-colors.d/disable

Специфічні для користувача $XDGI_CONFIG_HOME/terminal-colors.d або $HOME/.config/terminal-colors.d мають пріоритет над загальними параметрами.

Зауважте, що можна типово увімкнути розфарбовування виведених даних і у цьому випадку каталоги terminal-colors.d не повинні існувати.

Логічними назвами кольорів, підтримку яких передбачено у dmesg, є такі:

subsys

Префікс підсистеми повідомлень (наприклад, «ACPI:»).

time

Часова позначка повідомлення.

timebreak

Часова позначка у короткому форматі ctime у виведенні --reltime або --human.

alert

Текст повідомлення із пріоритетністю сигналу тривоги у журналі.

crit

Текст повідомлення із пріоритетністю критичної помилки у журналі.

err

Текст повідомлення із пріоритетністю помилки у журналі.

warn

Текст повідомлення із пріоритетністю попередження у журналі.

segfault

Текст повідомлення, яке повідомлятиме про помилку сегментації.

СТАН ВИХОДУ

У dmesg можуть виникнути проблеми із звітуванням про помилку, яку пов'язано із правами доступу. Зазвичай, причиною є встановлення у ядрі dmesg_restrict. Будь ласка, зверніться до syslog(2), щоб дізнатися більше.

АВТОРИ

Karel Zak <kzak@redhat.com>

Першу версію dmesg було написано Theodore Ts’o <tytso@athena.mit.edu>.

ДИВ. ТАКОЖ

terminal-colors.d(5), syslogd(8)

ЗВІТИ ПРО ВАДИ

Для звітування про вади використовуйте систему стеження помилками на <https://github.com/util-linux/util-linux/issues>.

ДОСТУПНІСТЬ

dmesg є частиною пакунка util-linux, який можна отримати з Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

ПЕРЕКЛАД

Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>

Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3. НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.

Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.

11 травня 2022 року util-linux 2.38.1