很多存储、网盘都提供 webdav 服务,相对于 samba 服务,webdav 走 http 协议,配合相应的客户端可以实现模拟文件系统的需求。
Windows 系统可以用 RaiDriver 实现 webdav 文件系统挂载,模拟本地磁盘的操作。而在 Linux 上可以使用 davfs 来实现 webdav 服务的挂载,从而模拟本地磁盘的文件操作。
最终使用效果为,使用 mount 命令挂载 webdav 目录,挂载后的目录和本地目录类似,可以进行文件拷贝和删除操作。
以下以 Ubuntu 系统为例介绍 webdav 的挂载操作:
首先要安装 davfs2 软件包:
sudo apt-get install davfs2
在正式挂载前要修改 davfs2 的配置文件,原始默认参数都处于被注释的状态,我们可以去掉注释选择对性能提升有关的参数进行修改:
$ cat /etc/davfs2/davfs2.conf
buf_size 512 # KiByte
use_proxy 0 # 是否使用系统代理
use_locks 0 # 是否并发操作,0 代表并行操作
cache_dir /var/cache/davfs2
cache_size 5000 # MiByte
默认参数也可以使用,当遇到性能问题时可以再对配置文件进行微调。因为是 http 协议,所以 davfs 要比本地文件系统要慢一些。特别是文件内容很多时,文件列表刷新会有延迟感。
然后在 secrets 文件中配置 webdav 的 URL 、账号和密码。
cat /etc/davfs2/secrets
https://webdav.example.com username password
挂载命令与其它文件系统的挂载类似:
sudo mount -t davfs https://webdav.example.com ~/webdav_mount
以上是单账号的情况,如果我们有多个 webdav 的账号,不同的账号需要挂到不同的目录。此时可以创建不同的 secrets 文件,挂载时指定密码文件即可:
$ cp /etc/davfs2/secrets ~/.dav1
$ echo "https://webdav-account2.example.com username2 password2" > ~/.dav1
$ sudo mount -t davfs
https://webdav-account2.example.com
~/webdav_dir2
-o secrets=~/.dav1
以上是使用密码文件来识别账号,也可以在命令行中指定用户名,此时会交互式输入密码:
sudo mount -t davfs
https://webdav.example.com
~/webdav_dir1
-o username=user1
关于 webdav 服务端的搭建,以及 windows 下如何挂载,可以参考以下文章:
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
原文始发于微信公众号(生有可恋):Linux 挂载 webdav 文件系统
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论