Использование утилиты davfs2 для монтирования сетевых облачных хранилищ по протоколу WebDAV Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:davfs2 [2012/08/23 10:07]
[fstab]
wiki:davfs2 [2019/04/28 00:05] (текущий)
[Настройка]
Строка 10: Строка 10:
   * Присутствует доля отказов данного функционала (см. [[lpbugs>​ubuntu/​+source/​gvfs/​+bug/​994006|can'​t connect to webdav shares]]).   * Присутствует доля отказов данного функционала (см. [[lpbugs>​ubuntu/​+source/​gvfs/​+bug/​994006|can'​t connect to webdav shares]]).
  
-Альтернативой использованию пакета <<​**GVFS**>>​ является утилита поставляемая в пакете <<​**davfs2**>>​ (см. [[wp>​davfs2]]). Эта утилита ​показывает большую отказоустойчивость и позволяет монтировать облачный диск подобно монтированию обычного носителя данных -- в постоянную локацию,​ что делает такой диск доступный для любой программы имеющей доступ к ФС ОС. В свою очередь,​ такой метод тоже имеет свой недостаток -- сложность настройки.+Альтернативой использованию пакета <<​**GVFS**>>​ является утилита поставляемая в пакете <<​**davfs2**>>​ (см. [[wp>​davfs2]]). Эта утилита позволяет монтировать облачный диск подобно монтированию обычного носителя данных -- в постоянную локацию,​ что делает такой диск доступный для любой программы имеющей доступ к ФС ОС. В свою очередь,​ такой метод тоже имеет свой недостатки: 
 +  * Сложность настройки
 +  * Файловые менеджеры считают папки примонтированные с помощью <<​**davfs2**>>​ локальными и будут пытаться получить информацию и сгенерировать эскизы для медиа-файлов,​ что требует скачивания этих файлов. А это требует времени в течении которого файловый менеджер будет недоступен,​ а интернет-соединение загружено передачей данных.
 ====== Установка ====== ====== Установка ======
  
Строка 18: Строка 20:
 По завершении установки следует выполнить переконфигурирование пакета,​ например,​ командой По завершении установки следует выполнить переконфигурирование пакета,​ например,​ командой
 <code bash>​sudo dpkg-reconfigure davfs2</​code>​ <code bash>​sudo dpkg-reconfigure davfs2</​code>​
-выбрав пункт <<​Да>>,​ для разрешения монтирования облачных хранилищ непривилегированным пользователям ОС. Заместо этого можно просто выполнить команду+выбрав пункт <<​Да>>,​ для разрешения монтирования облачных хранилищ непривилегированным пользователям ОС. Вместо этого можно просто выполнить команду
 <code bash>​sudo chmod 4755 /​usr/​sbin/​mount.davfs</​code>​ <code bash>​sudo chmod 4755 /​usr/​sbin/​mount.davfs</​code>​
  
Строка 46: Строка 48:
 <code bash>​xdg-open $HOME/​.davfs2/​secrets</​code>​ <code bash>​xdg-open $HOME/​.davfs2/​secrets</​code>​
 необходимо ввести строку необходимо ввести строку
 +<code bash>​$PathToMountPoint $USER $PASSWORD</​code>​
 + с указанием абсолютного пути точки монтирования вместо <<​$PathToMountPoint>>​ (так же как указано в файле <</​etc/​fstab>>​),​ имени пользователя у поставщика облачного диска вместо <<​$USER>>​ и его пароля вместо <<​$PASSWORD>>,​ например
 +<code bash>/​mnt/​cloud MyName 12345</​code>​
 +Можно указывать адрес облачного диска, а не путь монтирования
 <code bash>​$WebDAV_Address $USER $PASSWORD</​code>​ <code bash>​$WebDAV_Address $USER $PASSWORD</​code>​
-где параметр <<​$WebDAV_Address>>​ аналогичен описанному в файле <</​etc/​fstab>>,​ а <<​$USER>> ​и <<$PASSWORD>> данные аутентификации пользователя у поставщика сервиса облачного диска.+где параметр <<​$WebDAV_Address>>​ аналогичен описанному в файле <</​etc/​fstab>>, ​например, 
 +<code bash>​https://​example.com/​webdav.php MyName 12345</code> 
 + 
 +Имеются проблемы с символами $^#& и пробелами в паролях. Следует ​использовать Escape-символы или окружать ​пароль скобками %%" "%%. Например пароль <<qwe # rty>> можно записать ​как 
 +<​code>"​qwe # rty"</​code>​ 
 +или 
 +<​code>​qwe\ \#\ rty</​code>​
  
 Ввиду наличия секретной информации в этом файле, обязательно следует запретить другим пользователям системы производить его чтение,​ например,​ командой Ввиду наличия секретной информации в этом файле, обязательно следует запретить другим пользователям системы производить его чтение,​ например,​ командой
Строка 59: Строка 71:
 Файл <</​etc/​fstab>>​ следует дополнить строкой (дописать в самом конце) Файл <</​etc/​fstab>>​ следует дополнить строкой (дописать в самом конце)
 <code bash>​$WebDAV_Address $PathToMountPoint davfs user,​rw,​noauto 0 0</​code>​ <code bash>​$WebDAV_Address $PathToMountPoint davfs user,​rw,​noauto 0 0</​code>​
-где <<​$WebDAV_Address>>​ надо обязательно заменить на веб-адрес поставщика услуги сетевого облачного диска, а <<​$PathToMountPoint>>​ обязательно заменить на абсолютный путь к точке монтирования (без переменных среды, начинающихся с символа <<​$>>,​ путь должен начинаться с символа <</>>​). Например,​ для распространенных поставщиков облачных дисков (и соответственно подобранного названия точки монтирования) эта строка описана ниже. +или 
-  * <<​**Яндекс Диск**>>​ (см. [[http://​help.yandex.ru/​disk/?​id=1124655|Работа через WebDAV]]). Строка в <</​etc/​fstab>>​ может иметь вид +<code bash>​$WebDAV_Address $PathToMountPoint davfs user,​rw,​_netdev 0 0</​code>​ 
-  ​<code bash>​https://​webdav.yandex.ru:​443 /​media/​Yandex davfs user,​rw,​noauto 0 0</​code> ​подробнее о подключении к Яндекс.Диск через WebDav можно почитать в [[wiki:​яндекс_диск|этой статье]]+где <<​$WebDAV_Address>>​ надо обязательно заменить на веб-адрес поставщика услуги сетевого облачного диска, а <<​$PathToMountPoint>>​ обязательно заменить на абсолютный путь к точке монтирования (без переменных среды, начинающихся с символа <<​$>>,​ путь должен начинаться с символа <</>>​). ​Опция <<​noauto>>​ указывает,​ что монтирование производится вручную (см. ниже), в то время как альтернативная ей опция <<​_netdev>>​ -- что монтирование будет произведено автоматически при наличии подключенного сетевого интерфейса (см. [[wiki:​fstab|fstab]]). 
-  * <<​**4shared**>>​ (см. [[http://​help.4shared.com/​index.php/​Main_Page#​What_is_WebDav_and_how_to_use_it|What is WebDav and how to use it ]]). Строка в <</​etc/​fstab>>​ может иметь вид +<note important>​Наличие опции **noauto** или **_netdev** обязательно,​ в противном случае считается,​ что указана опция **auto** и система будет пытаться подключить сетевой диск до поднятия самого сетевого интерфейса</​note>​ 
-  ​<code bash>​https://​webdav.4shared.com/​ /​media/​4shared ​davfs user,​rw,​noauto 0 0</​code>​ +Например,​ для распространенных поставщиков облачных дисков (и соответственно подобранного названия точки монтирования) эта строка описана ниже. 
-  * <<​**OwnCube**>>​. Строка в <</​etc/​fstab>>​ может иметь вид +  * <<​**Яндекс Диск**>>​ (см. [[http://​help.yandex.ru/​disk/?​id=1124655|Работа через WebDAV]]). Строка в <</​etc/​fstab>>​ может иметь вид<​code bash>​https://​webdav.yandex.ru:​443 /​media/​Yandex davfs user,​rw,​noauto 0 0</​code> ​В этом примере явно указан порт для ​подключения. Это ​не обязательно, если ​поставщик облачного ​диска использует ​стандартные порты: 80 для HTTP и 443 для HTTPS
-  <code bash>​https://​owncube.com/​files/​webdav.php /​media/​OwnCube ​davfs user,​rw,​noauto 0 0</​code>​ +  * <<​**4shared**>>​ (см. [[http://​help.4shared.com/​index.php/​Main_Page#​What_is_WebDav_and_how_to_use_it|What is WebDav and how to use it ]]). Строка в <</​etc/​fstab>>​ может иметь вид<​code bash>​https://​webdav.4shared.com/​ /​media/​4shared davfs user,​rw,​noauto 0 0</​code>​ 
-  * <<​**IDriveSync**>>​ (см. [[https://​www.idrivesync.com/​webdav|IDriveSync join hands with WebDAV]]). Строка в <</​etc/​fstab>>​ может иметь вид +  * <<​**IDriveSync**>>​ (см. [[https://​www.idrivesync.com/​webdav|IDriveSync join hands with WebDAV]]). Строка в <</​etc/​fstab>>​ может иметь вид<​code bash>​https://​dav.idrivesync.com/​ /​media/​IDriveSync davfs user,​rw,​noauto 0 0</​code>​ 
-  ​<code bash>​https://​dav.idrivesync.com/​ /​media/​IDriveSync davfs user,​rw,​noauto 0 0</​code>​ +  * Облачные диски на основе ​<<**ownCloud**>> ​(см. [[owncloud|ownCloud]],​ [[wp>​OwnCloud]]). Здесь есть особенность,​ т.к. сервис ​<<​**ownCloud**>> ​может ​работать ​на вашем сервере,​ тогда адрес необходимо прописывать следующим образом <​code>​http://​ваш_сервер.ru/owncloud/files/​webdav.php</​code>​ если вы пользуетесь общим сервером ​<<​**ownCloud**>>​, то строка в <</​etc/​fstab>> ​примет вид:<​code bash>​http://​getfreecloud.com/​files/​webdav.php /media/ownСloud davfs user,​rw,​noauto 0 0</​code>​ Еще один поставщик облачного диска, работающего на основе <<​**ownCloud**>>,​ это <<​**OwnCube**>>​. Строка в <</​etc/​fstab>>​ может иметь вид<​code bash>​https://​owncube.com/​files/​webdav.php /​media/​OwnCube ​davfs user,​rw,​noauto 0 0</​code>​
-  * <<**OwnCloud**>>. Здесь есть особенность, ​потому что сервис ​owncloud ​может ​находится на вашем сервере,​ тогда адрес необходимо прописывать следующим образом <​code>​http://​ваш_сервер/​путь/​к/​папке/​owncloud/​webdav.php</​code> ​если вы пользуетесь общим сервером ​OwnCloud, то строка в fstab примет вид:<​code bash>​http://​getfreecloud.com/​files/​webdav.php /media/owncloud ​davfs user,​rw,​noauto 0 0</​code>​+
  
-<note important>​При ручном наборе этих строк обратите внимание,​ на то, что многие поставщики облачных дисков используют протокол HTTPS вместо HTTP. Опция noauto обязательна,​ так как в противном случае система будет пытаться подключить диск до поднятия сетевого интерфейса.</​note>​+<note important>​При ручном наборе этих строк обратите внимание,​ на то, что многие поставщики облачных дисков используют протокол HTTPS вместо HTTP.</​note>​
 ==== Проверка монтирования ==== ==== Проверка монтирования ====
 После завершения данных манипуляций целесообразно проверить монтирование,​ выполнив команду <<​mount>>​ После завершения данных манипуляций целесообразно проверить монтирование,​ выполнив команду <<​mount>>​
 <code bash>​mount $PathToMountPoint</​code>​ <code bash>​mount $PathToMountPoint</​code>​
-где <<​$PathToMountPoint>>​ точка монтирования облачного диска описанная в <</​etc/​fstab>>​.+где <<​$PathToMountPoint>>​ точка монтирования облачного диска описанная ​в <</​etc/​fstab>>​. Или 
 +<code bash>​mount $WebDAV_Address</​code>​ 
 +где $WebDAV_Address адрес для доступа к облачному диску, прописанный ​в <</​etc/​fstab>>​.
  
 Отмонтировать такой диск можно командой <<​umount>>​ Отмонтировать такой диск можно командой <<​umount>>​
-<code bash> umount $PathToMountPoint</​code>​+<code bash>​umount $PathToMountPoint</​code>​ 
 +или 
 +<code bash>​umount $WebDAV_Address</​code>​
 ===== Монтирование через Nautilus ===== ===== Монтирование через Nautilus =====
 Если вы создали точку монтирования в папке <</​media>>,​ то на левой панели файлового менеджера [[wiki:​nautilus|Nautilus]] будет доступна кнопка,​ по нажатию на которой будет происходить монтирование\размонтирование,​ как с обычной флешкой. Если вы создали точку монтирования в папке <</​media>>,​ то на левой панели файлового менеджера [[wiki:​nautilus|Nautilus]] будет доступна кнопка,​ по нажатию на которой будет происходить монтирование\размонтирование,​ как с обычной флешкой.
 ===== Автоматическое монтирование ===== ===== Автоматическое монтирование =====
-Опция ​''​noauto'' ​не позволяет диску примонтироваться автоматически при старте системы. Для автоматического монтирования необходимо создать подобный скрипт<​code bash>#​!/​bin/​bash +Опция ​<<noauto>> ​не позволяет диску примонтироваться автоматически при старте системы. Для автоматического монтирования необходимо воспользоваться опцией <<​_netdev>>​ (см. [[#​fstab|fstab]]),​ в таком случае попытка примонтировать диск будет произведена при загрузке системы,​ до входа под конкретным пользователем. Для этого, учетные данные доступа к облачному диску должны хранится в <</​etc/​davfs2/​secrets>>​ (см. [[#​Настройка учетных данных]]). Такой облачный сетевой диск будет монтироваться для всех пользователей ОС. 
-sleep 120 && mount https://​webdav.yandex.ru</​code>​ и добавить его в автозагрузку.+ 
 +Если же диск должен монтироваться только для конкретного пользователя,​ то наряду с указанием опции <<​noauto>>​ в <</​etc/​fstab>>​ следует ​создать подобный скрипт <code bash>#​!/​bin/​bash 
 +sleep 120 && mount https://​webdav.yandex.ru</​code>​ и добавить его в автозагрузку ​этого пользователя.
 {{ :​wiki:​яндекс_диск:​яндекс_диск_nautilus.png?​nolink&​500 }} {{ :​wiki:​яндекс_диск:​яндекс_диск_nautilus.png?​nolink&​500 }}
 +
 +
 ====== Резервное копирование ====== ====== Резервное копирование ======
 ===== Бекап с помощью Déjà Dup ===== ===== Бекап с помощью Déjà Dup =====
Строка 136: Строка 155:
 ====== Проблемы ====== ====== Проблемы ======
 <note important>​Если у вас возникли малейшие проблемы при выполнении какой либо части из данной инструкции,​ не поленитесь,​ сообщите в [[http://​forum.ubuntu.ru/​index.php?​topic=200180.0|теме обсуждения]],​ тем самым вы поможете себе- вам подскажут как действовать и другим- авторы поправят статью в соответствии с вашими замечаниями. Если нашли в статье неточность или знаете сами как решить проблему- не стесняйтесь,​ входите в ВИКИ под своим логином и паролем от форума и смело правьте статью.</​note>​ <note important>​Если у вас возникли малейшие проблемы при выполнении какой либо части из данной инструкции,​ не поленитесь,​ сообщите в [[http://​forum.ubuntu.ru/​index.php?​topic=200180.0|теме обсуждения]],​ тем самым вы поможете себе- вам подскажут как действовать и другим- авторы поправят статью в соответствии с вашими замечаниями. Если нашли в статье неточность или знаете сами как решить проблему- не стесняйтесь,​ входите в ВИКИ под своим логином и паролем от форума и смело правьте статью.</​note>​
 +
 +  * Существенная проблема данного подхода к монтированию облачных дисков состоит в том, что файловые менеджеры (<<​**Nautilus**>>,​ <<​**Dolphin**>>​ и т.п.) считают такие файлы и папки локальными,​ как результат -- пытаются сгенерировать для них эскизы и получить другую медиа-информацию,​ что приводит к скачиванию этих файлов,​ а это может затянуться на некоторое время, в течение которого файловый менеджер будет недоступен,​ а канал связи загружен. Решить эту проблему можно отключив все эскизы в Вашем файловом менеджере или использовать другой файловый менеджер,​ например <<​**MC**>>​
 ====== Ссылки ====== ====== Ссылки ======
  
Строка 148: Строка 169:
   * [[http://​disk.yandex.ru/​|Яндекс.Диск]]-- страница проекта   * [[http://​disk.yandex.ru/​|Яндекс.Диск]]-- страница проекта
   * [[http://​ubuntovod.ru/​instructions/​yandeks-disk-deja-dup.html|Бекап на Яндекс.Диск с Déjà Dup]]-- источник   * [[http://​ubuntovod.ru/​instructions/​yandeks-disk-deja-dup.html|Бекап на Яндекс.Диск с Déjà Dup]]-- источник
 +  * [[http://​help.yandex.ru/​disk/​cli-clients.xml|Консольный клиент для Linux yandex-disk]]
 +  * <<​**[[http://​noedler.de/​projekte/​wdfs/​|wdfs]]**>>​ - утилита для монтирования <<​**WebDAV**>>​ через <<​**FUSE**>>​ (без прав суперпользователя). Можно найти в PPA на [[https://​launchpad.net/​+search?​field.text=wdfs&​field.actions.search=Search|launchpad.net]],​ или легко скомпилировать с помощью утилиты <<​**checkinstall**>>​
  
-{{tag>​davfs2 webdav Яндекс.Диск резервное копирование backup монтирование}}+{{tag>​davfs2 webdav Яндекс.Диск резервное_копирование backup монтирование ​fixme}}