При создании использовал материалы сайтов:
- Собираем rTorrent из исходников 2
- Установка и настройка rTorrent в Debian
- rutorrent
- на всякий случай
Задача:
Без всяких иксов настроить автоматическую работу битторент клиента для раздач и скачивания :)
Почему rtorrent?
rTorrent — еще один из самых популярных torrent клинтов в мире Unix-подобных операционных систем. При создании этого клиента, по заявлению автора, во главе угла стояли «высокая производительность и хороший код», а использование mmap для отображения файлов в память позволяет добиться на широкополосных каналах трехкратного преимущества перед официальным клиентом. Еще одной характерной чертой rTorrent является наличие множества различных web-интерфейсов «на все вкусы» для удаленного управления.
Ну и сам клиент полностью консольный.
1. Установка rTorrent
Первую установку я сделал из репозитариев Debian. В итоге в веб-интерфейсе все размеры файлов более 2Гб отображались отрицательными числами, и web-мордочка говорила об ошибках и ограниченном функционале.
Потому погуглив, решил собрать свежую версию из исходников.
Если в системе уже установлены старые версии – удаляем их:
aptitude purge remove libxmlrpc-core-c3 libxmlrpc-core-c3-dev libxmlrpc-c3 libxmlrpc-c3-dev libtorrent11 libtorrent11-dev rtorrent
Теперь устанавливаем необходимые для сборки пакеты:
aptitude install build-essential checkinstall libcurl4-openssl-dev libncurses5-dev libncursesw5-dev libsigc++-2.0-dev libtool
***Следите за версиями пакетов, в будущем они обновятся.
***Установка из svn описана по ссылкам выше
Зависимости потянут за собой еще несколько связанных пакетов. Замечу что категорически рекомендуется помимо libncurses5-dev ставить библиотеку libncursesw5-dev, чтобы в rtorrent могли корректно отображаться пути, содержащие русские буквы.
Подготовка закончена, можно начинать. Собирать буду в папке /usr/src
Стабильные версии xmlrpc-c всегда доступны на Sourceforge здесь. Скачиваем архив с исходниками: xmlrpc-c-1.16.39.tgz и распаковываем. Можно приступать, выполняем в консоли:
cd /usr/src
wget http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.16.39/xmlrpc-c-1.16.39.tgz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fxmlrpc-c%2Ffiles%2FXmlrpc-c%2520Super%2520Stable%2F1.16.39%2F&ts=1329042974&use_mirror=ignum
Скачается с офигенным именем, переименуйте в xmlrpc-c-1.16.39.tgz командой mv
tar xvzf xmlrpc-c-1.16.39.tgz
cd xmlrpc-c-1.16.38
./configure --prefix=/usr && make && checkinstall
Первой мы распаковываем архив с исходниками в рабочую папку. Третья – команда конфигурирования, проверяет наличие необходимых для сборки файлов и создает Make-файлы (правила для компиляции). Опция --prefix=/usr указывает куда следует устанавливать скомпилированные файлы. По умолчанию они установятся в каталоги ‘/usr/local/bin’ и ‘/usr/local/lib’, что позволяет иметь одновременно и программу, установленную из репозиториев, и собственноручно собранную. В данном случае скомпилированные бинарники и библиотеки установятся в ‘/usr/bin’ и ‘/usr/lib’ соответственно. Четвертая — команда компиляции и пятая — запускает процесс сборки deb-пакета.
При создании пакета вас попросят добавить описание пакета — тут уж все на ваш вкус. Единственное может появиться ошибка несоответствия версии стандарта deb и версии из исходных текстов. Просто скопируйте версию вида x.x.x из названия tarball’а. В остальном ничего править не обязательно, поэтому смело нажимайте Enter.
2. Теперь приступим к сборке libtorrent.
cd /usr/src
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.9.tar.gz
tar xvzf libtorrent-0.12.9.tar.gz
cd libtorrent-0.12.9
./configure --prefix=/usr --with-posix-fallocate && make && checkinstall
Опция --with-posix-fallocate позволяет избежать фрагментации скачиваемых торрентов путем выделения места на диске сразу под весь объем файла(ов). Что бы включить эту функцию в самой программе добавьте строчку system.file_allocate.set = yes в конфигурационный файл.
3. Собираем rtorrent.
Ну и сам клиент полностью консольный.
1. Установка rTorrent
Первую установку я сделал из репозитариев Debian. В итоге в веб-интерфейсе все размеры файлов более 2Гб отображались отрицательными числами, и web-мордочка говорила об ошибках и ограниченном функционале.
Потому погуглив, решил собрать свежую версию из исходников.
Если в системе уже установлены старые версии – удаляем их:
aptitude purge remove libxmlrpc-core-c3 libxmlrpc-core-c3-dev libxmlrpc-c3 libxmlrpc-c3-dev libtorrent11 libtorrent11-dev rtorrent
Теперь устанавливаем необходимые для сборки пакеты:
aptitude install build-essential checkinstall libcurl4-openssl-dev libncurses5-dev libncursesw5-dev libsigc++-2.0-dev libtool
***Следите за версиями пакетов, в будущем они обновятся.
***Установка из svn описана по ссылкам выше
Зависимости потянут за собой еще несколько связанных пакетов. Замечу что категорически рекомендуется помимо libncurses5-dev ставить библиотеку libncursesw5-dev, чтобы в rtorrent могли корректно отображаться пути, содержащие русские буквы.
Подготовка закончена, можно начинать. Собирать буду в папке /usr/src
Стабильные версии xmlrpc-c всегда доступны на Sourceforge здесь. Скачиваем архив с исходниками: xmlrpc-c-1.16.39.tgz и распаковываем. Можно приступать, выполняем в консоли:
cd /usr/src
wget http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.16.39/xmlrpc-c-1.16.39.tgz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fxmlrpc-c%2Ffiles%2FXmlrpc-c%2520Super%2520Stable%2F1.16.39%2F&ts=1329042974&use_mirror=ignum
Скачается с офигенным именем, переименуйте в xmlrpc-c-1.16.39.tgz командой mv
tar xvzf xmlrpc-c-1.16.39.tgz
cd xmlrpc-c-1.16.38
./configure --prefix=/usr && make && checkinstall
Первой мы распаковываем архив с исходниками в рабочую папку. Третья – команда конфигурирования, проверяет наличие необходимых для сборки файлов и создает Make-файлы (правила для компиляции). Опция --prefix=/usr указывает куда следует устанавливать скомпилированные файлы. По умолчанию они установятся в каталоги ‘/usr/local/bin’ и ‘/usr/local/lib’, что позволяет иметь одновременно и программу, установленную из репозиториев, и собственноручно собранную. В данном случае скомпилированные бинарники и библиотеки установятся в ‘/usr/bin’ и ‘/usr/lib’ соответственно. Четвертая — команда компиляции и пятая — запускает процесс сборки deb-пакета.
При создании пакета вас попросят добавить описание пакета — тут уж все на ваш вкус. Единственное может появиться ошибка несоответствия версии стандарта deb и версии из исходных текстов. Просто скопируйте версию вида x.x.x из названия tarball’а. В остальном ничего править не обязательно, поэтому смело нажимайте Enter.
2. Теперь приступим к сборке libtorrent.
cd /usr/src
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.9.tar.gz
tar xvzf libtorrent-0.12.9.tar.gz
cd libtorrent-0.12.9
./configure --prefix=/usr --with-posix-fallocate && make && checkinstall
Опция --with-posix-fallocate позволяет избежать фрагментации скачиваемых торрентов путем выделения места на диске сразу под весь объем файла(ов). Что бы включить эту функцию в самой программе добавьте строчку system.file_allocate.set = yes в конфигурационный файл.
3. Собираем rtorrent.
cd ~/src
wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.9.tar.gz
tar xvzf rtorrent-0.8.9.tar.gz
cd rtorrent-0.8.9
./configure --prefix=/usr --with-xmlrpc-c && make && checkinstall
После всех манипуляций получаем собранные и установленные пакеты:
dpkg -l | grep xmlrpc
ii xmlrpc-c 1.16.39-1 my-xmlrpc-c-1.16.39
dpkg -l | grep torrent
ii libtorrent 0.12.9-1 libtorrent-0.12.9
ii rtorrent 0.8.9-1 my-rtorrent-0.8.9
4. Устанавливаем web-gui rutorrent.
aptitude install apache2 libapache2-mod-php5 libapache2-mod-scgi
Настройка Apache:
Я ограничил работу web-сервера одним интерфейсом:
nano /etc/apache2/ports.conf
Listen 192.168.0.1:80 ### ваш адрес, порт 80
Включаем модуль scgi
a2enmod scgi
и настраиваем этот модуль:
cat /etc/apache2/mods-enabled/scgi.conf
SCGIMount "/RPC2" 127.0.0.1:5000
Собственно сам rutorrent:
cd /var/www
wget http://rutorrent.googlecode.com/files/rutorrent-3.3.tar.gz
tar xvzf rutorrent-3.3.tar.gz
Цитата отсюда:
Собственно, вся установка проходит под лозунгом "наливай да пей". Необходимо скачать версию и развернуть полученный архив в корень веб-сервера. Делать это лучше из под пользователя, под которым работает собственно веб-сервер. Если это по каким-либо причинам невозможно (например, данный пользователь не имеет доступа к шеллу) - необходимо убедиться, что все файлы ruTorrent доступны пользователю веб-сервера на чтение, а директория rutorrent/share со всем своим содержимым - на чтение и запись. Причем последняя должна так же быть доступна на чтение/запись пользователю, из под которого работает rTorrent. В любом случае, при первой загрузке ruTorrent произведет самодиагностику, и если что не так - он Вам скажет. По крайней мере, должен сказать. ;)
5. Запуск, автозапуск и тестирование.
Есть скрипт управления rtorrent, который запущен в фоне, т.е. в screen.
Если screen не установлен:
aptitude install screen
Скрипт размещаем в /etc/init.d/ и управляем торрент-клиентом как любым другим сервисом, с помощью start, stop, restart
Вот один вариант скрипта:
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 клиент.
Второй вариант wget http://isudo.ru/files/rTorrent.sh
Установка аналогично первому.Вот вроде бы и все.
Произвёл шесть установок подряд по вышеуказанной методике и все шесть закончились неудачей при старте системы, причём при каждой установке разные сообщения об ошибках. В основном преобладают сообщения об ошибках чтения жёстких дисков. Загрузился с USB_HDD и протестировал все диски на наличие ошибок - ошибок нет. Система Debian 7, которая вот уже шестой год прекрасно работает на сервере также ошибок не находит. Для проверки установил на тот же диск в те же разделы, куда ранее устанавливал Debian 9.3, Ubuntu 16.04 server, система запустилась и работает нормально. В режиме с графическим окружением рабочего стола Debian 9 устанавливается и загружается, но имеет такое количество недостатков, что о замене Debian 7 на новую версию не может быть и речи. Даже на домашнем кинотеатре и рабочей станции я предпочитаю устанавливать Ubuntu, и Windows
ОтветитьУдалитьСейчас на Debian GNU/Linux 8.8 (jessie) установлен Rakshasa's BitTorrent client version 0.9.6.
ОтветитьУдалитьИз исходников. Сервер без gui.
Все нормально и стабильно работает + скрипт запуска для systemd.
Я не знаю в чем у вас проблема.