
そこで、少し調べたところ、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
。ドロップインは にリストされ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 ディレクティブを渡すことが考えられます。