Все на свой страх и риск
1) Шьем прошивку 1.07 (только с 1.05 или 1.06, иначе догоняем до 1.05 пошагово). Возможно придется фоматировать диски.
ftp://ftp.dlink.ru/pub/NAS/DNS-323/Firmware/DNS-323_B1_FW_1.07.rar
2) Скачиваем debian (etch).
http://mesh.dl.sourceforge.net/sourceforge/debnas/debnas-0.5.tar.bz2
3) Разархивируем. Берем файлы fun_plug и linux.tar и копируем в корень устройства.
4) Перегружаем устройство. Обнаруживаем каталог linux в корне устройства.
5) Берем ssh-клиент, например
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
6) Запускаем putty.exe storage. Login root, password 12345678. Ура мы в linux’е.
7) Редактируем файл /etc/apt/sources.list.d/etch.list. Заменяем слово etch на lenny.
8) Ставим ЭЦП от нового дистрибутива
Код:
storage:~#aptitude install debian-archive-keyring
9) Обновляемся
Код:
storage:~#apt-get update
storage:~#apt-get dist-upgrade
10) Перегружаемся
11) Ставим местный клон Norton Commander
Код:
storage:~#aptitude install mc
12) Ставим nut
Код:
storage:~#nut aptitude install nut
13) Дальше шаманство. О штатной настройке можно почитать тут
http://www.networkupstools.org/.
14) Создавать группу nut не надо, она уже создана при инсталляции пакета
15) Создаем пользователя nutmon
Код:
storage:~#adduser --no-create-home --ingroup nut nutmon
16) Создаем файл /etc/nut/ups.conf
Код:
[apc]
driver = usbhid-ups
port = auto
desc = "Back-UPS ES 550"
17) Создаем файл /etc/ups/upsd.conf
Код:
ACL all 0.0.0.0
ACL localhost 127.0.0.1/32
ACCEPT localhost
REJECT all
LISTEN 0.0.0.0 3493
18) Создаем файл /etc/nut/upsd.users
Код:
[nutmon]
password = nutmon_pass
allowfrom = localhost
actions = SET
instcmds = ALL
upsmon master
19) Cоздаем файл /etc/nut/upsmon.conf
Код:
RUN_AS_USER nutmon
MONITOR apc 1 nutmon nutmon_pass master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5
20) Редактируем файл /etc/default/nut
Код:
START_UPSD=yes
START_UPSMON=yes
21) Но у меня (APC Back UPS ES-550 с usb) команда upsdrvctl с драйвером usbhid-ups этого самого hid не видит, зато команда upsc –l выдает аж 4 ups usbhid, bcmxcp, megatec, tripplite. Поэтому пришлось засадить в /еtc/cron.hourly/ файл nut, с правами на запуск любым пользователем, со следующим текстом:
Код:
#!/bin/sh
if upsc usbhid ups.status | grep OB | grep -v grep
then
wget --tries=1 --timeout=5 "http://localhost/goform/formLogin?f_login_type=0&f_LOGIN_NAME=admin&f_LOGIN_PASSWD=admin"
wget --tries=1 --timeout=5 "http://localhost/goform/sysShutDown?shootdown"
fi
Штатно он срабатывает на 17 минуте каждого часа, но подредактировав файл /etc/crontab можно проверять хоть каждые 5 минут