OK. Завтра постараюсь к вечеру отписаться о результатах. Сегодня уже поздно заниматься. Уж полночь... :)
Запуск rtorrent в systemd в 12.3
Отчитываюсь.
Проверил сначала с User=root в юните, все работает.
rtorrent.serviceПоказать
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
# systemctl status rtorrent.serviceПоказать
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
# systemctl status rtorrent.serviceПоказать
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
# 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
chown -R rtor.users torrentИзмените в .rtorrent.rc все вхождения /home/user на /home/rtor, а файл .rtorrent.rc перенесите с правами на чтение в /home/rtor
Замените в rtorrent.service параметр User=root на User=rtor, все, перезагружайтесь. Проверяйте после перезагрузки:
# systemctl status rtorrent.serviceПоказать
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.
Все работает.
ОК, получилось. Видать сам намудил что-то с пользователем user, а от root косячит. Спасибо!
Ничего не косячит. Косячит при любом пользователе, но только, если не существуют или не доступны каталоги, прописанные в ~/.rtorrent.rc, и косячит сам rtorrent, а не юнит - юнит просто начинает выходить по ошибке из-за ошибочного завершения rtorrent'а. Поскольку работа в nix'ах из-под root не рекомендуется, даже и в случае запуска через systemd, я Вам и предложил создать пользователя специально для rtorrent. Можно было и Вашего пользователя user использовать, только навести порядок с каталогами для rtorrent в домашнем каталоге пользователя user, и установить правильно права для пользователя user на эти каталоги.а от root косячит
не понятно стартует rtorrent+tmux. после загрузки в процессах висит, связь с треккером есть т.к. я в списке раздающих. если добавить торрент файл ничего не происходит (не хеширует, не ставит на закачку).$ tmux attach, окно открывается и зависает. помогает только systemctl restart rtorrent.service
. с screen таже беда.
$ 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не понятно стартует rtorrent+tmux
Посматрите в списке процессов есть ли rtorrent, Htop, top, или ps, например:
ps -ax | grep rtorrent$ 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, тогда всё нормально.
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