Как экранировать имя программы в журналеctl
Моя система вышла из строя, и я пытаюсь определить, что произошло, просматривая журналы. Я хочу отфильтровать журналы различных программ, вызвавших ошибки. Для этого я попробовал:
my_username@pop-os:~$ journalctl -u pop-os\ kernel
Invalid unit name "pop-os kernel" escaped as "pop-os\x20kernel" (maybe you should use systemd-escape?).
-- No entries --
Как мне найтиpop-os kernelправильно?
1 ответ
The -uОпция указывает имя модуля systemd , а не имя программы. Например,-u namedпокажет все сообщения отnamed.serviceнезависимо от того, каким названием программы они отмечены. Если вы не знаете соответствующую единицу измерения (или если ее нет), используйте-tвместо этого вариант.
Кроме того, когда вы видите такие строки, какDec 28 14:38:06 pop-os kernel:, тогда имя программы простоkernel, нетpop-os kernel– поле, следующее за датой, представляет собой имя хоста системы , а не часть имени программы. Таким образом, правильный поисковый запрос будет-t kernel.
(Но если вы пытаетесь использовать журналctl в качестве замены dmesg, лучше используйте команду-kвозможность получить все сообщения, полученные из буфера ядра.)