Так как я обновил свою установку сервера человечности от 16,04 до 16,10, сервис демона передачи, кажется, игнорирует settings.json
.
Признак - то, что веб-интерфейс дает мне:
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.
но в /etc/transmission-daemon/settings.json
мы имеем, неизменный до обновления:
"rpc-whitelist": "127.0.0.1,192.168.23.*",
"rpc-whitelist-enabled": true,
/var/lib/transmission-daemon/.config/transmission-daemon/settings.json
также точки к /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
системный журнал после выполнения service transmission-daemon restart
(Я думаю, что это должен обычно быть также tellung я, какого дюйм/с это добавляет к белому списку:
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)
Таким образом, где это пытается получить свою конфигурацию с этого времени?
После обновления 16.04 LTS systemd не загружала мой файл конфигурации для Transmission-daemon из правильного места.
Я нашел обходной путь по адресу: https: //bugs.debian.org/cgi-bin/bugreport.cgi?bug=734467
Я попробовал вставить файл * .conf в /etc/systemd/system/transmission.service.d/, чтобы переопределить ExecStart. Однако при использовании ps -ef | Передача grep Я мог видеть, что после перезагрузки и перезапуска все еще использовалось неправильное расположение конфигурации.
Я неохотно отредактировал
/lib/systemd/system/transmission-daemon.service
, чтобы включить правильный путь, добавив
-g /etc/transmission-daemon
в строку 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
У меня такая же проблема с тех пор, как я установил 16.04, хотя раньше она работала нормально 14.04. Проверьте это: http://www.htpcguides.com/install-transmission-bittorrent-client-on-ubuntu-15-x/ - шаги №4, №5 и №6. В основном вам нужно изменить переменные сценария systemd. Я знаю, что это кое-что, что изменилось с 14.04 на 16.04, поэтому не должно применяться к вам, если вы работали раньше, но стоит попробовать.
У меня была такая же проблема после обновления с 16.04 до 18.04. Ответ @ JimLadd сработал для меня, но я просто хотел добавить, что вам нужно перезапустить демон после редактирования файла, используя:
systemctl daemon-reload
Только что у меня была такая же проблема; Transmission-daemon.service
решил проигнорировать мой rpc-whitelist
по какой-либо причине после того, как я сменил пользователя демона. Вышеупомянутый ответ Джима Лэдда в некоторой степени на правильном пути, но редактирование файлов конфигурации systemd в / lib / systemd
- действительно плохая идея, потому что эти изменения не сохранятся после обновлений пакетов. Правильный способ отредактировать конфигурацию systemd - использовать systemd edit foo.service
(который создает файл переопределения в /etc/systemd/system/foo.service.d
, который работает в в сочетании с существующей конфигурацией) или systemd edit --full foo.service
(который создает /etc/systemd/system/foo.service
, который полностью заменяет / lib / systemd /
версия). Чтобы заменить строку ExecStart
, ваш файл переопределения должен выглядеть следующим образом:
# /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
Обратите внимание, однако, что переопределение ExecStart
даже не требуется. демон передачи
распознает TRANSMISSION_HOME
env var, который работает так же, как -g, --config-dir
. Итак, более простое переопределение:
# A simpler and more robust /etc/systemd/system/transmission-daemon.service.d/override.conf
[Service]
Environment=TRANSMISSION_HOME=/etc/transmission-daemon