Установка и настройка rTorrent в Debian / Хабрахабр



rTorrent — еще один из самых популярных torrent клинтов в мире Unix-подобных операционных систем (о Transmission я уже написал несколько ранее). При создании этого клиента, по заявлению автора, во главе угла стояли «высокая производительность и хороший код», а использование mmap для отображения файлов в память позволяет добиться на широкополосных каналах трехкратного преимущества перед официальным клиентом. Еще одной характерной чертой rTorrent является наличие множества различных web-интерфейсов «на все вкусы» для удаленного управления. Именно об установке и настройке всего этого я и хочу рассказать на этот раз.

Установка rTorrent

При установке rTorrent я буду предполагать что все действия производятся в последней версии Debian (на момент написания статьи 2010-03-27 это Debian Lenny). Часто, при использовании этой ОС люди выбирают либо стабильную ветку ропозиториев, либо тестовую и отличаются они версиями, содержащихся в них, пакетов. К сожалению, в стабильной ветке находится пакет rtorrent версии 0.7.9 в то время как новейшая версия уже достигла номера 0.8.6. В связи с этим, я расскажу об установке новейшей версии rTorrent отдельно для тестовой, и отдельно для стабильной веток репозиториев.

Установка rTorrent при стабильной ветке репозиториев Debian

В прошлый раз, при описании установки новейшей версии Transmission, я воспользовался компиляцией из исходиков что справедливо вызвало бурю негодований и критики 🙂 В этот раз я покажу как добиться желаемого результата не прибегая к помощи компилятора.Все что нам потребуется, так это подключить тестовую ветку репозиториев и установить из нее свежую версию пакета, но сделать это так, чтобы вся система в целом (за исключением нашего пакета) осталась на стабильной ветке. Выполнить эту задачу можно воспользовавшись механизмом «пиннинга» (не знаю как «pinning» благозвучно переводится на русский) подробнее о котором можно прочитать в официальной документации или, к примеру, вот здесь.Для этого, в файл /etc/apt/sources.list нужно добавить тестовые репозитории:

deb http://ftp.ua.debian.org/debian/ testing main deb http://security.debian.org/ testing/updates main

Я добавлял украинское зеркало, вы же, выбирайте более подходящее вам в зависимости от географического положения или личных предпочтений ;)Следующим шагом создадим файл /etc/apt/preferences и зададим в нем приоритеты для репозиториев таким образом, чтобы по-умолчанию выбирались пакеты из стабильной ветки:

Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650

Теперь нужно обновить список доступных пакетов:# aptitude updateИ выполнить установку последней доступной версии rTorrent:# aptitude -t testing install rtorrentгде опцией "-t" мы явно задали использование тестового репозитория для установки данного пакета.Далее переходим к настройке rTorrent.

Установка rTorrent при тестовой ветке репозиториев Debian

Если же у вас система изначально настроена на использование тестовой ветки репозиториев, то установка, в вашем случае, сводится всего к одной команде:# aptitude install rtorrentПосле этого можно переходить к настройке rTorrent.

Настройка rTorrent

Создаем файл с настройками ~/.rtorrent.rc подобный этому:

# Диапазон рабочих портов torrent клиента. # Если вы за NAT не забываем "пробросить" порты port_range = 32001-32049 # Включаем DHT dht = auto # UDP порт для DHT dht_port = 32000 # Обмен пирами peer_exchange = yes # Использовать ли UDP трекеры use_udp_trackers = yes # Директория в которую по-умолчанию будут загружаться файлы directory = /arch/.Downloading/ # Глобальные ограничения по скорости upload_rate = 80 download_rate = 800 # Директория для записи сессий rTorrent session = /home/username/.rtorrent_session # Задаем настройки для rpc управления scgi_port = 127.0.0.1:5000

Создаем папку для хранения сессии rTorrent:$ mkdir .rtorrent_sessionВообще же, я привел лишь базовые настройки rTorrent. Более подробно о настройках этого замечательного torrent клиента можно прочитать вот тут, тут и тут.

Настройка автозагрузки rTorrent

Для того, чтобы rTorrent автоматически запускался при старте машины нужно выполнить несколько несложных действий. Вначале, установим screen, необходимый для обеспечения работы torrent клиента в фоне:# aptitude install screenЗатем загрузим стартовый скрипт:# cd /etc/init.d/# wget http://libtorrent.rakshasa.no/raw-attachment/wiki/RTorrentCommonTasks/rtorrentInit.shРедактируем файл и указываем имя пользователя от которого будет запускаться rTorrent:

user="user"

Делаем файл исполняемым:# chmod +x rtorrentInit.shЗадаем владельцем файла системного пользователя root:# chown root:root rtorrentInit.shВключаем «автозагрузку»:# update-rc.d rtorrentInit.sh defaultsВсе, теперь демон можно запустить выполнив вот такую команду:# /etc/init.d/rtorrentInit.sh startТеперь, во время каждой загрузки машины, будет автоматически запускаться и наш torrent клиент.

web-интерфейсы

Для работы web-интерфейсов, как вы уже наверняка догадались, требуется web-сервер. Это может быть как Apache, так и Lighttpd, а, вполне вероятно, и какой-либо другой. Однако, для определенности, я буду рассматривать все примеры на базе Apache. Если у вас не установлен web-сервер, то следующий пункт для вас, иначе же — вы волны его просто пролистать.

Установка Apache

Для установки Apache необходимо выполнить несколько простых команд. Начнем с установки самого web-сервера и необходимого для удаленного управления rTorrent модуля scgi:# aptitude install apache2 libapache2-mod-scgiЗадаем настройки модуля в файле /etc/apache2/httpd.conf:

SCGIMount /RPC2         127.0.0.1:5000

и включаем его:# a2enmod scgiДалее, устанавливаем PHP:# aptitude install php5 php5-common libapache2-mod-php5 php5-curlи перезагружаем Apache:# apache2ctl restartПосле установки Apache переходим к рассмотрению различных web-интерфейсов к rTorrent.

wTorrent

Для своей работы wTorrent требует базу данных sqlite. Установим ее:# aptitude install sqlite3 php5-sqlite # apache2ctl restartТеперь загружаем непосредственно сам wTorrent:# cd /var/www/# svn co svn://wtorrent-project.org/repos/trunk/wtorrent/Задаем права доступа для web-сервера:# chown -R www-data:www-data ./wtorrent/Далее направляем браузер по адресу http://<ваш IP адрес>/wtorrent/install.php и настраиваем аналогично этому скриншоту:(Кликни для увеличения)Обязательно, в целях безопасности, удаляем файл install.php:# rm wtorrent/install.phpА теперь можно и оценить результат перейдя по адресу

http://<ваш IP адрес>/wtorrent/

:(Кликни для увеличения)

ruTorrent

Для настройки ruTorrent скачаем последнюю версию из SVN:# cd /var/www/ # svn checkout http://rutorrent.googlecode.com/svn/trunk/rutorrentИ зададим права доступа для web-сервера:# chown -R www-data:www-data ./rutorrent/Теперь чтобы открыть только что установленный ruTorrent нужно направить браузер по адресу

http://<ваш IP адрес>/rutorrent/

. И вот как он выглядит:(Кликни для увеличения)(Кликни для увеличения)Так же не могу не отметить что под ruTorrent существует множество полезных плагинов заметно расширяющих стандартные возможности. Так, с помощью плагинов можно реализовать обработку RSS лент, учет трафика, ограничение скоростей по расписанию и многое другое. Полный список плагинов находится здесь. Я же покажу процесс установки плагина на примере Tracklabels который будет автоматически добавлять метки в зависимости от трекера закачки.# cd /var/www/rutorrent/plugins/ # svn checkout http://rutorrent.googlecode.com/svn/trunk/plugins/tracklabels # chown -R www-data:www-data /var/www/rutorrent/plugins/При этом все остальные плагины добавляются аналогично. А посмотреть на результат установки плагина можно сразу же после обновления странички в браузере:(Кликни для увеличения)И еще одной, ну просто восхитительной, задумкой блеснул ruTorrent. А именно, в нем появляются зачатки многопользовательской работы где каждому человеку привязан свой экземпляр torrent клиента со своими собственными, ни от чего не зависящими настройками и ограничениями (к примеру по скорости). Более детально об этом можно прочитать по следующей ссылке:forums.rutorrent.org/index.php?topic=87.0

Другие web-интерфейсы и программы для удаленного управления

На описанных мною web-интерфейсах список вовсе не заканчивается. Их не так уж и мало создано и разрабатывается. Список самых популярных можно посмотреть на официальном сайте rTorretn’а: libtorrent.rakshasa.no/wiki/UtilsList

И снова об автоматизации загрузок

Не забываю снова и снова напомнишь о такой удобной штуке как автоматизация загрузок ваших любимых сериалов с RSS лент различных трекеров. И несмотря на то что описанные выше web-интерфейсы имеют либо встроенные средства для обработки RSS лент (wTorrent), либо расширяются соответствующими плагинами (ruTorrent) этих средств, к сожалению, не всегда хватает. Более детально ниже:

  • Я уже как-то писал на эту тему вот тут (на примере LostFilm‘a) и вот тут (на примере Кинозала). Оба решения реализованы в виде shell команд и основаны на grep, wget, curl;
  • Кроме того, еще один способ автоматизации с помощью FlexGet описывал Alukar вот тут;
  • И еще один вариант обработки RSS лент с помощью Yahoo Pipes рассмотрен хаброчеловеком AmoN вот в этом посте.

Так же помощниками в этом вопросе могут стать следующие два замечательных сервиса, уже описанные на Хабре: tvfёdor и Kinobaza.tv.

Тюнинг rTorrent при больших нагрузках

Про более тонкие настройки rTorrent при больших нагрузках можно прочитать как на официальном сайте, так и в комментариях пользователей:

%username%, а как ты протюнил свой rTorrent конфиг?UPD. Добавил раздел про тюнинг rTorrent при больших нагрузках.         


http://habrahabr.ru/post/88405/

Губарь Маргарита Александровна