fstab
在主题 102 的教程 “LPI 101 考试准备(主题 102):Linux 安装与包管理” 中,学习了在 GRUB 和 LILO 中如何使用 root= 参数告诉引导装载器应该将哪个文件系统挂载为根。一旦挂载了这个文件系统,初始化进程运行带 -a 选项的 mount,自动挂载一组文件系统。这组文件系统是在文件 /etc/fstab 中指定的。清单 29 显示了我们的示例 Ubuntu 系统的 /etc/fstab,这个系统上有本教程前面创建的文件系统。
x4pLinux联盟
清单 29. fstab 示例
root@pinguino:~# cat /etc/fstab
# /etc/fstab: sttic file system information.
#
#<file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda6 / reiserfs defaults 0 1
/dev/hda2 /boot ext3 defaults 0 2
/dev/hda8 /dos vfat defaults 0 0
/dev/hda7 /home xfs defaults 0 2
/dev/hda1 /media/hda1 ntfs defaults 0 0
/dev/hda5 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
|
以 # 字符开头的行是注释。其余的行包含六个字段。因为字段是按照位置识别的,所以必须指定所有字段。
文件系统
对于到目前为止使用的例子,这将是设备名,比如 /dev/hda1。
挂载点
这是上面的 挂载文件系统 中讨论的挂载点。对于交换空间,这个值应该是 none。对于 ext2、ext3 和 xfs 文件系统,还可以指定标签,比如 LABEL=XFSHOME。这样,在添加或删除设备时,系统会更健壮。
type
指定文件系统的类型。 CD/DVD 驱动器常常支持 ISO9660 或 UDF 文件系统,所以可以在一个逗号分隔的列表中指定多种可能的文件系统类型。如果想让 mount 自动判断类型,那么指定 auto,最后一行上对软盘驱动器就是这样设置的。
option
指定挂载选项。如果要采用默认的挂载选项,那么指定 defaults。需要了解的一些选项如下:
· rw 和 ro 指定这个文件系统应该挂载为读写的,还是只读的。
· noauto 指定这个文件系统是否应该在引导时或者发出 mount -a 命令时自动挂载。在我们的例子中,对可移除驱动器就采用不自动挂载。
· user
· 指定允许非根用户挂载和卸载文件系统。这对于可移除介质尤其有用。这个选项必须在 /etc/fstab 中指定,不能在 mount 命令上指定。
· exec 和 noexec 指定是否允许执行挂载的文件系统上的文件。用户挂载的文件系统默认为 noexec,除非在 user 后面指定 exec。
· noatime 将禁用访问时间记录。不使用访问时间可以改进性能。
dump
指定 dump 命令在备份过程中是否应该考虑这个 ext2 或 ext3 文件系统。值 0 让 dump 忽略这个文件系统。
pass
正如 检查文件系统 中所说的,非零的 pass 值指定了在引导时检查文件系统的次序。
对于 /etc/fstab 中列出的文件系统,在挂载时指定设备名或挂载点之一就够了。不需要同时指定这两者。
关于更多信息,包括这里没有讨论的选项,请参考 fstab 和 mount 的手册页。
卸载文件系统
在系统重新引导或关机时,系统常常自动卸载挂载的所有文件系统。当文件系统被卸载时,内存中缓存的所有文件系统数据被存到硬盘上。
还可以手工卸载文件系统。实际上,在移除可写介质(比如磁盘、USB 驱动器或内存密钥)时,应该这么做。在卸载文件系统之前,要确保没有正在运行的进程打开了这个文件系统上的文件。然后,使用 umount 命令并指定设备名称或 挂载点作为参数。清单 30 给出了一些成功的和不成功的例子。
x4pLinux联盟
清单 30. 卸载文件系统
root@pinguino:~# lsof /dos
root@pinguino:~# umount /dos
root@pinguino:~# mount /dos
root@pinguino:~# umount /dev/hda8
root@pinguino:~# umount /boot
umount: /boot: device is busy
umount: /boot: device is busy
root@pinguino:~# lsof /boot
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
klogd 6498 klog 1r REG 3,2x4pLinux联盟 897419 6052 /boot/System.map-2.6.12-10-386
|
在卸载文件系统之后,挂载点使用的目录中的文件再次出现。
交换空间
在前面对 fstab 的讨论中可以注意到,交换空间没有挂载点。引导进程常常启用 /etc/fstab 中定义的交换空间,除非指定了 noauto 选项。要手工控制正在运行的系统上的交换空间,例如添加一个新的交换分区,使用 swapon 和 swapoff 命令。细节见手册页。
可以用 cat /proc/swaps 查看当前启用的交换设备。
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论