?

Log in

No account? Create an account
drawing

Сентябрь 2017

Вс Пн Вт Ср Чт Пт Сб
     12
3456789
10111213141516
17181920212223
24252627282930

Метки

Разработано LiveJournal.com

Raspberry Pi: подробная настройка с нуля до TorrentBox

Источник: http://habrahabr.ru/post/149890/
Автор: http://habrahabr.ru/users/artyums/

Прелюдия

Я давно следил на ХабраХабр за проектом Raspberry Pi и твердо решил заполучить свой мини-компьютер. Когда начался предзаказ, я воспользовался им практически сразу, однако только 17 июня 2012 года мне на Email пришло сообщение от RSComponents.Com о возможности заказа моего экземпляра Raspberry Pi. Итого прошло около месяца с момента предзаказа.

В этот же день я создал заказ (кстати, в то время уже можно было заказать «официально» в Российскую Федерацию) и стал ждать свою «малину». Информационное письмо обещало отгрузку в течение максимум 6 недель, но в этот срок я так и не получил свою плату. Во время звонка в московское представительство RS, менеджер фирма дал понять, что поставки скоро будут, но когда — неизвестно.

17 августа мне на email пришло сообщение от сотрудницы Московского RS, что моя плата доставлена в офис и ее можно забирать (т.к. заказать из RS с доставкой на дом нельзя, потому что DHL не доставляет посылки частным лицам). Собственно говоря, в этот же день я и получил свой компьютер Raspberry Pi!



Весь необходимый набор комплектующих был куплен мною заранее (собственно говоря, все позаимствовал от других устройств). Я использовал:
4Gb Class6 SD-карту от Transcend
NoName usb-зарядник на 1А с MicroUSB кабелем
HDMI кабель Hama
Ethernet-кабель

В качестве клавиатуры и мыши я использовал свой рабочий USB-Reciever Unifying от Logitech. Подключил Raspberry к монитору с помощью HDMI-DVI кабеля.



Действо первое. Установка ОС.

В качестве ОС для Raspberry была выбрана Raspbian (как я понял из форумов, практически все сборки сделаны на основе Debian, поэтому выбор, на мой неискушенный взгляд, не особо богат). Данная ОС широко описана в интернете, а также оптимизирована специально для RPi.
Образ ОС можно скачать с официального сайта: 2012-07-15-wheezy-raspbian.zip. Образ заархивирован в ZIP, сам имеет расширение IMG. Его необходимо разархивировать.
Также, потребуется утилита Win32DiskImager, запустить которую необходимо с правами администратора.

Устанавливаем вашу SD карту в кард-ридер, смотрим в Проводнике, какую букву она получила в системе (чтобы ненароком не затереть данные на другом носителе).
В программе Win32DiskImager выбираем скачанный ранее образ Raspbian, выбираем нужную букву носителя и жмем Write. На предложенное предостережение отвечаем “Yes”.
Пойдет процесс заливки ОС на карту и разбиения ее на разделы:



Процесс закончится сообщением об успехе:



Теперь необходимо немного подредактировать файл config.txt в корне карты памяти – это конфигурационный файл системы для Raspberry Pi. Обратите внимание, что приведенные мною настройки актуальны для ЖК мониторов с разрешением экрана 1920*1080.

Следует раскомментировать параметр disable_overscan=1 (если Вы не планируете использовать RCA выход).
Советую также установить фиксированное разрешение, для этого раскомметруйте строки hdmi_group и hdmi_mode. Значение параметра hdmi_mode следует изменить в соответствии с таблицей, которая приведена тут (также, по этой ссылке приведены другие параметры, которые, возможно, будут Вам полезны). Например, для монитора с разрешением 1920*1080 следует написать hdmi_mode=16.

Не забываем сохранить изменения, отсоединяем SD-карту и вставляем ее в Raspberry Pi.
Подключаем к плате питание и видим на мониторе процесс загрузки, который нас (во всяком случае — пока) мало интересует. Наблюдаем радостное мигание лампочек Raspberry Pi:



При первой загрузке автоматически будет запущена программа настройки системы raspi_config:



Выполняем команду expand_rootfs, которая расширит root раздел на всю SD-карту.
Входим в раздел configure_keyboard и устанавливаем наиболее подходящий тип клавиатуры. Я выбрал Logitech Cordless Desktop
Затем, входим в раздел change_pass устанавливаем новый пароль для пользователя pi (обратите внимание, что вводимые символы не отображаются вообще, даже в виде звездочек!).
Устанавливаем дополнительные локали с помощью пункта change_locale (я не стал этого делать и оставил единственную локаль по умолчанию — en_GB UTF8).
Устанавливаем часовой пояс (set_timezone). Например, если Вы живете в Москве, необходимо найти пункт Europe, а в нем — Moscow
Memory_split устанавливаем в соотвествии с собственным желанием, рекомендую отвести под video – 32Mb, если планируете пользоваться графическим интерфейсом.
Обязательно активируем ssh!
Если хотим, чтобы при загрузке Raspbian автоматически запускалась графическая среда – активируем опцию boot_behaviour.

В конце нажимаем [CTRL]+[F] и выбираем пункт Finish, соглашаясь на перезагрузку устройства.

Когда перезагрузка будет завершена, Вы увидите приглашение на ввод имени пользователя и пароля. Имя пользователя — pi, пароль Вы установили во время настройки системы Raspbian.

На этом установка и первичная настройка системы завершена!

Следующая часть будет интересна тем, кто особо не знаком с Linux (как был и я).

Действо второе. Установка вебсервера и настройка Samba.

Не забывайте, что если Ваш Raspberry подключен в сеть, то можно использовать SSH доступ, что во много раз удобнее.

Установка Web-сервера:

Устанавливаем MySQL:
sudo apt-get install mysql-server mysql-client

Когда запросит установить пароль для root – укажите любой пароль, который Вы запомните.

Устанавливаем Lighttpd:
sudo apt-get install lighttpd

С этого момента Rpi будет откликаться тестовой страницей, если набрать ее IP адрес в браузере любого компьютера в сети!

Устанавливаем PHP5:
sudo apt-get install php5-cgi


Теперь необходимо активировать PHP в настройках сервера. Открываем файл в редакторе nano:
sudo nano /etc/lighttpd/lighttpd.conf

Пункт server_modules должен выглядеть вот так:
server.modules = (
"mod_access",
"mod_fastcgi",
"mod_alias",
"mod_compress",
"mod_redirect",
"mod_rewrite",
)

А в самый конец файла добавьте вот это:
fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket"
)))

Сохраняем, нажав [CTRL]+[X], [Y] и [Enter].

Осталось отредактировать файл конфигурации PHP5:
sudo nano /etc/php5/cgi/php.ini

Находим и раскоментируем (удаляем символ ";") строку cgi.fix_pathinfo = 1. Сохраняем файл.

После всего проделанного, перезапускаем Lighttpd, выполнив команду:
sudo /etc/init.d/lighttpd restart


Установка и настройка Samba

Установим Samba:
sudo apt-get install samba samba-common-bin

Так как моя Rpi находится в домашней сети, я решил не устанавливать пароль на доступ к папкам, а просто настроил публичный шаринг для всей сети.
Для этого открываем файл smb.conf:
sudo nano /etc/samba/smb.conf

Вместо всего имеющегося содержимого пишем:
[global]
workgroup = WORKGROUP
guest ok = yes
netbios name = Raspberry
security = share
browseable = yes

[www]
path = /var/www
writeable = yes
browseable = yes

Сохраняем. Перезапускаем Samba:
sudo /etc/init.d/samba restart

С этого момента в вашей сети появилось новое устройство RASPBERRY, которое имеет папку www.
В ней Вы можете создать любые файлы, которые будут доступны для просмотра во всей сети с помощью браузера.

Кстати! Гораздо удобнее управлять шарингом файлов и папок с помощь программы SWAT, которая предоставляет веб-интерфейс.
Установить ее очень просто:
sudo apt-get install swat

Панель управления SWAT будет расположена по адресу: http://[IP-устройства]:901

Действо третье. Монтирование носителя файлов.

В качестве носителя я решил использовать обычную флэшку, которую подключил в один из USB портов Raspberry Pi. При желании можно подключить к Rpi и внешний жесткий диск, однако надо будет организовать для него отдельное питание, так как USB порты платы на такие нагрузки не рассчитаны и, в лучшем случае, жесткий диск просто не «заведется». Мне же объема флэшки (16Гб) должно вполне хватить.

Подключаем носитель и выполняем команду:
sudo fdisk -l

Команда покажет все устройства, которые подключены к нашему устройству. Ищем в списке нужное устройство по его объему. Например, у меня нужная строка выглядит вот так:
Disk /dev/sda: 16.0 GB, 16013852672 bytes

Искомый путь к устройству — /dev/sda, запомните его!

Запускаем fdisk для форматирования носителя:
sudo fdisk /dev/sda

Вначале удаляем существующие разделы командой d (выбираем нужные разделы цифрами), затем создаем новый с помощью команды n (все значения принимаем по умолчанию), сохраняем проделанную работу с помощью команды w.

Создаем файловую систему ext2 на носителе:
sudo mkfs -t ext2 /dev/sda1


Монтируем:
sudo mount -t ext2 /dev/sda1


Теперь необходимо обеспечить автоматическое монтирование носителя при каждой загрузке Raspbian. Для этого создаем папку:
sudo mkdir /mnt/flash

Отрываем файл настроек:
sudo nano /etc/fstab

и добавляем в него строку:
/dev/sda1 /mnt/flash ext2 defaults 0 0

Сохраняем и перезагружаем устройство. При загрузке носитель должен автоматически примонтироваться, что можно проверить командой:
df

Она выведет список примонтированных устройств с указанием точек их монтирования.

Кстати! Рекомендую установить также файловый менеджер Midnight Commander для работы с файлами через консоль:
sudo apt-get install mc

Если Вы пользуетесь Putty для работы с SSH, то для корректной работы MC Вам необходимо сделать настройку. В настройках Putty установите значение Remote character set в разделе Translation на «UTF-8»:



Действо четвертое. Установка Transmission и настройка закачек

Мы подобрались к цели данного топика — установке и настройке Torrent-клиента на нашем устройстве. Я остановил свой выбор на Transmission.

Устанавливаем Transmission:
sudo apt-get install transmission-daemon

Создаем директорию для закачек, для неоконченных закачек и для торрентов на подключенном носителе и даем права на запись:
sudo mkdir /mnt/flash/torrent
sudo mkdir /mnt/flash/torrentfiles
sudo mkdir /mnt/flash/incomplete
sudo chmod 777 /mnt/flash/torrent
sudo chmod 777 /mnt/flash/torrentfiles
sudo chmod 777 /mnt/flash/incomplete

Редактируем настройки:
sudo nano /etc/transmission-daemon/settings.json

Здесь необходимо поменять на указанные значения следующие параметры:
"cache-size-mb": 2;
"download-dir": "/mnt/flash/torrent",
"incomplete-dir": "/mnt/flash/incomplete",
"preallocation": 2,
"rpc-password": "любой удобный вам пароль (при перезапуске демона будет зашифрован)",
"rpc-username": "pi",
"rpc-whitelist-enabled": false,
"speed-limit-down": 3000,
"speed-limit-up": 1000,

К сожалению на высоких скоростях скачивания и отдачи Raspberry начинает очень сильно тормозить, поэтому экспериментальным путем были выявлены те ограничения, которые Вы видите в настройках выше.

Перезапускаем Transmission командой:
sudo /etc/ini.d/transmission-daemon restart

С этого момента у Вас установлен рабочий Torrent-клиент, веб-панель управления которым доступна по адресу: http://[ip-устройства]:9091, логин pi, пароль Вы установили в конфигурационном файле.

Не забудьте также добавить папку /mnt/flash/torrent в сетевую шару через Samba, чтобы скачанные файлы можно было смотреть на других устройствах, например, на Вашем медиаплеере:



Стоит отметить, что с отдачей файлов по сети Raspberry Pi, на мой взгляд, справляется отлично — при копировании файла с Raspberry Pi на компьютер, максимальная скорость достигла 7Мб/сек, что практически соответствует максимальной скорости чтения для использованной флэшки.

Эпилог

На этом моя статья заканчивается. Raspberry Pi обеспечила огромный толчок в моем изучении многих аспектов работы с OC Linux. В планах есть еще много задумок, касающихся Raspberry Pi, которые я постараюсь реализовать и описать в моих дальнейших статьях.

Буду рад замечаниям об ошибках от более опытных пользователей!

Comments

При копировании файла с Raspberry Pi на компьютер, максимальная скорость достигла 7Мб/сек, что практически соответствует максимальной скорости чтения для использованной флэшки.

А скорость сильно падает, если USB-винчестер подключить?
Не знаю, пока не пробовала подключать.