Go to main content

手册页部分 8:系统管理命令

退出打印视图

更新时间: 2022年7月27日 星期三
 
 

automount(8)

名称

automount - 安装自动挂载点

用法概要

/usr/sbin/automount [-t duration] [-v]

描述

automount 实用程序安装 autofs 挂载点并将自动挂载映射与每个挂载点相关联。如果该实用程序在本地或分布式自动挂载映射中找到任何非普通条目,并且 automountd(8) 守护进程尚未运行,则它将启动该守护进程。autofs 文件系统监视针对其目录的访问尝试,并通知 automountd(8) 守护进程。该守护进程使用映射定位文件系统,然后将其挂载到 autofs 文件系统中的引用点。可以使用 /etc/auto_master 映射或直接映射中的条目将映射分配给 autofs 挂载。

如果未在适当的间隔(缺省情况下为 10 分钟)内访问文件系统,则 automountd 守护进程会卸载该文件系统。

文件 /etc/auto_master 确定所有 autofs 挂载点的位置。缺省情况下,此文件包含三个条目:

# Master map for automounter
#
+auto_master
/net          -hosts    -nosuid
/home         auto_home

+auto_master 条目是对外部 NIS 主映射的引用。如果存在一个外部 NIS 主映射,则会读取其条目,就像它们出现在 +auto_master 条目的位置一样。主文件中的其余条目指定将对其执行 autofs 挂载的目录,后面跟有将与其关联的自动挂载程序映射。可选的挂载选项可作为每个条目中可选的第三个字段提供。这些选项用于映射中未明确指定挂载选项的条目。automount 命令通常不带任何参数运行。它将 /etc/auto_master 条目与 /etc/mnttab 中 autofs 挂载的当前列表进行比较,然后添加、删除或更新 autofs 挂载,以便让 /etc/auto_master 与 /etc/mnttab 保持同步。引导时,它安装主映射中的所有 autofs 挂载。此后,它可能会针对主映射或直接映射中的新条目来安装 autofs 挂载,或者针对从这些映射中删除的条目来执行卸载。

SMF 管理

automount 服务由服务管理工具 smf(7) 管理,其服务标识符为:

svc:/system/filesystem/autofs:default

可以使用 svcadm(8) 来对此服务执行管理操作(如启用、禁用或请求重新启动)。可以使用 svcs(1) 命令来查询服务的状态。

automount 的启动 autofs SMF 参数可以使用 sharectl(8) 来处理。有关查看和更新这些参数的说明,请参阅 sharectl(8)。受支持的参数包括:

timeout=num

指定未使用时文件系统保持挂载状态的持续时间(以秒为单位)。缺省值为 600(10 分钟)。等效于 automount 中的 –t 选项。

automount_verbose=TRUE | FALSE

详细模式。您会收到有关非关键事件的通知,例如 autofs 挂载和卸载。缺省值为 FALSE。等效于 automount 中的 –v 选项。

Oracle Solaris Trusted Extensions 的自动挂载

如果某个系统配置了 Oracle Solaris Trusted Extensions,则用户会在其安全许可中的每个标签处有起始目录。因此,需要在每个相应的标记区域中提供起始目录。系统自动使用区域名称作为后缀来生成特殊映射,而不是使用 auto_home 映射。缺省情况下,映射包含单个条目:

-fstype=lofs   :/export/home/&

如果引用了一个起始目录且该名称与区域 auto_home_zonename 映射中的其他任何关键字都不匹配,则将匹配此回送挂载规范。如果发生此回送匹配且该名称与起始目录不在该区域内的有效用户相对应,则自动代表该用户创建目录。

还可以使用 NFS 以只读模式将某个区域中的起始目录与较高级别的区域共享。在这种情况下,较高级别的区域需要针对要导入的每个较低级别的区域生成一个自动映射条目。要在内部区域中解释的公共区域的典型映射条目称为 auto_home_public,此映射条目如下所示:

+auto_home_public

public-zone-IP-address:/export/home/&

此自动映射条目将包含在 /etc/auto_master 中,如下所示:

/zone/public/home      auto_home_public      -nobrowse

较高级别区域中的用户可以使用其最小标记区域作为源,通过 updatehome(1) 实用程序来同步特定启动文件。

选项

支持以下选项:

–t duration

指定未使用时文件系统保持挂载状态的持续时间(以秒为单位)。缺省值为 10 分钟。

–v

详细模式。通知 autofs 挂载、卸载或其他非重要信息。

用法

映射条目的格式

简单的映射条目(映射)采用以下形式:

key [ -mount-options ] location . . .

其中 key 是要挂载目录的全路径名(在直接映射中使用时)或者子目录的简单名称(在间接映射中)。mount-options 是 mount 选项的逗号分隔列表,location 指定可以在其中挂载目录的文件系统。如果是一个简单的 NFS 挂载,则可以使用在 mount_nfs(8) 中指定的选项,并且 location 采用以下格式:

host: pathname

host 是要在其中挂载文件系统的主机名称,pathname 是要挂载目录的绝对路径名。

其他文件系统的选项已记录在其他 mount_* 参考手册页中,例如 mount_nfs(8)。

复制的文件系统

可以针对复制的 NFS 文件系统指定多个 location 字段,在这种情况下 automount 和内核都会尝试使用此信息来提高可用性。如果在映射条目中设置了只读标志,automountd 会挂载内核可以使用的位置列表,此列表按多个条件进行排序。仅挂载在挂载时可用的位置,以便供内核使用。如果服务器无响应,内核将切换到另一台服务器。 automount 的排序顺序用于确定如何选择下一台服务器。如果未设置只读标志,则 automount 将挂载单个最佳位置(按相同的排序顺序选择),仅在可以卸载并且重新挂载已完成时才选择新服务器。位于相同本地子网上的服务器是首选,本地网络上的服务器次之。对于距离相等的服务器,如果未使用加权因子(参见下文),则响应时间将确定顺序。

如果列表同时包含使用 NFS 版本 2 协议和 NFS 版本 3 协议的服务器位置,则 automount 仅选择列表中的一部分服务器位置,以便所有条目具有相同的协议。它将选择使用 NFS 版本 3 协议的服务器,只要不忽略本地子网上的 NFS 版本 2 协议服务器即可。有关更多详细信息,请参见《Administering TCP/IP Networks, IPMP, and IP Tunnels in Oracle Solaris 11.4》。

如果列表中的每个 location 共享相同的 pathname,则可以通过主机名的逗号分隔列表使用单个 location:

hostname,hostname . . . : pathname

通过将加权因子作为括号内的整数附加到服务器名称,可以对服务器请求进行加权。不含加权的服务器被假定具有零值(最有可能被选择)。值越高,被选择的几率越小。在以下示例中,

man -ro alpha,bravo,charlie(1),delta(4) : /usr/man

主机 alpha 和 bravo 优先级最高;主机 delta 优先级最低。

在选择过程中优先考虑服务器邻近度。在上面的示例中,如果服务器 delta 与客户机位于相同的网段上,但是其他服务器位于不同的网段上,则将选择 delta;忽略加权值。只有在网络邻近度相同的服务器之间进行选择时,加权才有效。在本地主机和相同网段上的其他服务器之间,自动挂载程序始终优先选择前者,而不考虑加权。

如果每个服务器具有不同的导出点,仍可以应用加权。例如:


man -ro alpha:/usr/man  bravo,charlie(1):/usr/share/man
     delta(3):/export/man

通过使用反斜杠 (\) 将换行转义可以跨输入行继续书写映射。注释以井号 (#) 开头,以随后的换行符结束。

映射关键字替换

和符号 (&) 字符会扩展为其所在条目的 key 字段的值。在以下示例中:

jane sparcserver : /home/&

& 会扩展为 jane。

通配符关键字

星号 (*) 字符作为 key 字段提供时识别为全部捕获条目。此类条目将匹配先前不匹配的任何关键字。例如,如果以下条目出现在 /config 的间接映射中:

*         & : /export/config/&

这将允许在 /config 中自动挂载位置指定为以下内容的任何远程文件系统:


hostname : /export/config/hostname

请注意,通配符关键字不能与 –browse 选项一起使用。

变量替换

可以在 automount 映射中使用特定于客户机的变量。例如,如果 $HOST 出现在映射中,则 automount 会将其扩展为客户机主机名的当前值。受支持的变量包括:

ARCH
arch 的输出
体系结构名称。例如,sun4u 计算机上的 sun4。
CPU
uname –p 的输出
处理器类型。
例如,“sparc”
HOST
uname –n 的输出
The host name.
For example, myhost.
KARCH
The output of arch -k or uname -m
内核体系结构名称或计算机硬件名称。例如,sun4v。
OSNAME
uname –s 的输出
OS 名称。
例如,“SunOS”
OSREL
uname –r 的输出
OS 发行版名称。
例如 "5.11"
OSVERS
uname –v 的输出
OS 版本。
例如,“beta1.0”
NATISA
isainfo –n 的输出
系统的本机指令集体系结构。
例如,"sparcv9"
PLATFORM
uname -i 的输出
平台名称。
例如,"sun4v"。

如果需要确保引用不受后缀字符的影响,您可以使用花括号将变量名括起来 ( { } )。

多个挂载

多挂载条目采用以下形式:

key [-mount-options] [ [mountpoint] [-mount-options] location. . . ] . . .

开头的 /[mountpoint ] 对于第一个挂载是可选的,对于所有后续挂载是必需的。可选 mountpoint 被视为相对于 key 所指定目录的路径名。如果在第一个出现位置将 mountpoint 省略,则暗指 mountpoint 为 /(根)。

如果在间接映射中为 /src 指定了条目


beta     -ro\
  /           svr1,svr2:/export/src/beta  \
  /1.0        svr1,svr2:/export/src/beta/1.0  \
  /1.0/man    svr1,svr2:/export/src/beta/1.0/man

所有偏移必须存在于服务器上的 beta 下。automount 将根据需要自动在 svr1 或 svr2 中挂载 /src/beta、/src/beta/1.0 和 /src/beta/1.0/man,具体取决于哪个主机最近、首先响应。

其他文件系统类型

自动挂载程序假定 NFS 挂载是缺省文件系统类型。可以使用 fstype 挂载选项描述其他文件系统类型。特定于此文件系统类型的其他挂载选项可以与 fstype 选项结合使用。位置字段必须包含特定于文件系统类型的信息。如果位置字段以斜杠开头,则必须在前面加上冒号字符,例如,要挂载 CD 文件系统:

cdrom -fstype=hsfs,ro   : /dev/sr0

或者执行 autofs 挂载:

src –fstype=autofs    auto_src

仅在您不使用卷管理器时才使用此过程。

有关选项继承的信息,请参见“附注”部分。

间接映射

间接映射允许您为要挂载到命令行中所示 directory 下的子目录指定映射。在间接映射中,每个 key 都包含一个简单名称,该简单名称指的是根据需要要挂载的一个或多个文件系统。

直接映射

直接映射中的条目直接与 autofs 挂载点相关联。每个 key 都是 autofs 挂载点的全路径名。整个直接映射不与任何单个目录关联。

直接映射与间接映射通过 /- 关键字进行区分。例如:

# Master map for automounter
#
+auto_master
/net            -hosts          -nosuid,nobrowse
/home           auto_home       -nobrowse
/-              auto_direct

包含的映射

另一映射的内容可以通过以下形式的条目包含在某个映射中

+mapname

如果 mapname 以斜杠开头,则假定为本地文件的路径名。否则,映射的位置由名称服务转换策略根据 /etc/nsswitch.conf 中的自动挂载程序条目确定,例如

automount: files nis

如果名称服务为 files,则假定名称为 /etc 中本地文件的名称。如果搜索的关键字未在包含的映射中找到,则继续搜索下一条目。

特殊映射

有三种可用的特殊映射:-hosts、-fedfs 和 -null。-hosts 映射与 /net 目录一起使用,并假定映射关键字为 NFS 服务器的主机名。automountd 守护进程基于服务器的导出文件系统列表动态构造映射条目。对 /net/hermes 下的目录的引用将引用相对于 hermes 根目录的相应目录。

-fedfs 映射与 /nfs4 目录一起使用,并假定映射关键字为需要其域根文件系统的 DNS 域。automountd 守护进程使用等效于以下内容的查询来查找域根服务器:

% nslookup -q=srv _nfs4._domainroot._tcp.domain

...并将 server-list:/.domainroot-domain 挂载到 /nfs4/domain。

这支持以下网址介绍的 IETF 暂定标准:

https://datatracker.ietf.org/doc/rfc6641/

–null 映射取消所示目录先前的映射。这最适合在 /etc/auto_master 中取消从 +auto_master 包含条目中继承的条目。要生效,–null 条目必须插入到包含的映射条目之前。

可执行映射

自动挂载程序将执行在文件权限中设置了执行位的本地映射,并且将以参数形式为其提供要查找的关键字。可执行映射应在其标准输出中返回自动挂载程序映射条目的内容;如果无法确定条目,则无输出。直接映射不能转换为可执行映射。

配置和 auto_master 映射

不带参数启动时,automount 会查询主映射来确定 autofs 挂载点及其映射列表。它挂载尚未挂载的任何 autofs 挂载,并卸载已从主映射或直接映射中删除的 autofs 挂载。

假定主映射称为 auto_master,其位置由名称服务转换策略确定。通常,主映射最初作为本地文件 /etc/auto_master 进行定位。

浏览

automount 守护进程支持间接映射浏览功能。这允许查看所有潜在的挂载点,无论它们是否已挂载。–nobrowse 选项可以添加到任何间接 autofs 映射以禁用浏览。例如:


/net     -hosts      -nosuid,nobrowse
/home    auto_home

在这种情况下,任何 hostnames 都仅在挂载之后才能显示在 /net 中,但是所有潜在挂载点都将显示在 /home 下。–browse 选项启用 autofs 文件系统浏览功能。这是所有间接映射的缺省设置。

–browse 选项不能与通配符关键字一起使用。

限制挂载映射

为某个映射指定的选项将用作该映射中所有条目的缺省选项。映射条目指定自己的挂载选项时,将忽略它们。

然而,在某些情况下,最好强制执行 nosuid、nodevices、nosetuid 或 noexec 来实现完整挂载映射及其子挂载。这可以通过指定其他挂载选项 -restrict 来完成。


 /home     auto_home       -restrict,nosuid,hard

-restrict 选项强制继承所有限制选项 nosuid、nodevices、nosetuid 和 noexec 以及限制选项本身。在此特定示例中,继承了 nosuid 和 restrict 选项,但未继承 hard 选项。restrict 选项还禁止执行“可执行映射”,并针对由权限低于所在区域中全部可用特权的程序建立的自动挂载强制执行。

退出状态

将返回以下退出值:

0

成功完成。

1

出现错误。

文件

/etc/auto_master

主自动挂载映射。

/etc/auto_home

支持自动挂载的起始目录的映射。

/etc/nsswitch.conf

名称服务转换配置文件。请参见 nsswitch.conf(5)。

属性

有关下列属性的说明,请参见 attributes(7):

属性类型
属性值
可用性
system/file-system/autofs

另请参见

isainfo(1)、ls(1)、svcs(1)、uname(1)、updatehome(1)、attributes(7)、nfssec(7)、smf(7)、automountd(8)、mount(8)、mount_nfs(8)、sharectl(8)、svcadm(8)

《在 Oracle Solaris 11.4 中管理网络文件系统》

附注

autofs 挂载点不能具有分层结构关系。automount 不允许在另一 autofs 挂载内创建 autofs 挂载点。

因为每个直接映射条目都会产生新 autofs 挂载,所以此类映射应尽量简短。

可以随时修改直接和间接映射中的条目。automountd 下次使用映射条目执行挂载时将使用新信息。

在运行 automount 命令以将添加到主映射或直接映射的新条目安装为新 autofs 挂载点之前,不能使用它们。可以立即使用添加到间接映射的新条目。

从 Solaris 2.6 发行版开始,与间接映射关联的 autofs 目录的列表(参见 ls(1))将显示所有潜在的可挂载条目。与潜在可挂载条目关联的属性是临时属性。实际文件系统属性仅在挂载文件系统后才会显示。

如果将缺省挂载选项指定为主映射中可选的第三个字段,这些选项将分配给整个映射。这些选项仅适用于无挂载选项的映射条目。请注意,具有选项的映射实体将覆盖缺省选项,因为目前选项不串联。串联功能计划在未来的发行版中提供。

针对调用 NFS 挂载的映射执行操作时,自动挂载程序的缺省重试次数为 0,即尝试挂载一次,不重试。请注意,这与 mount_nfs(8) 实用程序的缺省值 (10000) 有明显不同。

网络信息服务 (Network Information Service, NIS) 以前称为 Sun 黄页 (Yellow Page, YP)。两者的功能相同。