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

Специфічні для користувача $XDG_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), щоб дізнатися більше.

АВТОРИ

Першу версію dmesg було написано

ДИВ. ТАКОЖ

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

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

Для звітування про вади використовуйте систему стеження помилками на

ДОСТУПНІСТЬ

dmesg є частиною пакунка util-linux, який можна отримати з

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

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

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