Компиляция rTorrent из SVN в Ubuntu 10.04 Lucid Lynx / Debian 5 Lenny с цветным интерфейсом
Автор: Stephan Jau
Ревизия: v1.0
Последнее изменение: 28 августа 2010 г.
Введение
rTorrent — это популярный клиент BitTorrent с интерфейсом командной строки. Он предоставляет мощные возможности и при этом экономен по ресурсам, в отличие от тяжёлых GUI-клиентов вроде Vuze. Доступ по SSH и утилита screen дают всё необходимое для управления rTorrent удалённо.
В предыдущих версиях инструкции добавляли патчи для поддержки magnet-ссылок. В текущей ревизии 1169 поддержка magnet уже включена. Но внутренние детали изменились, и патч для цветного интерфейса был доработан под текущую ревизию.
Эта инструкция рассчитана на Ubuntu 10.04 Lucid Lynx и Debian 5 Lenny. Отличие в том, что в Debian команды с sudo нужно выполнять от root (или добавлять sudo вручную).
Я предполагаю, что вы будете загружать и собирать исходники в папках ~/rtorrent и ~/rtorrent/trunk.
Замечание для Debian Lenny
Если вы используете Debian Lenny, рекомендуется также обновить библиотеки c-ares и curl — то есть собрать их вручную. В этой инструкции дополнительная секция внизу описывает сборку c-ares и curl. После её выполнения продолжайте с шага 4 основной инструкции.
Важное
- Работайте под пользователем с достаточными правами. На Ubuntu используйте sudo, на Debian — либо root, либо sudo в каждой команде.
- Сохраняйте резервную копию существующей конфигурации ~/.rtorrent.rc, если она у вас есть.
Быстрая схема работ (минимальная последовательность)
- Удалить текущую установку rtorrent/libtorrent.
- Установить зависимости.
- Скачать исходники из SVN.
- Применить патчи (цвет, trackerinfo).
- Собрать libtorrent, установить и обновить ldconfig.
- Собрать rtorrent, установить.
- Обновить ~/.rtorrent.rc (session, DHT, цветные опции).
- Запустить rtorrent и проверить работоспособность.
Шаги подробно
1. Удаление текущей установки rtorrent
sudo apt-get remove rtorrent libtorrent*На Debian Lenny выполните эту команду без sudo, от root.
2. Установка необходимых пакетов
sudo apt-get install subversion build-essential libtool automake openssl libsigc++-2.0-dev libncurses5-dev libncursesw5-dev libcurl4-openssl-dev libcppunit-devЕсли вы на Debian Lenny и планируете собирать c-ares и curl вручную, дополнительно потребуется libssl-dev (см. секцию B ниже).
3. Создаём папку для сборки
mkdir ~/rtorrent4. Переходим в папку
cd ~/rtorrentТекущая директория: /home/USER/rtorrent
5. Получаем исходники rTorrent из SVN
svn co svn://rakshasa.no/libtorrent/trunkТекущая версия rTorrent: рев. 1169.
6. Заходим в папку trunk
cd trunkТекущая директория: /home/USER/rtorrent/trunk
7. Скачиваем патчи
Цветовая поддержка для rTorrent:
wget http://www.simplylinux.ch/rtorrent/canvas-color_1169.patchОписание: этот патч добавляет возможность раскрашивать CLI-интерфейс rTorrent. Он делает различимыми завершённые/незавершённые и активные/неактивные торренты. Патч был доработан для ревизии 1169.
Статистика трекера (Tracker Stats):
wget http://www.simplylinux.ch/rtorrent/trackerinfo.patchОписание: добавляет количество сидов/личеров/завершённых по данным трекера в представление трекера. Данные не всегда точны, но полезны для быстрой оценки наличия пиров.
8. Применяем патчи
Цвет:
patch -p0 < canvas-color_1169.patchСтатистика трекера:
patch -p0 < trackerinfo.patchЕсли patch жалуется на несовпадение, проверьте текущую ревизию исходников и правильно ли вы находитесь в корне trunk.
9. Заходим в папку libtorrent
cd libtorrentТекущая директория: /home/USER/rtorrent/trunk/libtorrent
10. Запускаем autogen.sh
./autogen.sh11. Конфигурируем libtorrent
./configureЕсли вы устанавливали собственный curl с поддержкой c-ares, убедитесь, что configure находит правильные заголовки и библиотеки.
12. Сборка libtorrent
make13. Установка libtorrent
sudo make installНа Debian Lenny выполняйте без sudo от root.
14. Дополнить /etc/ld.so.conf
echo "include /usr/local/lib" | sudo tee -a /etc/ld.so.confЭто нужно, если библиотеки установились в /usr/local/lib.
15. Обновляем кэш ld.so
sudo ldconfig16. Переходим в папку rtorrent
cd ../rtorrentТекущая директория: /home/USER/rtorrent/trunk/rtorrent
17. Запускаем autogen.sh для rtorrent
./autogen.sh18. Конфигурируем rtorrent
./configure19. Сборка rtorrent
make20. Установка rtorrent
sudo make installНа Debian Lenny — без sudo от root.
21. Расширяем конфигурацию rtorrent
Поддержка magnet-ссылок требует, чтобы в конфигурации был указан session каталог. Если файл ~/.rtorrent.rc ещё не существует или в нём нет session, добавьте соответствующий параметр.
Можно взять пример конфигурации и адаптировать её:
cp ~/rtorrent/trunk/rtorrent/doc/rtorrent.rc ~/.rtorrent.rcРекомендуется также включить DHT:
network.scgi.open_port = 0
scgi_port = 0
# Пример: network.dht = on (или соответствующая опция в вашем конфиге)Чтобы использовать цветовой патч, добавьте параметры цвета в ~/.rtorrent.rc. Пример:
# Color / Canvas patch
done_fg_color = 2
#done_bg_color = 2
active_fg_color = 1
#active_bg_color = 4Пояснение по цветам: 0 = чёрный; 1 = красный; 2 = зелёный; 3 = жёлтый; 4 = синий; 5 = пурпурный; 6 = циан; 7 = белый. С указанными настройками: неактивные завершённые торренты — тёмно-зелёные, активные завершённые — ярко-зелёные; неактивные незавершённые — тёмно-красные, активные незавершённые — ярко-красные.
rTorrent поддерживает создание/изменение пользовательских представлений (views). Одна полезная настройка — фильтр активных торрентов:
schedule = filter_active,30,30,"view_filter = active,\"or={d.get_up_rate=,d.get_down_rate=}\""Добавьте это в ~/.rtorrent.rc и при необходимости уменьшите интервал 30 до 10 для более частого обновления.
Если у вас ещё нет ~/.rtorrent.rc, можно скачать шаблон (потребуется корректировка путей загрузки и session):
wget http://libtorrent.rakshasa.no/export/1169/trunk/rtorrent/doc/rtorrent.rc -O ~/.rtorrent.rc22. Запуск rtorrent
rtorrentНаслаждайтесь

Сборка c-ares и curl (рекомендовано для Debian Lenny)
Если вы на Debian Lenny и у вас старые версии c-ares/curl, выполните дополнительные шаги. В нижеописанных командах я предполагаю, что вы работаете от root (без sudo). На Ubuntu используйте sudo для соответствующих команд.
B1. Удаляем текущие пакеты
apt-get remove rtorrent libtorrent* libcurl4-openssl-devB2. Устанавливаем дополнительные зависимости
apt-get install subversion build-essential libtool automake openssl libsigc++-2.0-dev libncurses5-dev libncursesw5-dev libcppunit-dev libssl-devB3. Создаём папку сборки
mkdir ~/rtorrentB4. Переходим в неё
cd ~/rtorrentB5. Скачиваем архивы c-ares и curl
wget http://c-ares.haxx.se/c-ares-1.7.3.tar.gz
wget http://curl.haxx.se/download/curl-7.21.1.tar.gzB6. Распаковываем
tar xvfz c-ares-1.7.3.tar.gz
tar xvfz curl-7.21.1.tar.gzB7. Сборка и установка c-ares
cd ~/rtorrent/c-ares-1.7.3
./configure
make
make installB8. Сборка curl с поддержкой c-ares
cd ~/rtorrent/curl-7.21.1
./configure --with-ares
make
make installПосле этого вернитесь в ~/rtorrent и продолжайте с шага 4 основной инструкции (svn checkout и т.д.).
Типичные ошибки и как их решать
- Ошибка при patch: убедитесь, что вы в корне trunk и используете патч для нужной ревизии.
- configure не находит заголовки libcurl: проверьте, что libcurl4-openssl-dev установлена или что вы установили curl в /usr/local и добавили include/lib в пути.
- После make install rtorrent не запускается из-за отсутствия библиотек: выполните echo “include /usr/local/lib” | sudo tee -a /etc/ld.so.conf и sudo ldconfig.
Важно: при самостоятельной установке библиотек в /usr/local конфликт с пакетным менеджером возможен. Ведите заметки, какие файлы вы установили вручную.
Альтернативные подходы
- Установить rTorrent и libtorrent из репозиториев дистрибутива — проще, но может не содержать последних патчей и цветовой поддержки.
- Использовать готовые сборки/ppas (для Ubuntu) — быстро, но менее безопасно, если источник неизвестен.
- Контейнеризация: собрать rTorrent в контейнере (LXC/Docker) — изолирует систему и упрощает откат.
Когда этот метод не подходит
- Если вам нужна GUI-консоль или веб-интерфейс — лучше использовать готовые решения (ruTorrent, WebUI).
- Если ваша система слишком старая и не поддерживает необходимое окружение — рассматривайте обновление ОС.
Контрольный список перед запуском (для оператора)
- Сделан бэкап ~/.rtorrent.rc.
- Проверены права на папки загрузки и session.
- Установлены все зависимости.
- Применены патчи и успешно пройден make без ошибок.
- Выполнен sudo ldconfig и проверены пути библиотек.
Краткая методика проверки (mini-methodology)
- Запустить rtorrent в терминале.
- Добавить тестовый торрент или magnet-ссылку.
- Проверить, отображаются ли цвета и статистика трекера.
- Убедиться в обмене трафиком (get_up_rate/get_down_rate).
- При проблемах — проверить логи, ошибки сборки и правильность путей библиотек.
Глоссарий (1 строка)
- libtorrent — библиотека, на которой базируется rtorrent;
- rtorrent — консольный BitTorrent-клиент;
- patch — файл с изменениями для исходников;
- c-ares — асинхронная DNS-библиотека;
- DHT — распределённая хеш-таблица для поиска пир-узлов.
Безопасность и приватность
- rTorrent сам по себе не шифрует трафик. Для приватности используйте VPN.
- Будьте осторожны при загрузке архивов/патчей из непроверенных источников.
- Ограничьте права доступа к папкам загрузки и session только нужным пользователям.
Краткий список ролей и задач
- Администратор: установить зависимости, собирать libtorrent/rtorrent, обновить ldconfig.
- Пользователь: настроить ~/.rtorrent.rc, создать папки download/session и проверять работу клиента.
- Оператор: контролировать работу, следить за использованием ресурсов и сетевым трафиком.
Резюме
- Инструкция описывает сборку rTorrent (rev. 1169) из SVN с патчами для цвета и статистики трекера.
- На Debian Lenny рекомендована дополнительная сборка c-ares и curl.
- Проверьте конфигурацию ~/.rtorrent.rc, добавьте session и опции цвета, затем запустите rtorrent.
Примечание: если вы столкнётесь со специфичной ошибкой компиляции, приведите вывод make/configure в форум или багтрекер для детального анализа.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента