需要首先挂载文件系统,然后才能访问该文件系统上的文件。挂载文件系统时,需要将该文件系统附加到目录(挂载点)并使其对系统可用。始终会挂载根 (/) 文件系统。可以将其他任何文件系统与根 (/) 文件系统连接或断开。
挂载文件系统时,只要挂载了文件系统,基础挂载点目录中的任何文件或目录都将不可用。挂载过程不会永久影响这些文件。取消挂载文件系统时,这些文件即重新变为可用。 但是,由于通常不希望隐藏现有文件,因此挂载目录经常为空。
例如,下图显示了一个从根 (/) 文件系统以及 sbin、etc 和 opt 子目录开始的本地文件系统。
要从包含一组非随附产品的 /opt 文件系统访问本地文件系统,必须执行以下操作:
首先,必须创建一个目录(例如 /opt/unbundled),将其用作要挂载的文件系统的挂载点。
创建挂载点后,可以使用 mount 命令挂载文件系统。此命令使 /opt/unbundled 中的所有文件和目录可用,如下图所示。
有关如何挂载文件系统的逐步说明,请参见第 19 章,挂载和取消挂载文件系统(任务)。
每次挂载或取消挂载文件系统时,都会使用当前挂载的文件系统的列表修改 /etc/mnttab(挂载表)文件。可以使用 cat 或 more 命令显示此文件的内容。但是,不能编辑此文件。以下是 /etc/mnttab 文件的示例:
$ more /etc/mnttab /dev/dsk/c0t0d0s0 / ufs rw,intr,largefiles,logging,xattr,onerror =panic,dev=2200008 1093882623 /devices /devices devfs dev=4340000 1093882603 ctfs /system/contract ctfs dev=4380001 1093882603 proc /proc proc dev=43c0000 1093882603 mnttab /etc/mnttab mntfs dev=4400001 1093882603 swap /etc/svc/volatile tmpfs xattr,dev=4440001 1093882603 /dev/dsk/c0t0d0s6 /usr ufs rw,intr,largefiles,logging,xattr,onerror =panic,dev=220000e 1093882623 objfs /system/object objfs dev=44c0001 1094150403 fd /dev/fd fd rw,dev=45c0001 1093882624 swap /var/run tmpfs xattr,dev=4440002 1093882625 swap /tmp tmpfs xattr,dev=4440003 1093882625 /dev/dsk/c0t0d0s7 /export/home ufs rw,intr,largefiles,logging,xattr ,onerror=panic,dev=220000f 1093882637 $ |
每次要访问文件系统时都将其手动挂载会非常耗时并且容易出错。为避免这些问题,虚拟文件系统表(/etc/vfstab 文件)提供了文件系统的列表以及如何将其挂载的信息。
/etc/vfstab 文件提供了以下两项重要功能:
可以指定文件系统在系统引导时自动挂载。
可以通过仅使用挂载点名称来挂载文件系统。/etc/vfstab 文件包含挂载点与实际设备片名称之间的映射。
安装系统时会创建缺省的 /etc/vfstab 文件,具体取决于在安装过程中进行的选择。但是,只要需要,即可在系统上编辑 /etc/vfstab 文件。要添加项,需要指定如下信息:
文件系统所驻留的设备
文件系统的挂载点
文件系统类型
是否希望文件系统在系统引导时自动挂载(通过使用 mountall 命令)
任何挂载选项
以下是 /etc/vfstab 文件的示例。注释行以 # 开头。本示例显示了具有两个磁盘(c0t0d0 和 c0t3d0)的系统的 /etc/vfstab 文件。
$ more /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t0d0s1 - - swap - no - /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - /dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /usr ufs 1 no - /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes - /dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /opt ufs 2 yes - /devices - /devices devfs - no - ctfs - /system/contract ctfs - no - objfs - /system/object objfs - no - swap - /tmp tmpfs - yes - $ |
在本示例中,/dev/dsk/c0t0d0s7 片上 /export/home 的 UFS 文件系统项在系统引导时会自动挂载到 /test 挂载点上。请注意,对于根 (/) 和 /usr,mount at boot 字段值被指定为 no。这些文件系统是在运行 mountall 命令之前,由内核在顺序引导过程中挂载的。
有关每个 /etc/vfstab 字段的说明以及如何编辑和使用该文件的信息,请参见第 19 章,挂载和取消挂载文件系统(任务)。
NFS 是一种分布式文件系统服务,可以用于将一个系统(通常为服务器)中的资源(文件或目录)与网络中的其他系统共享。例如,您可能希望与其他系统上的用户共享第三方应用程序或源文件。
使用 NFS 时资源的实际物理位置与用户无关。使用 NFS 服务可以在一个系统的磁盘上放置一个副本并使所有其他系统通过网络对其进行访问,而不是在每个系统上都放置常用文件的副本。使用 NFS 时,远程文件和本地文件实际没有分别。
有关更多信息,请参见《系统管理指南:网络服务》中的第 4 章 “管理网络文件系统(概述)”。
如果系统包含要在网络中共享的资源,则该系统将成为 NFS 服务器。服务器保存了当前共享的资源及其访问限制(如读/写访问或只读访问)的列表。
共享某个资源时,即可使该资源供远程系统进行挂载。
可以使用以下方法共享资源:
有关如何共享资源的信息,请参见第 19 章,挂载和取消挂载文件系统(任务)。有关 NFS 的完整说明,请参见《系统管理指南:网络服务》中的第 4 章 “管理网络文件系统(概述)”。
可以使用称为自动挂载(或 AutoFS)的客户端服务来挂载 NFS 文件系统资源。每次访问 NFS 资源时,AutoFS 都允许系统对其进行自动挂载和取消挂载。只要仍在目录中并且使用该目录中的文件,资源就会保持挂载状态。如果在某个时间段内未访问资源,则会自动取消挂载该资源。
AutoFS 提供了以下功能:
系统引导时无需挂载 NFS 资源,从而节省引导时间。
用户无需知道用于挂载和取消挂载 NFS 资源的超级用户口令。
可能会减少网络通信流量,因为仅在使用 NFS 资源时才会将其挂载。
AutoFS 服务通过 automount 实用程序进行初始化,该实用程序在引导系统时自动运行。automountd 守护进程会持续不断地运行,并且负责按需挂载和取消挂载 NFS 文件系统。缺省情况下,/home 文件系统由 automount 守护进程挂载。
使用 AutoFS,可以指定多台服务器提供同一文件系统。这样,如果其中一台服务器关闭,则 AutoFS 可以尝试从其他计算机挂载该文件系统。
有关如何设置和管理 AutoFS 的完整信息,请参见《系统管理指南:IP 服务》。