Полезное для Raspberry Pi

Raspberry Pi — одноплатный микрокомпьютер, ценой $35 и размером с сигаретную пачку.

Paspberry Pi, Pibow

Raspberry Pi Model B — 700 МГц ARM, 512 МБ ОЗУ. Слева в красивом корпусе Pibow, справа — просто плата, как есть.

Эдакий гаджет-игрушка с линуксом внутри. Но в отличие от других игрушек, эта продолжает работать и приносить пользу даже тогда, когда в нее уже надоест играться.

У программ для Raspberry Pi есть 2 особенности. Во-первых, они должны уметь работать на ARM: т.е. быть собранными или уметь собираться под эту архитектуру. Во-вторых, потреблять как можно меньше дефицитных ресурсов — процессора и памяти — их у «малинки» не очень густо.

Raspberry можно использовать в режиме обычного десктопного компьютера: у него есть и разъем HDMI для подключения монитора и оконный менеджер, браузер и все что полагается. Но смысла в таком использовании немного, потому что аппаратная часть явно слабовата для графического интерфейса.

Гораздо интереснее и практичнее использовать его в качестве домашнего микросервера, когда просто лежит где-то по соседству с Wi-Fi роутером и делает что-то полезное. Полезное, в самом простом случае, сводится к 3 вещам: скачивать, раздавать и хранить.

В таком сценарии управлять малинкой можно либо через веб, либо через ssh. Этого более чем достаточно: за год использования я ни разу не подключал к своему Pi ни монитор, ни клавиатуру.

Соответственно, все перечисленные ниже пакеты разбиты на 2 категории: с веб-интерфейсом и с управлением через терминал.


С веб-интерфейсом

Transmission

Transmission — популярный торрент-клиент с удобным веб-интерфейсом.

Transmission web interface

Устанавливается одной командой:
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 очевиден.

BTSync web interface

Установка чуть посложнее. Сначала открываем файл:
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 — удобное средство мониторинга: загрузка процессора, памяти, накопителей, температура и многое другое.

RPi-Monitor web interface

Все в виде актуальных, месячных или годовых графиков — короче, красота!

RPi-Monitor web interface graphs

Установка:

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

У меня в итоге получилось примерно такая статическая страничка со ссылками на соответствующие сервисы:

Raspberry Pi Web Panel


Консольные

Стандартный джентльменский набор начинающего линуксоида начинается с Midnight Commander. Я не очень люблю двухпанельные файловые менеджеры, но кому-то нравится.

sudo apt-get install mc


htop

Другой популярный пакет из джентльменского набора — htop.

htop

Как встроенный top, только краше и лучше. Актуально для отслеживания потребления дефицитных ресурсов.

sudo apt-get install htop


vsftpd

FTP-сервер: будет полезен, если собираетесь что-то раздавать наружу. Инструкции по установке и настройке.


netatalk / avahi

Для маководов. Nenatalk — реализация Apple File Protocol для линукса. Avahi — почти тоже самое что и Bonjour

sudo apt-get install netatalk

После этого ваш Мак будет видеть Raspberry, как родного.

netatalk


Простой 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 не даст соврать.

Рекомендации

  1. Система и программы — на карте памяти, данные — на внешнем жестком диске. Не стоит использовать карту памяти как хранилище данных. Особенно таких, к которым много операций записи (например, торренты) — большинство карт памяти не рассчитаны на такое использование и рано или поздно выйдут из строя.
  2. Резервное копирование. Карта памяти — пожалуй, самое ненадежное звено Raspberry Pi. По счастью, сделать копию совсем не сложно.

Все вышеперечисленные пакеты установлены на один Pi, который уже больше года используется в качестве семейного файл-сервера. Не самая высокая скорость работы компенсируется ценой и, самое главное, многофункциональностью на порядок выше, чем у любых домашних NAS.

Paspberry Pi in the night