it-swarm.com.de

Übertragungs-Daemon ignoriert settings.json

Seit dem Upgrade meiner Ubuntu-Server-Installation von 16.04 auf 16.10 scheint der Transmission-Daemon-Dienst settings.json zu ignorieren.

Das Symptom ist, dass das Webinterface mir gibt:

403: Forbidden

Unauthorized IP Address.

Either disable the IP address whitelist or add your address to it.

If you're editing settings.json, see the 'rpc-whitelist' and 'rpc-whitelist-enabled' entries.

aber in /etc/transmission-daemon/settings.json haben wir, unverändert von vor dem Upgrade:

"rpc-whitelist": "127.0.0.1,192.168.23.*",
"rpc-whitelist-enabled": true,

/var/lib/transmission-daemon/.config/transmission-daemon/settings.json zeigt auch auf /etc/transmission-daemon/settings.json:

[email protected]:/etc/transmission-daemon$ Sudo ls -l /var/lib/transmission-daemon/.config/transmission-daemon/
lrwxrwxrwx 1 root root 38 Sep  5 12:56 settings.json -> /etc/transmission-daemon/settings.json

syslog nach dem tun von service transmission-daemon restart (ich denke es sollte normalerweise auch sein mir zu sagen was ips es zur whitelist hinzufügt:

Jan  7 13:16:37 achilles transmission-daemon[4087]: Closing transmission session... done.
Jan  7 13:16:38 achilles transmission-daemon[5025]: [2017-01-07 13:16:38.552] UDP Failed to set receive buffer: requested 4194304, got 425984 (tr-udp.c:84)
Jan  7 13:16:38 achilles transmission-daemon[5025]: [2017-01-07 13:16:38.552] UDP Failed to set send buffer: requested 1048576, got 425984 (tr-udp.c:95)
Jan  7 13:16:38 achilles transmission-daemon[5025]: [2017-01-07 13:16:38.552] UDP Failed to set receive buffer: requested 4194304, got 425984 (tr-udp.c:84)
Jan  7 13:16:38 achilles transmission-daemon[5025]: [2017-01-07 13:16:38.552] UDP Failed to set send buffer: requested 1048576, got 425984 (tr-udp.c:95)

Also, wo versucht es, seine Konfiguration von jetzt an zu bekommen?

2
Justin Kaeser

Nach der Aktualisierung von 16.04 LTS hat systemd meine Konfigurationsdatei für den Übertragungsdämon nicht vom richtigen Speicherort geladen.

Ich habe eine Problemumgehung gefunden unter: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734467

Ich habe versucht, die Drop-In-Datei * .conf in /etc/systemd/system/transmission.service.d/ zu verwenden, um ExecStart zu überschreiben. Verwenden Sie jedoch ps -ef | grep transmission Ich konnte feststellen, dass nach dem Neuladen und Neustarten immer noch der falsche Konfigurationspfad verwendet wurde.

Widerstrebend habe ich bearbeitet

/lib/systemd/system/transmission-daemon.service

um den korrekten Pfad durch Anhängen einzuschließen

-g /etc/transmission-daemon

in die ExecStart-Zeile.

[Unit]
Description=Transmission BitTorrent Daemon
After=network.target

[Service]
User=debian-transmission
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error -g /etc/transmission-daemon
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target
7
Jim Ladd

Ich hatte gerade das gleiche Problem. _transmission-daemon.service_ hat entschieden, meinen _rpc-whitelist_ aus irgendeinem Grund zu ignorieren, nachdem ich den Benutzer des Daemons geändert habe. Die obige Antwort von Jim Ladd ist etwas auf dem richtigen Weg, aber das Bearbeiten von Systemd-Konfigurationsdateien unter _/lib/systemd_ ist eine wirklich schlechte Idee, da diese Änderungen Paket-Upgrades nicht überleben würden. Die korrekte Methode zum Bearbeiten einer systemd-Konfiguration ist die Verwendung von _systemd edit foo.service_ (wodurch eine Überschreibungsdatei in _/etc/systemd/system/foo.service.d_ erstellt wird, die in Verbindung mit der vorhandenen Konfiguration funktioniert) oder _systemd edit --full foo.service_ (wodurch _/etc/systemd/system/foo.service_, das die _/lib/systemd/_-Version vollständig ersetzt). Um die ExecStart -Zeile zu ersetzen, sollte Ihre Überschreibungsdatei folgendermaßen aussehen:

_# /etc/systemd/system/transmission-daemon.service.d/override.conf
[Service]
ExecStart=  # Clear existing ExecStart
ExecStart=/usr/bin/transmission-daemon -f --log-error -g /etc/transmission-daemon
_

Beachten Sie jedoch, dass das Überschreiben von ExecStart nicht einmal erforderlich ist. _transmission-daemon_ erkennt die Umgebungsvariable _TRANSMISSION_HOME_, die genauso funktioniert wie _-g, --config-dir_. So, ein einfacher Override:

_# A simpler and more robust /etc/systemd/system/transmission-daemon.service.d/override.conf
[Service]
Environment=TRANSMISSION_HOME=/etc/transmission-daemon
_
1
4ae1e1

Ich habe das gleiche Problem seit der Installation am 16.04., Während es zuvor am 14.04. Einwandfrei funktionierte. Überprüfen Sie dies: http://www.htpcguides.com/install-transmission-bittorrent-client-on-ubuntu-15-x/ - Schritte 4, 5 und 6. Grundsätzlich müssen Sie die systemd-Skriptvariablen ändern. Ich weiß, dass sich dies von 14.04 auf 16.04 geändert hat, sollte also nicht auf Sie zutreffen, wenn Sie vorher gearbeitet haben, ist aber einen Versuch wert.

0
Alessandro.

Ich hatte das gleiche Problem nach dem Upgrade vom 16.04 auf den 18.04. @ JimLadds Antwort hat bei mir funktioniert, aber ich wollte nur hinzufügen, dass Sie den Daemon neu starten müssen, nachdem Sie die Datei bearbeitet haben:

systemctl daemon-reload
0
user2399020