LinuxForum.Fans
Тема

Запуск rtorrent в systemd в 12.3

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

Нужно запускать rtorrent при загрузке системы для связки с rutorrent.
Откопал скрипт от archlinux:

text
linux-nas:~] # cat /usr/lib/systemd/system/rtorrent-root.service
            
             [Unit]
             Description=rTorrent
             After=syslog.target network.target remote-fs.target nss-lookup.target
            
             [Service]
             Type=forking
             User=root
             ExecStart=/usr/bin/tmux new-session -s rt -d rtorrent
             ExecStop=/usr/bin/tmux kill-session -t rt
            
             [Install]
             WantedBy=multi-user.target

Если сделать systemctl start rtorrent-root.service то все работает. Но при загрузке не работает. Кто знает почему?

linux-nas:~ # systemctl status rtorrent-root.service
rtorrent-root.service - rTorrent
Loaded: loaded (/usr/lib/systemd/system/rtorrent-root.service; enabled)
Active: failed (Result: exit-code) since Sat, 2013-03-23 11:05:28 MSK; 1min 2s ago
Process: 1363 ExecStop=/usr/bin/tmux kill-session -t rt (code=exited, status=1/FAILURE)
Process: 1315 ExecStart=/usr/bin/tmux new-session -s rt -d rtorrent (code=exited, status=0/SUCCESS)
Main PID: 1340 (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/rtorrent-root.service

Mar 23 11:05:27 linux-nas.site systemd[1]: Starting rTorrent...
Mar 23 11:05:28 linux-nas.site systemd[1]: Started rTorrent.
Mar 23 11:05:28 linux-nas.site tmux[1363]: failed to connect to server
Mar 23 11:05:28 linux-nas.site systemd[1]: Unit rtorrent-root.service entered failed state
linux-nas:~ # systemctl start rtorrent-root.service
linux-nas:~ # systemctl status rtorrent-root.service
rtorrent-root.service - rTorrent
Loaded: loaded (/usr/lib/systemd/system/rtorrent-root.service; enabled)
Active: active (running) since Sat, 2013-03-23 11:06:54 MSK; 2s ago
Process: 1363 ExecStop=/usr/bin/tmux kill-session -t rt (code=exited, status=1/FAILURE)
Process: 3286 ExecStart=/usr/bin/tmux new-session -s rt -d rtorrent (code=exited, status=0/SUCCESS)
Main PID: 3288 (tmux)
CGroup: name=systemd:/system/rtorrent-root.service
├ 3288 /usr/bin/tmux new-session -s rt -d rtorrent
└ 3289 rtorrent

Mar 23 11:06:54 linux-nas systemd[1]: Starting rTorrent...
Mar 23 11:06:54 linux-nas systemd[1]: Started rTorrent.
#310895

vovanukycc,
Делали?

text
# systemctl eneble rtorrent-root.service

Пакет tmux установлен?

#310923

Установлен, enable. в ручную команды /usr/bin/tmux new-session -s rt -d rtorrent /usr/bin/tmux kill-session -t rt работают, systemctl start rtorrent-root.service тоже работает. при загрузке

text

2013-03-23T11:58:56.211834+04:00 linux-nas systemd[1]: Starting rTorrent...
2013-03-23T11:58:56.225048+04:00 linux-nas systemd[1]: Started rTorrent.
2013-03-23T11:58:56.474563+04:00 linux-nas systemd[1]: rtorrent-root.service: control process exited, code=exited status=1
2013-03-23T11:58:56.505055+04:00 linux-nas systemd[1]: Unit rtorrent-root.service entered failed state
#310927

В /var/log/message нет никаких сообщений по отработке этого юнита (при ручном запуске и при загрузке системы)?

#310928

вот /var/log/messages

автостарт:

"vovanukycc⇓" написал:
Mar 23 11:05:27 linux-nas.site systemd[1]: Starting rTorrent...
Mar 23 11:05:28 linux-nas.site systemd[1]: Started rTorrent.
Mar 23 11:05:28 linux-nas.site tmux[1363]: failed to connect to server
Mar 23 11:05:28 linux-nas.site systemd[1]: Unit rtorrent-root.service entered failed state

вручную:

"vovanukycc⇓" написал:
Mar 23 11:06:54 linux-nas systemd[1]: Starting rTorrent...
Mar 23 11:06:54 linux-nas systemd[1]: Started rTorrent.
#310931

У Вас в юните прописан User=root, по-моему это лишнее. И еще, попробуйте закомментировать параметр ExecStop, и посмотрите, что получится. Не нравится мне эта ошибка по ExecStop.

#310960

Без user нельзя, он не знает где настройки взять. Если убрать - говорит что все SUCCESS, правда процесс inactive (dead), что тоже не то (

#310963

Оригинальные юнит файлы из арчвики:
/etc/systemd/system/rtorrent@.service
Вариант1:

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

[Service] Type=forking User=%I ExecStart=/usr/bin/screen -d -m -S rtorrent /usr/bin/rtorrent ExecStop=/usr/bin/killall -w -s 2 rtorrent

[Install] WantedBy=multi-user.target

Вариант2: (при использовании tmux)

text
[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=%I KillMode=none

[Install] WantedBy=multi-user.target

#310976

да-да, они самые ))

Первый вариант:

text
linux-nas:~ # systemctl status rtorrent-root.service
rtorrent-root.service - rTorrent
          Loaded: loaded (/usr/lib/systemd/system/rtorrent-root.service; enabled)
          Active: failed (Result: exit-code) since Sat, 2013-03-23 15:10:20 MSK; 17s ago
         Process: 499 ExecStop=/usr/bin/killall -w -s 2 rtorrent (code=exited, status=1/FAILURE)
         Process: 459 ExecStart=/usr/bin/screen -d -m -S rtorrent /usr/bin/rtorrent (code=exited, status=0/SUCCESS)
        Main PID: 479 (code=exited, status=0/SUCCESS)
          CGroup: name=systemd:/system/rtorrent-root.service

Mar 23 15:10:20 linux-nas.site systemd[1]: Starting rTorrent... Mar 23 15:10:20 linux-nas.site systemd[1]: Started rTorrent. Mar 23 15:10:20 linux-nas.site killall[499]: rtorrent: no process found Mar 23 15:10:20 linux-nas.site systemd[1]: Unit rtorrent-root.service entered failed state

второй вариант:

text
linux-nas:~ # systemctl status rtorrent-root.service
rtorrent-root.service - rTorrent
          Loaded: loaded (/usr/lib/systemd/system/rtorrent-root.service; enabled)
          Active: failed (Result: exit-code) since Sat, 2013-03-23 15:07:00 MSK; 58s ago
         Process: 799 ExecStop=/usr/bin/tmux kill-session -t rt (code=exited, status=1/FAILURE)
         Process: 455 ExecStart=/usr/bin/tmux new-session -s rt -d rtorrent (code=exited, status=0/SUCCESS)
        Main PID: 494 (code=exited, status=0/SUCCESS)
          CGroup: name=systemd:/system/rtorrent-root.service

Mar 23 15:06:58 linux-nas.site systemd[1]: Starting rTorrent... Mar 23 15:06:59 linux-nas.site systemd[1]: Started rTorrent. Mar 23 15:07:00 linux-nas.site tmux[799]: failed to connect to server Mar 23 15:07:00 linux-nas.site systemd[1]: Unit rtorrent-root.service entered failed state

#310984

В общем c User=%I по второму варианту все включается, только только без настроек. Получается бесполезно работающая вещь. (((

#310986

vovanukycc написал:
В общем c User=%I по второму варианту все включается, только только без настроек. Получается бесполезно работающая вещь. (((
А все настройки от root?
#310988

да, есть пользователь user, у него ссылка на файл в /root/ с правами всем читать и всем писать

лог rtorrent

text

Could not read resource file: ~/.rtorrent.rc
#310998

vovanukycc написал:
да, есть пользователь user, у него ссылка на файл в /root/ с правами всем читать и всем писать
То есть каталог /root полностью открыт для пользователя user? Или только этот файл? Если только этот файл, пользователь user все равно не прочитает эти настройки, поскольку не попадет в каталог /root
#311026

Да user тут не причем, не от него же systemd работает. Да и прочитать он файл может так как ссылка на этот файл каталоге /home/user лежит.

#311029

У меня вообще ощущение, что KillMode=none в Opensuse не работает, а в арче пашет.

#311035

vovanukycc написал:
У меня вообще ощущение, что KillMode=none в Opensuse не работает, а в арче пашет.
Давайте сделаем так. Вы мне сбрасываете содержимое файла .rtorrent.rc, можно через ЛС, а я сегодня-завтра пытаюсь разобраться в запуске, потом отписываюсь Вам.
#311043

vovanukycc написал:
В общем c User=%I по второму варианту все включается, только только без настроек. Получается бесполезно работающая вещь. (((
У Вас имя сервиса неправильное, нужно
text
rtorrent@.service

а у Вас

text
rtorrent-root.service
#311046
"urfin⇓" написал:
У Вас имя сервиса неправильное, нужно

rtorrent@.service

а у Вас

rtorrent-root.service

Я за последние два дня их столько раз удалял, создавал, переименовывал .. второе было с утра первое сейчас, без разницы. все равно не работает.

#311047

vovanukycc написал:
Я за последние два дня их столько раз удалял, создавал, переименовывал .. второе было с утра первое сейчас, без разницы. все равно не работает.
Ну, тогда давайте попробуем мое предложение. Чтобы не ковыряться мне самому с файлом настроек, скиньте мне свой.
#311055

.rtorrent.rc:

.rtorrent.rc
text

 cat ~root/.rtorrent.rc
#минимальное число пиров на торрент
min_peers = 1

#максимальное число пиров на торрент max_peers = 1000

#максимальная скорость загрузки download_rate = 0

#максимальная скорость отдачи. 0 - не ограничена upload_rate = 0

#каталог для сохранения закачек или откуда будут сидироваться торренты. directory = /home/user/torrent/download/

#каталог куда будет сохраняться состояние торрентов. #Здесь, в этом примере, они сохраняются в папку session session = /home/user/torrent/session/

#rtorrent каждые 5 секунд проверяет этот каталог на новые *.torrent файлы #и если они есть то ставит их на закачку schedule = watch_directory,5,5,load_start=/home/user/torrent/torrent_auto_load/*.torrent

#проверяет каталоги 2 и 3 на новые *.torrent файлы и сохраняет закачки в соответствующие папки schedule = watch_directory_2,5,5,"load_start=/home/user/torrent/torrent_auto_load_2/*.torrent,d.set_directory=/home/user/torrent/download2" schedule = watch_directory_3,5,5,"load_start=/home/user/torrent/torrent_auto_load_3/*.torrent,d.set_directory=/home/user/torrent/download3"

#номер порта (или нескольких портов) который открывает клиент для обмена данными port_range = 40890-40890

#случайный выбор порта для обмена данными. В данном случае он отключён port_random = no

#проверять хэш торрента после закачки check_hash = yes

#сохранять сессию session_save = yes

#принимать зашифрованные входящие соединения, устанавливать незашифрованные исходящие соединения, #если возвращает ошибку, повторять с шифрованием, предпочитать открытый текст после установления #зашифрованного соединения encryption = allow_incoming,enable_retry,prefer_plaintext

#использовать udp use_udp_trackers = yes

# Разрешает работу DHT для безтрекерных торрентов или для случаев, когда все ретрекеры лежат # (не работают). # Может принимать значения "disable" (для полного отключения DHT), "off" (не стартует с DHT), # "auto" (Включает DHT при возможности), или "on" (принудительно включает DHT). # Значение DHT по умолчанию "off". Для правильной работы DHT каталог сеансов "session" должен # быть определен. # dht = auto # # UDP порт, используемый DHT. # dht_port = 6881

# Принудительно устанавливает кодировку UTF-8 для xmlrpc. # Рекомендуется для устранения проблем при использовании в # наименованиях торрентов символов кириллицы. Актуально для # GUI, работающих через xmlrpc. encoding_list = UTF-8

#log.execute = /home/user/torrent/rtorrent.log

инструкция Арча https://wiki.archlinux.org/index.php/RTorrent

Войдите или зарегистрируйтесь, чтобы ответить.