950d8fcdd9
Note this commit only changes how the code is expressed; it does not change
the existence of any dependency.
The `Conflicts=` was added in 3136ec90
, "Stop syslog.socket when entering
emergency mode". The discussion in the issue #266 raised concerns that
this might be needed for other units, but failed to point out why
syslog.socket is special. The reason is that syslog.socket has
DefaultDepedencies=no, so it does not get Requires=sysinit.target like
other socket units do. But syslog.service does require sysinit.target,
among other things.
We don't have many socket, path, or timer units with
DefaultDependencies=no, and I don't think any of the triggered services
have such additional hard dependencies as syslog.service does.
It is much less confusing if we keep this `Conflicts=` in the same file as
the `DefaultDependencies=no` which made it necessary.
45 lines
1.3 KiB
SYSTEMD
45 lines
1.3 KiB
SYSTEMD
# This file is part of systemd.
|
|
#
|
|
# systemd is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation; either version 2.1 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
[Unit]
|
|
Description=Syslog Socket
|
|
Documentation=man:systemd.special(7)
|
|
Documentation=https://www.freedesktop.org/wiki/Software/systemd/syslog
|
|
DefaultDependencies=no
|
|
Before=sockets.target
|
|
|
|
# Don't allow logging until the very end
|
|
Conflicts=shutdown.target
|
|
Before=shutdown.target
|
|
|
|
# Don't try to activate syslog.service if sysinit.target has failed.
|
|
Conflicts=emergency.service
|
|
|
|
[Socket]
|
|
ListenDatagram=/run/systemd/journal/syslog
|
|
SocketMode=0666
|
|
PassCredentials=yes
|
|
PassSecurity=yes
|
|
ReceiveBuffer=8M
|
|
|
|
# The default syslog implementation should make syslog.service a
|
|
# symlink to itself, so that this socket activates the right actual
|
|
# syslog service.
|
|
#
|
|
# Examples:
|
|
#
|
|
# /etc/systemd/system/syslog.service -> /lib/systemd/system/rsyslog.service
|
|
# /etc/systemd/system/syslog.service -> /lib/systemd/system/syslog-ng.service
|
|
#
|
|
# Best way to achieve that is by adding this to your unit file
|
|
# (i.e. to rsyslog.service or syslog-ng.service):
|
|
#
|
|
# [Install]
|
|
# Alias=syslog.service
|
|
#
|
|
# See https://www.freedesktop.org/wiki/Software/systemd/syslog for details.
|