autofs - automounter maps的格式

描述(DESCRIPTION)

automounter maps 是一系列非主映射文件或者是NIS映射(NIS maps),它们被 automounter 的主映射文件(master map)具体调用(参看 auto.master(5))。 automounter maps 具体描述了在主映射文件(auto.master)中的列出挂载点是如何被挂载的。这份文档只涉及类似于 sun 系统 下的非主映射文件格式; 如果指定了其它的格式 (例如:hesiod),那么这份文档就不适用了。这些非主映射文件都能被修改而且 automounter 会在下一次处理这些映射文件时马上认出它们。但是主映射文件 auto.master 做不到这一点。

格式(FORMAT)

这仅仅是该文本文件的一种格式,也许还存在其它的格式。所有的空行和以“#”字符开始的行都会被忽略掉。在一个映射文件中每一行的基本格式看起来如下: key [-options] location

key

是目录名的一部分,位于挂载点和被挂载的文件系统路径之间。通常你可以把“key”看作为一个位于挂载点下的子目录。

options

options是可选的。它也能够在 auto.master 中明确的给出。如果那样的话,两个选项能叠加起来(这一点与SunOS有所不同)。options是一组与 mount(8) 命令中的选项一样的列表,以逗号分隔。不过,有个特殊选项 -fstype= ,它被用于指定一个文件系统的类型(如果要挂载的文件系统不是NFS的话)。这个特殊选项只能由 automounter来处理,mount是不能用的。(注:automounter通常用于NFS卷的自动挂载,但也可以用来在开机时挂载用户自己的硬盘。个人感觉比在fstab中直接写要方便。大家见仁见智,自选吧)

location

location指明将要挂载的文件系统是从哪来的。绝大多数情况下这将是个NFS卷,通常用 host:pathname 来指出将被挂载的远程文件系统和路径。如果要被挂载的文件系统是以“/”开头的(例如本地文地文件系统 /dev 或者是一个smb文件共享),那就需要在前面加一个“:”(例如 :/dev/sda1)。

范例

kernel    -ro,soft,intr       ftp.kernel.org:/pub/linux
boot      -fstype=ext2        :/dev/hda1
windoze   -fstype=smbfs       ://windoze/c
removable -fstype=ext2        :/dev/hdd
cd        -fstype=iso9660,ro  :/dev/hdc
floppy    -fstype=auto        :/dev/fd0

第一行,我们把一个来自 ftp.kernel.org 的内核目录挂载为远程NFS卷。这是只读安装。第二行挂载了一个本地ide磁盘上的ext2分区。第三行挂载了一个Windows系统上的samba共享目录。剩下的应该是不言而喻的了。

特性(FEATURES)

映射替换(Map Key Substitution)

location 里的“&”字符可被用来代替 key 值,“&”会被自动展开为跟 key 一样的值 (这个字符可能只有必要和下面的通配符一起用)

通配符(Wildcard Key)

key 里的“*“字符可匹配所有的key。下面是个很有用的范例:

扫描二维码关注公众号,回复: 6595455 查看本文章
*         &:/home/&

这使你能够以 /mountpoint/hostname/local-path 这种方式进入所有本地主机的主目录。

变量替换(Variable Substitution)

下列这些特殊变量若出现在key或location中并且前面有个”$“,就能被相应的内容替换,就像是在 shell脚本里一样。可以用一对”{ }“ (curly braces)来分隔”字段名“(fieldname)

ARCH           Architecture (uname -m)
CPU            Processor Type
HOST           Hostname (uname -n)
OSNAME         Operating System (uname -s)
OSREL          Release of OS (uname -r)
OSVERS         Version of OS (uname -v)

automount(8) -D variable=Value 还能定义更多的替换项。

可执行的映射(Executable Maps)

一个映射能被标记为可执行。传递主映射文件(auto.master)的初始化脚本会把这个可执行映射作为一个 程序映射 送给automounter。 程序映射 将会像一个shell脚本那样被执用,”key“作为参数。如果找不到key,脚本会只输出脚本文件的一行或者干脆什么都没有。 要想像上面这么做的话, automount(8) daemon 必须以程序形式起动,而不是以文件形式。在automount的初始化脚本里包含有这条设定。 一个可执行的映射能返回一个错误代码来指出错误,或者什么都不显示。所有送到标准错误输出的内容都被系统日志记录在案。

不支持的功能(UNSUPPORTED)

automounter不支持直接挂载(注:实用时发现automount必须要有一个key才行,如果省略的话就不能安装成功)或是挂载树(用一个指定的自动挂载点来挂装超过一个文件系统),以及不支持处理 SunOS类型的可复用文件系统(replicated filesystem)。这只有 mount(8) 才支持。 

猜你喜欢

转载自www.cnblogs.com/fanweisheng/p/11076456.html