Псевдоним модуля systemd (символическая ссылка) отсутствует для syslog-ng / syslog

У меня проблемы с машиной Ubuntu 16.04.4, на которой запущены systemd и syslog-ng (3.5.6-2.1), где сообщения, записанные в syslog процессом (назовем его X), не были получены syslog-ng. Вскоре выяснилось, что journald угонял сообщения, зарегистрированные X, и, следовательно, они так и не добрались до syslog-ng.

После небольшого поиска казалось, что systemd нужно знать, что syslog-ng предоставляет службу syslog, так что сообщения, полученные journald, также попадают в syslog-ng. Однако, глядя на системный модуль syslog-ng, выяснилось, что это уже должно было произойти, поскольку оно содержит:

[Install]
WantedBy=multi-user.target
Alias=syslog.service

Но даже если syslog-ng был явно включен с systemctl enable syslog-ngВроде символическая ссылка

/etc/systemd/system/syslog.service -> /lib/systemd/system/syslog-ng.service

отсутствовал в системе. Удаление и повторная установка syslog-ng, а затем запуск systemctl enable syslog-ng действительно воссоздал эту символическую ссылку, которая заставила его работать.

Теперь проблема в том, что у меня есть машина, на которой включен системный модуль syslog-ng, но символическая ссылка отсутствует, и в этом случае systemctl enable syslog-ng не воссоздает отсутствующую символическую ссылку, так как systemd, похоже, видит, что syslog-ng уже включен, и поэтому не пытается проверить, существует ли символическая ссылка или нет.

Конечно, теоретически я мог бы вручную создать символическую ссылку, но мои вопросы здесь:

  • почему отсутствует символическая ссылка, если systemd должен был создать ее при включении модуля syslog-ng?
  • как правильно заставить systemd заново создать эту символическую ссылку, не отключая syslog-ng и не включая его снова?

Я просмотрел документацию по systemd, которую смог найти, но она разочаровывает, когда / как / при каких обстоятельствах создаются эти символические ссылки.

Любая помощь приветствуется!

1 ответ

syslog-ng 3.5 довольно старый и несколько глючный, я бы предложил обновить его до более новой версии (в настоящее время 3.16 является последней). Вы можете найти пакеты в репозитории разработчика: https://build.opensuse.org/project/show/home:laszlo_budai:syslog-ng

Другие вопросы по тегам