LinuxForum.Fans
Тема

Запуск rtorrent в systemd в 12.3

Автор: vovanukycc 27 сообщений 5638 просмотров
#311057

OK. Завтра постараюсь к вечеру отписаться о результатах. Сегодня уже поздно заниматься. Уж полночь... :)

#311127

Отчитываюсь.
Проверил сначала с User=root в юните, все работает.

text
rtorrent.service
Показать
[Unit]
Description=rTorrent
Requires=network.target local-fs.target

[Service]
Type=forking
ExecStart=/usr/bin/tmux new-session -s rt -d rtorrent
ExecStop=/usr/bin/tmux kill-session -t rt
User=root
KillMode=none

[Install]
WantedBy=multi-user.target
Однако, если не существует каталог /home/user/torrent/session, указанный в .rtorrent.rc, то юнит валится с ошибкой.
text
# systemctl status rtorrent.service

Показать
rtorrent-v.service - rTorrent
Loaded: loaded (/usr/lib/systemd/system/rtorrent-v.service; enabled)
Active: failed (Result: exit-code) since Sun, 2013-03-24 10:01:49 NOVT; 1min 47s ago
Process: 1476 ExecStop=/usr/bin/tmux kill-session -t rt (code=exited, status=1/FAILURE)
Process: 534 ExecStart=/usr/bin/tmux new-session -s rt -d rtorrent (code=exited, status=0/SUCCESS)
Main PID: 843 (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/rtorrent-v.service

Mar 24 10:01:46 urfin systemd[1]: Started rTorrent.
Mar 24 10:01:49 urfin tmux[1476]: failed to connect to server
Mar 24 10:01:49 urfin systemd[1]: Unit rtorrent-v.service entered failed state
При наличии этого каталога, все работает хорошо.

text
# systemctl status rtorrent.service

Показать
rtorrent-v.service - rTorrent
Loaded: loaded (/usr/lib/systemd/system/rtorrent-v.service; enabled)
Active: active (running) since Sun, 2013-03-24 10:05:18 NOVT; 1min 8s ago
Process: 528 ExecStart=/usr/bin/tmux new-session -s rt -d rtorrent (code=exited, status=0/SUCCESS)
Main PID: 858 (tmux)
CGroup: name=systemd:/system/rtorrent-v.service
├ 858 /usr/bin/tmux new-session -s rt -d rtorrent
└ 867 rtorrent

Mar 24 10:05:17 urfin systemd[1]: Starting rTorrent...
Mar 24 10:05:18 urfin systemd[1]: Started rTorrent.
Создайте все каталоги, прописанные в .rtorrent.rc. И можете использовать юнит. А еще лучше создать специального юзера для rtorrent, например, rtor:

Показать
# useradd -s /usr/sbin/nologin -d /home/rtor -g users -m rtor
создайте все каталоги для rtorrent
# mkdir -p /home/rtor/torrent/session
# mkdir /home/rtor/torrent/download
# mkdir /home/rtor/torrent/torrent_auto_load
# mkdir /home/rtor/torrent/torrent_auto_load_2
# mkdir /home/rtor/torrent/torrent_auto_load_3
# mkdir /home/rtor/torrent/download2
# mkdir /home/rtor/torrent/download3
Зайдите в каталог /home/rtor и передайте права на каталог torrent пользователю rtor

text
chown -R rtor.users torrent

Измените в .rtorrent.rc все вхождения /home/user на /home/rtor, а файл .rtorrent.rc перенесите с правами на чтение в /home/rtor

Замените в rtorrent.service параметр User=root на User=rtor, все, перезагружайтесь. Проверяйте после перезагрузки:

text
# systemctl status rtorrent.service

Показать
rtorrent.service - rTorrent
Loaded: loaded (/usr/lib/systemd/system/rtorrent.service; enabled)
Active: active (running) since Sun, 2013-03-24 10:40:53 NOVT; 1min 22s ago
Process: 534 ExecStart=/usr/bin/tmux new-session -s rt -d rtorrent (code=exited, status=0/SUCCESS)
Main PID: 590 (tmux)
CGroup: name=systemd:/system/rtorrent.service
├ 590 /usr/bin/tmux new-session -s rt -d rtorrent
└ 594 rtorrent

Mar 24 10:40:53 urfin systemd[1]: Started rTorrent.

Все работает.

#311205

ОК, получилось. Видать сам намудил что-то с пользователем user, а от root косячит. Спасибо!

#311223

"vovanukycc⇓" написал:
а от root косячит
Ничего не косячит. Косячит при любом пользователе, но только, если не существуют или не доступны каталоги, прописанные в ~/.rtorrent.rc, и косячит сам rtorrent, а не юнит - юнит просто начинает выходить по ошибке из-за ошибочного завершения rtorrent'а. Поскольку работа в nix'ах из-под root не рекомендуется, даже и в случае запуска через systemd, я Вам и предложил создать пользователя специально для rtorrent. Можно было и Вашего пользователя user использовать, только навести порядок с каталогами для rtorrent в домашнем каталоге пользователя user, и установить правильно права для пользователя user на эти каталоги.
#313090

не понятно стартует rtorrent+tmux. после загрузки в процессах висит, связь с треккером есть т.к. я в списке раздающих. если добавить торрент файл ничего не происходит (не хеширует, не ставит на закачку).$ tmux attach, окно открывается и зависает. помогает только systemctl restart rtorrent.service
. с screen таже беда.

text
$ systemctl status rtorrent.service
rtorrent.service - Start rTorrent
      Loaded: loaded (/etc/systemd/system/rtorrent.service; enabled)
      Active: active (running) since Ср. 2013-04-03 13:55:33 EEST
     Process: 912 ExecStart=/usr/bin/tmux new-session -d -s rtorrent rtorrent (code=exited, status=0/SUCCESS)
    Main PID: 956 (tmux)
      CGroup: name=systemd:/system/rtorrent.service
          ├─956 /usr/bin/tmux new-session -d -s rtorrent rtorrent
          └─957 rtorrent
$ systemctl restart rtorrent.service
$ systemctl status rtorrent.service
rtorrent.service - Start rTorrent
      Loaded: loaded (/etc/systemd/system/rtorrent.service; enabled)
      Active: active (running) since Ср. 2013-04-03 11:08:19 EEST; 3s ago
     Process: 3109 ExecStart=/usr/bin/tmux new-session -d -s rtorrent rtorrent (code=exited, status=0/SUCCESS)
    Main PID: 3111 (tmux)
      CGroup: name=systemd:/system/rtorrent.service
          ├─3111 /usr/bin/tmux new-session -d -s rtorrent rtorrent
          └─3112 rtorrent
#313094
"wers⇓" написал:
не понятно стартует rtorrent+tmux

Посматрите в списке процессов есть ли rtorrent, Htop, top, или ps, например:

text
ps -ax | grep rtorrent
#313095
text
$ ps -ax | grep rtorrent
  957 ?        Ss     0:00 /usr/bin/tmux new-session -d -s rtorrent rtorrent
  958 pts/0    Ssl+   0:00 rtorrent
 2191 pts/1    S+     0:00 grep --color=auto rtorrent

подметил что после рестарта ID процесса всегда меняется больше 2000, тогда всё нормально.

text
ps -ax | grep rtorrent
 2319 ?        Ss     0:00 /usr/bin/tmux new-session -d -s rtorrent rtorrent
 2320 pts/0    Ssl+   0:00 rtorrent
 2449 pts/2    S+     0:00 grep --color=auto rtorrent
Войдите или зарегистрируйтесь, чтобы ответить.