СВЕЖАК

Тачка на прокачку. Установка Fun_Plug, а так же transmission на NAS D-Link DNS-320L


D-Link DNS-320L

D-Link DNS-320L

Свежую прошивочку на сей девайс можно поискать здесь. На момент установки я обновился до 1.03b (В 2014 году обещают выпустить прошивку 1.04 с поддержкой модов, так что следите за обновлениями).
Свеженький fun_plug можно скачать тут или тут. На данный момент используются две основные версии fun_plug: 0.5 и 0.7. С 0.7 что-то у меня не сложилось, потому использую 0.5.

Открываем файл fun_plug на редактирование любым текстовым редактором (напр. блокнотом) и заменяем во всем файле пути вида
/mnt/HD_a2/ffp
на
/mnt/HD/HD_a2/
Есть вариант из 3-х файлов, собранный MelfisFettel c уже внесенными правками тут.

Копируем на первый винчестер файлы fun_plug и fun_plug.tgz. Обычно первый винт называется (Volume_1)
Перезагружаем NAS

После перезапуска, файл fun_plug создаст папку ffp, произведет установку из файла fun_plug.tgz всего необходимого и удалит его.
Если папка не появилась, а файл fun_plug.tgz на месте, значит установка не произошла.
Возможно файлы были скопированы не на тот винт или не отредактировали в файле fun_plug пути.

Качаем telnet и ssh-клиент, например PuTTY.
Запускаем Putty, выбираем тип соединения telnet и указываем ip-адрес Вашего сервера.
логинимся с использование putty
Далее пишем:
pwconv
Даем команду смены пароля (потребуется ввести, а после подтвердить). З.Ы. если Вы не знакомы с Linux - при вводе пароля Вы не увидите привычных звездочек, имейте это ввиду.
passwd 
Далее меняем предопределенную среду (текущая среда — ash).
usermod -s /ffp/bin/sh root
Пробуем залогиниться:
login
root
mypassword
 (root - это имя учетной записи, mypassword — пароль, который вы только что установили)

На данном этапе хорошо бы иметь интернет на файлохранилище, ибо нам последует добывать там установочные файлы.
В командную строку вбиваем:
wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh
Далее запускаем его для сохранения пароля в энергозависимую память
store-passwd.sh
Теперь настроим автоматический запуск службы SSH.
chmod a+x /ffp/start/sshd.sh 
Этим мы устанавливаем разрешение на запуск скрипта службы SSH. Далее запускаем SSH:
sh /ffp/start/sshd.sh start
После этого сеанс работы через Telnet можно прекратить, но можно работать и в нем.
exit
Мы все же подключимся заново, дабы проверить работу SSH.
Итак, в этот раз выбираем тип подключения SSH, и опять же указываем ip сервера.
логинимся SSH с использование putty

Нас запросит логин и пароль. Вводим наши данные:
root 
mypassword
Отлично, мы залогинились.
На данном этапе можно отключить telnet, дабы ни кто более не смог этой службой воспользоваться, однако в домашних условиях это совершенно ни к чему.
Но я все же опишу этот процесс.
З.Ы. Я не рекомендую отключать ее неопытным пользователям, но если Вы все же хотите это сделать - сперва перезагрузите устройство, если ssh благополучно поднимется - милости просим.
Останавливаем службу:
sh /ffp/start/telnetd.sh stop
Отключаем её автоматический запуск после перезагрузки:
chmod a-x /ffp/start/telnetd.sh
В консоли telnet установить файл fun_plug.local, выполнив команды (не забываем, что клавиша <Tab> дополняет в командной строке неполное имя файла подходящим):
cd /mnt/HD/HD_a2mv fun_plug.local /ffp/etcchmod a+x /ffp/etc/fun_plug.local 
 Перезагрузить NAS

Установка Transmission

У DNS-320L имеется встроенный Bittorrent-клиент, он так же является заранее настроенной версией transmission и имеет право на жизнь. Его можно настроить на управление через интерфейс и довести до ума, однако после перезагрузки настройки будут постоянно сбиваться - потому он обречен на необходимость управления через браузер. Так что будем ставить свой transmission с блекджеком и ш**хами .

Имеется 2 способа:
  1. Установка стандартного пакета
  2. Установка аддона, разрабатываемого специально для NAS-серверов D-Link класс 3**
Я пользовался 2-мя вариантами. Второй мне показался более удобным, однако наблюдаются проблемы с подключением к пирам и какая-то непонятная муть, так что решайте сами.

1. Установка стандартного пакета

Создадим папку, куда будем скачивать пакеты. Для этого переходим в корень диска.
cd /mnt/HD/HD_a2  
Создаем директорию:

    mkdir InstPack
cd /mnt/HD/HD_a2/InstPack
Скачиваем сам клиент Transmission. На момент написания этой статьи последней версией была Transmission 2.83-1. Проверить последнюю версию можно тут. После чего замените пути в нижеуказанном коде (остальные пакеты менять не нужно).
Итак. Скачиваем необходимые пакеты:
wget http://kylek.is-a-geek.org:31337/files/ffp/0.5/Transmission-2.83-1.tgz
wget http://kylek.is-a-geek.org:31337/files/ffp/0.5/curl-7.18.1.tgz 
wget http://www.inreto.de/dns323/fun-plug/0.5/packages/uclibc-0.9.29-7.tgz 
 После того как пакеты скачаны, устанавливаем их
funpkg -i curl-7.18.1.tgz
funpkg -i Transmission-2.82-1.tgz
funpkg -i uclibc-0.9.29-7.tgz
З.Ы. Если необходимо обновить пакет параметр "-i" заменяем "-u" .
По окончании установки, перезагрузите Ваше сетевое хранилище.
Создаем папку для размещения в ней скачиваемых файлов и устанавливаем на нее необходимые права доступа. Я сделал это прямо в корне диска:
cd /mnt/HD/HD_a2  (Может быть cd /mnt/HD_a2)
mkdir Torrents
chown -R nobody:501 Torrents/
chmod 755 -R Torrents/

Изменить права доступа скрипта управления демоном Transmission в каталоге автозагрузки:
chmod a+x /ffp/start/transmission.sh 
Изменить права доступа к файлу устройства /dev/urandom (возможно, и к /dev/random), т.к. он используется демоном Transmission, который в telnet запускается от имени nobody, по умолчанию не имеющего права читать /dev/urandom:
chmod a+r /dev/urandom
Если этого не сделать, Transmission будет постоянно писать в журнал работы сообщения об ошибках связанных с генерацией случайных чисел, и тот будет заполняться строками, содержащими текст наподобие:
tr_crypto error:24064064:random number generator:SSLEAY_RAND_BYTES:PRNG not seeded (crypto.c:113): 

Возможно, что файл /dev/urandom создаётся при каждой новой загрузке, поэтому добавление прав для nobody лучше записать в fun_plug, команды в котором исполняются при каждом запуске NAS. Добавляем в файл  fun_plug (который лежит у нас в папке Volume_1)следующее содержимое:
# create /ffp link
echo "ln -snf $FFP_PATH /ffp"
ln -snf $FFP_PATH /ffp
# *** Add rights for others to urandom device"
echo "chmod a+r /dev/urandom"
chmod a+r /dev/urandom
 Перезагружаем NAS.
 Пробуем запустить Transmission:
/ffp/start/transmission.sh start
*Если будете сталкиваться с ошибкой cannot create directory '/mnt/HD_a2/.transmission-daemon': No such file or directory, попробуйте сделать такой вот финт:
ln -s /mnt/HD/HD_a2 /mnt/HD_a2  
Для пробы, пока Вы не остановили его выполнение зайдите через браузер по адресу http://NAS_IP:9091 и Вы должны увидеть ошибку:
401: Unauthorized
Unauthorized IP Address.
Переходим к настройке пакета Transmission.
Останавливаем transmission командой:
/ffp/start/transmission.sh stop
Теперь необходимо отредактировать конфигурационный файл transmission, для этого, открываем его редактором vi:
vi /mnt/HD/HD_a2/.transmission-daemon/settings.json
После этого на экране, Вы должны увидите содержимое файла settings.json. Для того чтобы получить доступ к transmission через браузер, необходимо отредактировать следующие строки:
"download-dir": "/mnt/HD_a2", (параметр необходимо заменить на созданную Вами папку /mnt/HD/HD_a2/Torrents)
"incomplete-dir": "/mnt/HD_a2", (параметр необходимо заменить на созданную Вами папку /mnt/HD/HD_a2/Torrents)
"rpc-authentication-required": false, (Установите в true если не хотите использовать авторизацию вообще)
"rpc-password": "password", (В место password укажите реальный пароль для доступа к консоли управления)
"rpc-port": 9091, (Я изменил порт по умолчанию, Вы можете оставить так как хотите сами.)
"rpc-username": "login",  (Имя пользователя для доступа к консоли управления)
"rpc-whitelist": "127.0.0.1", (Тут необходимо дописать либо адрес Вашего компьютера, либо часть сети в которой Вы находитесь, я написал "rpc-whitelist": "127.0.0.1, 192.168.0.*")
"rpc-whitelist-enabled": true, (Измените на false, если не желаете использовать предыдущий параметр фильтрации по IP адресу.)
Сохраняем измененную конфигурацию, и запускайте transmission:
Для этого нажимаем символ ":", а после вводим (переключение режимов заполнения производится клавишей insert). Возвращаемся в командный режим нажав ESC:
WQ (это означает что произойдет запись и сохранение в файл и выход, если не хотите делать сохранение, то просто Q)
На этом все, запускаем transmission:
/ffp/start/transmission.sh start
 Последним штрихом является скачивание клиента под вашу операционную систему, который сделает пользование программой еще более удобным. Я остановился на Transmisson remote gui (Есть клиенты и посимпатичнее, но мне этого достаточно). В настройках указываем адрес и порт.
Так же можно указать каталог, в котором хранятся файл. Я подключил себе папку с торрентом как сетевой диск , потому во вкладке ______ я написал:
/mnt/HD/HD_a2/Torrents=T:\
Т - имя моего сетевого диска, а /mnt/HD/HD_a2/Torrents - путь, куда я качаю торренты

1.1. Обновление Transmission

Загрузить новую версию трансмиссии (к примеру это Transmission-2.82-1.tgz) и после скопировать ее в корень каталога Volume_1.
Или скачать через NAS: 
cd /mnt/HD/HD_a2/InstPackwget http://kylek.is-a-geek.org:31337/files/ffp/0.5/Transmission-2.82-1.tgz
Выполнить команды:
/ffp/start/transmission.sh stop
(немного подождать до полной остановки Transmission — можно полюбоваться выводом команды top)
funpkg -u Transmission-2.82-arm-1.txz
/ffp/start/transmission.sh start
Transmission-2.82-arm-1.txz - это имя пакета, оно может отличаться в зависимости от версии

2. Установка аддона, разрабатываемого специально для NAS-серверов D-Link класс 3**

Это эдакий transmission с "альтернативным" веб-интерефесом. 
Окно transmission

Установка:
Переходим в каталог аддонов:
cd /mnt/HD/HD_a2/Nas_Prog
Качаем аддон
wget http://dlink.vtverdohleb.org.ua/Add-On/Transmission_addon_v1.07.tar.gz
Распаковываем
tar zxf Transmission_addon_v1.07.tar.gz
В конец файла /mnt/HD/HD_a2/fun_plug (с винды он /Volume_1/fun_plug) дописываете:
/mnt/HD/HD_a2/Nas_Prog/Transmission/init.sh /mnt/HD/HD_a2/Nas_Prog/Transmission/mnt/HD/HD_a2/Nas_Prog/Transmission/start.sh /mnt/HD/HD_a2/Nas_Prog/Transmission
Перезагружаем NAS
Заходим на http://NAS_IP:9093/ . Логин/пароль - admin/admin
На это пакет установлен, пользуемся.
Если кому-то понадобиться поправить конфиг ручками, ищем его тут:
/mnt/HD/HD_a2/Nas_Prog/Transmission/config/settings.json

Регулировка температуры (продлеваем жизнь жесткому диску)


Еще одной настройкой, которой я воспользовался, была корректировка срабатывания вентилятора в зависимости от температуры, дабы продлить жизнь жесткому диску.
делается это следующим образом.

Создаем файл скрипта, например fan_new.sh
Содержание fan_new.sh:

#!/bin/sh

t_stop=41
t_start=45

killall -9 fan_control

#В сон HDD если нет активности в течении 5 минут(60 - 5 минут)
hdparm -S 60 /dev/sda
hdparm -S 60 /dev/sdb

while true
do
   curr=`/usr/sbin/fan_control -g 0 | awk '{print $4*1}'`
   if [ $curr -ge $t_start ] ; then
      /usr/sbin/fan_control -f 2
   elif [ $curr -gt $t_stop ] ; then
      /usr/sbin/fan_control -f 1
   elif [ $curr -le $t_stop ] ; then
      /usr/sbin/fan_control -f 0
   fi

   curr_stat=`/usr/sbin/fan_control -g 3 | awk '{print $4*1}'`

   if [ "$1" != "" ] ; then
      echo "temp = $curr , state = $curr_stat"
   fi

   sleep 30
done

Параметры можно указать свои:
t_stop - температура остановки вентилятора
t_start - температура запуска вентилятора

Включение вентилятора на макс.оборотах - строка "/usr/sbin/fan_control -f 2". Для кого это слишком шумно, может поменять на "/usr/sbin/fan_control -f 1". Но при сильном перегреве этого может не хватать для нормального охлаждения.

2. Для тех, кто не знает, что такое fun_plug, создайте файл "fun_plug" (без расширения), залейте его и "fan_new.sh" в корень Volume_1 и перегрузите NAS. И на этом все.
Содержимое fun_plug:
chmod +x /mnt/HD/HD_a2/fan_new.sh
/mnt/HD/HD_a2/fan_new.sh &
3. Для тех, кто пользуется fun_plug, дописать эти 2 строчки в конец существующего /mnt/HD/HD_a2/fun_plug. После этого перезапускать не обязательно, можно зайти по телнет или ssh и запустить:
chmod +x /mnt/HD/HD_a2/fan_new.sh
/mnt/HD/HD_a2/fan_new.sh &
Кто хочет посмотреть отладку работы, зайти по телнет или ssh и запустить:
/mnt/HD/HD_a2/fan_new.sh -d
Когда надоест - Ctrl+C и
/mnt/HD/HD_a2/fan_new.sh &

3. Установка Twonky

Twonky

Что такое twonky и зачем его ставить?
Twonky - это сетевой медиа-центр, который нужен для просмотра ваших медиа-файлов через dnla на телевизорах и другой бытовой технике (со стандартным наблюдаются проблемы). Продукт платный, но при желании ломается.
Скачать библиотеку можно тут (рекомендую качать 7.0.11, т. к. на нее достаточно просто найти генератор ключей)
mkdir -p /ffp/opt/twonky/data/
cd /ffp/opt/twonky
wget http://www.twonkyforum.com/downloads/7.0.11-special/twonky-kurobox-pro-special-7.0.11.zip
unzip twonky-*.zip
rm twonky-*.zip
chmod +x twonkyserver twonkystarter twonkyproxy twonkywebdav plugins/* cgi-bin/*
wget http://wolf-u.li/u/449 -O /ffp/start/twonky.sh
wget http://wolf-u.li/u/448 -O /ffp/opt/twonky/twonkyserver-default.ini
[[ $(ls -1 /mnt|grep -c HD_a2) -eq 0 ]] && sed -i -e 's!/HD_a2!/HD/HD_a2!g' -e 's!/HD_b2!/HD/HD_b2!g' /ffp/opt/twonky/twonkyserver-default.ini
Проверяем работоспособность:
sh /ffp/start/twonky.sh start
Есть выполнение команды прошло успешно, попытаемся попасть на web-интерфейс. (у меня это http://192.168.0.250:9000/).

Если вы хотите, чтобы Twonky запускался  после каждого перезапуска вашего NAS-сервера выполните:
chmod a+x /ffp/start/twonky.sh
На этом все:

Источники: Форум IXBT посвященный D-link 320l
Данная статья по настройке
Информация по регулировке температуры тут
*****
2014.01.05  - Важное обновление, которое стало возможным благодаря этой статье. Теперь трансмишн благополучно поднимается после ребута. Так же добавлена инструкция по установке twonky.

About Taras Mutsa

Taras Mutsa
Recommended Posts × +