4

Since I upgraded my ubuntu server installation from 16.04 to 16.10, the transmission-daemon service seems to be ignoring settings.json.

The symptom is that the web interface gives me:

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.

but in /etc/transmission-daemon/settings.json we have, unchanged from before the upgrade:

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

/var/lib/transmission-daemon/.config/transmission-daemon/settings.json also points to /etc/transmission-daemon/settings.json:

jast@achilles:/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 after doing service transmission-daemon restart (I think it should usually be also tellung me what ips it adds to the whitelist:

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)

So where is it trying to get its config from now?

7

After updating 16.04 LTS, systemd would not load my config file for transmission-daemon from the correct location.

I found a workaround at: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734467

I tried the drop-in *.conf file in /etc/systemd/system/transmission.service.d/ to override ExecStart. However, using ps -ef | grep transmission I could see the wrong config location was still being used after reloads and restarts.

Reluctantly, I edited

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

to include the correct path by appending

-g /etc/transmission-daemon

to the ExecStart line.

[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
2

I had the same problem just now; transmission-daemon.service decided to ignore my rpc-whitelist for whatever reason after I changed the user of the daemon. Jim Ladd's answer above is somewhat on the right track but editing systemd config files under /lib/systemd is a really bad idea because those edits wouldn't survive package upgrades. The correct way to edit a systemd config is to use systemd edit foo.service (which creates an override file in /etc/systemd/system/foo.service.d that works in conjunction with the existing config) or systemd edit --full foo.service (which creates /etc/systemd/system/foo.service that completely replaces the /lib/systemd/ version). To replace the ExecStart line, your override file should look like this:

# /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

Note however that overriding ExecStart isn't even necessary. transmission-daemon recognizes the TRANSMISSION_HOME env var, which works the same as -g, --config-dir. So, an easier override:

# A simpler and more robust /etc/systemd/system/transmission-daemon.service.d/override.conf
[Service]
Environment=TRANSMISSION_HOME=/etc/transmission-daemon
  • This should be the accepted answer! I also had to add a line defining the user in override.conf, since I'm running Transmission using a different user than standard: User=username. – miceagol Oct 23 at 10:25
1

I had the same issue after upgrading from 16.04 to 18.04. @JimLadd's answer worked for me but I just wanted to add that you need to restart the daemon after editing the file using:

systemctl daemon-reload
0

I've got the same issue since I installed on 16.04, while it was previously working fine on 14.04. Check this out: http://www.htpcguides.com/install-transmission-bittorrent-client-on-ubuntu-15-x/ - steps #4, #5 and #6. Basically you need to modify the systemd script variables. I know this is something that has changed from 14.04 to 16.04, so shouldn't apply to you if was working before, but is worth a try.

  • can you - for future reference in case the cited source is changed/removed - please add a relevant excerpt from your link? – Phillip -Zyan K Lee- Stockmann Feb 16 '17 at 14:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.