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?
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
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
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.
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