専用ユーザーとしてrtorrentをシステムサービスとして実行するには?

専用ユーザーとしてrtorrentをシステムサービスとして実行するには?

rtorrent実行しようとしましたが、systemd serviceサービスを開始できませんでした。取得できる構成ファイルとログは次のとおりです。必要に応じて追加情報をリクエストしてください。私は実行しています:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal
$ systemctl status rtorrent
● rtorrent.service - rTorrent
     Loaded: loaded (/etc/systemd/system/rtorrent.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Thu 2021-05-27 08:52:43 EEST; 5min ago
    Process: 20199 ExecStart=/usr/bin/tmux new-session -d -P -s rt -n rtorrent /usr/bin/rtorrent (code=exited, status=0/SUCCESS)
    Process: 20205 ExecStop=/usr/bin/tmux send-keys -t rt:rtorrent C-q (code=exited, status=1/FAILURE)
   Main PID: 20201 (code=exited, status=0/SUCCESS)

May 27 08:52:43 $MACHINE systemd[1]: Starting rTorrent...
May 27 08:52:43 $MACHINE tmux[20199]: rt:
May 27 08:52:43 $MACHINE systemd[1]: Started rTorrent.
May 27 08:52:43 $MACHINE tmux[20205]: no server running on /tmp/tmux-110/default
May 27 08:52:43 $MACHINE systemd[1]: rtorrent.service: Control process exited, code=exited, status=1/FAILURE
May 27 08:52:43 $MACHINE systemd[1]: rtorrent.service: Failed with result 'exit-code'.

設定ファイル..

[Unit]
Description=rTorrent
Requires=network.target local-fs.target

[Service]
Type=forking
KillMode=none
User=rt
Group=adm
ExecStart=/usr/bin/tmux new-session -d -P -s rt -n rtorrent /usr/bin/rtorrent
ExecStop=/usr/bin/tmux send-keys -t rt:rtorrent C-q
WorkingDirectory=/tmp/tmux-110/

[Install]
WantedBy=multi-user.target

追加ログ:

$ journalctl -u rtorrent
May 27 08:52:43 $MACHINE systemd[1]: Starting rTorrent...
May 27 08:52:43 $MACHINE tmux[20199]: rt:
May 27 08:52:43 $MACHINE systemd[1]: Started rTorrent.
May 27 08:52:43 $MACHINE tmux[20205]: no server running on /tmp/tmux-110/default
May 27 08:52:43 $MACHINE systemd[1]: rtorrent.service: Control process exited, code=exited, status=1/FAILURE
May 27 08:52:43 $MACHINE systemd[1]: rtorrent.service: Failed with result 'exit-code'.

rtこれまでユーザーをグループに追加しても、なぜ起動できないのかadmわかりません。 -lingerオプションが有効になっているため、ユーザーにサービスを開始する権限も与えました。まず、次のようにユーザーを追加しました。次のコマンド: 。専用ユーザーとしてサービスを実行するには?それともサービスとして実行する別の方法がありますか?どんな助けでも大変感謝します。tmuxrtrtloginctl enable-linger rtrtsudo adduser --system --gecos "rTorrent Client" --disabled-password --group --home /home/rt rtrtorrentsystemdtmuxsystemd

修正する:rtorrentだから、再起動するために:という名前の新しいユーザーを作成し、ファイルを次のように変更しましたsudo adduser --system --gecos "rTorrent System Client" --disabled-password --group --home /home/rtorrent rtorrent (また、/etc/systemd/system/rtorrent.servicesystem.daemon = true/home/rtorrent/.rtorrent.rcこの投稿のため):

[Unit]
Description=rTorrent System Daemon
After=network.target

[Service]
Type=simple
User=rtorrent
Group=rtorrent

ExecStartPre=-/bin/rm -f /home/rtorrent/.session/rtorrent.lock
ExecStart=/usr/bin/rtorrent -o import=/home/rtorrent/.rtorrent.rc
Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target

しかし、最終的に次のエラーが発生しました。

$ systemctl status rtorrent
● rtorrent.service - rTorrent System Daemon
     Loaded: loaded (/etc/systemd/system/rtorrent.service; enabled; vendor preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Thu 2021-05-27 10:12:26 EEST; 2s ago
    Process: 22855 ExecStartPre=/bin/rm -f /home/rtorrent/.session/rtorrent.lock (code=exited, status=0/SUCCESS)
    Process: 22856 ExecStart=/usr/bin/rtorrent -o import=/home/rtorrent/.rtorrent.rc (code=exited, status=255/EXCEPTION)
   Main PID: 22856 (code=exited, status=255/EXCEPTION)

なぜこれが起こるのですか?私は何が間違っていましたか?

アップデート2: そしてもう一つ、この投稿にファイルを置かずにDebianベースのシステム/etc/systemd/system/に入れることをお勧めします。だからそこに移動し、起動すると自動的に。ただし、次のエラーが発生します。/usr/local/lib/systemd/system/lib/systemd/systemunit-filesymlink/etc/systemd/system/

$ sudo systemctl status rtorrent
● rtorrent.service - rTorrent System Daemon
     Loaded: loaded (/lib/systemd/system/rtorrent.service; enabled; vendor preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Thu 2021-05-27 10:39:14 EEST; 924ms ago
    Process: 24530 ExecStartPre=/bin/rm -f /home/rtorrent/.session/rtorrent.lock (code=exited, status=0/SUCCESS)
    Process: 24531 ExecStart=/usr/bin/rtorrent -o import=/home/rtorrent/.rtorrent.rc (code=exited, status=255/EXCEPTION)
   Main PID: 24531 (code=exited, status=255/EXCEPTION)

ベストアンサー1

tmuxなぜ誰かがあなたの周りに1つが欲しいのかわかりませんrtorrent。その機能は何ですかtmux?あなたは試すことができますhttps://askubuntu.com/questions/802189/how-to-run-tmux-screen-with-systemd-230 追加のプロセスオーバーヘッドが絶対に必要な場合。

とにかく/etc/systemd/system/rtorrent.service

[Unit]
Description=rTorrent System Daemon
After=network.target

[Service]
Type=simple
User=rtorrent
Group=rtorrent

ExecStartPre=-/bin/rm -f /home/rt/.session/rtorrent.lock
ExecStart=/usr/bin/rtorrent -o import=/home/rt/rtorrent.rc
Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target

これが最後の質問に対する答えになります。

おすすめ記事