Requirement
Вы хотите сконфигурировать службу rtorrent в режиме "невидимка" -"daemon", "автостарт".
rtorrent
будет отслеживать Ваши запросы (магнитные ссылки, файлы
закачки) и качать Вам данные.
Assumptions
Предположим,
что программа rtorrent уже
установлена,
работа оттестирована в интерактивном режиме.
работа оттестирована в интерактивном режиме.
Pre-requisites
Нам
потребуется:
- User "rtorrent" (and /home/rtorrent);
- Rtorrent configuration (./rtorrent.config, ./rtorrent.session) (работающая конфигурация rtorrent в /home/rtorrent).
Constraints
Программа
rtorrent является
интерактивной.
Чтобы
отслеживать Ваши запросы, ей необходима находиться в состоянии "активной
сессии", осуществляя вывод на экран. Проще говоря: рторрент в активном экране - рторрент качает. Вышли Вы из сессии Линукс (прекратил выполнение процесс "консоль", связанный с Вашей, к примеру, сессией ssh) - нет больше рторрента, прекратился (вместе с закачками).
Реализация
To
force rtorrent, мы будем обманным путём эмулировать
сессию rtorrent с "виртуальным экраном" в режиме "daemon". Для этого необходимо выполнить подготовительный
сценарий.
Сценарий
состоит из двух шагов:
- Настроить вспомогательную систему - т.н. "мультиплексор терминалов". В нашем примере мы рассмотрим программный мультиплексор tmux;
- Включить автозагрузку - выгрузку (авторестарт) сессии rtorrent с мультиплексором tmux.
Для
этой цели будем работать с systemd (нашим командным интерфейсом будет systemctl).
Работа
Создадим описание сервиса
$sudo nano
/usr/lib/systemd/system/rtorrent.service
[Unit]
Description=rTorrent tmux session
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=rtorrent
KillMode=none
Type=forking
ExecStart=/usr/bin/tmux new-session -s rt -d rtorrent
ExecStop=/usr/bin/tmux kill-session -t rt
User=rtorrent
KillMode=none
WorkingDirectory=/home/rtorrent/
Restart=on-failure
Restart=on-failure
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
Тестируем
сервис.
$sudo systemctl start rtorrent.service
$sudo systemctl is-active rtorrent-service
active
$sudo systemctl status rtorrent.service
$sudo systemctl stop rtorrent.service
Анализируем результат:
Критерии
выполнения задачи:
Рторрент
запускается (см скриншот) и обслуживает Ваши запросы.
Now promote the
service to auto-start!
$sudo systemctl
enable rtorrent.service
Перезагружайте
системеу, проверьте статус рторрента.
$sudo systemctl
status rtorrent.service
Мы
подняли рторрент
Ссылки
Ссылки
1 tmux.sourceforge.net
2 Arch linux systemd
3 Arch linux
rtorrent


Комментариев нет:
Отправить комментарий