# Linux使用davfs2挂载webdav作为本地磁盘并实现自动挂载
# 🐁前言
当使用的操作系统硬盘非常小,不够使用的时候除了添加磁盘等解决方法外,还可以采用webdav的方法来挂载一个网络磁盘。这个方式的成本较低,且也比较灵活。支持webdav的网盘有很多,比如infini cloud(如注册可以使用我的邀请码32VVG
增加5GB的空间),以及一些自建网盘程序,如Cloudreve等,当然alist可以将大多数网盘转换为webdav的形式,所以使用webdav是一个比较不错的选择。
# 🦡使用davfs2挂载网盘
1.安装davfs2
yum install davfs2 #CentOS系统
apt install davfs2 #Ubuntu/Debian系统
2.创建挂载目录:
mkdir /path/webdav #创建想要挂载的目录路径
3.挂载 WebDAV:
mount -t davfs https://webdav.drive.com/dav /path/webdav #替换为自己想要挂载的webdav网址
4.输入账号密码:
使用以上挂载命令后就会让输入账号密码,只需要按照实际输入即可。网盘的官网或者文档都会提供。
然后输入df -h
就可以查看到当前挂载的硬盘。
# 🦛配置开机自动挂载
每次重启后都必须要重新输入挂载命令,非常不方便,所以我们可以配置davfs2的配置文件以及配置systemd服务化来实现开机自动挂载,达到无感的效果。
1.修改davfs2.conf
配置文件
nano /etc/davfs2/davfs2.conf
打开文件后修改其中的use_locks
参数,将原来的1
,改为0
。
2.修改davfs2的secrets文件,添加认证信息
nano /etc/davfs2/secrets
将webdav的地址以及用户名密码输入到最底部。
例如:
https://webdav.drive.com/dav 用户名 密码
3.配置systemd文件
我想要将webdav挂载到/path/webdav
目录,所以我需要创建一个名为path-webdav.mount
的systemd配置。
nano /etc/systemd/system/path-webdav.mount
注意:通常情况下,挂载单元文件(mount unit)的命名是按照要挂载的路径来命名的。这种命名约定是由systemd规定的,以便于自动识别和处理挂载点。如挂载点
/mnt/data
的挂载单元文件应命名为mnt-data.mount
然后填入以下配置:
[Unit]
Description=Mount WebDAV Share
After=network-online.target
Wants=network-online.target
[Mount]
What=https://webdav.drive.com/dav #修改为自己的webdav地址
Where=/path/webdav #修改为自己的挂载路径
Type=davfs
Options=_netdev,users,rw
[Install]
WantedBy=multi-user.target
保存后重新加载systemd配置:
systemctl daemon-reload
然后输入:
systemctl enable path-webdav.mount
这样就能开机自动挂载了。
可以在重启系统之后再次输入df -h
来测试一下是否挂载成功了。