НАЗВА¶
journalctl —
програма
для
виведення
записів
журналу systemd
КОРОТКИЙ ОПИС¶
journalctl
[ПАРАМЕТРИ...]
[ВІДПОВІДНИКИ...]
ОПИС¶
journalctl
використовують
для
виведення
на екран
записів
журналу,
які
зберігаються
до журналу
службами
systemd-journald.service(8) і
systemd-journal-remote.service(8).
Якщо
програму
буде
викликано
без
параметрів,
вона
покаже
повний
вміст
журналу,
який
доступний
користувачеві,
що
викликав
програму,
починаючи
з
найдавнішого
запису.
Якщо
передано
один або
декілька
аргументів
фільтрів,
виведені
дані буде
відповідним
чином
фільтровано.
Фільтри
слід
вказувати
у форматі
«ПОЛЕ=ЗНАЧЕННЯ».
Приклад:
«_SYSTEMD_UNIT=httpd.service» —
вказівка
на
компоненти
структурованого
запису
журналу.
Список
полів
наведено
на
сторінці
підручника
systemd.journal-fields(7). Якщо
вказано
декілька
фільтрів
для різних
полів,
записи
журналу
буде
фільтровано
за усіма,
тобто у
виведених
даних буде
показано
лише
записи, які
відповідають
усім
вказаним
фільтрам
цього типу.
Якщо до
того
самого
поля
застосовано
два
фільтри, їх
буде
автоматично
використано
як
альтернативи,
тобто у
виведених
результатах
будуть
записи, які
відповідають
будь-якому
із
вказаних
фільтрів
для того
самого
поля.
Нарешті,
можна
використовувати
символ «+»
як
слово-роздільник
між
компонентами
рядка
команди.
Такий
символ
означає, що
записи
перед і
після
нього
поєднано
диз'юнкцією
(тобто
логічним
АБО).
Також
можна
фільтрувати
записи
встановленням
абсолютного
шляху до
файла як
аргументу.
Можна
вказувати
шлях до
самого
файла або
до
символічного
посилання
на файл,
файл має
існувати
на момент
запиту.
Якщо шлях
до файла
вказує на
виконуваний
файл, до
запиту
буде
додано
фільтр «_EXE=»
із
приведеним
до
канонічної
форми
шляхом до
виконуваного
файла. Якщо
шлях до
файла
вказує на
виконуваний
скрипт, до
запиту
буде
додано
фільтр «_COMM=»
для назви
скрипту.
Якщо шлях
до файла
вказує на
вузол
пристрою,
до запиту
буде
додано
фільтри
«_KERNEL_DEVICE=» для
назви
пристрою у
ядрі та
усіх
пристроїв-попередників.
Символічні
посилання
буде
розіменовано,
назви з
ядра
синтезовано,
а виявлено
батьківські
пристрої з
середовища
на час
надсилання
запиту.
Загалом,
вузол
пристрою є
найкращим
посередником
для самого
пристрою,
оскільки
записи
журналу,
зазвичай,
не містять
полів, які
вказують
на сам
пристрій.
Щоб
отримані
записи
журналу
відповідали
самому
пристрою,
пов'язані
із ними
частини
середовища
на момент
додавання
запису до
журналу,
зокрема
сам
пристрій,
який
відповідає
вузлу
пристрою,
мають бути
тими
самими, що і
на момент
надсилання
запиту.
Оскільки
прив'язка
вузлів
пристроїв,
загалом
кажучи,
змінюється
між
завантаженнями
системи,
визначення
шляху до
вузла
пристрою, а
отже, і
відповідні
йому
записи
журналу, є
обмеженим
поточним
завантаженим
екземпляром
системи.
Для
подальшого
фільтрування
виведених
записів
можна
використовувати
додаткові
обмеження
за
допомогою
параметрів
--boot, --unit= тощо
(обмеження
буде
поєднано
логічним
І).
Вихідні
дані з усіх
доступних
файлів
журналів
чергуються,
незалежно
від того, чи
вони
обертаються,
чи в даний
момент
записуються,
і
незалежно
від того,
належать
вони самій
системі чи
є
доступними
журналами
користувача.
Визначити,
які файли
буде
показано,
можна за
допомогою
параметра
--header.
Набір
файлів
журналу,
які буде
використано
можна
змінити за
допомогою
параметрів
--user, --system, --directory і --file,
див. нижче.
Доступ до
власних
приватних
журналів
користувача
буде
відкрито
для усіх
користувачів.
Втім,
типово,
доступ до
загальносистемного
журналу і
журналів
інших
користувачів
матимуть
лише root та
користувачі,
які є
учасниками
декількох
спеціалізованих
груп.
Учасники
груп «systemd-journal»,
«adm» та «wheel»
можуть
читати усі
файли
журналу.
Зауважте,
що
учасники
двох
останніх
груп
традиційно
мають
додаткові
привілеї,
які
визначено
дистрибутивом.
Учасники
групи «wheel»
часто
мають
право
виконувати
адміністративні
завдання.
Типово,
виведені
дані буде
поділено
на
сторінки
програмою
less, а довгі
рядки буде
«обрізано»
до ширини
екрана.
Приховану
частину
рядка
можна
переглянути
за
допомогою
натискання
клавіш зі
стрілкою
ліворуч та
праворуч.
Поділ на
сторінки
можна
вимкнути,
див.
параметр
--no-pager та
розділ
«Середовище»
нижче.
При
виведенні
даних до
термінала
рядки буде
розфарбовано
за
пріоритетністю:
рядки із
рівнем
пріоритетності
ERROR або вищим
буде
розфарбовано
у червоний
колір;
рядки
рівня WARNING
буде
розфарбовано
у жовтий
колір;
рядки
рівня NOTICE
буде
підсвічено;
рядки
рівня INFO
буде
показано
звичайним
кольором;
рядки
рівня DEBUG
буде
розфарбовано
у сірий
колір.
Щоб
записати
щось до
журналу,
можна
скористатися
одним з
декількох
способів.
Загалом,
виведені
модулями systemd
дані
автоматично
з'єднуються
із
журналом,
див. systemd-journald.service(8).
Крім того,
можна
скористатися
systemd-cat(1) для
надсилання
повідомлень
до журналу
безпосередньо.
ПАРАМЕТРИ ДЖЕРЕЛА¶
Вказані
нижче
параметри
визначають,
звідки
слід
читати
записи
журналу:
--system, --user
Показати
повідомлення
від служб
системи та
ядра (з
--system).
Показати
повідомлення
від служби
поточного
користувача
(з
--user). Якщо
нічого не
вказано,
показати
повідомлення,
які може
бачити
користувач.
Параметр
--user впливає
на обробку
аргументів
--unit=. Див. --unit=.
Зауважте,
що --user
працюватиме,
лише якщо
увімкнено
постійне
ведення
журналу за
допомогою
параметра
Storage= у journald.conf(5).
-M, --machine=
Показати
повідомлення
від
запущеного
локального
контейнера.
Вказати
назву
контейнера,
з яким слід
встановити
з'єднання.
-m, --merge
Показати
записи з
усіх
доступних
журналів,
зокрема
віддалених.
-D DIR,
--directory=КАТАЛОГ
Приймає
шлях до
каталогу
як
аргумент.
Якщо
вказано, journalctl
працюватиме
з вказаним
каталогом
журналу
КАТАЛОГ
замість
типових
шляхів до
області
виконання
та
системного
журналу.
--file=ШАБЛОН
Приймає
шаблон
файлів як
аргумент.
Якщо
вказано, journalctl
працюватиме
для
вказаних
файлів
журналу,
які
відповідають
ШАБЛОНу
замість
шляхів до
типової
області
виконання
та журналу
системи. В
одному
рядку
команди
можна
вказати
декілька
таких
параметрів.
Якщо
параметрів
задано
декілька,
файли буде
відповідним
чином
поєднано.
--root=КОРІНЬ
Приймає
шлях до
каталогу
як
аргумент.
Якщо
вказано, journalctl
працюватиме
з
каталогами
журналів
та
ієрархією
файлів
каталогу у
вказаному
каталозі,
замість
кореневого
каталогу
(наприклад,
--update-catalog
створить
КОРІНЬ/var/lib/systemd/catalog/database
і буде
показано
файли
журналу у
КОРІНЬ/run/journal/
або
КОРІНЬ/var/log/journal/).
--image=ОБРАЗ
Приймає
шлях до
файла
образу
диска або
вузла
блокового
пристрою.
Якщо
вказано,
journalctl
працюватиме
з файловою
системою у
вказаному
образі
диска. Цей
параметр
подібний
до
--root=, але
працює з
файловою
системою,
що
зберігається
в образах
диска або
блокових
пристроїв,
таким
чином
спрощуючи
видобування
даних
журналу з
образів
дисків.
Образ
диска або
має
містити
файлову
систему,
або бути
набором
файлових
систем у
таблиці
розділів GPT,
за якою має
зберігатися
специфікація
придатних
до
вивчення
розділів[6].
Докладніший
опис
підтримуваних
образів
дисків
наведено
на
сторінці
підручника
systemd-nspawn(1) щодо
перемикача
з такою
самою
назвою.
--image-policy=правила
Приймає
рядок
правил
поводження
з образами
як
аргумент,
як у
systemd.image-policy(7).
Правила
буде
примусово
застосовано
при роботі
з образами
дисків, які
вказано за
допомогою
--image=, див. вище.
Якщо не
вказано,
типовим
значенням
будуть
правила «*»,
тобто буде
використано
усі
розпізнані
файлові
системи
образу.
--namespace=ПРОСТІР_НАЗВ
Приймає,
як
аргумент,
рядок
ідентифікатора
простору
назв
журналу.
Якщо не
вказано
аргументу,
буде
показано
дані, які
зібрано за
типовим
простором
назв. Якщо
аргумент
вказано,
буде
показано
дані
журналу
вказаного
простору
назв. Якщо
простір
назв
вказано як
«*», буде
показано
дані з усіх
просторів
назв,
пошарово.
Якщо до
ідентифікатора
простору
назв
додано
префікс «+»,
буде
показано
дані з
вказаного
простору
назв та
типового
простору
назв, але не
інших
просторів
назв,
пошарово.
Докладніші
відомості
щодо
просторів
назв
журналу
наведено
на
сторінці
підручника
systemd-journald.service(8).
ПАРАМЕТРИ ФІЛЬТРУВАННЯ¶
Вказані
нижче
параметри
визначають,
як слід
фільтрувати
записи
журналу:
-S, --since=, -U, --until=
Почати
показ
записів з
вказаної
дати та
наступних
дат або з
вказаної
дати та
попередніх
дат,
відповідно.
Дати слід
вказувати
у форматі
«2012-10-30 18:17:16». Якщо
частину
часу не
вказано,
буде
використано
«00:00:00». Якщо не
вказано
лише
компонент
секунд,
буде
використано
«:00». Якщо не
вказано
компонент
дати, буде
використано
поточний
день. Крім
того, може
бути
використано
рядки «yesterday»,
«today», «tomorrow», які
відповідають
часу 00:00:00 дня
перед
поточним
днем,
поточного
дня або дня
після
поточного
дня,
відповідно.
«now»
відповідає
поточному
часу.
Нарешті,
може бути
вказано
відносні
часи з
префіксом
«-» або «+»,
які
відповідають
часу до або
після
поточного
моменту,
відповідно.
Повну
специфікацію
часу і дати
наведено
на
сторінці
підручника
systemd.time(7).
Зауважте,
що
--output=short-full
виводить
часові
позначки,
які мають
такий само
формат.
-c, --cursor=
Почати
показ
записів з
місця у
журналі,
яке
вказано
переданим
курсором.
--after-cursor=
Почати
показ
записів із
місця у
журналі
після
місця, яке
вказано
переданим
курсором.
Курсор
буде
показано,
якщо
використано
параметр
--show-cursor.
--cursor-file=ФАЙЛ
Якщо
ФАЙЛ
існує і
містить
курсор,
почати
показ
записів
після
місця
курсора. В
інших
випадках,
показати
записи
відповідно
до інших
заданих
параметрів.
Наприкінці,
записати
курсор
останнього
запису до
файла
ФАЙЛ.
Скористайтеся
цим
параметром
для
неперервного
читання
журналу
послідовними
викликами
journalctl.
-b
[[ID][±зсув]|all],
--boot[=[ідентифікатор][±зсув]|all]
Показати
повідомлення
із
вказаного
сеансу
завантаження.
Додає
фільтр «_BOOT_ID=».
Аргумент
може бути
порожнім.
Для
порожніх
аргументів
буде
показано
журнал
поточного
завантаження.
Якщо не
вказано
ідентифікатор
завантаження,
додатне
значення
зсуву
призведе
до пошуку
завантажень
від
початку
журналу, а
недодатне
значення
зсув
призведе
до пошуку
завантажень,
починаючи
з кінця
журналу.
Отже, 1
означає
перше
завантаження
у журналі
за
хронологічним
порядком, 2
— друге
тощо; а -0
означає
останнє
завантаження,
-1
завантаження
перед
останнім,
тощо.
Порожнє
значення
зсув є
еквівалентним
визначенню
-0, окрім
випадку,
коли
поточне
завантаження
не є
останнім
(наприклад,
через
визначення
--directory для
пошуку
журналів з
іншого
комп'ютера).
Якщо
вказано
32-символьний
ідентифікатор,
після
нього може
бути
вказано
зсув, який
визначає
завантаження
відносно
заданого
за
ідентифікатором
завантаження.
Від'ємні
значення
означають
попередні
завантаження,
а додатні —
пізніші
завантаження.
Якщо зсув
не вказано,
буде
використано
нульове
значення,
отже, буде
показано
дані
завантаження,
які задано
значенням
ідентифікатор.
Можна
скористатися
спеціальним
аргументом
all для
вимикання
усіх
попередніх
використань
-b.
-u,
--unit=МОДУЛЬ|ВЗІРЕЦЬ
Показати
повідомлення
для
вказаного
модуля systemd
МОДУЛЬ
(зокрема
модуля
служби) або
для
будь-яких
модулів,
які
відповідають
ВЗІРЦЮ.
Якщо
вказано
взірець,
список
назв
модулів,
повідомлення
яких буде
знайдено у
журналі,
буде
порівняно
із
вказаним
взірцем і
буде
використано
усі
відповідні.
Для кожної
назви
модуля
буде
додано
фільтр для
повідомлень
з модуля
(«_SYSTEMD_UNIT=
МОДУЛЬ»),
разом із
додатковими
фільтрами
для
повідомлень
від systemd і
повідомлень
щодо
дампів
ядра для
вказаного
модуля.
Також буде
додано
фільтр
«_SYSTEMD_SLICE=
МОДУЛЬ»,
такий, що
якщо
заданий
МОДУЛЬ є
модулем
systemd.slice(5), буде
показано
дані усіх
дочірніх
щодо зрізу
журналів.
Із --user усі
аргументи
--unit= буде
перетворено
так, щоб
вони
відповідали
повідомленням
користувача,
як їх
визначено
за
допомогою
--user-unit=.
В одній
команді
можна
використати
декілька
цих
параметрів.
--user-unit=
Показати
повідомлення
для
вказаного
модуля
сеансу
користувача.
Додасть
фільтр для
повідомлень
від модуля
(«_SYSTEMD_USER_UNIT=» і «_UID=») і
додаткові
фільтри
для
повідомлень
від systemd
сеансу і
повідомлень
щодо
дампів
ядра для
вказаного
модуля.
Також буде
додано
фільтр для
«_SYSTEMD_USER_SLICE=
МОДУЛЬ»,
такий, що
якщо
заданий
МОДУЛЬ є
модулем
systemd.slice(5), буде
показано
дані усіх
дочірніх
щодо зрізу
журналів.
В одній
команді
можна
використати
декілька
цих
параметрів.
-t,
--identifier=ІДЕНТИФІКАТОР_SYSLOG
Показати
повідомлення
для
вказаного
ідентифікатора
syslog
SYSLOG_IDENTIFIER.
В одній
команді
можна
використати
декілька
цих
параметрів.
-p, --priority=
Фільтрувати
виведені
дані за
пріоритетами
повідомлень
або
діапазонами
пріоритетів.
Приймає
або
одинарний
числовий
або
текстовий
рівень
журналу
(тобто
значення
від 0/«emerg» до
7/«debug»), або
діапазон
числових
чи
текстових
рівнів
журналу у
формі
ВІД..ДО.
Рівні
журналу є
звичайними
рівнями
журналу syslog,
які
документовано
на
сторінці
підручника
syslog(3), тобто
«emerg» (0), «alert» (1),
«crit» (2), «err» (3),
«warning» (4), «notice» (5),
«info» (6), «debug» (7).
Якщо
вказано
одинарний
рівень
журналу,
буде
показано
усі
повідомлення
цього
рівня або
нижчого
(отже,
важливіші).
Якщо
вказано
діапазон,
буде
показано
усі
повідомлення
у
вказаному
діапазоні,
включно із
початковим
і кінцевим
значень
діапазону.
Буде
додано
фільтри
«PRIORITY=» для
вказаних
пріоритетів.
--facility=
Фільтрувати
виведені
дані за
процесами
syslog. Приймає
список
відокремлених
комами
номерів
або назв
процесів.
Назви є
звичайними
назвами
процесів syslog,
як їх
документовано
на
сторінці
підручника
syslog(3). Для
отримання
списку
відомих
назв
процесів
можна
скористатися
параметром
--facility=help.
-g, --grep=
Фільтрувати
виведення
до записів,
де поле
MESSAGE=
відповідає
вказаному
формальному
виразу.
Буде
використано
сумісні із PERL
формальні
вирази, див.
pcre2pattern(3), щоб
дізнатися
більше про
синтаксис.
Якщо
взірець
вказано
лише
малими
літерами,
відповідність
буде
встановлено
без
врахування
регістру.
Якщо у
взірці
буде хоч
одна
велика
літера,
відповідність
буде
встановлено
із
врахуванням
регістру
літер. Це
може бути
перевизначено
за
допомогою
параметра
--case-sensitive, див.
нижче.
Якщо
використано
з --lines=, буде
неявним
чином
встановлено
--reverse.
--case-sensitive[=БУЛЕВЕ_ЗНАЧЕННЯ]
Враховувати
чи не
враховувати
у взірці
регістр
символів.
-k, --dmesg
Показати
лише
повідомлення
ядра. Це
неявним
чином
встановлює
-b і додає
фільтр
«_TRANSPORT=kernel».
ПАРАМЕТРИ ВИВЕДЕННЯ ДАНИХ¶
Вказані
нижче
параметри
визначають,
як слід
виводити
записи
журналу:
-o, --output=
Керує
форматуванням
записів
журналу,
які буде
показано.
Приймає
такі
аргументи:
short
типовий
варіант —
вивести
дані у
форматі,
який
здебільшого
збігається
із
форматуванням
класичних
файлів
журналу
системи, по
одному
рядку на
запис
журналу.
short-full
дуже
подібний
до
попереднього,
але із
показом
часових
позначок у
форматі,
який
приймають
параметри
--since= і --until=. На
відміну
від даних
часових
позначок,
які буде
показано у
режимі
виведення
short, до даних
цього
режиму
буде
включено
дані щодо
дня тижня,
року і
часового
поясу, а
також
усунено
переклад.
short-iso
дуже
подібний,
але
виводить
часові
позначки у
форматі ISO 8601.
short-iso-precise
те саме,
що і short-iso, але
включає
повну
точність
до
мікросекунд.
--truncate-newline
Обрізати
усі
повідомлення
журналу на
першому
символі
розриву
рядка при
виведенні,
щоб було
показано
лише
перший
рядок
кожного
повідомлення.
short-precise
є дуже
подібним,
але
показує
класичні
часові
позначки syslog
з повною
точністю
до
мікросекунд.
short-monotonic
є дуже
подібним,
але
показує
монотонні
часові
позначки
замість
часових
позначок
годинника.
short-delta
як для
short-monotonic, але
включити
часову
різницю із
попереднім
записом.
Можливі
неточні
різниці у
часу буде
позначено
символом
"*".
short-unix
є дуже
подібним,
але
показує
секунди,
які минули
з 1-го січня 1970 UTC,
замість
часових
позначок
годинника
(«час UNIX»). Час
буде
показано
із
точністю
до
мікросекунд.
verbose
показує
пункти
повністю
структурованих
записів з
усіма
полями.
export
перетворює
журнал у
послідовну
форму
двійкового
(але
здебільшого
текстового)
потоку,
який
придатний
для
резервного
копіювання
і
передавання
мережею
(див.
формат
експортування
журналу[2],
щоб
дізнатися
більше). Щоб
імпортувати
двійковий
потік
даних
знову до
власного
формату journald,
скористайтеся
systemd-journal-remote(8).
json
форматувати,
записи як
об'єкти JSON,
які
відокремлено
символами
нового
рядка (див.
формат JSON
журналу[3],
щоб
дізнатися
більше).
Значення
полів,
загалом,
буде
закодовано
у рядки JSON за
трьома
виключеннями:
1.Поля
розміром
понад 4096
байтів
буде
закодовано
як
null-значення.
(Вимкнути
це можна
передаванням
параметра
--all, але слід
зважати на
можливість
створення
надто
довгих
об'єктів JSON.)
2.У
записах
журналів
можуть
бути
повторення
полів. У JSON не
можна
дублювати
поля у
межах
об'єктів.
Через це,
якщо буде
виявлено
дублювання
полів, як
значення
поля буде
використано
масив JSON, у
якому
елементами
будуть
значення
усіх
полів.
3.Поля,
які
містять
непридатні
до друку
символи
або байти
поза UTF8, їх
буде
закодовано
як масиви,
що містять
необроблені
байти,
індивідуально
форматовані,
як числа
без знаку.
Зауважте,
що це
кодування
можна буде
обернути
(за
виключенням
обмеження
на розмір).
json-pretty
форматує
записи у
форматі
структур
даних JSON, але
форматує
їх у
декілька
рядків, щоб
зробити їх
зручнішими
для
читанню
людиною.
json-sse
форматує
записи як
структури
даних JSON, але
загортає
їх у формат,
який є
придатним
для подій,
надісланих
на
сервер[4].
json-seq
форматує
записи як
структури
даних JSON, але
дописує до
них
префікси з
роздільника
записів ASCII (0x1E) і
суфікси з
символу
подачі
рядка ASCII (0x0A),
відповідно
до
текстових
послідовностей
JavaScript Object Notation (JSON)[5]
("application/json-seq").
cat
створює
дуже
короткі
виведені
дані, буде
виведено
лише саме
повідомлення
для
кожного
запису
журналу
без
метаданих,
навіть без
часової
позначки.
Якщо
поєднати
із
параметром
--output-fields=, буде
виведено
поля зі
списку для
кожного
запису
журналу, а
не лише
повідомлення.
with-unit
подібний
до short-full, але із
використанням
префіксів
модуля і
модуля
користувача
замість
традиційного
ідентифікатора
syslog. Корисно,
якщо
використано
шаблонні
екземпляри,
оскільки
включатиме
аргументи
у назвах
модулів.
--output-fields=
Список
відокремлених
комами
полів, які
має бути
включено у
виведені
дані. Має
значення
лише для
режимів
виведення,
які за
звичайних
умов
виводять
всі поля (verbose,
export, json, json-pretty, json-sse і
json-seq), а також
для cat. Для
перших,
завжди
буде
виведено
поля «__CURSOR»,
«__REALTIME_TIMESTAMP», «__MONOTONIC_TIMESTAMP»
і «_BOOT_ID».
-n, --lines=
Показати
найсвіжіші
події
журналу і
обмежити
кількість
показаних
записів
подій. Якщо
використано
--follow, буде
неявним
чином
додано і
цей
параметр.
Аргументом
є додатне
ціле число
або «all» для
вимикання
обмеження
на рядки.
Типовим
значенням,
якщо не
вказано
аргументу,
є 10.
Якщо
використано
з --grep=, буде
неявним
чином
встановлено
--reverse.
-r, --reverse
Обернути
порядок
виведення
так, щоб
найновіші
записи
було
показано
першими.
--show-cursor
Курсор
буде
показано
після
останнього
запису за
двома
дефісами:
Формат
курсору є
недоступним
до зміни,
його може
бути
змінено у
наступних
версіях
програми.
--utc
Вивести
час як
всесвітній
(UTC).
-x, --catalog
Розширити
рядки
журналу
пояснювальними
текстовими
фрагментами
з каталогу
повідомлень.
Пояснювальні
довідкові
текстові
фрагменти
буде
додано до
повідомлень
журналу у
виведенні
там, де вони
доступні.
Ці короткі
довідкові
тексти
пояснюватимуть
контекст
помилки
або подію
журналу,
вказуватимуть
на можливі
рішення, а
також
вказуватимуть
на форуми
підтримки,
документацію
для
розробників
та усі інші
відповідні
підручники.
Зауважте,
що
довідкові
тексти
доступні
не для усіх
повідомлень,
а лише для
вибраних.
Щоб
дізнатися
більше про
каталог
повідомлень,
будь ласка,
зверніться
до
документації
щодо
каталогу
повідомлень
для
розробників[6].
Зауваження:
при
долученні
виведених
journalctl даних до
звітів
щодо вад,
будь ласка
не
використовуйте
-x.
--no-hostname
Не
показувати
поле назви
вузла для
повідомлень
журналу,
які
походять з
локального
вузла. Цей
перемикач
працює
лише для
сімейства
режимів
виведення
short (див. вище).
Зауваження:
використання
цього
параметра
не
призводить
до
вилучення
рядків
назви
вузла із
самих
записів
журналу,
отже не
запобігає
показу
назви
вузла у
журналі.
--no-full, --full, -l
Обривати
поля
багатокрапкою
там, де вони
не
вміщуються
у доступну
кількість
позицій.
Типовим є
повний
показ
полів з
можливістю
перенесення
або
обрізання
рядків
програмою
для показу
даних за
сторінками,
якщо таку
використано.
Використання
застарілих
параметрів
-l/--full
вимкнено,
окрім --no-full.
-a, --all
Показувати
усі поля
повністю,
навіть
якщо вони
містять
непридатні
до друку
символи
або є дуже
довгими.
Типово,
поля із
непридатними
до друку
символами
обрізаються
як
«бінарні
дані».
(Зауважте,
що
програма
поділу
даних на
сторінки
може
виконати
додаткове
екранування
непридатних
до друку
символів.)
-f, --follow
Показати
лише
найсвіжіші
записи
журналу і
неперервно
виводити
нові
записи,
щойно вони
з'являтимуться
у журналі.
--no-tail
Показати
усі
збережені
рядки
виведення,
навіть
якщо
увімкнено
режим
стеження.
Скасовує
--lines=.
-q, --quiet
Придушує
усі
інформаційні
повідомлення
(тобто «-- Journal begins at
...», «-- Reboot --»), усі
попередження
щодо
недоступних
журналів
системи
при
запуску
від імені
звичайного
користувача.
ПАРАМЕТРИ КЕРУВАННЯ ПОДІЛОМ НА СТОРІНКИ¶
Вказані
нижче
параметри
керують
підтримкою
поділу
виведених
даних на
сторінки:
--no-pager
Не
передавати
виведені
дані до
засобу
поділу на
сторінки.
-e, --pager-end
Негайно
перейти до
кінця
журналу у
відповідній
програмі
для показу
даних за
сторінками.
Неявним
чином
встановлює
-n1000, щоб
гарантувати,
що
програма
для показу
не
створюватиме
буфера
журналу
необмеженого
розміру.
Значення
можна
змінити
явним
заданням
-n
із якимось
числовим
аргументом.
-nall знімає це
обмеження.
Зауважте,
що
підтримку
цього
параметра
передбачено
лише для
програми
для показу
даних
less(1).
ПАРАМЕТРИ FORWARD SECURE SEALING (FSS)¶
Вказаними
нижче
параметрами
можна
скористатися
разом із
командою
--setup-keys, яку
описано
нижче:
--interval=
Вказує
інтервал
зміни для
ключа
опечатування
при
створенні
пари
ключів FSS за
допомогою
--setup-keys. Коротші
інтервали
збільшують
споживання
процесора,
але
скорочують
інтервал
часу для
виявлення
внесень
змін до
журналу.
Типовим є
інтервал у 15
хвилин.
--verify-key=
Вказує
ключ
перевірки FSS,
яким слід
скористатися
для дії --verify.
--force
Якщо
передано
--setup-keys і вже
налаштовано
Forward Secure Sealing (FSS),
повторно
створити
ключі FSS.
КОМАНДИ¶
Передбачено
розпізнавання
вказаних
нижче
команд.
Якщо не
задано
жодної
команди,
програма
просто
покаже
записи
журналу.
-N, --fields
Вивести
усі назви
полів, які
зараз
використано
в усіх
записах
журналу.
-F, --field=
Вивести
усі
можливі
значення
даних, які
може
приймати
вказане
поле в усіх
записах
журналу.
--list-boots
Показати
табличний
список
номерів
завантажень
(відносно
поточного
завантаження),
їхніх
ідентифікаторів
та часовий
позначок
першого і
останнього
повідомлень,
які
стосуються
завантаження.
--disk-usage
Показує
поточне
використання
місця на
диску для
усіх
файлів
журналу.
Результат
буде
показано
як суму
використання
дискового
простору
усіма
архівованими
і
активними
файлами
журналу.
--vacuum-size=, --vacuum-time=,
--vacuum-files=
--vacuum-size=
вилучає
найстаріші
архівовані
файли
журналу, аж
доки місце
на диску,
яке вони
займають,
не впаде до
вказаного.
Приймає
звичні
суфікси «K»,
«M», «G» і «T» (з
основою 1024).
--vacuum-time=
вилучає
архівовані
файли
журналів,
які на
поточний
момент є
старішими
за
вказаний
проміжок
часу.
Приймає
звичні
суфікси «s»
(типовий),
«m», «h», «days»,
«months», «weeks» і
«years», див. systemd.time(7),
щоб
дізнатися
більше.
--vacuum-files= лишає
лише
вказано
кількість
окремих
файлів
журналу.
Зауважте,
що запуск
із --vacuum-size=
матиме
лише
опосередкований
вплив на
виведення
--disk-usage,
оскільки
до даних
останнього
параметра
буде
включено
активні
файли
журналу, а
дія з
очищення
працює
лише з
архівованими
файлами
журналу.
Так само,
--vacuum-files= може не
призвести
до
зменшення
кількості
файлів
журналу до
вказаної,
оскільки
активні
файли
журналу
вилучено
не буде.
--vacuum-size=, --vacuum-time= і
--vacuum-files= можна
поєднати у
єдиному
виклику
для
примусового
задання
будь-якого
поєднання
обмежень
на розмір,
час та
кількість
файлів в
архівованих
файлах
журналу.
Визначення
для трьох
цих
параметрів
нульових
значень є
рівнозначним
зняттю
усіх
обмежень, а
тому є
зайвим.
Ці три
обмеження
також
можна
поєднувати
в одній
команді з
параметром
--rotate. Якщо так
зробити,
спочатку
програма
виконає
ротацію
усіх
активних
файлів, а
потім
вказану
дію з
вилучення
зайвих
журналів. У
результаті
ротації
усі
поточні
активні
файли буде
архівовано
(і,
потенційно,
створено
порожні
файли
журналів
на заміну), а
отже, дія з
вилучення
зайвих
записів
буде
максимально
ефективною,
оскільки
включатиме
усі дані
журналу,
які було
зібрано на
момент
віддання
команди.
--verify
Перевірити
файл
журналу на
внутрішню
узгодженість.
Якщо файл
було
створено
із
увімкненим
FSS і було
вказано
ключ
перевірки FSS
за
допомогою
--verify-key=, буде
перевірено
автентичність
файла
журналу.
--sync
Наказує
фоновій
службі
журналу
записати
усі ще не
записані
дані
журналу до
базової
файлової
системи і
синхронізувати
усі
журнали.
Виклик не
повертає
керування
аж до
завершення
дії з
синхронізації.
Ця команда
гарантує,
що будь-які
повідомлення
журналу,
які було
записано
до виклику
команди,
буде
успішно
збережено
на диск на
момент
повернення
керування.
--relinquish-var
Наказує
фоновій
службі
журналу
виконати
зворотну
дію до --flush:
якщо
надіслано
запит,
фонова
служба
записуватиме
подальші
дані
журналу до
/run/log/journal/ і
припиняє
запис до /var/log/journal/.
Наступний
виклик із
--flush
спричиняє
перемикання
виведення
до журналу
до /var/log/journal/, див.
вище.
--smart-relinquish-var
Подібний
до --relinquish-var, але
не виконує
жодних дій,
якщо
коренева
файлова
система і
/var/log/journal/
перебувають
на тій
самій
точці
монтування.
Цю дію
використовують
під час
вимикання
системи з
метою
наказати
фоновій
службі
журналу
припинити
запис
даних до /var/log/journal/
у випадку,
якщо цей
каталог
розташовано
у точці
монтування,
яку слід
демонтувати.
--flush
Наказує
фоновій
службі
журналу
скинути
усі дані
журналу,
які
зберігаються
у /run/log/journal/ до /var/log/journal/,
якщо
увімкнено
стале
сховище
даних. Цей
виклик не
повертає
керування,
аж доки дію
не буде
завершено.
Зауважте,
що цей
виклик є
ідемпотентним:
дані з /run/log/journal/ до
/var/log/journal/ буде
скинуто
один раз
під час
виконання
(але див. --relinquish-var
нижче) і ця
команда
виходить
без
помилок і
виконання
будь-яких
дій, якщо
скидання
вже
здійснено.
Ця команда
ефективно
гарантує,
що усі дані
буде
скинуто до
/var/log/journal/ на
момент
повернення
керування.
--rotate
Наказує
фоновій
службі
журналу
виконати
ротацію
файлів
журналу.
Цей виклик
не
повертає
керування,
аж доки дію
з ротації
буде
завершено.
У
результаті
ротації
файлів
журналу
усі
поточні
активні
файли
журналу
буде
позначено
як архівні
і
перейменовано,
щоб до них у
майбутньому
не
записувалися
дані.
Замість
них буде
створено
нові
(порожні)
файли
журналу. Цю
дію можна
поєднувати
з --vacuum-size=, --vacuum-time= і
--vacuum-file= у єдину
команду,
див. вище.
--header
Замість
показу
вмісту
журналу,
показати
внутрішні
дані
заголовка
щодо
доступу до
полів
журналу.
Цей
параметр,
зокрема,
корисний
для
виявлення
позапорядкових
записів
журналу,
пов'язаних,
наприклад,
із
завантаженням
комп'ютера
із
помилковим
часом
системи.
--list-catalog
[128-бітовий-ідентифікатор...]
Вивести
список
вмісту
каталогу
повідомлень
як таблицю
ідентифікаторів
повідомлень
разом із
їхніми
короткими
рядками
опису.
Якщо
вказано
будь-які
128-бітові-ідентифікатори,
буде
показано
лише
відповідні
їм записи.
--dump-catalog
[128-бітовий-ідентифікатор...]
Показати
вміст
каталогу
повідомлень
із
відокремленням
записів
рядком, що
складається
із двох
дефісів та
ідентифікатора
(формат є
тим самим,
що і у
файлів .catalog).
Якщо
вказано
будь-які
128-бітові-ідентифікатори,
буде
показано
лише
відповідні
їм записи.
--update-catalog
Оновити
покажчик
каталогу
повідомлень.
Цю команду
слід
виконувати
кожного
разу після
встановлення,
вилучення
або
оновлення
файлів
каталогу
для
повторної
побудови
двійкового
покажчика
каталогу.
--setup-keys
Замість
показу
вмісту
журналу,
створити
нову пару
ключів для
Forward Secure Sealing (FSS). У
результаті
буде
створено
ключ
опечатування
і ключ для
перевірки.
Ключ
опечатування
буде
збережено
у каталозі
даних
журналу,
він
лишатиметься
в основній
системі.
Ключ
перевірки
має бути
збережено
ззовні.
Зверніться
до опису
параметра
Seal= на
сторінці
підручника
з
journald.conf(5), щоб
дізнатися
більше про
Forward Secure Sealing і
отримати
посилання
на наукові
роботи із
детальним
описом
криптографічної
теорії, на
яких воно
засновано.
-h, --help
Вивести
короткий
текст
довідки і
завершити
роботу.
--version
Вивести
короткі
дані щодо
версії і
завершити
роботу.
СТАН ВИХОДУ¶
Якщо
команду
буде
виконано
успішно,
буде
повернуто 0;
в інших
випадках,
буде
повернуто
ненульовий
код
помилки.
СЕРЕДОВИЩЕ¶
$SYSTEMD_LOG_LEVEL
Максимальний
рівень
журналювання
виданих
повідомлень
(повідомлення
із вищим
рівнем
журналювання,
тобто менш
важливі,
буде
придушено).
Одне з
таких
значень (у
порядку
зменшення
важливості):
emerg,
alert,
crit,
err,
warning,
notice,
info,
debug, або
ціле число
у
діапазоні
0...7. Див.
syslog(3), щоб
дізнатися
більше.
$SYSTEMD_LOG_COLOR
Булеве
значення.
Якщо
істинне,
повідомлення,
які
записано
до
термінал,
буде
розфарбовано
за
пріоритетністю.
Цей
параметр є
корисним,
лише якщо
повідомлення
буде
записано
безпосередньо
до
термінала,
оскільки
journalctl(1) та інші
інструменти
для показу
журналу
розфарбовуватимуть
повідомлення
на основі
рівня
журналювання
власними
засобами.
$SYSTEMD_LOG_TIME
Булеве
значення.
Якщо
істинне, до
повідомлень
журналу у
консолі
буде
додано
префікс із
часової
позначки.
Цей
параметр є
корисним,
лише якщо
повідомлення
буде
записано
безпосередньо
до
термінала
або файла,
оскільки
journalctl(1) та інші
інструменти
для показу
журналу
додаватимуть
часові
позначки
на основі
метаданих
запису
власними
засобами.
$SYSTEMD_LOG_LOCATION
Булеве
значення
Якщо
істинне, до
повідомлень
журналу
буде
додано
префікс із
назви
файла і
номера
рядка у
початковому
коді,
звідки
походить
повідомлення.
Зауважте,
що часто до
записів
журналу
все одно
буде
дописано
розташування
журналу.
Тим не
менше,
включення
його
безпосередньо
до тексту
повідомлення
може бути
зручним
для
діагностичних
програм.
$SYSTEMD_LOG_TID
Булеве
значення
Якщо
істинне, до
повідомлень
журналу
буде
додано
префікс із
поточного
числового
ідентифікатора
потоку
обробки (TID).
Зауважте,
що до
записів
журналу
все одно
буде
дописано
ці
відомості.
Тим не
менше,
включення
його
безпосередньо
до тексту
повідомлення
може бути
зручним
для
діагностичних
програм.
$SYSTEMD_LOG_TARGET
Призначення
для
повідомлень
журналу.
Одне з
таких
значень:
console
(виводити
повідомлення
до
долученого
термінала),
console-prefixed
(виводити
повідомлення
до
долученого
термінала,
але із
префіксом,
де
закодовано
рівень
журналювання
і «процес»,
див.
syslog(3),
kmsg
(виводити
повідомлення
до
циклічного
буфера
журналу
ядра),
journal
(виводити
повідомлення
до журналу),
journal-or-kmsg
(виводити
повідомлення
до журналу,
якщо він
доступний,
і до kmsg, якщо
недоступний),
auto
(визначити
відповідне
призначення
повідомлень
журналу
автоматично,
типовий
варіант),
null
(вимкнути
виведення
повідомлень).
$SYSTEMD_LOG_RATELIMIT_KMSG
Визначає,
чи слід
обмежувати
частоту kmsg.
Приймає
булеве
значення.
Типовим є
значення
«true». Якщо
вимкнено, systemd
не
обмежуватиме
частоту
повідомлень,
які
записують
до kmsg.
$SYSTEMD_PAGER
Засіб
показу
сторінок,
яким слід
скористатися,
якщо не
вказано
--no-pager;
перевизначає
$PAGER. Якщо не
встановлено
ні
$SYSTEMD_PAGER, ні
$PAGER,
буде
виконано
спробу
скористатися
відомими
реалізаціями
послідовно,
включно з
less(1) і
more(1), аж
доки не
буде щось
знайдено.
Якщо не
буде
виявлено
реалізації
засобу
показу
сторінок,
засіб
показу
сторінок
викликано
не буде.
Встановлення
для
значення
цієї
змінної
середовища
порожнього
рядка або
значення
«cat» є
еквівалентом
передавання
параметра
--no-pager.
Зауваження:
якщо не
встановлено
значення
$SYSTEMD_PAGERSECURE, буде
без
попередження
проігноровано
$SYSTEMD_PAGER (а також
$PAGER).
$SYSTEMD_LESS
Перевизначає
параметри,
які буде
передано
less
(типово, «FRSXMK»).
Користувачам,
можливо,
варто
змінити
два
параметри:
K
Цей
параметр
наказує
засобу
поділу на
сторінки
негайно
завершити
роботу,
якщо
натиснуто
Ctrl+C. Щоб
дозволити
less
обробляти
Ctrl+C
самостійно
для
перемикання
назад на
запит
команди
засобу,
скасуйте
встановлення
цього
параметра.
Якщо
значення
$SYSTEMD_LESS не
включає «K»,
і
викликаним
засобом
поділу на
сторінки є
less, Ctrl+C буде
проігноровано
виконуваним
файлом —
його має
обробляти
сам засіб
поділу на
сторінки.
X
Цей
параметр
наказує
засобу
поділу на
сторінки
не
надсилати
рядки
ініціалізації
та
деініціалізації
termcap на
термінал.
Його
типово
встановлено,
щоб лишити
видимим
виведення
команди у
терміналі,
навіть
після
завершення
роботи
засобу
поділу на
сторінки.
Тим не
менше, це
заважає
роботі
деяких
можливостей
засобу
поділу на
сторінки,
зокрема
виведені
дані не
можна буде
гортати за
допомогою
миші.
Зауважте,
що
встановлення
звичайної
змінної
середовища
$LESS не
впливає на
виклики less
інструментами
systemd.
Див. less(1), щоб
дізнатися
більше.
$SYSTEMD_LESSCHARSET
Перевизначити
набір
символів,
який
передано
less
(типовим
набором є
«utf-8», якщо
викликаний
термінал є
сумісним
із UTF-8).
Зауважте,
що
встановлення
звичайної
змінної
середовища
$LESSCHARSET не
впливає на
виклики less
інструментами
systemd.
$SYSTEMD_PAGERSECURE
Приймає
булевий
аргумент.
Якщо
істина,
буде
увімкнено
«безпечний»
режим
програми
для поділу
на
сторінки;
якщо
хибність,
режим буде
вимкнено.
Якщо
значення
$SYSTEMD_PAGERSECURE не
встановлено
взагалі,
безпечний
режим буде
увімкнено,
якщо
ефективний
UID не
збігається
із
ідентифікатором
власника
сеансу
входу до
системи,
див.
geteuid(2) і
sd_pid_get_owner_uid(3). У
безпечному
режимі
LESSSECURE=1
буде
встановлено
при
виклику
засобу
поділу на
сторінки, і
засіб
вимкне
команди,
які
відкривають
або
створюють
файли або
запускають
нові
підпроцеси.
Якщо
значення
$SYSTEMD_PAGERSECURE
взагалі не
встановлено,
засоби
поділу на
сторінки,
про
реалізацію
безпечного
режиму у
яких
нічого не
відомо, не
буде
використано.
(У поточній
версії
безпечний
режим
реалізовано
лише у
less(1).)
Зауваження:
якщо
команди
викликають
із
підвищеними
привілеями,
наприклад,
з
використанням
sudo(8) або pkexec(1),
слід
подбати
про те, щоб
небажані
інтерактивні
можливості
не було
увімкнено.
«Безпечний»
режим для
засобу
поділу на
сторінки
може бути
автоматично
увімкнуто,
як це
описано
вище. Якщо
встановлено
значення
SYSTEMD_PAGERSECURE=0 або
якщо
змінну не
усунено з
успадкованого
середовища,
користувач
зможе
викликати
довільні
команди.
Зауважте,
що якщо
змінні $SYSTEMD_PAGER
або $PAGER слід
брати до
уваги, то
слід
встановити
і значення
$SYSTEMD_PAGERSECURE. Втім, у
такому
випадку,
можливо,
варто
взагалі
вимкнути
засіб
поділу на
сторінки
за
допомогою
параметра
--no-pager.
$SYSTEMD_COLORS
Приймає
булевий
аргумент.
Якщо
істина, systemd і
пов'язані
інструменти
використовуватимуть
кольори у
виведених
даних. Якщо
хибність,
виведення
буде
монохроматичним.
Крім того,
змінна
може
приймати
одне з
таких
особливих
значень: «16»,
«256», щоб
обмежити
використання
кольорів
базовими 16
або 256
кольорами ANSI,
відповідно.
Це
значення
можна
встановити
для
перевизначення
автоматичного
значення
на основі $TERM
та того, з
чим
з'єднано
консоль.
$SYSTEMD_URLIFY
Значення
має бути
булевим.
Визначає,
чи має бути
створено
придатні
до
натискання
посилання
у
виведенні
до
емуляторів
терміналів,
у яких
передбачено
відповідну
підтримку.
Це
значення
можна
встановити
для
перевизначення
значення,
яке
встановлено
systemd на
основі $TERM та
інших
умов.
ПРИКЛАДИ¶
Без
аргументів
фільтрування
усіх
зібраних
записів
журналу
буде
вимкнено:
Якщо
вказано
один
фільтр,
буде
показано
усі записи
із
відповідними
виразу
полями:
journalctl _SYSTEMD_UNIT=avahi-daemon.service
journalctl _SYSTEMD_CGROUP=/user.slice/user-42.slice/session-c1.scope
Якщо
встановлено
відповідність
двом
різним
полям, буде
показано
лише
записи, які
відповідають
обом
виразам:
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097
Якщо два
фільтри
вказують
на одне
поле, буде
показано
усі записи,
які
відповідають
хоча б
одному з
виразів:
journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service
За
допомогою
роздільника
«+» два
вирази
можна
поєднати
логічним
АБО. У
наведеному
нижче
прикладі
буде
показано
усіх
повідомлення
від
процесу
служби Avahi із PID
28097 і усі
повідомлення
від служби
D-Bus (від
будь-якого
з її
процесів):
journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service
Щоб
переглянути
усі поля,
які видано
модулем
та поля
щодо
модуля,
слід
скористатися
параметром
-u/--unit=. journalctl -u
назва
розгортається
до
складного
фільтра,
подібного
до такого:
_SYSTEMD_UNIT=назва.service
+ UNIT=назва.service _PID=1
+ OBJECT_SYSTEMD_UNIT=назва.service _UID=0
+ COREDUMP_UNIT=назва.service _UID=0 MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1
(див. systemd.journal-fields(7),
якщо
потрібне
пояснення
щодо цих
взірців).
Вивести
усі
повідомлення
журналу,
які
створено
виконуваним
файлом D-Bus:
journalctl /usr/bin/dbus-daemon
Показати
усі
журнали
ядра з
попереднього
завантаження:
Показати
інтерактивний
журналу з
системною
службою apache.service:
ПРИМІТКИ¶
- 1.
- Специфікація
придатних
до
вивчення
розділів
- 2.
- Формат
експортування
журналу
- 3.
- Формат JSON
журналу
- 4.
- Надіслані
на сервер
події
- 5.
- Текстові
послідовності
JavaScript Object Notation (JSON)
- 6.
- Документація
щодо
каталогу
повідомлень
для
розробників
ПЕРЕКЛАД¶
Український
переклад
цієї
сторінки
посібника
виконано lxlalexlxl
<lxlalexlxl@ukr.net> і Yuri Chornoivan
<yurchor@ukr.net>
Цей
переклад є
безкоштовною
документацією;
будь ласка,
ознайомтеся
з умовами
GNU General
Public License Version 3. НЕ
НАДАЄТЬСЯ
ЖОДНИХ
ГАРАНТІЙ.
Якщо ви
знайшли
помилки у
перекладі
цієї
сторінки
підручника,
будь ласка,
надішліть
електронний
лист до
списку
листування
перекладачів:
trans-uk@lists.fedoraproject.org.