Bug 46430

Summary: Не создаётся сокет для rsyslog
Product: Sisyphus Reporter: Сергей Бессонов <s>
Component: systemdAssignee: Alexey Shabalin <shaba>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: arseny, shaba
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Сергей Бессонов 2023-06-07 14:42:32 MSK
Ставим rsyslog. В соответствии с wiki добавляем в /etc/systemd/journal.conf строчку ForwardToSyslog=yes. Перезапускаем journald.

После установки rsyslog пакетом rsyslog-classic, запуск systemctl start rsyslogd заканчивается ошибкой: 

июн 07 14:12:55 host-120 systemd[1]: Started systemd-journald.service - Journal Service.
июн 07 14:13:02 host-120 systemd[1]: syslog.socket: Socket service syslog.service not loaded, refusing.
июн 07 14:13:02 host-120 systemd[1]: Failed to listen on syslog.socket - Syslog Socket.
июн 07 14:13:02 host-120 systemd[1]: Dependency failed for rsyslog.service - System Logging Service.
июн 07 14:13:02 host-120 systemd[1]: rsyslog.service: Job rsyslog.service/start failed with result 'dependency'.

Файл /run/systemd/journal/syslog действительно отсутствует.
Comment 1 Сергей Бессонов 2023-06-09 00:43:30 MSK
Методом ненаучного тыка установлено, есть если запустить сокет руками один раз, командой systemctl start syslog.socket, то rsyslog начинает работать.

Либо поставить пакет rsyslog-journal, который добавляет библиотеку для взятия логов из journal каким-то другим способом.

Это баг, или так задумано и надо просто упомянуть о таких тонкостях на wiki?
Comment 2 Сергей Бессонов 2023-07-26 17:12:57 MSK
Дальнейшие исследования показали, что:

1. rsyslog не стартует по зависимостям, если не запускается syslog.socket. 

2. Syslog.socket не запускается, если не найден syslog.service

3. Syslog.service не существует до момента выполнения команды systemctl enable rsyslog, потому что syslog.service - это виртуальный юнит, который ссылается либо на rsyslog, либо на syslog-ng, в зависимости от того, кому сделан enable (оба их включить нельзя).

Т.е. если юнит rsyslog не находится в состоянии enabled, то и делать start ему нельзя, он не запустится.

Я так понимаю, это не баг, а фича, и её надо просто описать на wiki, да?