正常情况下,使用 mount 挂载的位置重启之后就失效了,因此一些固定的挂载点需要写入 /etc/fstab 文件,实现开机自动挂载。
1
2
3
4
5
6
7
8
9
10
11
|
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during curtin installation
#/dev/disk/by-uuid/b986dc3b-6b82-44d5-acb8-6cbad5e357d5 / ext4 defaults 0 0
UUID=b986dc3b-6b82-44d5-acb8-6cbad5e357d5 / ext4 defaults 0 0
https://dav.jianguoyun.com/dav/public /mnt/public davfs rw,uid=1000,gid=1000 0 0
|
fstab 中每一行是一个挂载点,使用空格或 TAB 分隔列,其中各列的含义如下:
| 列名 |
file system |
mount point |
type |
options |
dump |
pass |
| 含义 |
文件系统,支持硬盘、虚拟文件等 |
本地挂载点目录,必须存在 |
文件系统格式 |
额外选项 |
是否进行备份 |
是否以fsck检验扇区 |
| 示例 |
/dev/vdb 或 UUID=ABC 或WebDAV地址 |
/mnt/abc 或 / 等 |
ext4 或 davfs 等 |
defaults |
0 或 1 |
0 或 1 或 2 |
参考:配置启动挂载:fstab文件详解 - 走看看 (zoukankan.com)
挂载硬盘
首先执行 blkid 查看硬盘的 id,一般来说,挂载硬盘时,应使用硬盘的 UUID 进行挂载,以下是几个实例:
1
2
3
|
$ blkid
/dev/sr0: UUID="2021-10-07-17-25-53-00" LABEL="config-2" TYPE="iso9660"
/dev/vda2: UUID="b986dc3b-6b82-44d5-acb8-6cbad5e357d5" TYPE="ext4" PARTUUID="712793b8-3979-4596-a672-a7b0e0ca229e"
|
我们把 /dev/vda2 挂载到根目录,则 fstab 文件就这样写:
1
|
UUID=b986dc3b-6b82-44d5-acb8-6cbad5e357d5 / ext4 defaults 0 0
|
其中 UUID= 后面的一串就是我们执行 blkid 之后显示的 UUID,紧接着的 / 表示挂载到根目录,ext4 是文件系统格式,即执行 blkid 之后显示的 TYPE,defaults 是最常用的选项,最后两个一般都是 0。
挂载 WebDAV
这是今天要说的重点,以前的文章也说过了如何使用 davfs2 挂载坚果云,现在再进行一个集中描述。
1
2
3
|
# 安装 davfs2
$ sudo yum install davfs2
$ sudo vim /etc/davfs2/davfs2.conf
|
打开配置文件之后,在命令模式(默认)下输入 /ignore 进行搜索,搜到一行 # ignore_dav_header 0
将其改为 ignore_dav_header 1 (即去掉注释,将 0 改为 1)
这是因为坚果云的 WebDAV 服务器不支持 Class 1,修改之后可以使 davfs 跳过 Class 1 的验证,之后再进行挂载就不会有问题了。建议使用之前到坚果云网站,登录后点击[用户名]→账户信息→安全选项,在第三方应用管理中添加一个 davfs 专用的授权,使用时使用自动生成的应用密码进行登录。
假设我们要将坚果云中的 public 目录,挂载到 /mnt/public 中,则进行以下操作:
1
2
3
4
5
|
$ sudo mkdir /mnt/public
# 执行 id 可以显示出用户 id 和组 id,用于接下来挂载目录的权限设置
$ id
uid=1000(username) gid=1000(username) groups=1000(username),0(root)
$ sudo mount -t davfs -o rw,uid=1000,gid=1000 https://dav.jianguoyun.com/dav/public /mnt/public
|
接下来输入坚果云的账号和上述生成的应用密码就可以挂载成功了。这样,在命令行中成功挂载之后,再编辑 /etc/fstab 文件:
1
|
https://dav.jianguoyun.com/dav/public /mnt/public davfs rw,uid=1000,gid=1000 0 0
|
就可以实现开机自动挂载了(不需要再输入用户名和密码)
虚拟机共享文件夹挂载(Oracle VirtualBox)
首先需要在 VirtualBox 中进行设置,右键虚拟机,然后设置->共享文件夹,点击右边的加号新建一个共享文件夹

弹窗中,共享文件夹路径选择主机的文件夹,名称随便起,为了方便最好用英文,挂载点不用写,勾选固定分配

之后在 Linux 中手动挂载测试一下,命令:
1
2
3
4
5
6
7
8
9
10
11
|
┌──(kali㉿kali)-[~]
└─$ mkdir share
┌──(kali㉿kali)-[~]
└─$ sudo mount -t vboxsf fx ./share
┌──(kali㉿kali)-[~]
└─$ cd share
┌──(kali㉿kali)-[~/share]
└─$ ls
|
要是能正常显示内容,说明确实可以挂载,然后编辑 fstab 文件:
1
2
|
┌──(kali㉿kali)-[~/share]
└─$ sudo vim /etc/fstab
|
在最下面新增一行,内容:
1
|
fx /home/kali/share vboxsf defaults 0 0
|
这样就实现了自动挂载虚拟机共享文件夹