НАЗВА

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), щоб дізнатися більше.

АВТОРИ

Karel <[email protected]>Zak
 
Першу версію dmesg було написано Theodore <[email protected]>Ts’o

ДИВ. ТАКОЖ

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 <[email protected]>
Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.
Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: [email protected]

Recommended readings

Pages related to dmesg you should read also: