Пользователь
0,0
рейтинг
5 октября 2013 в 01:41

Администрирование → Эпопея о WD My Book Live, или «девайс-конфетка» с «печеньками» из песочницы

image

Привет %username%! В начале этого года мне наконец-то исполнился четвертак. Поняв, что я стал взрослым ребёнком и нуждаюсь во взрослых игрушках, купил себе WD My Book Live на 3Tb ёмкости, который в нашем счастливом семействе убил сразу N зайцев. Счастью моему не было предела. Девайс подкупил своей ценой, железом и наличием полноценного Linux на борту. Однако, как оказалось позже, Linux Debian оказался не очень уж и полноценным, достаточно кастрированным и, судя по отзывам рядовых владельцев, любителем окирпичиться. Однако, благодаря инженерам из WD, девайс достаточно легко поднимается из состояния кирпича до состояния работоспособного устройства (пруф1 и пруф2). Но согласитесь, времена хард ресета с пассатижами из хозмага за углом давно миновали. Всё-таки эпоха нано-полимеров и инноваций. А значит и девайс хочется более не убиваемым.

Я никак не являюсь линуксоидом и для меня Linux, по своей сути, тёмный лес! Поэтому, для начала, долго изучая интернеты, я запилил себе только mc и transmission, чего для первого раза мне хватило за глаза. А ещё я был поражён, как мне – человеку, впервые запустившему SSH — легко это удалось! Прошло полгода, я почитал форумы, посвящённые девайсу. Настал день “Д” и я, засучив рукава, принялся делать из своего девайса “конфетку”. И не простую, а “конфетку” с “печеньками”, а именно:

  1. Девайс специфичен тем, что после прошивки на более новую версию теряется практически весь софт и настройки системы, которые старательно и кропотливо заносились тобой, %username%. Но эту проблему с радостью решает chroot. А весь последующий софт должен крутиться только на нём
  2. Девайс отлично работает в качестве файлопомойки по сети. Было бы слишком цинично иметь такой ресурс и не воспользоваться им для воплощения домашнего dropbox’а.
  3. Кроме этого, девайс должен уметь самостоятельно закидывать себя торрентами, причём максимум, что требуется от меня, так это качать .torrent в определённую директорию, а всё остально должно делаться само!
  4. Встроенный медиасервер Twonky 5 работает… и слава богу! Но хотелось бы иметь что-то с web-мордой, кушающее побольше медиа и имеющее возможность конфигурироваться. Twonky6\7 отметается в силу своей не бескорыстности.
  5. Иметь интерфейс для мониторинга состояния девайса, чтобы знать чем он “дышит”.
  6. Кому как, а мне, как web-разработчику, хотелось бы иметь и свой домашний web-сервер под свои личные мини-проекты и разработки (как альтернатива Denwer’у), однако его настройкой займёмся позже, когда у меня будет значительно больше времени.

Зачем я только это всё затеял… Стоит помнить, что все эти навороты создают ощутимую нагрузку на устройство, поэтому лучше заранее определиться, нужно ли это тебе? Но да ладно, засучим рукава и приступи!


Начинаем преображаться


Мой энтузиазм был на пределе, так как я помнил первый успешный опыт общения с терминалом своего Debian. Первое, о чём я долго мечтал сделать – это обновить версию прошивки моего MBL. На момент приобретения девайса, на нём была установлена прошивка 02.41.05-034. Последней на сегодняшний день является 02.42.03-027. Не обновлялся исключительно из-за того, что эта процедура неизбежно приводит к стиранию всего установленного мною софта. Но теперь я установлю chroot и всё будет в порядке! Запасся двумя внешними USB-HDD по 750Gb каждый и перенёс все нужные данные с MBL, что настоятельно рекомендую сделать и тебе, %username%. В процессе я успел потереть пару раз файлы на MBL (исключительно по своей невнимательности), поэтому лишним не будет!

Скопировав все данные, принялся прошиваться. Из web-интерфейса это было сделать достаточно легко, однако если уж заниматься чем-то, то заниматься по взрослому. Поэтому предпочёл повышать свой уровень знаний, обновляя прошивку через терминал. В этом случае, любую версию прошивки можно скачать с сайта WD.

Если у кого-то ещё не включен SSH на устройстве, то это легко можно сделать, перейдя по ссылке http://mybooklive/UI/ssh или обратившись по IP-адресу девайса, в моём случае это http://192.168.0.41/ui/ssh. Установить галочку “SSH Access”.

image

Чтобы подключиться к устройству по SSH, нужно скачать любой ssh-клиент. Я предпочитаю использовать PUTTY. В его настройках достаточно прописать имя хоста или IP-адрес MBL и нажать кнопку “Соединиться”. При запросе логина и пароля указать стандартные логин root и пароль welc0me (с нулём вместо O). Если всё в порядке, то консоль нам ответит приветственным сообщением и строкой:

MyBookLive:~#

image

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

“MyBookLive:~# ” – среда корневой операционной системы.
“(chroot-debian)/# ” – среда chroot.

Для начала, если ты этого никогда не делал, стоит снять полный backup MBR и разделов диска:

MyBookLive:~# dd if=/dev/sda bs=15728640 count=1 | bzip2 > /DataVolume/shares/Public/SDA_MBR_FREESPACE.bz2
MyBookLive:~# dd if=/dev/sda1 | bzip2 > /DataVolume/shares/Public/SDA1_IMAGE.bz2
MyBookLive:~# dd if=/dev/sda2 | bzip2 > /DataVolume/shares/Public/SDA2_IMAGE.bz2

Теперь останется лишь скачать полученные файлы из директории /DataVolume/shares/Public/ на другой носитель. И в случае какой-либо проблемы нам есть на что откатиться. Лучше всего это сделать, если MBL ещё пустой.

А сейчас я настоятельно рекомендую сменить пароль на более сложный:

MyBookLive:~# passwd [новый пароль]

Пароль нужно ввести 2 раза подряд (после первого раза, система запросит ввести пароль повторно), чтобы система его приняла. Для справки, в консоль PUTTY можно вставить скопированные из буфера обмена команды сочетанием клавиш Shift + Ins, чтобы не набирать все команды в ручную и избавиться от ошибок.


Прошиваемся


Теперь, когда у нас есть полноценный SSH, мы можем делать всё, что угодно (в разумных пределах, разумеется). Шаг с прошивкой не обязателен, но крайне желателен, ибо с голой системой работать приятнее (всё равно при следующем обновлении мы всё потеряем). Если у тебя установлена последняя версия обновления, но ты хочешь поставить туже прошивку с нуля, то это подойдёт и тебе. Для начала нужно посмотреть текущую версию прошивки в файле /etc/version. Для этого наберём в консоли:

MyBookLive:~# nano /etc/version

Откроется редактор Nano. В его текстовом поле в самом верху будет написана версия прошивки. В моём случае это 02.41.05-034.

image

Нажмём Ctrl + X, чтобы выйти из редактора. Если у вас стоит самая последняя версия прошивки (т.е., на сегодняшний день это 02.42.03-027), то без проблем меняй номер прошивки на любой предыдущий (как вариант, можно вписать и мой – на скриншоте выше). В этом случае, чтобы сохранить изменения, необходимо нажать Ctrl + O, после чего согласиться нажатием клавиши Enter, а затем выйти из редактора Ctrl + X.

И так, нас всё устраивает, мы начинаем обновлять прошивку. Скачиваю и устанавливаю последнюю (на сегодняшний день) прошивку apnc-024203-027-20130529.deb с зеркала и перемещаю её в директорию /DataVolume/shares/Public/ моего MBL. Далее, в консоли необходимо написать:

MyBookLive:~# updateFirmwareFromFile.sh /DataVolume/shares/Public/apnc-024203-027-20130529.deb

Прошивка уничтожит все установленные вами на устройстве программы, но не затронет хранящиеся на устройстве пользовательские файлы. Однако я настоятельно рекомендовал ранее и повторю сейчас – лучше иметь копию этих файлов у себя на винчестере, чем потом рвать волосы на голове!.. Процесс прошивки будет не быстрым. Ни в коем случае не закрывай сеанс в SSH консоли и обязательно дождись её ответа сообщением:

The system is going down for reboot NOW!

Если в процессе обновления прошивки у тебя в браузере открыто окно с web-интерфейсом MBL, то скорее всего заметил в нём окно состояния процесса обновления. Баг?

image

Первым делом после прошивки необходимо заморозить udev… От греха подальше!

MyBookLive:~# aptitude hold udev

Список репозиториев лучше не модифицировать, ибо чревато! Выполнить в консоли следующее:

MyBookLive:~# sudo apt-get update

Скорее всего консоль ругнётся как-то так:

W: GPG error: http://ftp.us.debian.org wheezy Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA

Подобная ситуация возникает после обновления листа репозиториев, прописанных в /etc/apt/sources.list и при последующей попытки что-то оттуда установить. Причиной является то, что в системе просто на просто отсутствуют публичные GPG-ключи репозитория, из которого осуществляется установка пакета. И этот самый ключ (в моём случае — AED4B06F473041FA) необходимо добавить в базу apt системы. Выполним следующее:

MyBookLive:~# gpg --keyserver subkeys.pgp.net --recv AED4B06F473041FA
MyBookLive:~# gpg --export --armor AED4B06F473041FA | sudo apt-key add -

Если всё прошло успешно, система ответит:

OK

Теперь снова пробуем выполнить:

MyBookLive:~# sudo apt-get update

Теперь всё отлично и этого достаточно для начала! Имеет ли смысл далее настраивать голую систему под себя? На этот вопрос каждый ответит для себя сам, я в этом смысла не вижу, поэтому сразу приступлю к следующему слюнопускательному пункту программы!


Устанавливаем chroot


Теперь с чистой совестью можно приступить к установке chroot. Вся необходимая информация есть на Code.Google проекта. Из инструкции по ссылке и по описаниям из интернетов, процесс не сложный. Ну что ж, приступим?

Для начала скачаем скрипт установки.

MyBookLive:~# wget http://mbl-common.googlecode.com/svn/chroot-install/install.sh

Возможно, у кого-то он пойдёт с ходу-бегу, но у меня он поругался, поплевался, насупил брови, надул щёки и отказался что-либо делать. Причиной всему оказалась ссылка на устаревший репозиторий в 55 строке (меняем через редактор nano ссылку ftp.debian.org/debian на mirror.yandex.ru/debian). Так же выяснилось, что принципиально важно экранировать треугольные скобки “<” и “>” в 36 строке, дописав перед каждыми по символу ”\”, так как инсталлятор ругался и на них. Для ленивых привожу ссылку на уже поправленный мною инсталлятор. Теперь запустим процесс установки:

MyBookLive:~# sudo sh /root/install.sh

На все вопросы системы отвечаем положительным “y”. Сам процесс установки должен занять от 20 до 40 минут. В процессе должны установиться miniDLNA сервер, Transmission и сам chroot (правда, я предпочёл установить только chroot и доставить остальные плюшки самостоятельно). Если же ты, всё же, решил поставить со стокового инсталлятора и у тебя вылезли проблемы (как на скриншотах ниже), тогда неминуемо правь инсталлятор сам или качай по ссылке выше!

image

image

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

MyBookLive:~# /etc/init.d/chroot_debian.sh stop
MyBookLive:~# /etc/init.d/chroot_debian.sh remove
reboot
MyBookLive:~# rm -fr /DataVolume/debian/

Теперь можно снова начать установку. Важно отметить, лучше это делать с командой sudo, иначе chroot ставит не все пакеты и, как следствие, так же не запускается. Если ты всё сделал, как написал я, то в итоге мы получаем готовую песочницу и стимулятор фантазии. Как ей управлять — подробно описано тут, но всё же, я постараюсь объяснить.

Чтобы запустить chroot необходимо написать в консоли:

MyBookLive:~# /etc/init.d/chroot_debian.sh start

Сам по себе chroot запускается автоматически во время запуска MBL, но всё же… Во время старта также запускаются сервисы, прописанные в /DataVolume/debian/chroot-services.list. Важно отметить, что имена приложений в этом файле соответствуют именам файлов из каталога /DataVolume/debian/etc/init.d/.

После запуска необходимо войти в среду chroot:

MyBookLive:~# chroot /DataVolume/debian/

Пока ты находишься в chroot-среде, ты можешь без боязни устанавливать всё что угодно и экспериментировать! В среде установлен полноценный дистрибутив Debian Wheezy. Это по истине самая настоящая песочница для воображения! Чтобы выйти из среды chroot и вернуться в среду MBL, необходимо ввести команду exit:

(chroot-debian)/# exit

Чтобы остановить среду, введи:

MyBookLive:~# /etc/init.d/chroot_debian.sh stop

Самое интересное, как я и писал выше, chroot хорош тем, что при смене прошивки MBL сам chroot и установленный в нём софт не удаляются. Как только ты обновишь прошивку девайса, сразу можно ввести команду восстановления chroot и вернуть всё как было:

MyBookLive:~# /DataVolume/debian/chroot_debian.sh install

Удалить среду можно остановив её, а за этим удалив скрипт автозапуска среды. После этого необходимо перезагрузить MBL и вычистить полностью директорию /DataVolume/debian/:

MyBookLive:~# /etc/init.d/chroot_debian.sh stop
MyBookLive:~# /etc/init.d/chroot_debian.sh remove
MyBookLive:~# reboot
MyBookLive:~# rm -fr /DataVolume/debian/

Собственно, этим методом я и удалял результат косячной установки chroot в прошлый раз.


Настраиваем chroot


Теперь стоит заняться настройкой chroot-среды под свои нужды. Тут для каждого есть стимул разгулять свою фантазию. Я лишь приведу пример, как это сделал я, поэтому этот раздел носит больше рекомендательный характер. Если мы ещё не в chroot’е, то самое время в него войти:

MyBookLive:~# chroot /DataVolume/debian/

Для начала я бы порекомендовал установить 3 важных пакета, которых в среде chroot не оказалось (sudo, wget и cron). Они нам обязательно пригодятся. Поэтому:

(chroot-debian)/# apt-get install sudo wget cron

Теперь можно расширить список репозиториев системы. Для этого необходимо добавить репозитории в наш /etc/apt/sources.list. Однако в среде chroot у нас есть только один редактор и имя ему – mcedit:

(chroot-debian)/# mcedit /etc/apt/sources.list

В список нужно добавить эти репозитории, заменив уже существующий набор:

deb http://mirror.yandex.ru/debian/ wheezy main
deb http://mirror.yandex.ru/debian/ stable main contrib non-free
deb-src http://mirror.yandex.ru/debian/ stable main contrib non-free
deb http://archive.debian.org/debian/ lenny main
deb-src http://archive.debian.org/debian/ lenny main
deb http://ftp.us.debian.org/debian/ squeeze main
deb-src http://ftp.us.debian.org/debian/ squeeze main

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

(chroot-debian)/# sudo apt-get update

При возникновении проблем с публичными ключами GPG ты уже знаешь что делать (это мы проходили при настройке корневой среды MBL).

По умолчанию установлен текстовый редактор mcedit и лично меня он устраивает, но по желанию можно установить nano, vim, ed и прочие на свой вкус. В таком случае нужно выбрать редактор по-умолчанию:

(chroot-debian)/# update-alternatives --config editor

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

Теперь, пожалуй, можно установить русский язык в chroot-среде. Лично я предпочитаю использовать английский, но если тебе проще общаться с девайсом именно на кириллице – нет проблем. Всё же, я рекомендую это сделать, дабы избежать проблем названиями файлов на кириллице. Сделаем это следующим образом:

(chroot-debian)/# sudo apt-get update
(chroot-debian)/# sudo apt-get install locales
(chroot-debian)/# sudo dpkg-reconfigure locales

После выполнения последней команды, на экране появится список локалей. Необходимо нажимать клавишу Enter до тех пор, пока не появится экран ввода номера локали. Русская локаль находится под номером 349 (пакет ru_RU.UTF-8). Далее будет предоставлен выбор вариантов локалей по-умолчанию. У меня были такие:

1. None
2. ru_RU.UTF-8

Выбираем второй и соглашаемся с системой. Теперь необходимо покинуть chroot-среду и вернуться в MBL:

(chroot-debian)/# exit

Добавляем в файлы (через редактор nano, как мы это уже делали выше, когда меняли версию прошивки MBL) /DataVolume/debian/root/.bashrc и /DataVolume/debian/root/.profile в конце по 2 строки:

export LANG='ru_RU.UTF-8'
export LC_ALL='ru_RU.UTF-8'

Сохраняем изменения и снова можем зайти в chroot и проверить, что консоль стала нам отвечать русским текстом. Если появятся проблемы с отображением русских букв, то стоит установить кодировку UTF-8 в настройках PUTTY: Настройки->Разделы->Окно->Кодировка->Кодировка->UTF-8:

image

В качестве приятного дополнения можно установить и приложение для мониторинга температуры жёсткого диска. Лично я посчитал, что это мне может в будущем понадобиться:

(chroot-debian)/# sudo apt-get install hddtemp
(chroot-debian)/# hddtemp /proc/1/cwd/dev/sda

Благодаря этому пакету я теперь знаю, что температура жёсткого диска 63 градуса Цельсия.
В принципе, для меня лично этих настроек достаточно! Двигаемся дальше?


Устанавливаем облачное хранилище ownCloud


Ну что, %username%, именно сейчас начинается, пожалуй, самое интересное. Давно мечтал иметь своё облако, которое не лимитирует объем жёсткого диска. И сабж подходит под все мои хотелки более чем – есть клиент под Windows и Android! Необходимую документацию и дистрибутивы мы без труда можем найти на сайте проекта ownCloud.
Процесс установки расписывать подробно не стану. Весь процесс опирается на эти туториал и пост. Перед началом установки необходимо разобраться с зависимыми пакетами, которые надо проинсталлировать:

(chroot-debian)/# sudo apt-get install apache2 php5 php5-gd php-xml-parser php5-intl
(chroot-debian)/# sudo apt-get install php5-sqlite php5-mysql php5-pgsql smbclient curl libcurl3 php5-curl

Ранее мы уже проинсталлировали пакет wget и он нам сейчас как раз понадобится. Начинаем с его помощью загрузку и установку ownCloud:

(chroot-debian)/# wget http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_12.04/all/owncloud_5.0.11-0_all.deb
(chroot-debian)/# sudo dpkg -i /owncloud_5.0.11-0_all.deb

Если возникнут проблемы с NTP сервером, то просто выполни команду:

(chroot-debian)/# sudo apt-get -f install

У нас уже есть установленный пакет apache2. Но он не запускается по причине того, что требует для себя 80 порт. Однако, этот порт уже занят апачем корневой системы и на нём висит, не много-не мало, а web-интерфейс MBL. Лично я не захотел лишаться web-интерфейса, поэтому решил, что ownCloud вполне успешно поработает на моё благо на 81 порту. Однако стоит помнить, что для доступа к ownCloud из облака необходимо будет пробросить 80 порт роутера на 81 порт MBL. Остановим апач и отредактируем конфигурацию его портов /etc/apache2/ports.conf:

(chroot-debian)/# /etc/init.d/apache2 stop
(chroot-debian)/# mcedit /etc/apache2/ports.conf

В файле у директивы Listen сменим порт с 80 на 81. Нажмём F2 для сохранения и F10 для выхода из редактора:

image

Теперь снова стоит запустить апач:

(chroot-debian)/# /etc/init.d/apache2 start

Если мы всё сделали правильно, то по ссылке http://mybooklive:81/owncloud/ должна открыться страница ownCloud! Ура!

image

Теперь нам необходимо создать каталог хранения файлов облака. Я рекомендую для этого создать каталог вне каталога /mnt/Public/, чтобы к данным облака не было публичного доступа. Однако вы сами в праве решать, исходя из своих требований, где этот каталог должен находиться. Приступим:

(chroot-debian)/# mkdir -p /mnt/ownCloud/data
(chroot-debian)/# chmod -R a+rwx /mnt/ownCloud

Так же, если необходимо дать доступ к директори по сети, то необходимо создать аналогичную директорию через web-интерфейс MBL.

Приступим к настройке web-интерфейса. Нам необходимо придумать логин\пароль администратора облака, назначить созданную нами выше директорию с данными, а так же выбрать базу данных. Обычно я отдаю предпочтение MySQL, но в этот раз решил поэкспериментировать с SQLite. В прочем, при выборе MySQL в качестве БД будьте готовы ввести название БД для ownCloud, а так же логин и пароль пользователя MySQL. Если всё готово, нажимаем “Завершить установку”.

image

image

Ура, оно того стоило! Осталось теперь скачать клиент для Windows, OS X, Linux, Android или iOS. Документация доступна тут. Однако, это ещё не всё. Для успешной работы нам также необходимо добавить демон apache2 в файл автозагрузки chroot-среды. Для этого отредактируем файл /chroot-services.list:

(chroot-debian)/# mcedit /chroot-services.list

И добавим в него строку с именем сервиса:

apache2

Отлично. Стоит напомнить, что ownCloud – это конечно хорошо, но нагружает он девайс не плохо! По крайней мерее у меня.


Установка Inadyn


Облако — это хорошо, когда оно видно не только в домашней сети, иначе проку с него не много! В решении этого вопроса я воспользовался опытом уважаемого товарища phoenixweiss в его туториале. Однако хочу отметить один важный момент, поэтому прошу сначала ознакомиться с материалом по ссылке! Необходимо, чтобы inadyn стартовал при запуске chroot-среды. В принципе, это сделать не сложно, прописав его в Crontab с директивой reboot, чтобы он поднимался автоматически при загрузке системы. Однако, установив пакет cron и прописав таким образом в него inadyn, получил понимание того, что директива reboot совершенно не работает в chroot.

Подумал! Придумал! Зачем изобретать велосипед, ведь у нас уже есть очень кошерный способ автозагрузки важных для нас пакетов через /chroot-services.list. Им то и решил воспользоваться. Однако, чтобы наш пакет запустился, запускающий файл для пакета должен иметь расположение /etc/init.d/inadyn и реагировать на параметры start/stop/restart/reload/status. Осталось, правда, научиться писать Bash-скрипты, но и это для меня (человека, который второй раз в жизни видит консоль Linux в живую) оказалось не сложно, пару часов гугления и я родил свой первый скрип:

Содержимое файла /etc/init.d/inadyn
#!/bin/sh

# Проверяем параметры запуска
case $1 in
	start) # Старт
		# Если пакет запущен, он вернёт свой PID
		if [ -z "$(pidof inadyn)" ];
		then
			# Если PID пустой, значит пакет не запущен! Запустим пакет
			/usr/sbin/inadyn
			echo "[ \033[1;32mok\033[0m ] Starting DNS Server: inadyn."
		Else
			# Иначе пакет запущен!
			echo "[ \033[1;31mfailure\033[0m ] Starting DNS Server: inadyn already running."
		fi
		;;
	stop) # Стоп
		# Если пакет запущен, он вернёт свой PID
		if [ -z "$(pidof inadyn)" ];
		then
			# Если PID пустой, значит пакет не запущен и останавливать нечего
			echo "[ \033[1;31mfailure\033[0m ] Stoping DNS Server: inadin is not running."
		Else
			# Иначе пакет запущен. Убиваем его по PID
			for pid in $(pidof inadyn)
			do
				kill -9 "$pid"
			done
			echo "[ \033[1;32mok\033[0m ] Stoping DNS Server: inadin."
		fi
		;;
	restart|reload) # Перезапуск
		$0 stop
		sleep 3
		$0 start
		;;
	status) # Статус
		# По аналогии, выводим статус
		if [ -z "$(pidof inadyn)" ];
		then
			echo "[ \033[1;33minfo\033[0m ] Status DNS Server: inadin is not runned."
		else
			echo "[ \033[1;33minfo\033[0m ] Status DNS Server: inadin is runned."
		fi
		;;
	*)
	echo "Usage: $0 {start|stop|restart|reload|status}"
	exit 1
	;;
esac

exit 0

Сохраним этот код в файл /etc/init.d/inadyn. Опять же, ленивые без проблем могут скачать готовый скрипт по ссылке. Теперь мы можем добавить строку с названием пакета в файл /chroot-services.list и проверить, остановив и запустив среду chroot Превосходно!

image


Установка torrent-клиента Transmission


Пожалуй, лучший torrent-клиент для MBL – это Transmission. Давайте же быстрее его установим:

(chroot-debian)/# sudo apt-get install transmission-daemon

Если установка прошла успешно, то по её окончанию будет запущен демон transmission-daemon. Для управления демоном используются следующие команды:

(chroot-debian)/# /etc/init.d/transmission-daemon start
(chroot-debian)/# /etc/init.d/transmission-daemon stop
(chroot-debian)/# /etc/init.d/transmission-daemon reload

Тут не сложно понять, что для чего нужно. Так же необходимо поправить настройки transmission-daemon, которые располагаются в файле /etc/transmission-daemon/settings.json. Файл имеет формат JSON. Можно его настроить самостоятельно, а можно скачать мой конфигурационный файл по ссылке, предварительно переправив ссылки на каталоги. С описанием всех директив можно ознакомиться по ссылке. В моём конфиге уже настроен автоподхват .torrent файлов из каталога /mnt/Torrents/Init/ и автоматически начинается скачивание торрентов.

Так же, чтобы демон transmission автоматически запускался со стартом chroot, нужно добавить строку “transmission-daemon” в файл /chroot-services.list относительно корня каталога chroot.

Для проверки результата выполним перезагрузку chroot-среды. Если всё прошло отлично, мы увидим это:

image

Для доступа в web-интерфейс нужно перейти по ссылке http://mybooklive:9091/transmission/web/. Для детальной информации предлагаю посетить сайт проекта, а если кто-то ищет, где утянут gui, то велком сюда!

Теперь наш MBL стал немного круче, чем простая коробочка с Linux на борту. Но это ещё не всё!


Установка медиа сервера MediaTomb


Каждый, конечно, сам для себя решает, какой медиа сервер использовать, однако лично для меня Twonky мало! Стоял выбор между установка miniDLNA и MediaTomb. Сделал выбор в пользу второго.

Для начала остановим работу службы Twonky сервера на MBL. Повредить он нам в принципе не должен, но всё же, лучше отключить его за ненадобностью:

MyBookLive:~# /etc/init.d/twonky stop

А так же в разделе Settings->Media->Twonky Service в web-оболочке MBL.

image

Далее, переключаемся в среду chroot и запускаем установку MediaTomb:

(chroot-debian)/# sudo apt-get install mediatomb

Система должна проинформировать, что будет установлено много зависимых пакетов, на что мы соглашаемся. Не лишним было бы ещё установить пакеты ffmpegthumbnailer и ffmpeg для отображения тумбнейлов:

(chroot-debian)/# sudo apt-get install ffmpegthumbnailer ffmpeg

Для корректной работы Mediatomb, всё же, я рекомендую установить русскую локаль, иначе кириллические имена файлов в системе и web-интерфейсе будут выглядеть так: “????????????.avi”. Для управления приложением используются команды:

(chroot-debian)/# /etc/init.d/mediatomb start
(chroot-debian)/# /etc/init.d/mediatomb stop
(chroot-debian)/# /etc/init.d/mediatomb restart

По аналогии с Transmission, тут всё легко. Теперь стоит немного модифицировать настройки приложения, файл которых расположен в /etc/mediatomb/config.xml. Более подробную информацию по описанию конфигурации можно почерпнуть по ссылке. Однако, можно использовать и мой конфигурационный файл, предварительно заменив в нём 14-ую строку “uuid:88be34d6-51bd-4cd4-a4a3-a663dd068969” на аналогичную из вашего дефолтного конфига (ну а если её там не было – оставляй мою). Судя по опыту интернет-сообщества, у некоторых с такими настройками не стримятся mkv файлы. В таком случае строку 91 моего конфига стоит заменить на одну из строк ниже:

<map from="mkv" to="video/x-mkv"/>
<map from="mkv" to="video/x-msvideo"/>

После этого стоит перезапустить сервер и попробовать попасть в web-интерфейс медиасервера по ссылке http://mybooklive:49152/.

image

Если web-интерфейс успешно открылся, значит всё работает отлично! В нём можно расшаривать директории с медиа-файлами. Осталось теперь прописать mediatomb в автозагрузку /chroot-services.list (последней строкой, сразу после transmission-daemon, нужно добавить mediatomb). После перезагрузки chroot теперь должны запуститься apache2, inadyn, transmission и mediatomb – отлично!

image

У проекта есть сайт, где, естественно, можно найти исчерпывающую информацию. Ещё нашёл хороший faq по mediatomb на русском, мануал по подключению субтитров к mediatomb и информацию по настройке транскодирования (ссылка1, ссылка2). Настраивать их не стал, так как нет по факту телеящика с поддержкой DLNA (его приобретение ожидается только после окончания ремонтных работ дома), поэтому, возможно, на эту тему статью дополню позже.


Установка Monitorix


Monitorix является одним из лучших, на мой взгляд, пакетов для мониторинга состояния железа. Его преимущества заключаются в том, что он по сути не нагружает MBL постоянной генерацией данных, а генерирует их только в момент обращения пользователя к web-интерфейсу пакета. Ну что же, установим его? Для начала нам необходимо установить зависимые пакеты:

(chroot-debian)/# sudo apt-get install rrdtool librrds-perl libwww-perl libdbi-perl libemail-date-format-perl libmime-lite-perl libmime-types-perl  libnet-daemon-perl libplrpc-perl nullmailer

Какие-то из пакетов уже были установлены, какие-то ещё нет – не страшно! Теперь начинаем устанавливать сам Monitorix:

(chroot-debian)/# sudo wget -P / http://www.monitorix.org/monitorix_3.3.0-izzy1_all.deb
(chroot-debian)/# sudo dpkg -i /monitorix_3.3.0-izzy1_all.deb

Если процесс установки остановится в связи с нехваткой зависимых пакетов, то исправляем ситуацицию:

(chroot-debian)/# sudo apt-get -f install
(chroot-debian)/# sudo dpkg -i /monitorix_3.3.0-izzy1_all.deb

Теперь, когда установка завершена, нам необходимо отредактировать файл /etc/apache2/conf.d/monitorix.conf и заменить в нём соответствующие настройки на код ниже:

<Directory /usr/share/monitorix/cgi-bin/>
		DirectoryIndex monitorix.cgi
		Options ExecCGI
		order deny,allow
		deny from all
		allow from all # Ну или пишем IP-адрес, с которого хотим заходить в web-интерфейс
</Directory>

Теперь перезапускаем apache2 и сам monitorix:

(chroot-debian)/# /etc/init.d/monitorix restart
(chroot-debian)/# /etc/init.d/apache2 restart

И проверяем работу пакета через web-интерфейс http://mybooklive:81/monitorix/.

image

Если всё сделано верно, то ты увидишь тоже, что на скринах выше. Стоит так же помнить, что настройки программы находятся в файлы /etc/monitorix.conf. Вооружившись документацией с сайта проекта, можно настроить самому, ну или скачать мой файл конфигурации.


Заключение


Ну вот, %username%, приложив немного усилий, на выходе мы получили коробку с достойным функционалом, песочницу и стимулятор фантазии. В статье я настроил MBL исключительно под свои хотелки, но перспективы его использования теперь стали по истине безграничными! После установки Chroot мы развязали себе руки, и теперь, словно скульптор, можем приступать к лепке своих творений! Желаю успехов и творческого полёта. И надеюсь, что сообщество с интересом встретит перспективу дальнейшего совершенствования девайса!

Полезные ссылки


  1. Сетевое хранилище данных «WD My Book Live» и его доработка — доработки устройства от товарища cmepthuk.
  2. Создаем личное облако на 3 Тб — более подробный пост про OwnCloud от товарища phoenixweiss.
  3. WD MyBook Live — расширение стандартной функциональности — интересные доработки от товарища ZimniY.
  4. Два DNLA-сервера на одном WD My Book Live — позитивный опыт скрещивания от товарища gorynych_zmey.
  5. NAS Western Digital My Book Live — ветка по устройству на форуме ixbt.
  6. Разбор, восстановление и обзор WD MyBook Live — вскрытие и попытка восстановление устройства от отечественного товарища.
  7. Backup Images Of MyBook (MyBook Live At End Of Page) — инструкция по снятию бэкапа.
  8. Debricking Script That Can Keep Data — инструкция по раскирпичиванию устройства.
  9. Официальный репозиторий прошивок
  10. reinstall scripts (updateFirmwareFromFile.sh, share-param.sh, etc.) — реинсталяция скриптов обновления прошивки. На случай если их нечаянно убили.
Виктор Воронков @kreexus
карма
12,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (50)

  • +8
    Радует что мое дело живет и процветает!
    К сожалению, у меня совсем нет времени возиться сейчас с майбуком, однако я уже пошел намного дальше простого owncloud в среде и даже chroot — сейчас на моем девайсе крутится чистый Debian 7, полученный путем кросс-компиляции через тулчейн под его архитектуру. Весьма себе самобытный и более шустренький серверочек вышел чем на родной прошивке.
    Да, только если вдруг дорастете до этого момента — не забудьте про UART, иначе с загрузкой шаманить рискуете очень долго. Есть у них своя специфика, капризные малыши.
    • 0
      Весьма интересно было бы увидеть статью о вашем апгрейде! Материал писал в том числе и по вашему посту, за него благодарю! В целом уже сейчас получается не плохая коробочка, которая уже устраивает меня на 90%. Но, вероятно, на опытах не остановлюсь.
      • +2
        К сожалению, нет смысла изобретать велосипед и писать то о чем есть уже более чем годная информация да тем более на русском языке. Комментарий только один — несмотря на то что в способе по ссылке, ядро компилируется на самом WD MBL — у меня два раза компиляция фейлилась из-за нехватки штатной оперативки, после чего плюнул, и использовал-таки тулчейн для кросс-компиляции. По сути, информации об этом тоже много в том числе и на русском. Советую почитать вот эту статью.
        На выходе имеем самый обыкновенный сервер PPC с Debian 7 на борту.

        P.S. если вдруг начинает чудить загрузка — фиксится при помощи UART.
        P.P.S. на самом деле, сложного ничего особо нет, но если мало опыта и с *nix знакомы слабовато — прийдется потратить довольно много времени и покурить мануалов, либо спросить у более опытного товарища (каюсь, сам понял почему ядро не компилится только после взгляда великого и ужасного daverk)
        • 0
          Спасибо, уже пошёл курить по ссылкам
          • +1
            Если будет полезно — я со своего MBL снял жесткий на 3 Tb и поставил его к компу в док-станцию(ибо для сервера реально кощунства иметь 3 Tb при такой низкой производительности), а вместо него поставил обыкновенную старую барракуду на 160 Гб.
            • 0
              Да ладно низкая, у меня сайт личный на впс крутится, которая хуже твоего майбука :-D
              • 0
                Илюх, не путай физическую архитектуру с логической, сам же понимаешь что если сама по себе машина хостера мощная и контейнер получен виртуализацией — это не одно и то же что если бы реально такая машина стояла.
                Да, и сильно сомневаюсь что у тебя сайт сложнее пары html-страничек ;)
                • 0
                  Сложнее, да и общие мощи впс лишь чуть лучше данного майбука :D гигагерцовый камень и гиг оперативы на всё :D :D :D
    • 0
      Очень любопытно. А как там с драйверами? Слыхал, что в их сборке какие-то проприетарные драйверы, без которых ничего не заработает, и если делаешь aptitude update, то девайс превращается в кирпич.

      Думал взять wd book duo, но остановило это. Хочу нормальный линукс не поломанный, а не их версию. Еще желателен centos вместо дебиана, но это уже частности.
      • 0
        В принципе, после установки chroot за глаза стало хватать и стокового линукса. Однако нет пределов совершенству, теперь думаю, что бы ещё с ним сотворить. В частности, спасибо за напутствие тов. phoenixweiss, который выше в каментах дал вектор!
      • 0
        В Вашем случае проще взять какой-нибудь мини-неттоп на атоме за почти те же деньги. С MBL приходится достаточно много возиться.
        А насчет превращения в кирпич — он «раскирпичивается» тоже достаточно легко, были бы руки из нужного места да полчаса свободного времени.
        • 0
          К сожалению тут я таких не видел, придётся заказывать, а WD есть.

          Покопаться это завсегда пожалуйста, лишь бы не пришлось прийти к выводу, что банально открытых драйверов нет под какое-нибудь железо.
  • +3
    Так скажите, все-таки с «печенками» или с «печеньками»? А то анатомия пугает ;)
    • 0
      имеется в виду кондитерское изделие, а не орган ;)
      • +2
        Дык мягкий знак же, уважаемый!
        • +1
          Предлагаю «c печенюшками» и на этом разойдемся! :D
          • 0
            Не могу не согласиться };-р
  • –1
    php 5.3 кто-нибудь пробовал устанавливать на него успешно?
  • 0
    жаль что раньше не узнал о этом устройстве, я год назад выбрал внешний диск сборкой от HP а внутри WD на 1тб, с юсб3.0, и спустя пол года очень пожалел, диск покрылся бэдами и заменил его на трансценд.
  • 0
    А можно краткое изложение, для чего все эти манипуляции, по принципу было-стало?
    • 0
      Вообще вот тут довольно много негатива в адрес девайса. Чаще всего ругают низкую скорость работы.
      • +4
        Негатив в основном вызван неадекватностью ожиданий.
        «О! Так в нем Линукс! Щас мы его… Апач поставим, пехапе, джаббер-сервер, MySQL, форум для локалки, торренты качать у нас будет…
        Ой… что-то все тормозит так… Фу, гавно какое этот WD!»
        • +1
          Вообще-то большинство жалоб на медленное скачивание\закачивание файлов между компьютером и WD My Book Live
          • 0
            у меня по wi-fi (dir-300) скорость действительно оставляет желать лучшего, но это уже претензии исключительно к роутеру. А при подключении через кабель скорость отличная, до гигабита спокойно! Собственно, именно у своей копии девайса не вижу проблем со скоростью транспортировки файлов WD <--> PC
            • +2
              Очень сильные сомнения вызывают слова "до гигабита спокойно!".
              • 0
                Соединение гигабит между диском и компьютером через роутер, но даже при прямом соединении скорость не радует. А еще это уже второй MyBook, который у меня умер навсегда (примерно через 2 года после использования). Я пытался откирпичить двумя разными способами, которые, якобы, у всех работают, но не удалось. Причем умер на ровном месте, никакого софта лишнего там и не стояло, даже было многое из дефолтного отключено. В оправдание могу только сказать, что прошивку он у меня накатывал сам и никакие настройки не сбрасывал, как у ТС. Ну и еще, что умирает, похоже электроника MyBook'а, диски и их содержимое в целости и сохранности, и файлы оттуда восстановить хотя и нетривиально (если он не на NTFS), но можно.
                • 0
                  Кстати, на дворе уже март 2015 года, а мой MBL, купленный в начал 2013 года всё крутится без проблем и нареканий, хотя пережил от меня ещё те издевательства над собой! И диск буквально пару недель назад проверял — родная трёха пока без бэдов… Вероятно, имеет место быть не общая низкая оценка качества продукта, а, видимо, отдельно взятые проблемы у некоторых экземпляров линейки… Других версий нет. Что мой 3tb, что 2tb версия брата, успешно крутятся до сих пор. А заказывал свой mbl из США (откуда-то из Los-Angeles, судя по штампам на коробке), версия, собственно, для внутреннего рынка, судя по заявлениям на заморской инструкции к девайсу. Может в этом разница?
                  • 0
                    А в моём 2tb винт стал помирать (периодически просто отключалось питание винта) через каких-то пару месяцев. За это время я успел его вскрыть, потеряв при этом гарантию (и ту пластмасску, которая свет от диода выводит на корпус). Так что пришлось заменить винт на аналогичный, но с тех пор проблем никаких не было.
          • +3
            1. На первой странице я вижу большинство жалоб от «умелых ручек»
            2. А разве обещали «ураган и всех порвать»? Это домашний NAS, который стоит как домашний NAS, и работает как домашний NAS, и без лазания в него для установки «трасмишна и новго Debian» он стабильно работает так, как обещано, не более, но и не менее.
            Он стоит 135$, при цене стоящего внутри диска — 118$ (все цены Amazon), ну так следует соизмерять хотелки, you got what you pay.
      • +2
        Вот там типичный представитель этой категории:
        «Покупал его в качестве автономной станции, которая будет скачивать торренты, а потом раздавать их на телевизор.
        Чтобы установить торрент нужно сильно повозиться. После первой установки превратил его в кирпич, пришлось менять. Во второй раз пришлось ставить chroot, а уже под него transmission. Это в принципе несложно, но жалко стольких часов, потраченных на изучение форумов.»
        • 0
          Очень яркий пример, потому как торрент-клиенты нормально ставятся apt-get из репозитория и без разрушений.

          Но на практике таки качать что-то десятками гигов для просмотра на телевизора не особо приятно, т.к. ресурсов торрент-клиент съедает многовато (рывки при просмотре и тормоза при использовании как сетевого расшаренного диска).
  • +8
    Зашел на один из самых популярных интернет магазинов в Украине, чтобы посмотреть цену девайса, а там такое :)

    • 0
      О! Т.е. бубен бесплатно не идет?
      • 0
        Правильный бубен должен собираться только сертифицированным админом с опытом работы 15+ лет. И обязательно должен быть намолен над диском с дистрибутивом дебиана на восточном склоне Фудзи. Иначе работать не будет.
        • 0
          Ничего подобного! Есть еще чернобыльский вариант! )))
    • 0
      Почитал отзывы на бубен — весь сон сбило от смеха. Парочка отзывов от музыкантов потонула в десятках от айтишников.
  • +2
    Просто маленькое замечание
    >> MyBookLive:~# dd if=/dev/sda bs=15728640 count=1 | bzip2 > /DataVolume/shares/Public/SDA_MBR_FREESPACE.bz2
    данная конструкция при копировании выделит (аллоцирует) блок памяти около 16Мб, что может быть весьма накладно на «тонких» устройствах. Видимо конкретно этого устройства эти свободные 16Мб были, но если сделать то же самое на каком-нибудь wifi-роутере, то результат может быть грустным. Поэтому я бы рекомендовал bs выбирать поменьше. В случае с дисками обрабатываемый размер обычно кратен 512 байтам. Такая конструкция будет гораздо менее прожорливой
    dd if=/dev/sda bs=512 count=30720 | bzip2 > /DataVolume/shares/Public/SDA_MBR_FREESPACE.bz2
    • 0
      Спасибо за тонкое наблюдейние! Действительно, объём в 15728640 байтов был выбран исключительно исходя из возможностей конкретно MBL. Но для прочих подобных устройств — полностью согласен, ваша конструкция будет куда более правильной!
  • 0
    а есть какая-нибудь альтернатива MBL за вменяемые деньги?
    • 0
      Synology и прочие устройства, которые без диска стоят больше чем MBL c диском.
      • 0
        Как пользователь Synology DS411j, ничуть не жалею потраченных денег: оно того стоит.
  • 0
    Кстати, насчет медиасервера, я рекомендую minidlna. У него и с навигацией получше, нет этого убогого веб-интерфейса и работает стабильнее, да и mkv прямо сразу показывает. Именно из-за mkv собственно штатный Твонки5 и приходится менять.

    Гайд в общем нормальный, хоть и разжевано это всё уже многократно.
    • +1
      К слову про твонки (и автору заметки тоже прошу обратить внимание) — в последних прошивках он заменен на некий DLNA-сертифицированный сервер от WD с mkv, улучшением совместимости с Win8 и т.п.
      Единственный момент, если твонки уже был — то надо после обновления прошивки ставить .deb — пакет, чтобы перекочиться на этот новый сервер.
      Это все описано на странице загрузки прошивок.
      • 0
        Спасибо, не знал! У самого сейчас последняя прошивка, но в качестве медиасервера в стоке стоял Twonky.
        • 0
          Если кто-то (как я) выкопает эту тему через несколько лет и заинтересуется вопросом — то вот ссылка на сабж:
          http://support.wdc.com/KnowledgeBase/answer.aspx?ID=5735
  • 0
    Мы в офисе поднимали на нем LAMP для тестов. Скорость скачивания/закачивания, как и скорость работы на нем обычных php-сайтов, оставляет желать лучшего. В итоге через пол года диск накрылся, сообщая нам о том, что не прошел SMART-тест.
  • 0
    А не подскажете как лечить проблему «незасыпания»?
    Twonky выклчен, бэкапов не ведется, все файлы должен уже давно проиндексировать (более 2 месяцев такое наблюдаю).
  • 0
    Доставил BitTorrent Sync.
    По мотивам community.wd.com/t5/My-Book-Live/BitTorrent-Sync-installation-script/td-p/588057 пришлось немного улучшить оригинальный скрипт. Может кому потребуется, чтобы не вникать особо.
    bash install_btsync.sh
    #!/bin/bash
    
    mkdir /DataVolume/cache/btsync/
    mkdir /DataVolume/cache/btsync/syncStorage/
    cd /DataVolume/cache/btsync/
    wget -N http://download-lb.utorrent.com/endpoint/btsync/os/linux-powerpc/track/stable -O btsync_powerpc.tar.gz
    wget -N https://gist.github.com/alexsarmiento/6407826/raw/btsync.conf
    wget -N https://gist.github.com/alexsarmiento/6407826/raw/btsyncd
    tar xvzf btsync_powerpc.tar.gz 
    cp -u  btsyncd /etc/init.d/
    chmod 755 /etc/init.d/btsyncd
    /etc/init.d/btsyncd restart
    ps afx | grep btsync
    

    заход в WebUI:
    http://admin:password@mybooklive:8888/
  • +1
    Для начала скачаем скрипт установки.

    MyBookLive:~# wget mbl-common.googlecode.com/svn/chroot-install/install.sh

    deb-пакет обновился на гитхабе, скрипт тоже лучше брать оттуда походу

    wget --no-check-certificate https://raw.githubusercontent.com/MyBookLive/chroot/master/install.sh
  • 0
    еще вместо скачивания owncloud через wget удобнее поставить через пакеты как написано тут
    software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud

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