跳转到内容

Ict-创新/LPI/104.3

来自维基教科书,开放的书籍,为开放的世界

104.3 控制文件系统的挂载和卸载

[编辑 | 编辑源代码]

考生应能够配置文件系统的挂载

关键知识领域

  • 手动挂载和卸载文件系统。
  • 在启动时配置文件系统挂载。
  • 配置用户可挂载的可移动文件系统。



在启动时挂载文件系统

在启动时,/etc/fstab 文件为块设备分配挂载点。

/etc/fstab 的格式

设备 挂载点 文件系统类型 选项 转储编号 检查编号

/etc/fstab 示例

LABEL=//ext2defaults1 1

LABEL=/boot /boot ext2defaults1 2

LABEL=/home /home ext3defaults1 2

/dev/fd0/mnt/floppy autonoauto,owner0 0

LABEL=/usr/usrext2defaults1 2

LABEL=/var/varext3defaults1 2

none/procprocdefaults0 0

none/dev/shmtmpfsdefaults0 0

none/dev/pts devpts gid=5,mode=6200 0

/dev/hdc9swap,pri=-1swapdefaults0 0

/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0

可用于 fstab 文件的选项

  • atime / noatime / relatime Unix stat 结构记录文件最后访问时间 (atime)、修改时间 (mtime) 和创建时间 (ctime)。一个结果是,每次读取文件时都会写入 atime,这已被严重批评会导致性能下降和磨损增加。但是,atime 被一些应用程序使用,并被一些用户需要,因此它可以配置为 atime(按访问更新)、noatime(不更新)或(在 Linux 中)relatime(如果比 mtime 更旧则更新 atime)。在 Linux 2.6.29 之前,atime 是默认值;从 2.6.30(2009 年 6 月 9 日)开始,relatime 是默认值,
  • auto / noauto - 使用 auto 选项,设备将在启动时或执行 mount -a 命令时自动挂载。auto 是默认选项。如果您不想自动挂载设备,请在 /etc/fstab 中使用 noauto 选项。使用 noauto,设备只能显式挂载。
  • dev / nodev - 在文件系统上解释/不解释块特殊设备。
  • exec / noexec - exec 允许您执行该分区上的二进制文件,而 noexec 不允许您这样做。noexec 可能对不包含二进制文件的分区(如 /var)有用,或者包含您不想在系统上执行的二进制文件,或者甚至无法在系统上执行的二进制文件。最后一种情况可能是 Windows 分区。
  • ro - 以只读方式挂载。
  • rw - 以读写方式挂载文件系统。再次,使用此选项可能会缓解新 Linux 用户的困惑,因为他们无法写入软盘、Windows 分区或其他媒体,
  • sync / async - 文件系统的输入和输出应如何执行。sync 表示同步执行。如果您查看 fstab 示例,您会注意到这是与软盘一起使用的选项。简单地说,这意味着当您例如将文件复制到软盘时,更改将在您发出复制命令的同时物理写入软盘。
  • suid / nosuid - 允许/阻止 suid 和 sgid 位的操作。
  • user / users / nouser - user 允许任何用户挂载文件系统。这会自动隐含 noexec、nosuid、nodev,除非被覆盖。如果指定了 nouser,则只有 root 可以挂载文件系统。如果指定了 users,则 group users 中的每个用户都将能够卸载卷。
  • owner - 允许设备所有者挂载,
  • defaults - 使用默认设置。默认设置在文件系统级别按文件系统定义。对于 ext3 文件系统,这些设置可以使用 tune2fs 命令设置。Ext3 文件系统的正常默认值等效于 rw,suid,dev,exec,auto,nouser,async(无 acl 支持)。现代基于 Red Hat 的系统在根文件系统上设置 acl 支持,但在用户创建的 Ext3 文件系统上不设置。某些文件系统(如 XFS)默认启用 acl。默认文件系统挂载属性可以在 /etc/fstab 中被覆盖。


手动挂载和卸载文件系统

[编辑 | 编辑源代码]

mount 命令用于使特定设备在特定目录(挂载点)上可用。语法是

mount  -t [FSTYPE] -o [OPTIONS] DEVICE DIRECTORY

例如,我们可以使用以下命令将 CDROM 挂载到挂载点 /media/cdrom

# mount -t iso9660 /dev/cdrom /media/cdrom

Mount 将已挂载文件系统的列表保存在 /etc/mtab 中。不带任何选项输入 mount 将显示当前已挂载的所有文件系统。输出类似于 /etc/mtab。内核还在 /proc/mounts 中跟踪已挂载的文件系统。


用户可挂载的可配置系统

在运行的系统上,/etc/fstab 文件还充当将资源分配给特定目录的快捷方式。例如

# mount /dev/cdrom

mount 实用程序会读取 fstab 并推断出在哪里挂载资源。请注意,一些设备使用标签进行访问。标签使用 tune2fs 工具分配给设备

#tune2fs -L /usr/local /dev/hdb12

Mount 可以接受上面列出的大多数 fstab 选项。这允许用户以只读方式或使用 noexec 来挂载文件系统。除了挂载已在 /etc/fstab 文件中定义的文件系统外,mount 还可用于挂载未在 fstab 中定义的新设备。例如,如果将外部 SATA 驱动器插入机器,并给出其设备节点 /dev/sdc,则可以将其第一个分区挂载为

# mount /dev/sdc1 /mnt

这将使设备的第 1 个分区在 /mnt 目录下可用。

注意
请记住,mount -a 将挂载所有未挂载且没有选项 noauto/etc/fstab 中的文件系统

umount 命令将卸载设备。请注意,命令拼错了!语法是

umount DEVICE or MOUNT-POINT

例如,以下命令都将卸载 CDROM 设备

# umount /dev/cdrom

# umount /media/cdrom

按照惯例,/media 下的挂载点用于可移动设备,例如 CD 或 USB 存储驱动器。



使用过的文件、术语和实用程序:* /etc/fstab

  • /media
  • mount
  • umount


上一章 | 下一章

华夏公益教科书