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オプションが有効になっているため、ユーザーにサービスを開始する権限も与えました。まず、次のようにユーザーを追加しました。次のコマンド: 。専用ユーザーとしてサービスを実行するには?それともサービスとして実行する別の方法がありますか?どんな助けでも大変感謝します。tmux
rt
rt
loginctl enable-linger rt
rt
sudo adduser --system --gecos "rTorrent Client" --disabled-password --group --home /home/rt rt
rtorrent
systemd
tmux
systemd
修正する:rtorrent
だから、再起動するために:という名前の新しいユーザーを作成し、ファイルを次のように変更しましたsudo adduser --system --gecos "rTorrent System Client" --disabled-password --group --home /home/rtorrent rtorrent
(また、/etc/systemd/system/rtorrent.service
system.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/system
unit-file
symlink
/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
これが最後の質問に対する答えになります。
答え2
デーモンとscreen/tmuxによるrtorrent
rtorrent 0.9.7 から screen/tmuxもう必要ありません。rtorrentをシステム全体のデーモンとして実行するコンソールインタフェースが不要な場合。以前は、SCGIを介して急流を管理するために外部インタフェース(ruTorrentなど)を使用している場合でも、rtorrentがアクティブ端末を制御する必要があったため、これは必須でした。
ターミナルを使用してrtorrentを制御できるように、screenまたはtmuxを使用してrtorrentを実行するには、以下を参照してください。この回答
rtorrent.rc
rtorrentをデーモンとして実行するには、ファイルに次の設定を追加するだけです。
system.daemon.set = true
あなた外部ソフトウェアでのみ制御可能SCGIを介して構成するため、構成ファイルでSCGIも構成する必要があります。
# Bind SCGI to localhost only on port 5000
network.scgi.open_port = 127.0.0.1:5000
ノート:構成ファイルにすでにscgi_port = ...
ディレクティブが含まれている可能性があります。これはSCGIポートを開く古い方法であり、上記と同じですが、どちらも設定ファイルに入れないでください。それ以外の場合、rtorrentはポートが開いていると文句を言いますError in option file: <file>:<line>: SCGI already enabled.
。
サービスプロファイル
サービスファイルの外観に対するLjm Dullaartの以前の答えは正しいです。ただし、使用しているrtorrent構成ファイルに注意を払う必要があります。
デフォルトでは、rtorrentはこの~/.rtorrent.rc
ファイルを設定ファイルにロードします。-o import ~/.rtorrent.rc
ユニットファイルのオプションを使用してロードすると、rtorrentはファイルをロードします。二重。 rtorrentは、network.scgi.open_port
またはconfig行を2回読み取るため、SCGIポートが開いていると文句を言いますscgi_port
。また、-n
rtorrentがデフォルト設定ファイルを読み取らないようにオプションスイッチを追加する必要があります。
ユニットファイルは/etc/systemd/system/rtorrent.service
次のようになります。
[Unit]
Description=rTorrent system daemon
After=network.target
[Service]
Type=simple
User=torrent
Group=torrent
# Change these settings to match your install:
Environment=RTORRENT_DIR=/home/torrent
Environment=RTORRENT_CONFIG=${RTORRENT_DIR}/.rtorrent.rc
Environment=SESSION_DIR=${RTORRENT_DIR}/session
ExecStartPre=/bin/rm -f ${SESSION_DIR}/rtorrent.lock
ExecStart=/usr/bin/rtorrent -n -o import=${RTORRENT_CONFIG}
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
答え3
これは私に役立ちました:
説明されているようにデフォルト構成をインストールします。ここ。このページには、現在のユーザー名を使用するように構成をダウンロードして更新するスクリプトが含まれています。
curl -Ls "https://raw.githubusercontent.com/wiki/rakshasa/rtorrent/CONFIG-Template.md" \ | sed -ne "/^######/,/^### END/p" \ | sed -re "s:/home/USERNAME:$HOME:" >~/.rtorrent.rc mkdir -p ~/rtorrent/
構成から次の3行のコメントを削除します。
system.daemon.set = true network.scgi.open_local = (cat,(session.path),rpc.socket) execute.nothrow = chmod,770,(cat,(session.path),rpc.socket)
次の説明に従ってサービスを開始します。この回答ただし、
-o
パラメーターは指定しません。ExecStart=/usr/bin/rtorrent
rtorrent
自動的に設定をインポートします~/.rtorrent.rc
。
ログに次のエラーがたくさん表示された場合は、構成が2回ロードされているかどうかを確認できます。
1687310792 C Caught exception: 'Error in option file: ~/.rtorrent.rc:11: Invalid key.'.