Raspberry Pi в руках дилетанта или домашняя торрент-качалка

Доброго времени суток, товарищи.
После месяца использования RasPi* я созрел написать инструкцию для новичков, о том, как превратить RasPi в домашний мини-сервер-торрент-качалку.
И теперь представляю вашему вниманию инструкцию из трех шагов.


Шаг первый. Подготовка.


Для сервера, и работы вообще, нам понадобятся:
  • карта памяти*
  • блок питания
  • microUSB-кабель для питания платы
  • кабель HDMI или кабель с AV-разъемом
  • USB-клавиатура
  • переносной жесткий диск*

image image
Сама плата RasPi мало «кушает», но у нас будет подключен жесткий диск, значит питание нужно помощнее.
А конкретнее, напряжение в 5 вольт и ток в 2 ампера. Я взял обычный блок питания от компьютера.
На моем БП был 20-контактный разъем основного питания. Для платы на нужен контакт +5 VSB, фиолетового цвета на картинке. К нему я подключил два USB — один будет питать плату, а другой жесткий диск.
На фотографии, от фиолетового провода идет питание к двум USB, синий — земля, два замкнутых разъема — чтобы БП работал без материнской платы.(?)

+5 VSB — это канал «Stand By», то есть напряжение на нем есть даже когда блок питания выключен, т.е. перемычка не нужна*. Но нагрузочная способность этого канала обычно мала.
Лучше использовать «нормальный» канал +5V (красный провод), с перемычкой на ноге PS_ON.
Спасибо за разъяснение пользователю Ocelot
Подсказка: Обычно, красный провод на USB — питание, черный — земля.
С питанием разобрались, теперь можно подключить экран к RasPi. Лучше для этого использовать HDMI-кабель и подключить плату к монитору или телевизору. HDMI лучше, т.к. картинка будет четкая.
Свою плату я подключил через AV к ТВ-тюнеру на компьютере.

Шаг второй. Установка дистрибутива на карту и настройка.


Для установки нам понадобится утилита Win32DiskImager. Скачать можно отсюда.
И образ системы Raspbian “wheezy”. Скачать можно отсюда.

(!) Есть образ уже установленной системы с настроенным торрентом. Можно ставить на карточку только с объемом не менее 8Gb. Вы можете его скачать отсюда, но лучше поставить чистую систему.

Итак, приступим:
  1. Подключите карту памяти к компьютеру
  2. Запустите Win32DiskImager
  3. В поле Image File укажите путь в скаченному образу Raspbian “wheezy”*
  4. Выберите в пункте Device букву вашей карты
  5. Нажмите кнопку Write и дождитесь окончания записи образа.
  6. Безопасно извлеките карту


Теперь вставляем карту памяти в RasPi и запускаем. В итоге перед нами появляется такое меню:


Рассмотрим его пункты:
  1. Expand Filesystem — увеличить размер основного раздела на всю карту. Запускаем сразу.
  2. Change User Password — задать пароль учетной записи. Учетная запись по умолчанию — «pi».
  3. Enable Boot to Desktop — грузиться в графический интерфейс. Можно отключить, т.к. все делается через консоль.
  4. Internationalisation Options — установка языка системы. Русский присутствует.
  5. Enable Camera — включение/отключение поддержки камеры.
  6. Add to Rastrack — добавить свое устройство в общую базу. Нет необходимости.
  7. Overclock — повысить мощность процессора. Лучше не трогать, хотя страшного ничего не случится.(?)
  8. Advanced Options — расширенные настройки.
    1. Overscan — настройка вылета развертки.
    2. Hostname — имя вашего мини-сервера в сети.
    3. Memoy Split — выделение памяти графическому процессору (?). Если граф. интерфейс отключен — 16Мб.
    4. SSH — удаленное управление. Включить.
    5. Update — обновление текущего дистрибутива.
  9. About raspi-config — информация об этом меню настроек.

После изменения нужных вам настроек, жмем Finish*.
Система уходит в перезагрузку, а после просит ввести имя пользователя — «pi» и пароль. Если не поставили свой, то пароль по умолчанию «raspberry».

Шаг третий. Установка торрента и подключение HDD.


Сперва увеличим размер swap*

Вводим:
sudo nano /etc/dphys-swapfile
Открывается файл. В нем значение CONF_SWAPSIZE меняем на 256 и жмем [Ctrl+O], далее [Enter] и для выхода [Ctrl+X].

Теперь монтируем диск.
Т.к. я иногда отключаю переносной HDD от RasPi и использую его по прямому назначению, у меня он в файловой системе NTFS. Что не есть хорошо, ведь мы на линуксе, значит диск должен быть в файловой системе linux, но тогда HDD будет недоступен в windows.
Вы можете самостоятельно форматировать диск в другую файловую систему по инструкции, расположенной здесь.

Вернемся к монтированию.
1. Вводим в консоль:
sudo apt-get install ntfs-3g

2. Создаем папку, к которой будем монтировать HDD
sudo mkdir /mnt/usb_hdd

3. Даем полный доступ к папке всем группам.
sudo chmod 777 /mnt/usb_hdd

4. Открываем файл:
sudo nano /etc/fstab

5. Прописываем в конец файла:
/dev/sda1 /mnt/usb_hdd ntfs-3g defaults,rw 0 1
это дает автоматическое монтирование HDD при старте системы.
И жмем [Ctrl+O], далее [Enter] и для выхода [Ctrl+X].


Устанавливаем торрент-клиент Transmission.

В консоли:
sudo apt-get install transmission-daemon

Теперь меняем настройки, но для этого торрент нужно остановить:
sudo /etc/init.d/transmission-daemon stop
теперь откроем файл настроек:
sudo nano /etc/transmission-daemon/settings.json


Основные опции:
  1. download-dirменяем на "/mnt/usb_hdd" и файлы будут закачиваться на HDD.
  2. download-limit — лимит скорости закачки в Кб/с.
  3. rpc-enabled — удаленное управление. Ставим " true"
  4. rpc-authentication-required — аутентификацию для удаленного управления. Я отключил, от кого прятаться в локальной сети?
  5. rpc-usernam — логин для удаленного управления. Сделайте пустым, если отключили аутентификацию.
  6. rpc-password — пароль для удаленного управления. При запуске торрента пароль шифруется. Сделайте пустым, если отключили аутентификацию.
  7. rpc-whitelist-enabled — включить список разрешенных IP-адресов. Меняем на false.
  8. rpc-port — порт для доступа к удаленному управлению. Меняем на 9091.
  9. peer-limit-global — максимальное количество подключенных пиров на все торренты.
  10. peer-limit-per-torrent — количество пиров на один торрент.
  11. peer-port — порт для раздач. Можете поменять на свой, но в любом случае его нужно открыть в настройках модема.
  12. download-queue-size — количество одновременных закачек. Есть вероятность зависания transmission при большом количестве.

После изменения настроек жмем [Ctrl+O], далее [Enter] и для выхода [Ctrl+X]. И запускаем Transmission командой:
sudo /etc/init.d/transmission-daemon start

Теперь перезагружаемся:
sudo reboot


Как управлять торрентом?
Можно получить доступ к веб-интерфейсу для этого нужно ввести в адресную строку браузера ip-адрес RasPi и, через двоеточие, порт transmission. Например:
http://192.168.1.42:9091

Еще можно воспользоваться программой Transmission Remote GUI(есть ниже).
В ней тоже нужно прописать IP и порт. А также логин и пароль, если вы поставили их запрос в настройках transmission раннее.

Послесловие.



Что если нет сети, а кабель воткнут?
Проверить наличие сети можно командой ping.
Например:
ping habrahabr.ru

Выйти можно командой [Ctrl+C].
Если ничего не происходит, то у вас нет сети. Тогда пишем:
sudo nano /etc/network/interfaces

И меняем
iface eth0 inet dhcp

на
iface eth0 inet static

и добавляем после этого:
address 192.168.1.42 
netmask 255.255.255.0 
gateway 192.168.1.1

address — IP адрес
netmask — маска подсети
gateway — основной шлюз

Команды:
sudo — ставится перед командами, и запускает их от имени администратора. {вернуться}
sudo reboot — перезагрузка.
sudo halt — выключение.
Ctrl+C — выход из открытой консольной программы.
Shift+Ins — вставить текст в консоль.
Ctrl+Ins — копировать выделенный текст из консоли.
стрелки вверх и вниз — листают набранные ранее команды.
nano — консольный текстовый редактор. {вернуться}
sudo apt-get install [имя пакета] — установка пакета*. {вернуться}
sudo mkdir [имя папки] — создание папки.{вернуться}
sudo chmod [значение] — изменение прав групп для папки.[подробнее] {вернуться}
sudo raspi-config — открыть системные настройки.

Список программ для управления RasPi из Windows:
  • WinSCP — клиент, для подключения к файловой системе нашего мини-сервера по SFTP. [Скачать]
  • PuTTY — клиент, для удаленного подключения к консоли ОС по протоколу SSH. [Скачать]
  • Transmission Remote GUI — графический клиент, для удаленного управления transmission GUI. [Скачать]
Share post

Comments 23

    +5
    Подобных статей в сети навалом, чем эта уникальна?
    P.S. Команда ping у вас какая то не такая, правильно ping ya.ru
      0
      Ну, тут кроме процесса установки описаны некоторые проблемы, с которыми я столкнулся.
      И ping я обычно использую ya.ru, как вы указали, просто раз уж мы на хабре. Это же не принципиально.
      +4
      address, netmask и gateway при использовании метода dhcp не имеют смысла.
        0
        Простите, я перепутал их местами. Уже исправил.
        +9
        И вновь по какому-то недоразумению ntfs-3g.
        Если нет явной необходимости иметь диск съёмным и доступным под форточками — форматируйте его во что-нибудь нормальное. Или укажите это явно в заметке.
          +1
          Я написал, что использую переносной HDD по его прямому назначению, прочитайте внимательно.
          И зачем его форматировать в нечто иное, если у основных масс windows? А те, кто используют linux в повседневной жизни, вполне могут форматировать сами.
            +1
            Хм. То ли я к вечеру слепой, то ли на момент написания комментария этого указано всё же не было.

            Зачем форматировать — ntfs-3g с лёгкостью CPU нетбука положит, малинку — как нечего делать. В итоге 100% времени CPU будет занят обработкой ФС и неудовлетворительным результатом в общем.
              0
              Комментарий был, просто расположение неудачное, как видно.

              У меня такой проблемы нет, но всякое бывает. Во что предлагаете отформатировать тогда?
                0
                Проблемы нет, говорите? Пробовали что-нибудь писать на диск? Хотя бы 8мб/с достигли? Т.е. четверти пропускной способности USB и одной десятой от того, что может сам диск обработать?

                Раз нужны винды — то других вариантов нет, всё ещё ущербнее.

                Расскажите лучше, как решили вопрос с hot-plug'ом: заходите по ssh и выключаете малинку? Отрубаете питание без синка и размонтирования? Или кнопку сделали?
                  0
                  У меня он редко вообще отключается, но когда нужно выключить, подключаюсь по ssh через компьютер/телефон/планшет или просто на клавиатуре, подключенной к RasPi, печатаю команды вслепую.
                  Прописываю в консоли синк и размонтирование, иначе файлы повреждаются и последующий запуск невозможен(не всегда, но большая вероятность есть). Потом sudo halt и все.
          0
          transmission надо собирать из исходников в облегченной версии, тогда нагрузка будет меньше при использовании клиента.
          Вот тут мой вариант сборки для HP Microserver, должно подойти и для RPi.
            0
            мне больше нравится как rtorrent на rpi работает
            0
            3 шага. ага. да.
              +12
              insomnia> Нужно выполнить всего три команды, чтобы поставить Gentoo
              insomnia> cfdisk /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-update &&. /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /boot/grub/grub.conf && grub && init 6
              insomnia> это первая

              (с) bash.im/quote/394695
                0
                +5 VSB — это канал «Stand By», то есть напряжение на нем есть даже когда блок питания выключен. Нагрузочная способность этого канала обычно мала. Лучше использовать «нормальный» канал +5V (красный провод), тем более, что БП принудительно запускается перемычкой на ноге PS_ON.
                  +5
                  Уважаемый. Торентососалка — это скучно. Прикрутите к RPi ещё менеджер закачек, скачку видео с разных видеохостингов. Чтоб с веб-интерфейсом и [ну вы сами знаече с чем], чтоб по окончании закачек загорался светодиодик, подключенный к GPIO.
                  Будет у Вас модный, молодёжный и очень гиковский DownloadBox. Потом приделаете одно- двухстрочный дисплей, будете на него выводить текущую скорость приёма/отдачи.
                    0
                    Светодиодик не круто. Круто — писать о закачке в твиттере или ФБ. Или на крайняк смс прислать с уведомлением.
                      0
                      Действительно, круто. Мало у кого есть столько смелости ;-)
                    0
                    расбери вообще какой-то эпик фейл… если попытаться купить его за 35 долларов, то просто не получится потому, что там где реально купить за 35 стоимость доставки будет не меньше 15-20, а на многих сайтах вообще цена 50+ и дополнительно доставка.
                      0
                      Интересно, какой ток подает PRi на свой USB-выход?
                        0
                        Кстати, я тут подумал: если HDD внешний, то, наверное, проще было бы обойтись активным USB-хабом и питать от него и RPi, и HDD. Не думали о таком варианте?
                          0
                          Я так делал, но особой нужды в огромном количестве usb не испытывал и заменил на эту удобную фиговину:
                          Скрытый текст
                          image

                            +1
                            Не совсем понятно, куда эта фиговина должна подключаться.

                        Only users with full accounts can post comments. Log in, please.