После некоторого перерыва возвращаюсь к блогу. За это время многое изменилось - во-первых, свершилось то о чем я, без преувеличения, мечтал десятилетиями - до меня добралась цивилизация в виде быстрого безлимитного интернета. Во-вторых, у меня теперь новый ноутбук, Dell 1525. На нем установлена Ubuntu 8.10 , и на крошечном разделе размером в 20 гиг. винда, на всякий случай. Впрочем, уже забыл когда последний раз загружал винду ;)
В этой заметке я расскажу, как нашел для себя оптимальный способ качать торренты под Ubuntu.
Перед тем как начать отмечу одну важную вещь: Не выбирайте в качестве каталога для скачиваемых файлов ntfs-разделы. Драйвера ntfs-3g несовершенны, при высокой скорости записи они сильно грузят процессор. Вскоре загрузка процессора приближается к 100%, и отжирает процессорное время именно ntfs-3g, что видно по команде top . У меня при экспериментальной попытке писать на ntfs раздел скорость скачивания торрента не превышала 150 кбайт/сек, очевидно что большей скорости препятствовала полная загрузка процессора драйвером ntfs-3g. Кулер ноутбука выл не переставая. В общем, пишем торренты только на нативные разделы linux.
В этой заметке я расскажу, как нашел для себя оптимальный способ качать торренты под Ubuntu.
Перед тем как начать отмечу одну важную вещь: Не выбирайте в качестве каталога для скачиваемых файлов ntfs-разделы. Драйвера ntfs-3g несовершенны, при высокой скорости записи они сильно грузят процессор. Вскоре загрузка процессора приближается к 100%, и отжирает процессорное время именно ntfs-3g, что видно по команде top . У меня при экспериментальной попытке писать на ntfs раздел скорость скачивания торрента не превышала 150 кбайт/сек, очевидно что большей скорости препятствовала полная загрузка процессора драйвером ntfs-3g. Кулер ноутбука выл не переставая. В общем, пишем торренты только на нативные разделы linux.
Transmission
В Ubuntu по-умолчанию установлен торрент-клиент transmission. У меня он с самого начала нормально не работал, качал со скоростью в 2-3 раза медленнее, чем должно было быть, (а цифры при этом показывал нормальные!) Как явствует из сообщений на форумах с этой проблемой столкнулся не только я. Плюс к этому transmission отличается бедностью настроек и постоянно пересчитывает хеши. В общем, сносим его, чтоб место не занимал:
sudo apt-get purge transmission
deluge
Почитав форумы по вопросу выбора графического торрент-клиента под linux, я остановился на deluge, и забегая вперед скажу - полностью согласен с мнением очень многих людей в том, что deluge пожалуй лучший графический torrent-клиент под linux. Установим его:
sudo apt-get install deluge-torrent
deluge по внешнему виду напоминает виндовый utorrent. Все настройки интуитивно понятны. Можно подключить плагины, расширяющие функциональность. Качает быстро, стабильно. В общем, deluge работает так, как должен работать хороший графический torrent-клиент. Итак, некоторое время я использовал deluge. Время шло, винчестер ноутбука заполнялся скачанными торрентами. Вес скачанного перевалил за 100 гигабайт, счет сидируемым торрентам пошел на десятки. И тут стали проявляться принципиальные ограничения deluge. Написанный на Python и GTK+ он стал ощутимо подтормаживать систему, что особенно заметно, если работать в запущенной рядом виртуалке. Ну а если еще открыт firefox с десятком вкладок... Надо было что-то решать. Лучшим выходом стал бы домашний сервер, на который можно было бы вынести торренты. Но когда еще руки дойдут до сборки и настройки сервера. Пока же я перевел всё торрент-хозяйство под управление rtorrent.
rtorrent
Маленький, легкий, консольный, написанный на Си клиент. Идеален для применения на сервере, а для меня и на десктопной машине. Может легко управлять сотнями гигабайт файлов на скоростях исчисляемых десятками мегабит/с при этом почти не загружает систему. К rtorrent-у можно прикрутить веб-морду, но для меня оказалось очень удобно и стандартное управление. Итак, приступаем (screen тоже установим, пригодится):
sudo apt-get install rtorrent screen
Создадим конфигурационный файл 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-6881
port_random = no
check_hash = yes
peer_exchange = yes
В строках directory, session, schedule вместо user в путях ставим свое имя пользователя.
В строках download_rate, upload_rate указываем максимальную скорость на скачивание и на аплоад, например, если нужно ограничить скорость скачивания 50 кбайт/с, пишем
В строках 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, набрав в окне терминала:
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:
В левом нижнем углу написано [Throttle off/off]. Это лимиты на Upload и Download соответственно, по умолчанию они ставятся такими как прописанно в конфигурационном файле, off - лимиты не установлены. Меняются кнопками a/z, s/x, d/c для изменения лимита аплоада вверх/вниз по 1, 5 и 50 кб/с соответственно (попробуйте - сразу станет понятно) и те же буквы при нажатом Shift или CapsLock (кому как нравится

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

(нажмите на изображение, чтобы увеличить)
И на последок - как корректно закрывать rtorrent. Для этого нажимаем Ctrl-q . Просто закрыть окно терминала нельзя - процесс будет убит, статистика не будет передана на торрент-трекер и не будет учтена в рейтинге, и после повторного старта будет пересчитываться хеш недокачанных файлов.
Можно ли запустить rtorrent так, чтобы можно было закрыть окно терминала а он остался работать? Да. Для этого запускаем rtorrent через screen:
screen rtorrentПри таком способе запуска терминал можно закрыть, и rtorrent останется работать в виртуальном терминале screen. Вернуться к нему можно набрав:
screen -r
Update - Наконец-то дошли руки разобраться со скриптом автозапуска rtorrent!
Итак:
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
Итак:
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
При подготовке статьи использовались материалы:
1. Постинг ShurShur c форума torrents.ru
2. rtorrent-WikiУчебник
3. Блог librarian-а
4. Сайт разработчиков
5. Блог lhav
Комментариев нет:
Отправить комментарий