Модернизация программного обеспечения Goflex Home

 

Первичная настройка

 

Распаковать из коробки, снять защитную пленку, подключить провода, торжественно установить на самое почетное место, вставить коробок с диском в стакан и, убедившись в том, что кнопка питания отключена, подключить адаптер в розетку (лучше от UPS), а патчкорд в домашний router (можно в switch, который соединен с маршрутизатором).

Переписать на бумажку, или сфотографировать шильдик снизу стакана. Нам понадобятся данные: MAC и PK.

Теперь необходимо настроить DHCP сервер маршрутизатора, чтоб выдавал постоянный адрес локальной сети на Goflex Home. Я прибил на MAC Goflex(а) адрес: 10.1.1.100 (диапазон моей локальной сети 10.1.1.1 - 10.1.1.255).

 Вытащить из коробки диск с Seagate Dashboard, повертеть его в руке, посмотреть, подумать о том, что лень подключать CD привод к нетбуку (иные причины) и положить его обратно в коробку.

Включить кнопку питания, посмотреть как заморгают огоньки, зевнуть, и пойти пить пиво к компу. Запустить командную строку, дать команду: ping 10.1.1.100 -t. Как пинг пойдет, можно отбивать (Ctrl C). Запустить браузер (не готов дать список совместимых, у меня работало под IE и Chrome) и ввести адрес 10.1.1.100. В ответ увидим вот такую картинку:

 

 

Полистаем для виду, и примем  Соглашение (деваться-то некуда).

В результате перейдем на следующую вкладку, где надо будет выбрать имя пользователя. Я выбрал свое любимое lamer. Кстати, советую скопировать и сохранить в текстовом файле Ключ продукта (PK), его потом будем вводить при получении прав рута.

 

 

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

 

 

Немного потупив, выдаст:

 

 

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

 

 

Неужели, оно хочет закончить:

 

 

Ну конечно, как же без прохода через www.seagateshare.com. Уважим буржуйску морду, прологинемся:

 

 

Несомненно, супостат желает пробарыжить кучу бесполезного софта за деньги. Часть которого работает без вливания денежных средств. В самом низу страницы прячется заветная кнопка , ее и нажмем.

 

 

Опять чего-то от нас хотят:

 

 

Наконец-то и мы можем заняться настройкой:

 

 

Из наиболее важных настроек нам понадобятся:Прописать рабочую группу своей локальной сети, у меня WG. Определиться с UPNP и FTP:

 

 

Желающие могут ковыряться дальше, мне же надоело.

 

 

Подготовка консольного клиента

 

Скачиваем и устанавливаем Putty у кого его нет. Настраиваем на 22 порт Goflex Home 10.1.1.100 с кодировкой UTF-8.

Далее основные настройки скриншотами, без текста. По желанию - можно под себя:

 

 

 

Получение доступа ROOT

 

Подключаемся.

Вводим имя пользователя: lamer_hipserv2_seagateplug_AAAA-BBBB-CCCC-DDDD, где lamer - имя, которым регистрировались, AAAA-BBBB-CCCC-DDDD - ключ продукта с этикетки. На запрос пароля, вводим пароль, который задали при первичной настройке.

 

 

Даем команду:


sudo -E -s

После ввода пароля, получаем вот такое:

 

 

Чтоб не перетруждать руки, при следующем входе, задаем пароль пользователю root (лучше не придумывать, и задать такой же, как и для пользователя lamer):


passwd root

 

Желающие включить штатный transmission, переходят СЮДА, предварительно откатившись на прошивку 2.5.3 и проделывают вышесказанное повторно (как заблокировать автообновление - не знаю, попробуйте сами разобраться в советах от супостатов СЦЫЛКО). Остальные читают дальше. Удачи!

 

Перемещение папки /opt на жесткий диск

 

Убедимся, что мы под рутом:


sudo -E -s

Копируем папку /opt в новое место, например в /home/opt. Переименуем старую папку в opt-old и на ее месте сделаем символическую ссылку на /home/opt:


cd /
cp -r /opt /home/opt
mv opt opt-old
ln -s /home/opt /opt

 

Установка Optware

 

Идем в домашнюю папку, создаем каталог ipkg и скачиваем в нее wget’ом наш пакет:


cd ~
mkdir ipkg
cd ipkg
wget ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/ipkg-opt_0.99.163-10_arm.ipk

После успешной закачки распакуем необходимые нам файлы:


tar -xzf ipkg-opt_0.99.163-10_arm.ipk
cp ./data.tar.gz /data.tar.gz
cd /
tar -xzf data.tar.gz
rm data.tar.gz

Установим и настроим ipkg:


echo src cs08q1armel ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable >> /opt/etc/ipkg.conf
/opt/bin/ipkg update

Если ничего не попутали, увидим:

 

 

 

Установка редактора Nano

 

Чтобы не писать постоянно /opt/bin/ipkg для вызова ipkg, пропишем путь к нему в переменную PATH. А так же поможем с распознаванием русского языка для Midnight commander. Но сначала установим редактор nano:


/opt/bin/ipkg install nano

 

Прописывание PATH и руссификация консоли для UTF-8

 

Откроем файл /etc/environment редактором nano:


/opt/bin/nano /etc/environment

Отредактируем файл /etc/environment. В PuTTY вставка из буфера обмена производится правой кнопкой мыши. Ctrl+X для выхода из nano, “Y” для подтверждения изменений и Enter для подтверждения имени файла. Изначально /etc/environment должен быть пустой, если нет, то надо думать, куда вставить:


PATH=/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/sbin:/opt/sbin:/usr/sbin:/sbin
LANG=ru_RU.utf8

 

Сохранить, потом перегрузить:


reboot

Если не перезагружается, ругается на команду:


/sbin/reboot

После перезагрузки:


sudo -E -s

 

 

Установка файлового менеджера Midnight commander


ipkg install mc

Запускается командой: mc

Если все нормально получилось, увидим вот это, причем с корректным русским языком:

 

 

 

Переименование папок в Goflex Home

 

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

 

Подход писателей ПО для Goflex Goflex вызывает удивление. Непонятно, чем они руководствовались, назначив длинные имена папкам: "GoFlex Home Personal", "GoFlex Home Backup", "GoFlex Home Public", а так же умудрились впихнуть русское имя: "внешняя память". Не каждое сетевое устройство по UPnP и через Samba переварит сие чудо, особенно русское в UTF-8. Поможем сетевым устройствам, да и нам в дальнейшем будет проще настраивать. Переименуем их в: "Personal", "Backup", "Public" и "storage".

Для переименования можно пользоваться редакторами, которые у нас уже имеются в наличии: Nano, встроенный Vi, или кнопка F4 в Midnight commander. В MC проще :-). Запускаем mc и начинаем.

Идем в /etc/branding.conf и переименовываем по заданному выше шаблону все инена, которые нам попадутся. Жмем F2, подтверждаем, потом F10.

Идем в /etc/branding.conf.ru-RU и так же наводим там порядок.

Выходим из mc кнопкой F10 и возвращаемся в командную строку. Останавливаем Samba.


service smb stop

Запускаем mc и идем в /etc/samba/smb.conf. Правим имена, заключенные в квадратные скобки (вида [имя]) и значения в строке path = /путь/имя. Параметр comment можно не менять. Выходим из mc и даем команду reboot. После перезагрузки создадутся новые папки, надо немного подождать. Старые папки можно удалить.

Так же можно изменить имя сервера DLNA в:

- /etc/miniupnpd/minidlna.conf

 

Пользователям продукции Apple, для корректной работы TimeMachine, рекомендуется внести соответствующие изменения в:

- /etc/mt-daapd.conf (iTunes share name, and yes it will only allow you to share music, not videos)

- /etc/atalk/netatalk.conf (Mac share name)

- /etc/atalk/AppleVolumes.default
 

 

Отключение Service Patrol

 

Patrol является одним из мерзких сервисов Goflex Home. Если хотим получить самостоятельное управление диском и не прибегать к помощи заморского "Большого брата", то придется его отключить. Возможны проблемы с удаленным доступом через https://www.seagateshare.com и с пробросом портов по UPnP, но это решаемо. Первое можно заменить службой динамических DNS, либо фиксированным IP адресом. Второе - пробросом портов на маршрутизаторе вручную. Список портов, которые пробрасываются по UPnP, находятся в строке my @forwardedPorts = файла /usr/sbin/check_igd.pl . Если UPnP не отключится, пропишем в: my @forwardedPorts = ( 22, 80, 443, 21, 20, 9091, 51413, 50000, 50001 );

Останавливаем службу:


/etc/init.d/access-patrol stop

 

Удаляем службу Patrol из автостарта системы и убираем флаг исполняемого файла с демона:


/sbin/chkconfig --level 2345 access-patrol off
chmod a-x /usr/sbin/access-patrol

Делаем reboot и после загрузки проверяем:


chkconfig --list |grep access-patrol

 

 

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

Запускаем mc идем в /etc/iptables/config и добавляем строки:

TCP_OPEN_PORTS_EXT="XXXX YYYY"

UDP_OPEN_PORTS_EXT="YYYY"

XXXX - порт клиента Transmission (по умолчанию - 9091), YYYY - порт сервера Transmission (51413)

 

 

Перезапустим iptables:


/etc/init.d/iptables restart

 

Включение Service Patrol

 

Если вы отключили Service Patrol, а потом пожалели об этом - не отчаивайтесь, необходимо выполнить следующую последовательность команд:


sudo -E -s
chmod +x /usr/sbin/access-patrol
/sbin/chkconfig --level 2345 access-patrol on
/etc/init.d/access-patrol start

При следующей перезагрузке Service Patrol будет запускаться автоматически.

 

Отключение засыпания диска

 

Описанные здесь действия могут привести к повреждению диска и потере данных. Данный случай не может быть признан гарантийным. Если вы не можете предсказать последствия, лучше пропустить данный раздел.

 

Споры о пользе или вреде отключения диска при простое бесконечны. Если не хочется слушать постоянно треск головок и вы готовы смириться с постоянным вращением шпинделя,то можно отключить sleep. Зайдем суперюзером, устройство ругнется - это нормально, зададим параметр hdparm:


sudo -E -s
hdparm -S0 /dev/sda

 

 

Торрент-клиент Transmission

 

Собственно, все, что было написано выше, было лишь преамбулой к данному разделу. Несомненно, устройство покупалось не только как файловая помойка, но и для того, чтоб пользоваться прекрасными платными сервисами от Seagate файлообменом по P2P сетям не гоняя сутками прокаченный комп с его мощными кулерами.

И так, НАЧНЕМ.

Скачаем и установим transmission:


ipkg install transmission

 

Transmission-daemon будет у нас лежать в /usr/local/bin, скопируем туда бинарник из /opt/bin/ :


cd /opt/bin
cp transmission-daemon /usr/local/bin

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


chmod +x /usr/local/bin/transmission-daemon

Web-интерфейс (папку web) положим в /usr/share/transmission/, скопировав его из /opt/share/transmission/ с помощью mc.

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

$TRANSMISSION_HOME – место где будут лежать файлы конфигурации (например, /home/.config/transmission-daemon);

$DAEMON_USER – пользователь, под которым будем запускать службу (у кого как, а у меня - lamer).

Создаем папку и делаем $DAEMON_USER ее владельцем:


mkdir -p /home/.config/transmission-daemon
chown -R lamer:lamer /home/.config/transmission-daemon

Создадим скрипт редактором nano:


nano /etc/init.d/transmission-daemon

Скопируем туда следующие строки, а выделенное заменим под свои настройки:


#!/bin/bash
#
# chkconfig: - 99 84
# description: Start up transmission-daemon
#
# processname: transmission-daemon
# config: /etc/sysconfig/transmission

# source function library
. /etc/rc.d/init.d/functions

# Get network config
. /etc/sysconfig/network

[ "${NETWORKING}" = "no" ] && exit 0

export PATH=/usr/local/sbin:/usr/local/bin:$PATH

# Defaults. The place of your config files.
TRANSMISSION_HOME=/home/.config/transmission-daemon

# User to run the daemon "DAEMON_USER"
DAEMON_USER="lamer"
DAEMON_ARGS="-g $TRANSMISSION_HOME"

# Daemon
NAME=transmission-daemon

DAEMON=$(which $NAME)
DAEMON_PIDFILE=/var/run/$NAME.pid
DAEMON_LOCKFILE=/var/lock/subsys/$NAME
DAEMON_SCRIPTNAME=/etc/init.d/$NAME
DAEMON_LOGFILE=/var/log/$NAME.log

[ -x "$DAEMON" ] || exit 0

start() {
echo -n $"Starting ${NAME}: "
if [ -n "$TRANSMISSION_HOME" ]; then
export TRANSMISSION_HOME
fi

su - $DAEMON_USER -c "$DAEMON $DAEMON_ARGS"

sleep 2

status $NAME &> /dev/null && echo_success || echo_failure
RETVAL=$?

if [ $RETVAL -eq 0 ]; then
touch $DAEMON_LOCKFILE
pidof -o %PPID -x $NAME > $DAEMON_PIDFILE
fi

echo
}

stop() {
echo -n $"Shutting down ${NAME}: "
killproc $NAME
RETVAL=$?

[ $RETVAL -eq 0 ] && /bin/rm -f $DAEMON_LOCKFILE $DAEMON_PIDFILE

echo
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $NAME
;;

*)
echo "Usage: $SCRIPTNAME {start|stop|restart|status}" >&2
exit 3
;;
esac

Разрешаем запуск:


chmod +x /etc/init.d/transmission-daemon

Запускаем службу и затем проверяем, действительно ли она запустилась:


/etc/init.d/transmission-daemon start
ps -ef |grep transmission-daemon

 

Служба создаст конфигурационные файлы в заданной нами ранее папке /etc/init.d/transmission-daemon. Остановим службу:


/etc/init.d/transmission-daemon stop

 

После первого запуска, в /home/.config/transmission-daemon/ появится файл настроек settings.json, который нам предстоит настроить. Одним из важных параметров является папка для загрузок /home/0common/Downloads. Необходимо ее создать и задать права. Так же создадим и папку для автоматической загрузки торрентов:


cd /
mkdir -p /home/0common/Downloads chown -R lamer:lamer /home/0common/Downloads
chmod 777 /home/0common/Downloads mkdir -p /home/0common/torrentfile chown -R lamer:lamer /home/0common/torrentfile chmod 777 /home/0common/torrentfile

Остальные настройки /home/.config/transmission-daemon/settings.json удобнее сделать встроенным в mc текстовым редактором. Для обеспечения основного функционала, достаточно задать:

"rpc-authentication-required": поменять false на true;

"rpc-password": изменить на свой пароль, при рестарте появится код;

"rpc-whitelist-enabled": поменять поменять true на false;

"rpc-username": задать имя, у меня lamer;

"scrape-paused-torrents-enabled": true.

 

Проверить пути загрузки:

"download-dir": "/home/0common/Downloads";

"incomplete-dir": "/home/0common/Downloads".

 

Для организации автоматической загрузки, необходимо в конце дописать две строки:

"watch-dir": "/home/0common/torrentfile",

"watch-dir-enabled": true

 

Мои настройки такие, можно поменять под себя:


{
"alt-speed-down": 50, 
"alt-speed-enabled": false, 
"alt-speed-time-begin": 540, 
"alt-speed-time-day": 127, 
"alt-speed-time-enabled": false, 
"alt-speed-time-end": 1020, 
"alt-speed-up": 50, 
"bind-address-ipv4": "0.0.0.0", 
"bind-address-ipv6": "::", 
"blocklist-enabled": false, 
"blocklist-url": "http://www.example.com/blocklist", 
"cache-size-mb": 4, 
"dht-enabled": true, 
"download-dir": "/home/0common/Downloads", 
"download-queue-enabled": true, 
"download-queue-size": 5, 
"encryption": 1, 
"idle-seeding-limit": 30, 
"idle-seeding-limit-enabled": false, 
"incomplete-dir": "/home/0common/Downloads", 
"incomplete-dir-enabled": false, 
"lpd-enabled": false, 
"message-level": 2, 
"peer-congestion-algorithm": "", 
"peer-limit-global": 240, 
"peer-limit-per-torrent": 60, 
"peer-port": 51413, 
"peer-port-random-high": 65535, 
"peer-port-random-low": 49152, 
"peer-port-random-on-start": false, 
"peer-socket-tos": "default", 
"pex-enabled": true, 
"port-forwarding-enabled": true, 
"preallocation": 1, 
"prefetch-enabled": 1, 
"queue-stalled-enabled": true, 
"queue-stalled-minutes": 30, 
"ratio-limit": 2, 
"ratio-limit-enabled": false, 
"rename-partial-files": true, 
"rpc-authentication-required": true, 
"rpc-bind-address": "0.0.0.0", 
"rpc-enabled": true, 
"rpc-password": "qwerty", 
"rpc-port": 9091, 
"rpc-url": "/transmission/", 
"rpc-username": "lamer", 
"rpc-whitelist": "127.0.0.1", 
"rpc-whitelist-enabled": false, 
"scrape-paused-torrents-enabled": true, 
"script-torrent-done-enabled": false, 
"script-torrent-done-filename": "", 
"seed-queue-enabled": false, 
"seed-queue-size": 10, 
"speed-limit-down": 100, 
"speed-limit-down-enabled": false, 
"speed-limit-up": 100, 
"speed-limit-up-enabled": false, 
"start-added-torrents": true, 
"trash-original-torrent-files": false, 
"umask": 18, 
"upload-slots-per-torrent": 14, 
"utp-enabled": false, 
"watch-dir": "/home/0common/torrentfile", 
"watch-dir-enabled": true
}  

Теперь, при помещении файла торрента в папку torrentfile, должна начаться автозагрузка. Правда,не всегда она начинается, например, после перезагрузки по питанию, либо после команды reboot. Если этого не произошло - перезапустите transmission-daemon (команда: /etc/init.d/transmission-daemon restart или service transmission-daemon restart)

В целом, настройка окончена, осталось поместить демон transmission в автозагрузку, перегрузиться и пользоваться:


sudo -E -s
/sbin/chkconfig --add transmission-daemon
/sbin/chkconfig --level 2345 transmission-daemon on
reboot

 

Если не заработало, значит что-то попутали.

Для начала проверить, есть ли служба в автозагрузке:


chkconfig --list | grep transmission-daemon

Если картинка координально отличается - делать с ЭТОГО места.

Запущена ли служба:


ps -ef |grep transmission-daemon

Если вот так:

Значит не запустилась, должно быть так:

 

Настройка клиента Transmission Remote GUI

или наводим порядок на диске

 

Наигравшись автозагрузкой торрентов и загрузкой через веб интерфейс Transmission, начнем раздражаться тому, что все файлы валятся в одну "помойку" /home/0common/Downloads. И, естественно, захочется навести порядок и разложить файлы по соответствующим папкам. Мне надоело после скачивания второго файла.

В Public создадим тематические папки. Например Install, Video, Audio и т.д. Как это сделать, объяснять не стоит. Если вы дошли до этого места, то вопроса не возникнет. Да как угодно: Дашбордом, через вэбморду, из консоли, удаленным доступом с ПК ... Напомню, если папки нарезать по SSH, главное не забыть дать на них права пользователю и атрибут chmod 777.

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

Как имеющий некоторое отношение к техподдержке, могу порекомендовать: "Чтоб в вашей сети, при активном файлообмене, не страдали другие участники и могли работать всякие там скайпы - не ставьте скорости без ограничения! Оставьте хотя бы треть от пропускной способности канала на Upload и Download незанятой".

 

 

 

Теперь самое интересное. Посмотрите на значение во вкладке "Пути": /home/0common/Install=\\10.1.1.100\Public\Install. Как делать правильно - я не нашел, а такая запись помогает мне:

 

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

 

 

Или в субдиректорию тематической папки.

 

 

- Задать место хранения для нового торрента.

 

 

Замечено, что после рестарта коробки, transmission-daemon ругается, обмен не идет. Лечится выделением всех закачек Ctrl-A и нажатием кнопки "Запустить торрент".

 

 

 

Дочитавшим до конца и успешно настроившим, в качестве бонуса:

 

Обновление Transmission

 

Наигравшись с версией клиента, поставленной в момент допиливания Goflex(a), несомненно, захочется получить новую версию transmission. Как оказалось, в этом сложного ничего нет.
 

Проверим обновление пакета ipkg:


ipkg update

 

Данные о программах, входящих в пакет, сбросятся в /opt/lib/ipkg/lists/cs08q1armel - это текстовый файл. Открыть для чтения можно кнопкой F3 в mc, а кнопкой F7 поискать наш transmission и сравнить его версию с установленной. Что делать, если циферки больше? Естественно обновлять. Процесс аналогичен описанному ранее.

Остановим службу:


/etc/init.d/transmission-daemon stop

Скачаем и установим обновление transmission:


ipkg install transmission

Transmission-daemon скопируем в /usr/local/bin из /opt/bin/ :


cd /opt/bin
cp transmission-daemon /usr/local/bin

Зададим атрибут на выполнение:


chmod +x /usr/local/bin/transmission-daemon

Web-интерфейс (папку web со всем ее содержимым) скопируем в /usr/share/transmission/ из /opt/share/transmission/ с помощью файлового менеджера Midnight commander.

 

Запустим службу:


/etc/init.d/transmission-daemon start

Радуемся обновлению!