
Итак, после некоторых исследований я обнаружил существование модулей для служб systemd.
Я пытаюсь запустить transmission-daemon
пакет от имени pi
пользователя, так как это единственный способ получить правильные разрешения в папке, в которую он загружается. По умолчанию он запускается как debian-transmission
. Я хочу уйти от init.d и выбрать подход systemd.
Описано в файле systemd ( /lib/system/systemd/transmission-daemon.service
):
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=debian-transmission
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
С моей заменой в /etc/systemd/system/transmission-daemon.service.d/local.conf
:
[Service]
User=
User=pi
Group=pi
Я запустил sudo systemctl daemon-reload
и sudo systemctl restart transmission-daemon
. Drop-in указан sudo systemctl status transmission-daemon
и отображается как активный, тем не менее, демон работает неправильно, и соединение RPC не работает в браузере.
Заранее спасибо, если поможете, потому что я совсем запутался.
решение1
Найду ответ сам:
Systemd не является проблемой, поскольку он правильно запускает службу, но когда transmission-daemon запускается от имени пользователя pi, он считывает конфигурацию из $HOME/.config/transmission-daemon/settings.json
принадлежащего pi:pi
, а не /etc/transmission-daemon/settings.json
принадлежащего debian-transmission:debian-transmission
.
В качестве решения вы можете перейти на использование файла конфигурации $HOME/transmission-daemon
или передать -g /etc/transmission-daemon/settings.json
директиву ExecStart в раскрывающемся списке.