Установка rTorrent + WebUI на Asus WL-500g Premium
Важное дополнение здесь!
Важное дополнение к важному дополнению: в связи с внезапным, сайт по ссылке проработает столько, сколько проработает бесплатно. Как только господа барыги потребуют денег - сайт исчезнет до тех пор, пока не найду альтернативу. Если у кого-то есть варианты - прошу высказываться. Варианты на платной и бартерной основе не рассматриваются.
Преамбула
По многочисленным просьбам сваял эту инструкцию для тех, кто, как и я, о Linux'е слышал только название и что это «крутая ось».
Данная инструкция является «компиляцией» тем «инструкция по настройке WL-500g deluxe с нуля», «Еще раз про rTorrent и web-морду к нему.» и многих других. Oleg’у, Novik’у и всем остальным авторам огромное спасибо за их труд. Без них у нас ничего не заработало бы.
Амбула
Что хотим:
- чтобы роутер качал и раздавал торренты при отключенном большом компьютере;
- иметь актуальную и наглядную информацию о том, как идёт процесс.
Что имеем:
- роутер Asus WL-500gP c обновлённой прошивкой (у меня работает на WL500gp-1.9.2.7-10 от Олега, за что ему огромное спасибо!) и настроенным доступом в Интернет;
- PC-комп с Win XP (Большой Брат, ББ), подключенный к роутеру через один из LAN-портов, или через Wi-Fi;
- внешний HDD Seagate FreeAgentGo 120 Gb;
- древняя флешка на 256 Мб;
- много желания.
NB: если у Вас другой набор компонентов, либо Вы что-то настраивали по-своему - адаптируйте инструкцию под себя.
Что будем делать:
1. Подключим внешний HDD и флешку в роутер.
2. Создадим на HDD и флешке файловые системы ext3. Половину флешки задействуем под swap.
3. Установим вспомогательный софт и проведём некоторую предварительную подготовку роутера.
4. Установим web-сервер lighttpd с наворотами, чтобы обеспечить работу web-интерфейса.
5. Установим торрент-клиент rTorrent.
6. Установим web-интерфейс, предложенный уважаемым Novik, для rTorrent чтобы можно было из браузера на ББ любоваться процессом.
Воизбежание дальнейшего недопонимания: это не учебник по Linux! Это лишь последовательность шагов, приводящая к желаемому результату, с краткими комментариями для тех, кто хочет хоть отчасти понимать что он делает. Это должно помочь человеку разумному, в большинстве случаев, понять где и в чём он ошибся, если ожидаемый результат не был получен.
Обычно вся процедура занимает меньше времени, чем требуется на прочтение данного опуса.
Несколько замечаний перед тем как приступать:
Замечание 1. Если Ваш внешний HDD, как у меня, регулярно «засыпает» (типа энергию экономит и ресурс механизма бережёт) при отсутствии обращений к нему в течение какого-то промежутка времени, рекомендую найти для него утилиту, которая может изменять время бездействия до перехода в режим «спячки» и выставить максимально возможное время. Лучше всего - Never.
Дело в том, что после того, как HDD «ушёл в себя» на приведение его снова в рабочее состояние, требуется время 30-60 секунд (по паспорту). Всё это время процессы, обратившиеся к данным на этом носителе, получают от системы сообщение об ошибке ввода/вывода, а не призыв обождать. Соответственно работа прекращается, несмотря на то, что всё исправно и доступно.
Потребляемая жёстким диском мощность 5В х 0.5А х 2(питание от двух USB-портов) = 5 Вт! Что мы экономим?
Насчёт ресурса, сдаётся мне, как инженеру-электромеханику (в прошлом), что при режиме работы «старт-стоп» механизм разболтается быстрее, чем при постоянном равномерном вращении. А головки прыгают одинаково независимо от данной настройки. Так что в каком режиме HDD прослужит дольше - ещё неизвестно.
Шум меня не беспокоит. Во-первых само устройство на удивление тихое, а во-вторых всё это у меня смонтировано в прихожей.
Замечание 2. Внешний HDD - достаточно прожорливая штука в плане электропитания (если сравнивать с обычными USB-устройствами - мышки, флешки, клавиатуры, кардридеры etc.). И USB-порт роутера вполне может не справиться с такой нагрузкой. Характерный признак нехватки питания - щёлканье головками. Но, даже, если Вам повезло и мощности встроенного порта хватило для того, чтобы HDD благополучно завёлся при подключении, не факт, что это надолго. Были случаи, когда такой «благополучный» драйв не заводился после выкл./вкл., или не «просыпался» после ухода в «спячку». А посему - покупаем USB-hub с блоком питания, обеспечивающим ток не менее 1,5А. У меня работает на Genius "UH-402 Mini" (б/п 5В 2А).
Замечание 3. Linux различает прописные и строчные буквы в именах файлов и в командах. Поэтому внимательно следите за регистром символов, вводимых с клавиатуры.
Замечание 4. В приведённых ниже командах нет ни одного лишнего символа. Особенно это касается символов "/" в конце строки. Самый простой способ избежать ошибок/опечаток - копирование и вставка.
Замечание 5. Последовательность шагов чаще всего имеет значение. Поэтому, если не знаете что делаете, рекомендую строго придерживаться порядка, в котором эти шаги изложены ниже.
Погнали!
1. Подключение.
Выключаем роутер из электросети. Вставляем флешку в верхний USB-разъём роутера. USB-hub - в нижний. Сам USB-hub - в электрическую сеть. Внешний HDD - в USB-hub. Включаем роутер в электросеть.
Заходим с ББ через браузер на страничку настроек роутера, лезем в пункт USB Applications => FTP Server и убеждаемся, что напротив пункта Enable FTP Server выставлено Yes, или Yes, LAN Only. Если стоит No, меняем и перезагружаем роутер.
На ББ скачиваем терминальную программу PUTTY.
Распаковываем её на жёсткий диск ББ и запускаем PUTTY.EXE (кстати рекомендую сразу сделать где-нибудь в удобном месте ярлык на неё - часто будет нужна).
В поле Host Name (or IP Address) вписываем внутренний IP-адрес роутера (тот что в настройках забит в IP Config => WAN & LAN => LAN IP Setting => IP Address).
В Connection Type выбираем Telnet, а в Close window on Exit - Never или Only on clean exit (это предотвратит закрытие окна при перезагрузках).
Жмём кнопку [Open].
Появившийся чёрный экранчик - это и есть наш терминал. Он же - консоль. (Технически это неверно, как и многое в этом произведении, но, для наших целей, такое определение сойдёт.)
На запросы вводим login и пароль, как задавали при первоначальной настройке роутера.
2. Подготовка дисков.
Пишем в терминал:
и нажимаем [Enter]
Убеждаемся, что оба диска видны системе. Вот что выдало у меня:
Disk /dev/scsi/host0/bus0/target0/lun0/disc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 14593 117218241 xxx
Disk /dev/scsi/host1/bus0/target0/lun0/disc: 257 MB, 257949696 bytes
8 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 496 * 512 = 253952 bytes
Device Boot Start End Blocks Id System
/dev/scsi/host1/bus0/target0/lun0/part1 1 1015 251689 xxx
Запоминаем строчки:
/dev/scsi/host0/bus0/target0/lun0/part1 - HDD на 120 Gb.
/dev/scsi/host1/bus0/target0/lun0/part1 - флешка на 256 Mb.
Это то, как система видит мои накопители.
Кроме того, они автоматически монтируются системой при загрузке как:
/tmp/mnt/disc0_1/ - HDD
/tmp/mnt/disc1_1/ - флешка
Тоже запоминаем.
NB: Иногда, по невыясненным причинам, роутер воспринимает диски наоборот:
/dev/scsi/host0/bus0/target0/lun0/part1 - флешка
/dev/scsi/host1/bus0/target0/lun0/part1 - HDD
В этом случае в следующие команды подставляйте правильные строчки и будьте внимательны в п.3. Есть нюансы.
Чтобы переразбить и отформатировать диски, надо сначала их отмонтировать. Лезем в настройки роутера в браузере USB Application => FTP Server и жмём кнопку [Eject] в пункте Force to Eject USB Disk. Кто умеет пользоваться Linux'овской командой umount - делайте как Вам удобнее.
Далее - опять в терминале:
Code:
fdisk /dev/scsi/host0/bus0/target0/lun0/part1
d - удалить существующие разделы (ориентируйтесь на подсказки fdisk).
n - создать новый раздел
p - создать primary partition
1 - первую partition
[Enter] - default 1
[Enter] - default 14592 - выделяем под первый раздел всё доступное пространство на HDD
w - сохранить новое разбиение диска и выйти из fdisk
В ответ должно выдать что-то вроде:
...
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.