Показаны сообщения с ярлыком Ubuntu. Показать все сообщения
Показаны сообщения с ярлыком Ubuntu. Показать все сообщения

пятница, 20 марта 2009 г.

Качаем torrent -ы в Ubuntu c помощью rtorrent

После некоторого перерыва возвращаюсь к блогу. За это время многое изменилось - во-первых, свершилось то о чем я, без преувеличения, мечтал десятилетиями - до меня добралась цивилизация в виде быстрого безлимитного интернета. Во-вторых, у меня теперь новый ноутбук, Dell 1525. На нем установлена Ubuntu 8.10 , и на крошечном разделе размером в 20 гиг. винда, на всякий случай. Впрочем, уже забыл когда последний раз загружал винду ;)
В этой заметке я расскажу, как нашел для себя оптимальный способ качать торренты под 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 = 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 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


При подготовке статьи использовались материалы:
1. Постинг ShurShur c форума torrents.ru
2.
rtorrent-WikiУчебник
3. Блог librarian-а
4. Сайт разработчиков
5. Блог lhav

четверг, 11 сентября 2008 г.

Устанавливаем VirtualBox

VirtualBox - одна из лучших программ виртуализации. Существуют версии VirtualBox под все распостраненные операционные системы. Что же это такое, виртуализация, и зачем она может быть нужна? Виртуализация - это эмуляция в программной среде ( в данном случае в среде пакета VirtualBox ) физического комьютера. На такую виртуальную машину можно установить любую операционную систему, набор программ для нее и она будет считать себя единственной хозяйкой на компе, не имея влияния на "внешний мир" и даже не зная о нем. Над этой системой (называемой "гостевой")можно издеваться как угодно, проводить различные эксперименты, итп. не боясь повредить основной операционной системе ("хост"-системе). Гостевую систему в любой момент можно стереть и начать все заново.
Программа VirtualBox была создана компанией Innotek с использованием исходного кода другого пакета виртуализации - Qemu. Существует две версии VirtualBox - свободная (OSE, англ. Open Source Edition), выпущенная под GNU GPL, и проприетарная, различающиеся по функциональности, полнофункциональная проприетарная версия для личного использования распространяется бесплатно.
В феврале 2008 Innotek был приобретен компанией Sun Microsystems, модель распространения VirtualBox при этом не изменилась. В стандартных репозиториях имеется VirtualBox-OSE, но эта версия обычно старая и сильно урезана по возможностям (в частности, в ней нет поддержки USB, других "вкусностей", таких как режим интегации дисплея, автоинтеграция мыши при переводе курсора на гостевую ОС и многих других), поэтому мы установим проприетарную версию VirtualBox с официального сайта. В инете есть многочисленные How-To по установке VirtualBox, все они почему-то предлагают скачать с сайта разработчика deb-пакет и установить его. Мы же, в соответствии с идеологией Debian пойдем другим, более правильным путем:
Итак, идем Система - Администрирование - Источники приложений - По сторонних производителей, жмем Добавить, и добавляем строку (для Ubuntu 8.04 Hardy Heron):

deb http://download.virtualbox.org/virtualbox/debian hardy non-free

Добавляем ключ репозитория, в консоли:

wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add

- и затем как обычно:

sudo apt-get update
sudo apt-get install virtualbox


После того, как VirtualBox установился, добавляем себя в группу vboxusers:

sudo adduser <ваш login> vboxusers

перезагружаемся, идем Приложения - Системеые - Sun xVM VirtualBox, Во время первого запуска появится Регистрационная форма (Innotek это нужно только для статистики). Можете ее заполнить, а можете и не заполнять :), но тогда она у вас будет появляться постоянно при запуске виртуальной машины. Создаем новую машину, выбираем тип устанавливаемой ОС, дисковое пространство (лучше оставить так как предлагается, расширять динамически по реальной потребности) устанавливаем желаемую систему (я установил XP). Все, как это принято называть "интуитивно понятно" ;). Если после установки винды кириллица в некоторых программах и в именах файлов отображается кракозябрами, идем (в винде) Control panel - Regional and Language Options - Advanced — Ставим русский язык для non-unicode programs. Далее, в меню вновь созданной виртуальной машины запускаем Устройства — установить дополнения гостевой ОС, в папке «My computer» гостевой винды появляется линк на установку VBOXADDITIONS (В виде CD-диска), устанавливаем дополнения. Теперь идем в меню «Машина» окна гостевой ОС, включаем интеграцию мыши, проверяем режимы «Поноэкранный режим», «Режим интеграции дисплея» - согласитесь, отлично?! Особенно меня впечатлил режим интеграции дисплея - Панель задач гостевой Windows частично накладывается на панель задач Ubuntu, можно запустить приложения из обеих систем, и они прекрасно сосуществуют рядышком на рабочем столе Ubuntu, курсор мыши "прозрачно" переходит из Ubuntu в Windows и обратно, можно управлять приложениями так, как будто они принадлежат одной, а не двем системам — красота.



(На скриншоте не видна панель задач Виндовс, перехватчик PrintScreen Ubuntu ее не захватывает при сохранении скриншота - но она там есть :))