- PVSM.RU - https://www.pvsm.ru -

Установка Firebird на D-Link DNS-325

У меня возникла «бюджетная» идея использовать в качестве резервной СУБД (как временное решение на случай отказа) уже имеющийся в наличии NAS D-Link DNS-325. Организация небольшая + безотрывное производство + отсутствие дежурного специалиста, но это только для вступления.

Решая данный вопрос, я потратил немало времени на поиск необходимой информации, что подтолкнуло меня написать данную публикацию.

Так как на борту у данного устройства ОС Linux, задача выглядела вполне решаемой. С коробки устройство управляется через веб-интерфейс и имеет довольно ограниченные возможности, список приложений доступных для установки не впечатляет [1].

1. Задался вопросом подключения по telnet или SSH и дальнейшей возможности установки ПО

В этом мне помогла публикация с любимого Хабра — "Тачку на прокачку — настраиваем и расширяем возможности D-Link DNS-325 [2]". По инструкции в ней удалось настроить доступ по SSH, а также настроить дополнительные репозитории (Optware) для установки ПО. К сожалению, в репозиториях Optware firebird найти не удалось.

2. Попытки установки Firebird

Т.к. на устройстве используется ARM процессор с архитекутой ARMV5TEL, на тот момент поддержка архитектуры для Firebird 2.5 отсутствовала. Я все-таки решил попробовать установку прямо на устройстве из исходников отсюда: Firebird 2.5 [3]. Рекомендованный Autogen.sh отказался устанавливать с сообщением о неизвестной ему архитектуре. В рукопашную удалось пройти только этап конфигурирования «configure», после чего «make» вываливал ошибки, по описанию которых (+ поиск) было понятно, что без правки исходников не обойтись.

Оставалось 2 решения: кросскомпиляция под необходимую архитектуру или использования уже существующих скомпилированных пакетов для указанной архитектуры, которые были найдены в репозиториях debian. Я поискал информацию по обоим решениям, и на мой взгляд более простым выглядела установка debian с использованием инструмента debootstrap [4]. Еще одним плюсом данного решения является возможность доступа к репозиторию debian, в котором намного больше ПО, чем у Optware.

3. Установка debian wheezy с использованием инструмента debootstrap [4]

Т.к. сам debootstrap также отсутствует в репозиториях Optware, подготовку образа системы debian буду производить на ubuntu, установленной на виртуалке.

Устанавливаем debootstrap (при недостаточных привилегиях не забываем про sudo):

apt-get install debootstrap -y
apt-get clean

Создаем образ и запаковываем в архив:

debootstrap --foreign --arch armel wheeze debian "http://ftp.ru.debian.org/debian"
tar -czf debian.tar.gz debian

Далее полученный архив debian.tar.gz необходимо скопировать на NAS любым способом, как вариант через расшаренные папки. Далее подключаемся к NAS по SSH, например, с помощью PUTTY [5] и выполняем следующее.

Распаковываем архив, монтируем фалы устройств из текущей системы NAS, разворачиваем систему:

tar -xf debian.tar.gz
mount -o bind /dev ./debian/dev
mount -o bind /proc ./debian/proc
grep -v rootfs /proc/mounts > ./debian/etc/mtab 
chroot ./debian/ /bin/bash 
/debootstrap/debootstrap --second-stage 
exit 

Копируем сетевые настройки из текущей системы NAS:

cp /etc/hosts ./debian/etc/hosts 
cp /etc/resolv.conf ./debian/etc/resolv.conf
hostname > ./debian/etc/hostname 

Теперь у вас есть настоящая система Debian на диске, выполним chroot в неё:

mount -o bind /dev ./public/debian/dev 
mount -o bind /proc ./debian/proc 
grep -v rootfs /proc/mounts > ./debian/etc/mtab 
chroot ./debian/ /bin/bash

Обновим репозиторий и установленное ПО:

wget http://files.satware.com/synology/chroot/sources.list -O /etc/apt/sources.list 
apt-get update -y 
apt-get upgrade -y 
apt-get dist-upgrade -y

4. Устанавливаем Firebird:

apt-get install Firebird2.5-superclassic -y
dpkg-reconfigure firebird2.5-superclassic

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

Enable Firebird server? => Yes
Password for SYSDBA? => ваш_пароль

Выходим из debian в основную систему:

exit

Остается создать скрипт для запуска/остановки Firebird сервера. Скачиваем скрипт:

wget http://files.satware.com/synology/ipkg/S80firebird.sh

Исправляем пути к папке debian, у меня "/mnt/HD/HD_a2/home/debian", текущий каталог можно посмотреть командой pwd:

vi S80firebird.sh

Копируем файл в папку автозапуска скриптов, задаем права на запуск:

mkdir -p /opt/etc/init.d
mv S80firebird.sh /opt/etc/init.d/
chmod +x /opt/etc/init.d/S80firebird.sh

Для запуска/остановки сервера Firebird, соответственно:

/opt/etc/init.d/S80firebird.sh start
/opt/etc/init.d/S80firebird.sh stop

Все готово! После перезагрузки на нашем NAS будет запущен Firebird сервер на порту по умолчанию — 3050, можно подключаться.

Ссылки по теме

Тачку на прокачку — настраиваем и расширяем возможности D-Link DNS-325 [2]
Firebird SQL auf Synology Diskstation installieren [6]
Установка Debian GNU/Linux из системы Unix/Linux [7]

Автор: ddn123

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/142300

Ссылки в тексте:

[1] не впечатляет: http://ftp.dlink.ru/pub/NAS/DNS-325/Add-on/2.01/

[2] Тачку на прокачку — настраиваем и расширяем возможности D-Link DNS-325: https://habrahabr.ru/post/155557/

[3] Firebird 2.5: http://sourceforge.net/projects/firebird/files/firebird/2.5.5-Release/Firebird-2.5.5.26952-0.tar.bz2/download

[4] debootstrap: https://wiki.debian.org/ru/Debootstrap

[5] PUTTY: http://www.putty.org/

[6] Firebird SQL auf Synology Diskstation installieren: http://satware.com/blog/firebird_sql_auf_synology_diskstation_installieren_08_2012-60.article.html

[7] Установка Debian GNU/Linux из системы Unix/Linux: https://www.debian.org/releases/stable/mips/apds03.html.ru

[8] Источник: https://habrahabr.ru/post/304008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox