Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: How-To: Качаем torrent-ы с помощью rtorrent на десктопной машине.  (Прочитано 61337 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн PitLord

  • Автор темы
  • Участник
  • *
  • Сообщений: 145
    • Просмотр профиля
Update от 01.05.2009: Добавлено - скрипт автозапуска rtorrent при загрузке системы.
Update от 17.10.2009: В конфиг добавлено разрешение dht. Вместо одного рабочего порта поставлен стандартный диапазон.
Update от 16.06.2010: Практика показала, что торренты скачиваются правильно, и после скачивания проверять их хэш не нужно. Поэтому в конфиге вместо check_hash = yes ставлю check_hash = no

В этом how-to я расскажу, как нашел для себя оптимальный способ качать торренты под Ubuntu.
Перед тем как начать отмечу одну важную вещь: Не выбирайте в качестве каталога для скачиваемых файлов ntfs-разделы. Драйвера ntfs-3g несовершенны, при высокой скорости записи они сильно грузят процессор. Вскоре загрузка процессора приближается к 100%, и отжирает процессорное время именно ntfs-3g, что видно по команде top . У меня при экспериментальной попытке писать на ntfs раздел скорость скачивания торрента не превышала 150 кбайт/сек, очевидно что большей скорости препятствовала полная загрузка процессора драйвером ntfs-3g. Кулер ноутбука выл не переставая. В общем, пишем торренты только на нативные разделы linux.
Почему именно rtorrent? Некоторое время я использовал deluge, пожалуй лучший _графический_ torrent-клиент под linux. Время шло, винчестер ноутбука заполнялся скачанными торрентами. Вес скачанного перевалил за 100 гигабайт, счет сидируемым торрентам пошел на десятки. И тут стали проявляться принципиальные ограничения deluge. Написанный на Python и GTK+ он стал ощутимо подтормаживать систему, что особенно заметно, если работать в запущенной рядом виртуалке. Ну а если еще открыт firefox с десятком вкладок... Надо было что-то решать. Лучшим выходом стал бы домашний сервер, на который можно было бы вынести торренты. Но когда еще руки дойдут до сборки и настройки сервера. Пока же я перевел всё торрент-хозяйство под управление rtorrent.
Маленький, легкий, консольный, написанный на Си клиент. Идеален для применения на сервере, а для меня и на десктопной машине. Может легко управлять сотнями гигабайт файлов на скоростях исчисляемых десятками мегабит/с при этом почти не загружает систему. К rtorrent-у можно прикрутить веб-морду, но для меня оказалось очень удобно и стандартное управление. Итак, приступаем:

sudo apt-get install rtorrent
Создадим конфигурационный файл rtorrent. В домашней папке делаем:

touch .rtorrent.rc
gedit .rtorrent.rc


Вставляем в конфигурационный файл следующее:

min_peers = 100
max_peers = 100
max_uploads = 100
download_rate = 0
upload_rate = 0
directory = /home/user/torrents/
session = /home/user/torrents/.rtsession
schedule = watch_directory,10,10,load_start=/home/user/torrents/watch/*.torrent
port_range = 6881-6889
port_random = no
check_hash = no
peer_exchange = yes
dht = auto
dht_port = 6881

В строках directory, session, schedule вместо user в путях ставим свое имя пользователя.
В строках download_rate, upload_rate указываем максимальную скорость на скачивание и на аплоад, например, если нужно ограничить скорость скачивания 50 кбайт/с, пишем

download_rate = 50K
(0 - неограниченно). Сохраняем конфигурационный файл, выходим из редактора. Создадим структуру каталогов. Находясь в домашней папке:

mkdir torrents
cd torrents
mkdir watch
mkdir .rtsession

Здесь: каталог torrents - основная рабочая директория. Сюда будут скачиваться, и отсюда сидироваться файлы. Каталог watch .В этот каталог нужно кидать файлы с расширением .torrent, получаемые с торрент-трекеров. В течении 10 секунд после помещения файла rtorrent начнет закачку. .rtsession Здесь будет хранится служебная информация rtorrent.
Запускаем rtorrent, набрав в окне терминала:

rtorrent
Помещаем полученный с трекера файл с расширением .torrent в папку ~/torrents/watch и в течении 10 секунд будет выполнен анонс и начнется скачивание. Самое время научиться управлять rtorrent-ом:

Выглядит не слишком понятно, но при самом поверхностном изучении обращаться с ним оказывается очень просто.
В левом нижнем углу написано [Throttle off/off]. Это лимиты на Upload и Download соответственно, по умолчанию они ставятся такими как прописанно в конфигурационном файле, off - лимиты не установлены. Меняются кнопками a/z, s/x, d/c для изменения лимита аплоада вверх/вниз по 1, 5 и 50 кб/с соответственно (попробуйте - сразу станет понятно) и те же буквы при нажатом Shift или CapsLock (кому как нравится ) для изменения лимита даунлоуда. Далее написано Rate и указаны текущие скорости отдачи и скачивания, используемый порт. Всё остальное в нижней строке не интересно.
В верхней строке написано View: main. Всего бывает 9 разных View, переключаемых кнопками 1-9:

1. Main - по умолчанию.
2. Name - показ торрентов с сортировкой по имени.
3. Started - показ только запущенных торрентов.
4. Stopped - показ только остановленных торрентов.
5. Complete - показ только закачанных на 100% торрентов.
6. Incomplete - показ только недокачанных торрентов.
7. Hashing - показ только хешируемых торрентов.
8. Seeding - показ только сидируемых торрентов.
9. Active - показ только активных торрентов.

Рассмотрим более подробно одну из записей:

Здесь:
В первой строке - имя скачиваемого торрента, во второй строке по порядку отображается:
сколько скачано / общий размер
Rate: скорость отдачи / скорость скачивания
Uploaded: сколько отдано
Прогнозируемое время окончания закачки
R: рейтинг

Чтобы остановить закачку торрента нажимаем на нем Ctrl-d Повторное Ctrl-d приведет к удалению торрента, и соответствующего файла из каталога watch, скачанное останется - если повторно поместить файл с трекера в каталог watch rtorrent проверит хеш и продолжит скачивание. Ctrl-s - запустить заново остановленный торрент.
В клиенте используется навигация в стиле Lynx. Так называют способ организации интерфейса, при котором передвижение осуществляется стрелками по правилу: вверх/вниз - в пределах текущего уровня, влево/вправо - на уровень выше и на уровень ниже. Для примера можно выбрать какую-либо из раздач и нажать стрелку вправо. Слева появится меню из шести пунктов:

Peer list - список пиров
Info - информация
File list - список файлов
Tracker list - список трекеров
Chunks seen - виденные куски
Transfer list - список передаваемых кусков
Больше всего нас интересует третий пункт. Выберем его стрелками и нажмём стрелку вправо. Теперь, выбрав нужный файл, можно с помощью пробела поставить ему высокий приоритет (hig) или вообще отказаться от его закачки (off):

И на последок - как корректно закрывать rtorrent. Для этого нажимаем Ctrl-q . Просто закрыть окно терминала нельзя - процесс будет убит, статистика не будет передана на торрент-трекер и не будет учтена в рейтинге, и после повторного старта будет пересчитываться хеш недокачанных файлов.
Можно ли запустить rtorrent так, чтобы можно было закрыть окно терминала а он остался работать? Да. Для этого запускаем rtorrent через screen. Если screen не установлен, установим его:

sudo apt-get install screen
Теперь запускаем rtorrent так:

screen rtorrent
При таком способе запуска терминал можно закрыть, и rtorrent останется работать в виртуальном терминале screen. Вернуться к нему можно набрав:

screen -r
Update - Наконец-то дошли руки разобраться со скриптом автозапуска rtorrent!

Итак: (в системе должен быть установлен screen. Если его нет, установите как написано выше)

cd /etc/init.d
Скачаем скрипт автозапуска с сайта разработчиков, и затем отредактируем его ( запускаем wget через sudo, т.к. у обычного пользователя нет прав писать в /etc/init.d ):

sudo wget http://libtorrent.rakshasa.no/raw-attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh
Отредактируем скрипт:

sudo gedit rtorrentInit.sh
Ищем строку: user="user" ( строка №34 ) и меняем user на свое имя пользователя - скрипт будет запускаться от указанного имени. Сохраняемся, выходим из редактора. Дадим скрипту права на выполнение:

sudo chmod +x rtorrentInit.sh
Затем:

sudo update-rc.d rtorrentInit.sh defaults
sudo /etc/init.d/rtorrentInit.sh start

Готово! Теперь rtorrent будет корректно запускаться при старте системы, при выключении корректно выключаться, итп. Попасть в него можно набрав:

screen -r
При написании how-to использовались материалы:
1. Постинг http://torrents.ru/forum/viewtopic.php?t=290679# ShurShur c форума torrents.ru
2. rtorrent-WikiУчебник http://ru.wikibooks.org/wiki/RTorrent
3. Блог librarian-а http://librarian.spb.ru/page/kak-ustanovit-veb-interfejs-k-rtorrentwtorrent-rtgui-dubl-2
4. Сайт разработчиков http://libtorrent.rakshasa.no/
5. Блог lhav http://blog.lhav.ru/it/linux/skript-avtozapuska-rtorrent.html
« Последнее редактирование: 16 Января 2011, 22:23:46 от PitLord »

Оффлайн BOBAH

  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
Спасибо автору. Давно хотел rtorrent попробовать.
Arch + Openbox

Оффлайн Loki

  • Активист
  • *
  • Сообщений: 275
    • Просмотр профиля
Автору респект. Я его осваивал вот по этой хаутушке: http://dslnet.ru/showthread.php?t=24574
Может кому полезно будет.
Kubuntu 11.10@Acer Aspire 5601 (CoreDuo T2250, 3Gb, 320Gb, Ati X1300)

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
а подскажите, чево я не так сделал, такую вот ошибку выдает

Цитировать
$ rtorrent
rtorrent: Error in option file: ~/.rtorrent.rc:12: Variable "peer_exchange" does not exist.
закоментировал peer_exchange, запустил, сохранил торрент в watch, и вот что:

Цитировать
[View: main]
   New York Dolls - Cause I Sez So (2009)
               0,0 /   62,3 MB Rate:   0,0 /   0,0 KB Uploaded:     0,0 MB [ 0%] --d --:-- [T  R: 0,00]
  Storage error: [File chunk write error: No such device.]

Пользователь решил продолжить мысль 30 Апреля 2009, 18:19:23:
обновил, все заработало, хм

Пользователь решил продолжить мысль 30 Апреля 2009, 21:02:51:
перезапустил rtorrent, таже ошибка - No such device
« Последнее редактирование: 30 Апреля 2009, 23:04:13 от kostrukov »
у меня можно спросить=)

Оффлайн PitLord

  • Автор темы
  • Участник
  • *
  • Сообщений: 145
    • Просмотр профиля
Добавил в how-to: скрипт автозапуска rtorrent при старте системы на основе скрипта с сайта разработчиков.

kostrukov,
На счет ошибки в 12 строке - проверь, может строка неправильно скопировалась. На счет "Storage error: [File chunk write error: No such device.]" - ошибка записи на диск. Скорее всего с путями в конфиге напутал.

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
ненапутал, загрузил рторент, заработало, остановил закачку, перезапустил рторент, ошибка
у меня можно спросить=)

lichtenwald

  • Гость
у меня конфиг малость длиннее  :)

(Нажмите, чтобы показать/скрыть)

не помню где находил про настройку) одно знаю язык там был толи испанский толи итальянский) но на примерах норм показано было)
зы качает все норм))  ;)

Оффлайн dmg244

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Управление rTorrent'ом через web:
Выглядит так: http://vif2ne.ru/nvk/stuff/novik/rtorrent/rtorrent.jpg
Как настроить тут: http://wl500g.info/showthread.php?t=14256
Благодарим Novik за труд!

Оффлайн SkyFox

  • Участник
  • *
  • Сообщений: 104
  • default TRUE=FALSE
    • Просмотр профиля
А без screen и на Apache2 как сделать?
Имя - Йцукен
Фамилия - Фывапролджэ
Профессия - настройщик клавиатуры.

Оффлайн alex_pa

  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
А без screen и на Apache2 как сделать?
без screen наверное никак, если хочешь чтобы rtorrent работал в фоне и запускался при старте системы. А веб-интерфейсов к нему несколько, я пользуюсь wTorrent http://www.wtorrent-project.org/ на Apache2 работает

Home PC: Athlon X2 7750BE/AMD780G/2Gb/nVidia 8800GT /w Ubuntu 11.10
Home 'Server': Atom 425/1Gb RAM /w Ubuntu Server 10.04 LTS

Оффлайн Userz

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Как rtorrent пустить через прокси?

Оффлайн SkyFox

  • Участник
  • *
  • Сообщений: 104
  • default TRUE=FALSE
    • Просмотр профиля
А без screen и на Apache2 как сделать?
без screen наверное никак, если хочешь чтобы rtorrent работал в фоне и запускался при старте системы. А веб-интерфейсов к нему несколько, я пользуюсь wTorrent http://www.wtorrent-project.org/ на Apache2 работает
А rc.local не спасёт?
И ещё, запускаю rtorrent - запускается, но на комбинацию Ctrl-Q не реагирует.
Имя - Йцукен
Фамилия - Фывапролджэ
Профессия - настройщик клавиатуры.

Оффлайн alex_pa

  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
А rc.local не спасёт?
А где потом искать его, на какой консоли? помоему это невозможно,ну или проблематично во всяком случае... А чем screen не устраивает?

И ещё, запускаю rtorrent - запускается, но на комбинацию Ctrl-Q не реагирует.
Внутри screen? Там надо нажать ctrl c f, внизу экрана должно появиться надпись -flow теперь должны заработать комбинации ctrl+q и ctrl+s

Home PC: Athlon X2 7750BE/AMD780G/2Gb/nVidia 8800GT /w Ubuntu 11.10
Home 'Server': Atom 425/1Gb RAM /w Ubuntu Server 10.04 LTS

Оффлайн Night_Snake

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
А можно в нем ограничивать скорость для определенной закачки? И может ли он переносить скачанные файлы в другую папку, при это перепроверяя хэш и возобновляя раздачу?

Оффлайн alex_pa

  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
А можно в нем ограничивать скорость для определенной закачки? И может ли он переносить скачанные файлы в другую папку, при это перепроверяя хэш и возобновляя раздачу?
Ограничивать скорость для кадого торрента отдельно вроде бы нельзя, во всяком случае я не нашёл как это сделать. По второму вопросу - сам rtorrent переносить файлы не умеет, но можно сделать так: остановить закачку/раздачу (ctrl+k), переместить файлы вручную, нажать в rtorrent ctrl+o и ввести новый путь для сохранения файлов, запустить хеширование (ctrl+r ). Должно получиться, хотя я делал подругому - просто останавливал раздачу, перемещал файлы, а на старом месте делал софтлинк на файлы.

Home PC: Athlon X2 7750BE/AMD780G/2Gb/nVidia 8800GT /w Ubuntu 11.10
Home 'Server': Atom 425/1Gb RAM /w Ubuntu Server 10.04 LTS

 

Страница сгенерирована за 0.035 секунд. Запросов: 24.