3.7.文件系统的挂载与卸载

文件系统的最佳视觉化

文件系统最好被视为一棵树,就好像它根植在 /(根目录)一样。/dev/usr 和根目录中的其他目录是分支,可能有它们自己的分支,比如 /usr/local 等等。

有很多原因可以将其中一些目录放在不同的文件系统上。例如,/var 包含 log/spool/ 和各种类型的临时文件,因此可能会被填满。填满根文件系统并不是一个好主意,因此通常会将 /var/ 分开。

如果某些目录树要存储在不同的物理磁盘上或是独立的虚拟磁盘(如在“网络文件系统(NFS)”中描述的)上,那么将它们包含在其他文件系统中也是一个常见的原因,或者是 CD-ROM 驱动器。

3.7.1. fstab 文件

在引导过程中(FreeBSD 引导过程),列在 /etc/fstab 中的文件系统会自动挂载,除了那些包含 noauto 的条目。此文件包含以下格式的条目:

device       /mount-point fstype     options      dumpfreq     passno
  • device:现有设备名称,如磁盘设备名称中所述。

  • mount-point:要挂载文件系统的现有目录。

  • fstype:要传递给 mount(8) 的文件系统类型。FreeBSD 的默认文件系统是 ufs

  • options:对于读写文件系统,使用 rw,对于只读文件系统,使用 ro,然后是可能需要的任何其他选项。一个常见的选项是 noauto,用于在引导序列中通常不挂载的文件系统。其他选项在 mount(8) 中列出。

  • dumpfreq:由 dump(8) 使用,确定哪些文件系统需要转储。如果该字段缺失,则假定为 0。

  • passno:确定在重新启动后由 fsck(8) 检查 UFS 文件系统的顺序。应将要跳过检查的文件系统的 passno 设置为零。根文件系统需要在其他所有内容之前检查,应将其 passno 设置为一。其他文件系统应设置为大于一的值。如果多个文件系统具有相同的 passno,则 fsck(8) 将尝试在可能的情况下并行检查文件系统。

有关 /etc/fstab 格式及其选项的更多信息,请参阅 fstab(5)

3.7.2. 使用 mount(8)

可以使用 mount(8) 挂载文件系统。最基本的语法如下:

# mount device mountpoint

也可以只提供 /etc/fstab 中列出的文件系统的挂载点,即:

# mount mountpoint

此命令提供了许多选项,这些选项在 mount(8) 中有描述。最常用的选项包括:

挂载选项

  • -a:挂载在 /etc/fstab 中列出的所有文件系统,除了标记为 "noauto"、通过 -t 标志排除的文件系统,或已经挂载的文件系统。

  • -d:除了实际的挂载系统调用之外,执行所有操作。此选项与 -v 标志结合使用时很有用,以确定 mount(8) 实际上正在尝试做什么。

  • -f:强制挂载不干净的文件系统(危险的),或在将文件系统的挂载状态从读写降级为只读时撤销写访问权限。

  • -r:以只读模式挂载文件系统。这等同于使用 -o ro

  • -t <fstype>:挂载指定的文件系统类型,或者如果包含 -a,则仅挂载给定类型的文件系统。"ufs" 是默认文件系统类型。

  • -u:更新文件

系统上的挂载选项。

  • -v:显示详细信息。

  • -w:以读写模式挂载文件系统。

可以将以下选项作为逗号分隔的列表传递给 -o

  • nosuid:不解释文件系统上的 setuid 或 setgid 标志。这也是一个有用的安全选项。

3.7.3. 使用 umount(8)

要卸载文件系统,请使用 umount(8)。此命令采用一个参数,可以是挂载点、设备名称、-a-A

所有形式都使用 -f 强制卸载,并使用 -v 显示详细信息。请注意,通常情况下 -f 不是一个好主意,因为它可能导致计算机崩溃或损坏文件系统上的数据。

要卸载所有已挂载的文件系统,或仅使用 -t 列出的文件系统类型,请使用 -a-A。请注意,-A 不尝试卸载根文件系统。

最后更新于

FreeBSD 中文社区