Не секрет, что в данное время наличие дома нескольких компьютеров и прочих устройств, работающих с сетью в той или иной мере (телефоны, телевизоры, iptv-приставки, медиаплееры, etc) стало для многих нормой вещей. Обычно, в таком случае всё подобное железо соединено в сеть с общим выходом в интернет. Возникает вопрос о каком-то общем хранилище информации, в роли которого обычно выступает постоянно включенный компьютер, роутер с внешним диском или специализированное устройство. В общем, каким-либо образом организуется NAS, на котором уже «проживают» семейные и личные фото, любимая музыка, фильмы, и много чего другого. Каким именно образом организуется NAS — дело личного выбора каждого. Я, например, приобрёл WD My Book Live на 2ТБ, о котором и поведу дальнейший рассказ.
Прочитав несколько обзоров данного устройства, я выяснил, что «внутри» находится полноценный Debian Linux с возможностью доступа по ssh. Радости моей не было предела — мало того, что я получаю 2ТБ сетевого хранилища мод мои скромные нужды, так ещё есть возможность расширить заводскую функциональность, например, поставить туда web-сервер, поднять своё интернет-радио, ну и всё, что взбредёт в голову и реализовано в Linux. В крайнем случае — собрать или написать нужную программу самому.
Реальность, как это обычно бывает, разбила очередную пару розовых очков. Начну с того, что внутри всё-таки Linux. Debian 5 Lenny (который уже oldstable). Обновить его нельзя, так как может отвалиться поддержка железа SoC на котором, собственно и реализовано устройство. Доустановить нужные мне программы оказалось тоже довольно проблематично — некоторые из них в Debian 5 либо ещё отсутствуют, либо имеют настолько старые версии, что в них отсутствует нужна мне функциональность, либо, просто не установятся, так как пакетный менеджер не сможет поставить нужные им зависимости, не разрушив при этом работающую систему.
Результат «вскрытия» оказался печален, конечно, но не смертелен — это же Linux, в нём можно решить одну и ту же задачу разными способами. Следующим моим шагом стало создание резервной копии текущей прошивки, дабы мои эксперименты не привели к программной «смерти» устройства и походу в СЦ, которого в моём городе, кажется, и нет вовсе…
Помучив поисковики, наткнулся на инструкцию по снятию резервной копии, основную часть которой приведу:
1) Получить доступ по ssh http://<IP-OF-YOUR-MYBOOK>/UI/ssh - url вводить руками, ссылки в интерфейсе на него нет 2) Заходим через PuTTY на устройство пользователь=root пароль=welc0me (естественно, следует поменять пароль на свой, командой passwd) 3) Сохраняем MBR и информацию о свободном месте в начале диска устройства (сохранит быстро, размер архива - 440 байт): # dd if=/dev/sda bs=15728640 count=1 | bzip2 > /DataVolume/shares/Public/SDA_MBR_FREESPACE.bz2 4) Сохраняем разделы (их два, так как используется soft-raid) c текущей прошивкой, предупреждаю, процесс долгий: # dd if=/dev/sda1 | bzip2 > /DataVolume/shares/Public/SDA1_IMA.bz2 # dd if=/dev/sda2 | bzip2 > /DataVolume/shares/Public/SDA2_IMA.bz2 Должно выдать что-то наподобии: 1 - SDA1_IMA.bz2 file: 3999744+0 records in 3999744+0 records out 2047868928 bytes (2.0 GB) copied, 2212.34 s, 926 kB/s filesize = 595MB 2 - SDA2_IMA.bz2: 3999744+0 records in 3999744+0 records out 2047868928 bytes (2.0 GB) copied, 1914.37 s, 1.1 MB/s 5) Сливаем полученые архивы на свой компьютер или в другое надёжное место...
Итак, резервная копия сделана и сохранена на другом носителе, продолжим.
На сайте с инструкцией по бэкапу наткнулся на упоминание Optware, но mpd оттуда у меня работать в режиме вещания не захотел, хотя htop и mc установились и заработали корректно. Optware мне показалось явно недостаточно. Захотелось большего.
Инструкции по автоустановке различных feature-pack'ов мне, почему-то, откровенно не понравились. Наверное тем, что добавляли обилие различных web-конфигураторов, в которых я не видел необходимости. В этот момент в мою порядком уставшую голову пришла мысль, после которой мне стало дико стыдно за то, что я иногда причисляю себя к линуксоидам — chroot.
Chroot с полноценной системой внутри позволит мне запускать всё, что есть в репозитории выбранного дистрибутива! С горем пополам (почему-то репозитории Lenny работали нестабильно, а потом — вообще перестали отдавать список пакетов) я установил debootstrap, c помощью которого поставил в чруте нормальный Debian (testing – в погоне за «свежими» версиями), написал скрипты, которые монтировали мои шары внутрь чрута и запускали нужные мне сервисы.
Вроде бы всё хорошо и мне можно успокоиться, но тут я вспомнил, что обновление прошивки перетирает напрочь весь системный раздел и уничтожит все мои костыли и подпорки. Что ж, всё, что я сделал, было перенесено на раздел с данными и смонтировано в рабочую систему через mount --bind, написан ещё один скрипт, который возвращал все настройки на место, благо, обновление прошивки не убирало доступ по ssh.
Подумав, что у других хозяев подобных железок могут возникнуть такие же проблемы, я выложил своё творение на googlecode с возможностью лёгкой установки. Может, кому-то пригодится, хотя ещё сыровато, конечно.
Автор: ZimniY