Яндекс диск на nas4free full

May 24, 2013 22:58

Ранее я обещал попытаться прикрутить Яндекс Диск к nas4free, сегодня вариант только для варианта инсталляции full

UPD от 19 февраля 2014 fusefs-wdfs брошен разработчиками и более не поддерживается. Из репозитариев удалён. То что ниже описано работать перестало. По моим тестам работает консольный клиент cadaver, см поиск по этому слову в этом блоге./UPD

Прежде всего спасибо тем камрадам, кто откликнулся на мою просьбу и подключил себе Яндекс диск по по этой ссылке https://disk.yandex.ru/invite/?hash=3JCMU9SL. Большое спасибо. Каждому за это лишний гигабайт, мне - полгига.

Итак, если у Вас nas4free установлен в варианте full, скорее всего на жёсткий диск, может и на SSD, то подключить Яндекс Диск просто, как описано для FreeBSD во множестве мест, например кратенько, сильно подробно.


1) Проверяем свободное место на системном разделе. В вебгуе смотрим Diagnostics|Information|Space Used
(Диагностика|Информация|Занятый объем)
Видим что-то вроде
Filesystem Size Used Avail Capacity Mounted on
/dev/ufsid/519bcac0603079b9 1.9G 436M 1.3G 25% /
devfs 1.0k 1.0k 0B 100% /dev
procfs 4.0k 4.0k 0B 100% /proc

Нас интересует верхняя строка. Avail должно быть мегабайт 200 как минимум. Но если вы ставили full версию по умолчанию, то места может и не хватить. В этом случае сохраните конфиг, переставьте nasfree заново, указав при инсталляции системный раздел побольше - например несколько гигабайт. затем подгрузите сохранённый конфиг. NB Если вы поверх nasfree ставили какие-то пакеты - придётся переставить и настроить их заново.

2) Подключаемся в командную строку, ставим пакеты
# pkg_add -r fusefs-wdfs

Понадобится соединение с Internet и немного терпения. Вытягивается под 200 мег зависимостей. Из-за объёма собственно в лоб на embedded и не ставится.

3) Если завершилось успешно - добавляем в автозагрузку и запускаем
# echo 'fusefs_enable=YES' >> /etc/rc.conf
# rehash
# /usr/local/etc/rc.d/fusefs start

Должно появиться сообщение
Starting fusefs.

4) Создадим в PC на Яндекс диске папку NAS, положим в неё что-нибудь
Создаём на NAS папку под яндекс диск и подключаем (конечно, можно подключиться и к корню диска)
# mkdir /mnt/yandex.disk
# wdfs https://webdav.yandex.ru/NAS /mnt/yandex.disk -o accept_sslcert,username=user@yandex.ru,password=password

Последняя строка целая, вместо user и password после знаков = ставим ваши логин и пароль на Яндекс.

Если всё успешно, видим сообщение вроде
WARNING: untrusted server certificate for 'webdav.yandex.ru':
 certificate is valid from Fri, 21 Dec 2012 14:46:00 GMT to Fri, 17 Jan 2014 15:15:46 GMT
 issued to: ITO, Yandex, Moscow, Russia, RU
 issued by: ld, yandex, ru

Если в сообщении Could not authenticate to server - проверяйте логин и пароль.

5) Проверим, что NAS видит содержимое диска
# ls /mnt/yandex.disk
HDDScan_3.3.zip       статья

Видно, что с кодировками ОК

Проверим, что читается и пишется. У меня среди прочего на диске лежит файл HDDScan_3.3.zip
nas4free:~# cd /mnt/yandex.disk
nas4free:/mnt/yandex.disk# cp HDDScan_3.3.zip /home
nas4free:/mnt/yandex.disk# ls /home
HDDScan_3.3.zip transmission

Копируем обратно под другим именем
nas4free:/mnt/yandex.disk# cp /home/HDDScan_3.3.zip h.zip

Открываем на PC h.zip убеждаемся, что файл не битый

Убираем за собой
nas4free:/mnt/yandex.disk# rm /home/HDDScan_3.3.zip

Прим. Если вдруг зачем-то понадобится принудительно отмонтировать облако (не знаю зачем - но вдруг) можно, например, остановить fusefs
# /usr/local/etc/rc.d/fusefs stop

В общем теперь у нас папка на Яндекс диске доступна для NAS, можно бекапить по rsync, прямым копированием, zfs send - как угодно.

При желании можно добавить в стартовые скрипты команду монтирования из 4 пункта. Но тогда пароли будут видны из вебгуя nas4free. Что, возможно, дома и не проблема.
__________________

PS про embedded. Как уже сказано, в embedded это не работает тк не хватает места на системном разделе. Ранее путём грязного хака я место расширил до 32 Мб, но этого оказалось сильно недостаточно - нужно около 200 мегабайт. Это тоже можно сделать, хотя чуть сложнее, но до такой степени растягивать диск в памяти мне не нравится.

Потенциально вижу несколько вариантов
1) Через Unionfs расширить md0 на реальный диск.
2) Подключиться к Яндекс диску через виртуальную машину, запущенную под nas4free

(1) вариант подойдёт для случая, когда дополнительного софта, включая virtualbox, ставить не предполагается
(2) вариант - когда виртуалка уже стоит - пусть поработает.

PPS Вариант установки fusefs-wdfs в jail не работает. fuse в jail не встаёт, вероятно по соображениям безопасности.

UPD 29 марта 2014 для памяти
http://forum.lissyara.su/viewtopic.php?f=53&t=38585
wdfs https://webdav.yandex.ru /mnt/yandex.disk -o username=тут_пишем_свое_имя@yandex.ru,password='тут_пишем_свой_супер-пупер_пароль',allow_other

cloud, nas, nas4free

Previous post Next post
Up