Доброго времени суток. Как вы наверно знаете недавно компании Google и Яндекс запустили сервисы хранения файлов файлов в облаке. Я был и остаюсь фанатом DroBox’а, но халява же … Одна беда — про пользователей альтернативных операционных систем как обычно забыли. Тогда как для пользователей Windows имеется все готовое, нам суровым линуксойдам :-) приходится думать над подключением самим.
Начав с подключения Яндекс.Диска, в котором меня привлекло использование WebDAV (Web-based Distributed Authoring and Versioning — расширение протокола HTTP позволяющее работать с файлами на удаленном хостинге), так же я подключил Google Drive и некоторые другие облачные флешки, подключать которые раньше в Linux и не думал.
Подключаем WebDAV ресурс в Ubuntu
В принципе что в Linux, что в Windows никаких особых программ не нужно, все работает из коробки. В Ubuntu работа реализована с помощью пакета GVFS, доступно в Nautilus (Файл -> Подключиться к серверу). Способ простой, но не лучший из возможных, например работает только в графическом режиме, только в оболочке Gnome или Unity … Куда более интересный вариант использовать лишенный этих недостатков модуль FUSE davfs2. Установим davfs2 и попробуем подключить Яндекс.Диск, делается это примерно так:
- Устанавливаем пакет davfs2 (считаем что FUSE уже установлен и настроен):
sudo apt-get install davfs2
- Чтобы разрешить использовать davfs обычным пользователям выполним:
sudo chmod 4755 /usr/sbin/mount.davfs
- Создаем точку монтирования:
sudo mkdir /media/yandex.disk
- Монтируем Яндекс.Диск, потребуется ввести логин и пароль:
sudo mount -t davfs https://webdav.yandex.ru /media/yandex.disk/
- Проверяем:
sudo df -h /media/yandex.disk/
Добавим настройки монтирования в fstab (пусть система сама все делает за нас):
- Отредактируем fstab:
sudo gedit /etc/fstab
, добавим:https://webdav.yandex.ru:443 /media/yandex.disk davfs user,rw,noauto 0 0
- Отредактируем /etc/davfs2/secrets(чтобы не вводить пароль при каждом монтировании):
sudo gedit /etc/davfs2/secrets
, добавим:https://webdav.yandex.ru login pass
Разрешить доступ можно и переконфигурировав пакет davfs: sudo dpkg-reconfigure davfs2
Каталог /media используется для подключения сменных дисков, так что точку монтирования нужно создавать именно в нем. Опция user разрешает любому пользователю монтировать файловую систему. Для чтения и записи — rw. Опция noauto монтирование вручную, иначе Ubuntu будет пытается подключить файловую систему при загрузке до загрузки собственно сети, что ни к чему хорошему не приведет..
Продолжаем для всех используемых облаков. Я уже говорил что мы не ограничимся Яндекс.Диском? Не забываем только создавать отдельные каталоги в точке монтирования для каждого диска. Теперь наш диск будет виден в Nautilus (Unity) как отдельный накопитель.
WebDAV в FreeBSD
В большинстве случаев Linux в этом блоге это Ubuntu. Это моя основная рабочая система уже скоро как шесть лет и пиарю я ее абсолютно сознательно. Но я умею не только Ubuntu, и после анализа поискового трафика я решил добавить этот раздел(пусть никто не уйдет обиженным). Способ полностью рабочий (FreeBSD9), проверял специально на нескольких машинах. От Linux варианта отличается тем что вместо отсутствующего в портах davfs, используется wdfs:
- Устанавливаем пакет fusefs-wdfs:
pkg_add -r fusefs-wdfs
, - или собираем из портов:
cd /usr/ports/sysutils/fusefs-wdfs/
make install clean
- Разрешаем запуск FUSE:
echo 'fusefs_enable="YES"' >> /etc/rc.conf - Запускаем FUSE:
/usr/local/etc/rc.d/fusefs start
- Создаем точку монтирования:
mkdir /mnt/yandex.disk
- Монтируем Яндекс.Диск:
wdfs https://webdav.yandex.ru /mnt/yandex.disk -o ,username=user@yandex.ru,password=password - Соглашаемся с сертификатом, вводим логин и пароль
- Проверяем:
sudo df -h /mnt/yandex.disk/
Добавляем другие облака
Потренировались на Яндекс.Диске? Хотите знать что можно подключить еще? Для начала можно попробовать эти: SkyDrive от MS и ownCloud.
Чтобы подключить SkyDrive зайдите по своему Windows Live ID и скопируйте из URL код идущий после cid=: https://skydrive.live.com/#cid=*****
. Теперь можно подключится используя в качестве адреса ресурса https //docs.live.net/ваш_cid_тут/. Или воспользоваться вариантом изложенным ниже.
Забудьте не работает, работающий способ здесь: Подключение SkyDrive в Ubuntu.
Теперь OwnCloud. Это проект сообщества KDE, предназначение которого создание свободной альтернативы некоторым облачным сервисам. Можно поднять самому а можно воспользоваться готовым например OwnCube(платный) или PortKnox(можно попользоваться бесплатно). Адрес будет выглядеть примерно так(зависит от сервиса): http://сервер/путь/к/папке/owncloud/webdav.php.
Сервис не поддерживает WebDAV
С помощью WebDAV можно подключить Google Drive, DropBox и другие облачные сервисы, не имеющие поддержки WebDAV или только обещающие такую (Ubuntu One, DropBox). Например, чтобы получить доступ к вашему DropBox’у из FreeBSD или Haiku не дожидаясь появления родного клента.
Для Google Drive можно воспользоваться сервисом Otixo (реф-ссылка). Если коротко этот сервис добавляет поддержку WebDAV в Google Drive. И не только, еще Dropbox, SugarSync, SkyDrive, Ubuntu One и другие. Подключаемся по адресу https://dav.otixo.com/ авторизуем приложение и работаем. Бесплатная версия имеет ограничения, но для запасного варианта должно хватить.
Для DropBox неплохим выбором был — DropDAV. Регистрируемся, авторизируем приложение на Dropbox, пользуемся. Для подключения используем адрес https://dav.dropdav.com/. Почему неплохим? Раньше сервисом можно было пользоваться бесплатно теперь только за деньги.
(К слову, про Haiku и другие, для подключения используем CLI клиент Cadaver.)
Добавим немного шифрования
Для шифрования воспользуемся EncFS. Нравится мне эта файловая система за простоту в использовании и всеядность по отношению к операционным системам. Тема шифрования с EncFS раскрыта в этой заметке, добавлю разве скрипт автомонтирования (найден на хабре и слегка подправлен):
# Проверяем примонтирован ли yandex disk к директории если да, то отключаем
if grep -q "yandex.disk" /proc/mounts; then
# Выводим сообщение в области уведомлений.
notify-send -u normal "Yandex Disk" "На данный момент примонтирован \n ОТМОНТИТРОВАНИЕ !"
# Отключаем шифрованный раздел
# пользователь должен быть в группе fuse
fusermount -u /home/user/yandex.disk.encrypted
# Отмонтируем Диск с правами пользователя
# в /etc/fstab , в параметрах монтирования должен быть параметр user (все параметры: rw,uid=1000,gid=1000,user,noauto)
umount /home/user/yandex.disk
# если не примонтирован
else
# Выводим сообщение в области уведомлений.
notify-send -u normal "Yandex Disk" "Не примонтирован"
# Спрашиваем пароль шифрования во всплывающем окне
pass=$(zenity --password --title "Пароль от EncFS" )
# Монтируем яндекс диск с учётными данными из /etc/davfs2/secrets
mount /home/user/yandex.disk
# Подключаем шифрованную папку
echo $pass | encfs -S -o uid=1000,gid=1000 /home/user/yandex.disk/encrypted/ /home/user/yandex.disk.encrypted/
# Ждём (lol)
ping ya.ru -c 1
# Выводим сообщение в области уведомлений
notify-send -u normal "Yandex Disk" "Успешно примонтирован"
fi
Совсем хитрое шаманство
Хитрое шаманство один — обьем неограничен. Суть идеи — есть такой модуль FUSE mhddfs, делает он следующее обьединяет несколько файловых систем в одну. Например несколько davfs2 файловых систем … Можно получить сколь угодно большого обьема(зависит от вашего желания заводить новые аккаунты) сетевой диск. Работает это примерно так:
- Устанавливаем mhddfs:
sudo apt-get install mhddfs
- Монтируем WebDAV каталоги:
sudo mount -t davfs -o rw url /clouds/webdav1/
sudo mount -t davfs -o rw url /clouds/webdav2/ - Обьединяем каталоги:
mhddfs /clouds/webdav1,/clouds/webdav2 /media/webdav
Примерно так, хотя есть более адекватные методы увеличить доступный обьем облачного хранилища.
Хитрое шаманство два — настраиваем RAID 1(зеркало). В принципе подойдет любое ПО для синхронизации, но шаманить так шаманить. Еще один модуль FUSE — Chiron FS, создает RAID 1. Подробностей не будет. Возможно под настроение опробую и опишу результат.
Хитрое шаманство за номером три — обьединить первых два. Вы только представьте это себе !!! :-).
Ссылки:
Скрипт автоматического обьединения ресурсов WebDAV (обсуждение на хабре)
Голосуем за добавление поддержки WebDAV в DropBox.
Поправьте адрес:
https //docs.live.net/ваш_cid_тут/
на
https://docs.live.net/ваш_cid_тут/ , а то ведь люди копируют, не глядя ;-)
И что-то не получилось SkyDrive по WebDAV =
Спасибо, поправил. Про работу SkyDrive сам не понял — работало через раз. Или из-за того что опция не документирована (в инетах подключение описывают по разному), или из-за того что тестил под фряхой (отзывы на fusefs-wdfs тоже не радуют).
Неограниченное пространство… щастье то какое…
Чушь. Для рядового пользователя — бесполезняк. В основном продвинутые пользователи хранят на дисках торрентопомойку. Фотки и прочее — мизерный процент. Для них хватит и пары дисков в зеркале. Пусть даже облачных.
А для того чтобы хранить торренты на этих дисках — нужен широкий канал в инет, чего у большинства нету.
Вторая проблема — доступ к этим ресурсам с левого компа. Облачные диски тем и хороши, что на них можно зайти с любого компа подключённого к инету. Причём с любой из осей. А при реализации «бесконечного шифрованного зеркально-облачного» диска — зайти вы сможете только с этой системы, либо с той, доступ которой вы разрешите посредством шлюза (нфс, самба, фтп, хттп). А так чтобы пришёл в интернет кафе или в гости и открыл диск — не получится. И вы забыли упомянуть главную особенность mhddfs — если использовать «бесконечный» диск для единственного, что мне приходит на ум — для бэкапов — то размер файла бэкапа будет ограничен размером максимального свободного места на одном таком облаке. Т.е. если у вас 2 облака по 10 гигов, но на одном уже лежит что то на 5 гигов предположим — то вы имеете хранилище суммарной ёмкостью свободного места в 15 гигов, но залить больше 10 вы не сможете — система скажет что не хватит места.
Для меня облака в основном синхронизация и резервное копирование. Соглашусь, добиваться неограниченного пространства не нужно — проще заплатить. Именно поэтому и говорится про совсем хитрое шаманство, побаловаться интересно, а практической пользы маловато. Дело даже не в размерах файлов — никто не запрещает порезать архив на части, геморно это. Доступность? WebDAV как раз и решает вопрос с доступностью с чужой машины, т.к. используется стандартный софт и ничего своего ставить не потребуется. С шифрованием в этом случае пролетаешь, но получить доступ к зашифрованным разделам я и так могу в любое время с мобильного телефона. Или если очень прижмет — с любой современной операционной системы после доустановки нужного.
кстати, на работе было не чем заняться — попробовал примонтировать фьюзером вебдиск яндеха. канал на отдачу 100 мбпс, 130 метровый файл писало на диск в районе 10 минут. канал был свободен полностью. Так что использование вебдисков пока не оправдано.
Примонтировал Yandex, понравилось. Вот только после всех вышеуказанных действий монтировать/отмонтировать раздел, равно как и загружать/удалять/перемещать/создавать файлы получается только через sudo nautilus. Это так и задумано? Ubuntu 13.04
Посмотрел, забыл добавить что нужно разрешить обычным пользователям использовать davfs: sudo chmod 4755 /usr/sbin/mount.davfs
Не помогло. Все равно просит рут
fusefs-wdfs исчез из портов FreeBSD (печаль)