
Nach einigen Recherchen fand ich heraus, dass es Drop-Ins für Systemd-Serviceeinheiten gibt.
Ich versuche, das transmission-daemon
Paket als pi
Benutzer auszuführen, da dies die einzige Möglichkeit ist, die richtigen Berechtigungen für den Ordner zu erhalten, in den es heruntergeladen wird. Standardmäßig wird es als ausgeführt debian-transmission
. Ich möchte init.d vermeiden und einen systemd-Ansatz wählen.
In der systemd-Datei () beschrieben /lib/system/systemd/transmission-daemon.service
:
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=debian-transmission
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
Mit meinem Drop-In-Ersatz in /etc/systemd/system/transmission-daemon.service.d/local.conf
:
[Service]
User=
User=pi
Group=pi
Ich habe sudo systemctl daemon-reload
und ausgeführt sudo systemctl restart transmission-daemon
. Das Drop-In ist in aufgeführt sudo systemctl status transmission-daemon
und wird als aktiv angezeigt, dennoch wird der Daemon nicht ordnungsgemäß ausgeführt und die RPC-Verbindung funktioniert in einem Browser nicht.
Vielen Dank im Voraus für Ihre Hilfe, denn ich bin ratlos.
Antwort1
Finde die Antwort selbst:
Systemd ist nicht das Problem, da es den Dienst korrekt ausführt, aber wenn der Transmission-Daemon als Pi-Benutzer ausgeführt wird, liest es die Konfiguration von „ $HOME/.config/transmission-daemon/settings.json
owned by“ pi:pi
statt /etc/transmission-daemon/settings.json
von „owned by“ debian-transmission:debian-transmission
.
Als Lösung können Sie auf die Verwendung der Konfigurationsdatei umsteigen $HOME/transmission-daemon
oder -g /etc/transmission-daemon/settings.json
eine ExecStart-Direktive im Drop-In übergeben.