web-dev-qa-db-fra.com

transmission-daemon en ignorant settings.json

Depuis que j'ai mis à niveau mon installation de serveur Ubuntu du 16.04 au 16.10, le service de transmission-démon semble ignorer settings.json.

Le symptôme est que l'interface web me donne:

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.

mais dans /etc/transmission-daemon/settings.json nous avons, inchangé d'avant la mise à niveau:

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

/var/lib/transmission-daemon/.config/transmission-daemon/settings.json pointe également sur /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 après avoir fait service transmission-daemon restart (je pense que cela devrait normalement aussi indiquer à moi ce que cela ajoute à la liste blanche:

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)

Alors, où cherche-t-il à obtenir sa configuration maintenant?

2
Justin Kaeser

Après la mise à jour de 16.04 LTS, Systemd ne chargerait pas mon fichier de configuration pour le démon de transmission à partir du bon emplacement.

J'ai trouvé une solution de contournement à l'adresse suivante: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734467

J'ai essayé le fichier * .conf inséré dans /etc/systemd/system/transmission.service.d/ pour remplacer ExecStart. Cependant, en utilisant ps -ef | transmission Grep Je pouvais voir que le mauvais emplacement de configuration était encore utilisé après les rechargements et les redémarrages.

À contrecœur, j'ai édité

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

inclure le chemin correct en ajoutant

-g /etc/transmission-daemon

à la ligne ExecStart.

[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

J'ai eu le même problème tout à l'heure; transmission-daemon.service a décidé d'ignorer mon rpc-whitelist pour quelque raison que ce soit après avoir changé l'utilisateur du démon. La réponse de Jim Ladd ci-dessus est un peu sur la bonne voie, mais éditer des fichiers de configuration systemd sous /lib/systemd est une très mauvaise idée car ces éditions ne survivraient pas aux mises à jour des paquets. La bonne façon de modifier une configuration systemd consiste à utiliser systemd edit foo.service (qui crée un fichier de substitution dans /etc/systemd/system/foo.service.d qui fonctionne conjointement avec la configuration existante) ou systemd edit --full foo.service (qui crée /etc/systemd/system/foo.service qui remplace complètement la version /lib/systemd/). Pour remplacer la ligne ExecStart, votre fichier de substitution doit ressembler à ceci:

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

Notez cependant que l'annulation de ExecStart n'est même pas nécessaire. transmission-daemon reconnaît la TRANSMISSION_HOME env var, qui fonctionne de la même manière que -g, --config-dir. Donc, un remplacement plus facile:

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

J'ai le même problème depuis que j'ai installé le 16.04, alors que cela fonctionnait déjà bien le 14.04. Découvrez ceci: http://www.htpcguides.com/install-transmission-bittorrent-client-on-ubuntu-15-x/ - étapes n ° 4, n ° 5 et n ° 6. En gros, vous devez modifier les variables de script systemd. Je sais que c'est quelque chose qui a changé de 14.04 à 16.04, donc ne devrait pas s'appliquer à vous si fonctionnait auparavant, mais vaut la peine d'essayer.

0
Alessandro.

J'ai eu le même problème après la mise à niveau de 16.04 à 18.04. La réponse de @ JimLadd a fonctionné pour moi, mais je voulais simplement ajouter que vous devez redémarrer le démon après avoir modifié le fichier à l'aide de:

systemctl daemon-reload
0
user2399020