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

最好把文件系统视为一棵树,在 / 的根节点上,/dev,/usr 等根目录中的其他目录是分支,它们可能有自己的分支,如 /usr/local 等等。

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

将某些目录树放在其他文件系统上的另一个常见原因是,如果它们要存放在不同的物理磁盘上,或者是单独的虚拟磁盘,比如在“网络文件系统(NFS)”中说明的网络文件系统挂载,或者是 CDROM 驱动器。

3.7.1. The fstab File

在引导过程中 (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 应设置为 1。其他文件系统应设置为大于 1 的值。如果多个文件系统具有相同的 passno,fsck(8) 将尝试在可能的情况下对文件系统并行检查。

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

3.7.2. 使用 mount(8)

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

# mount device mountpoint

也可以通过提供挂载点挂载列在 /etc/fstab 中的文件系统。

该命令提供了许多选项,在 mount(8)中有说明。常用的选项包括:

挂载选项

-a 挂载列表中所有文件系统,除了那些标记为“noauto”、被排除的 -t 标志排除的文件系统,或者那些已经挂载的文件系统。

-d 做除实际挂载系统调用之外的所有事情。此选项与 -v 标志一起使用,以确定挂载(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 中文社区