демон передачи, игнорирующий settings.json

Так как я обновил свою установку сервера человечности от 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)

Таким образом, где это пытается получить свою конфигурацию с этого времени?

5
задан 7 January 2017 в 15:22

4 ответа

После обновления 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
8
ответ дан 1 December 2019 в 08:59

У меня такая же проблема с тех пор, как я установил 16.04, хотя раньше она работала нормально 14.04. Проверьте это: http://www.htpcguides.com/install-transmission-bittorrent-client-on-ubuntu-15-x/ - шаги №4, №5 и №6. В основном вам нужно изменить переменные сценария systemd. Я знаю, что это кое-что, что изменилось с 14.04 на 16.04, поэтому не должно применяться к вам, если вы работали раньше, но стоит попробовать.

0
ответ дан 1 December 2019 в 08:59

У меня была такая же проблема после обновления с 16.04 до 18.04. Ответ @ JimLadd сработал для меня, но я просто хотел добавить, что вам нужно перезапустить демон после редактирования файла, используя:

systemctl daemon-reload
1
ответ дан 1 December 2019 в 08:59

Только что у меня была такая же проблема; 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
3
ответ дан 1 December 2019 в 08:59

Другие вопросы по тегам:

Похожие вопросы: