Гид по технологиям

Компиляция rTorrent из SVN в Ubuntu 10.04 Lucid Lynx / Debian 5 Lenny с цветным интерфейсом

• 7 min read • DevOps • Обновлено 23 Nov 2025
Компиляция rTorrent из SVN на Ubuntu/Debian
Компиляция rTorrent из SVN на Ubuntu/Debian

Автор: 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, если она у вас есть.

Быстрая схема работ (минимальная последовательность)

  1. Удалить текущую установку rtorrent/libtorrent.
  2. Установить зависимости.
  3. Скачать исходники из SVN.
  4. Применить патчи (цвет, trackerinfo).
  5. Собрать libtorrent, установить и обновить ldconfig.
  6. Собрать rtorrent, установить.
  7. Обновить ~/.rtorrent.rc (session, DHT, цветные опции).
  8. Запустить 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 ~/rtorrent

4. Переходим в папку

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.sh

11. Конфигурируем libtorrent

./configure

Если вы устанавливали собственный curl с поддержкой c-ares, убедитесь, что configure находит правильные заголовки и библиотеки.

12. Сборка libtorrent

make

13. Установка 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 ldconfig

16. Переходим в папку rtorrent

cd ../rtorrent

Текущая директория: /home/USER/rtorrent/trunk/rtorrent

17. Запускаем autogen.sh для rtorrent

./autogen.sh

18. Конфигурируем rtorrent

./configure

19. Сборка rtorrent

make

20. Установка 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.rc

22. Запуск rtorrent

rtorrent

Наслаждайтесь

Цветной интерфейс rTorrent

Сборка c-ares и curl (рекомендовано для Debian Lenny)

Если вы на Debian Lenny и у вас старые версии c-ares/curl, выполните дополнительные шаги. В нижеописанных командах я предполагаю, что вы работаете от root (без sudo). На Ubuntu используйте sudo для соответствующих команд.

B1. Удаляем текущие пакеты

apt-get remove rtorrent libtorrent* libcurl4-openssl-dev

B2. Устанавливаем дополнительные зависимости

apt-get install subversion build-essential libtool automake openssl libsigc++-2.0-dev libncurses5-dev libncursesw5-dev libcppunit-dev libssl-dev

B3. Создаём папку сборки

mkdir ~/rtorrent

B4. Переходим в неё

cd ~/rtorrent

B5. Скачиваем архивы 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.gz

B6. Распаковываем

tar xvfz c-ares-1.7.3.tar.gz  
tar xvfz curl-7.21.1.tar.gz

B7. Сборка и установка c-ares

cd ~/rtorrent/c-ares-1.7.3  
./configure  
make  
make install

B8. Сборка 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)

  1. Запустить rtorrent в терминале.
  2. Добавить тестовый торрент или magnet-ссылку.
  3. Проверить, отображаются ли цвета и статистика трекера.
  4. Убедиться в обмене трафиком (get_up_rate/get_down_rate).
  5. При проблемах — проверить логи, ошибки сборки и правильность путей библиотек.

Глоссарий (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 в форум или багтрекер для детального анализа.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро