Меню Рубрики

Установка fpkmgr на my book live

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

Привет %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”.

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

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

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

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

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

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

Прошиваемся

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

Читайте также:  Установка приводного ремня тойота ярис

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Установка com для php

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Отлично. Стоит напомнить, что 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. Опять же, ленивые без проблем могут скачать готовый скрипт по ссылке. Теперь мы можем добавить строку с названием пакета в файл /chroot-services.list и проверить, остановив и запустив среду chroot Превосходно!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Установка Monitorix

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

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

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

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

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

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

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

Заключение

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

источник

Добавить комментарий