Raspberry Pi — одноплатный микрокомпьютер, ценой $35 и размером с сигаретную пачку.
Raspberry Pi Model B — 700 МГц ARM, 512 МБ ОЗУ. Слева в красивом корпусе Pibow, справа — просто плата, как есть.
Эдакий гаджет-игрушка с линуксом внутри. Но в отличие от других игрушек, эта продолжает работать и приносить пользу даже тогда, когда в нее уже надоест играться.
У программ для Raspberry Pi есть 2 особенности. Во-первых, они должны уметь работать на ARM: т.е. быть собранными или уметь собираться под эту архитектуру. Во-вторых, потреблять как можно меньше дефицитных ресурсов — процессора и памяти — их у «малинки» не очень густо.
Raspberry можно использовать в режиме обычного десктопного компьютера: у него есть и разъем HDMI для подключения монитора и оконный менеджер, браузер и все что полагается. Но смысла в таком использовании немного, потому что аппаратная часть явно слабовата для графического интерфейса.
Гораздо интереснее и практичнее использовать его в качестве домашнего микросервера, когда просто лежит где-то по соседству с Wi-Fi роутером и делает что-то полезное. Полезное, в самом простом случае, сводится к 3 вещам: скачивать, раздавать и хранить.
В таком сценарии управлять малинкой можно либо через веб, либо через ssh. Этого более чем достаточно: за год использования я ни разу не подключал к своему Pi ни монитор, ни клавиатуру.
Соответственно, все перечисленные ниже пакеты разбиты на 2 категории: с веб-интерфейсом и с управлением через терминал.
С веб-интерфейсом
Transmission
Transmission — популярный торрент-клиент с удобным веб-интерфейсом.
Устанавливается одной командой:
sudo apt-get install transmission-daemon
Настройка:
sudo service transmission-daemon stop && sudo nano /etc/transmission-daemon/settings.json
Важно остановить демон перед редактированием конфигурационного файла. После редактирования запускаем обратно:
sudo service transmission-daemon start
BTSync
BTSync называют народным дропбоксом. А так как оригинального дропбокса для Raspberry нет, то выбор в пользу BTSync очевиден.
Установка чуть посложнее. Сначала открываем файл:
sudo nano /etc/apt/sources.list.d/btsync.list
и дописываем туда 2 строчки
deb http://debian.yeasoft.net/btsync wheezy main contrib non-free
deb-src http://debian.yeasoft.net/btsync wheezy main contrib non-free
Далее:
sudo apt-get update && sudo apt-get install btsync
В процессе установки будет спрашивать разные параметры: можно оставить все по-умолчанию.
RPi-Monitor
RPi-Monitor — удобное средство мониторинга: загрузка процессора, памяти, накопителей, температура и многое другое.
Все в виде актуальных, месячных или годовых графиков — короче, красота!
Установка:
sudo apt-get install apt-transport-https ca-certificates
sudo wget http://goo.gl/rsel0F -O /etc/apt/sources.list.d/rpimonitor.list
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F
sudo apt-get update
sudo apt-get install rpimonitor
Shell In A Box
Консолька в браузере. Для серьезных проектов малоприменимая штука, а для игрушек типа Raspberry — в самый раз!
sudo apt-get install shellinabox
nginx
Чтобы всех отыскать, воедино созвать…
Веб-интерфейсы вышеперечисленных пакетов бегут каждый на своем определенном порту. Поэтому возникает резонное желание поставить перед ними простой веб-сервер и объединить простой статической страничкой. nginx подходит как нельзя лучше: он быстрый и, в отличие от Apache, потребляет минимум ресурсов. Для Pi это актуально
sudo apt-get install nginx && sudo service nginx start
У меня в итоге получилось примерно такая статическая страничка со ссылками на соответствующие сервисы:
Консольные
Стандартный джентльменский набор начинающего линуксоида начинается с Midnight Commander. Я не очень люблю двухпанельные файловые менеджеры, но кому-то нравится.
sudo apt-get install mc
htop
Другой популярный пакет из джентльменского набора — htop.
Как встроенный top
, только краше и лучше. Актуально для отслеживания потребления дефицитных ресурсов.
sudo apt-get install htop
vsftpd
FTP-сервер: будет полезен, если собираетесь что-то раздавать наружу. Инструкции по установке и настройке.
netatalk / avahi
Для маководов. Nenatalk — реализация Apple File Protocol для линукса. Avahi — почти тоже самое что и Bonjour
sudo apt-get install netatalk
После этого ваш Мак будет видеть Raspberry, как родного.
Простой VPN
Простейший PPTP VPN-сервер. Он, конечно, не такой защищенный, как, например, OpenVPN, но устанавливается и настраивается за считанные минуты, а не часы.
wget https://raw.github.com/viljoviitanen/setup-simple-pptp-vpn/master/setup.sh
sudo sh setup.sh
Взято отсюда.
vnstat
sudo apt-get install vnstat
Встроенный в Raspberry Pi счетчик сетевой активности сбрасывается после каждых 4 ГБ трафика. vnstat будет мониторить трафик и показывать отчеты и прогнозы: за сегодня и вчера, текущий и предыдущий месяцы, а также за все время. Актуально, если компьютер что-то раздает наружу.
Тонкая настройка
Парочка полезных ссылок об использовании Pi в качестве домашнего сервера.
- Удаление ненужных пакетов и добавление нужных. Нужные пакеты — это смотря кому что нужно. А вот что касается ненужных, то в сценарии домашнего сервера по-умолчанию есть очень много совершенно лишних пакетов.
- Тонкая настройка: суровая линуксовая магия. Но она реально сокращает потребление памяти и нагрузку на процессор — RPi-Monitor не даст соврать.
Рекомендации
- Система и программы — на карте памяти, данные — на внешнем жестком диске. Не стоит использовать карту памяти как хранилище данных. Особенно таких, к которым много операций записи (например, торренты) — большинство карт памяти не рассчитаны на такое использование и рано или поздно выйдут из строя.
- Резервное копирование. Карта памяти — пожалуй, самое ненадежное звено Raspberry Pi. По счастью, сделать копию совсем не сложно.
Все вышеперечисленные пакеты установлены на один Pi, который уже больше года используется в качестве семейного файл-сервера. Не самая высокая скорость работы компенсируется ценой и, самое главное, многофункциональностью на порядок выше, чем у любых домашних NAS.