automount(8nfs)
Name
automount − automatically and transparently mounts and unmounts NFS file systems
Syntax
/usr/etc/automount [ −mnTv ] [ −D name= value ] [ −f master-file ]
[ −M mount-directory ] [ −tl duration ] [ −tm interval ] [ −tw interval ] [ directory mapname [ − mount-options ]]
Description
The automount command transparently mounts and unmounts NFS file systems on an as-needed basis. It is useful for mounting file systems and directories that are needed only occasionally and it provides an alternative to using /etc/fstab for NFS mounting file systems on client machines.
The automount program can be started from the /etc/rc.local file or the command line. The daemon forked by the automount program sleeps until a user attempts to access a directory that is associated with an automount map. The daemon then consults the appropriate map and mounts the NFS file system. If the indicated directory has not already been created, the daemon creates it and removes it after automatic unmount. Automount maps are typically located in the /etc directory but can be placed in any directory. The maps indicate where to find the file system to be mounted, the local mount point, and mount options. After a specified period of inactivity on a file system, 5 minutes by default, the automount daemon unmounts that file system.
An individual automount map is either local or served by the Yellow Pages. A system, however, can use both local and Yellow Pages automount maps. When a map is referenced, the automount program first looks for the designated mapname locally. If it cannot find the mapname locally, it looks for a Yellow Pages map by that name. The names of the maps are passed to automount from the command line, or from a master map.
If there are contradictory arguments on the command line and in the master map, those on the command line take precedence.
By default, the daemon mounts the remote file system under the directory /tmp_mnt and creates a symbolic link between the requested and the actual mount points.
Maps
Conventionally, automount maps are files that are located in the /etc directory with names that have the prefix auto. They indicate what remote file systems to mount, where to mount them, and with what options.
The Master Map
The automount program can consult a master map, which contains entries that point to other maps that can be either direct or indirect. If Yellow Pages is running, automount checks for the presence of a YP map named auto.master. You are not required to run YP or have an auto.master map. A master map can also be a file whose location is specified with the -f command line option.
The master map provides automount a list of maps, and arguments that pertain to each of the maps. The syntax for each line in the master map is:
Mount-Point Map [Mount-options]
•Mount-point is the full pathname of a local directory if the map argument is the name of an indirect map or the name of a special map. If the map argument is the name of a direct map, the dummy directory "/-" is specified as the Mount-Point.
•Map is the name of the map the automount command uses to find the mount points and locations. This can either be a filename, a YP map name, or a special map name.
•Mount-options is a list of options used to regulate the mounting of entries listed in map.
Direct Maps
Direct maps specify what remote file systems to mount locally and what the local mount points are. They do not point to other maps. They also can specify mount options. The syntax for direct maps is:
Key [mount-options]location
•Key is the full pathname of the mount point.
•Mount-options are the options for this specific mount. They are optional, but if present override mount options specified on the command line or in the master map.
•Location is the location of the resource being mounted, specified as: server:pathname. Multiple location fields can be specified, in which case automount sends multiple mount requests and mounts from the first server to respond.
Indirect Maps
Indirect maps have the same format as direct maps. The only difference between a direct and an indirect map is that the key in a direct map is a full pathname, whereas the key in an indirect map is a simple name that does not begin with a slash. (Remember that the indirect map as a whole has been associated with a directory specified in the master map or on the command line. The entries in an indirect map list subdirectories that are individually mounted within the directory associated with the map.)
Special Maps
The −hosts map is a special automount map that is used to access all directories exported by a server to a client.
The following command allows a client to access directories that are exported from any host in its /etc/hosts file or the Yellow Pages hosts database if the client is running YP.
# automount /net −hosts
For example, suppose that hera and sheba are both hosts on a local area network that is running Yellow Pages. If the /etc/rc.local file on hera contains the command automount /net −hosts, then users on hera can access any directories that sheba exports to hera. All of the exported directories are mounted under /net/sheba on hera.
The −null map, when indicated on the command line, cancels the map associated with the directory indicated. It can be used to cancel a map specified in the master map. For example, invoking the automounter with:
# automount /net −null
causes the /net entry in auto.master to be ignored.
Pattern Matching
The ampersand character ‘&’ is expanded into the key field in a map wherever it appears. For example, in this case:
#keymount_optionslocation
#
oak&:/export/&
the & expands to oak.
The asterisk character ‘*’ , when supplied as the key field, is recognized as the catch-all entry. It is used to substitute for lines that are all formatted similarly. The automount program uses the asterisk to match any hostname not listed as a key in an entry before the asterisk. Any entry following the asterisk is ignored. An example of pattern matching in a map follows:
#keymount_optionslocation
#
oak&:/export/&
*&:/home/&
Environment Variables
The value of an environment variable can be used within an automount map by prefixing a dollar sign ‘$’ to its name. You can also use braces to delimit the name of the variable from appended letters or digits. The environment variables can be inherited from the environment or can be explicitly defined with the -D command line option.
Hierarchical Mounts
You can mount different directories within an automount file system hierarchy from different servers. For example, if you are mounting the /usr/local file system on your machine, you can mount the various subdirectories within /usr/local from different servers.
In the following example, the directories /usr/local, /usr/local/bin, /usr/local/src, and /usr/local/tools are mounted from the machines host1, host2, host3, and host4 respectively. When the root of the hierarchy is referenced, the automount program mounts the whole hierarchy.
/usr/local\
/-ro,softhost1:/usr/local \
/bin-ro,softhost2:/usr/local/bin \
/src-ro,softhost2:/usr/local/src \
/tools-ro,softhost2:/usr/src/tools
Readability has been improved by splitting the entry into five lines and indenting the continuation lines.
Options
−mIgnores directory-mapname pairs listed in the /etc/auto.master Yellow Pages database.
−nDisables dynamic mounts. Lookups intercepted by the automount daemon succeed when the target file system has been previously mounted.
−TTraces all NFS requests received by the daemon. Information about the details of the request are expanded and sent to standard output.
−vVerbose. Logs status messages to the console.
−D name=value
Defines an automount environment variable by assigning value to the variable.
−f master-file
Uses master-file for a list of initial directory to mapname pairs, ahead of the auto.master Yellow Pages map. If an entry exists in both master-file and auto.master, that specified in master-file is used since it is read first. Similarly, entries on the command line take precedence over master-file entries. This technique can be used to replace entries in global maps with your own.
−M mount-directory
Uses mount-directory instead of the default, /tmp_mnt.
−tl duration
Specify a duration in seconds, that a file system is to remain mounted when not in use. The default is 5 minutes.
−tm interval
Specify an interval in seconds, between attempts to mount a file system. The default is 30 seconds.
−tw interval
Specify an interval in seconds, between attempts to unmount file systems that have exceeded their cached times. The default is 1 minute.
−mount_options
Specifies the mount options to be applied to all of the directories listed in mapname. If mount options are listed in the specified map, they take precedence over these options.
Note
Sending the SIGTERM signal to the automount daemon causes it to unmount all file systems that it has mounted, and to exit. Sending the SIGHUP signal to the automount daemon causes it to reread the system mount table to update its internal record of currently-mounted file systems. If a file system mounted with automount is unmounted by a umount command, automount should be forced to reread the system mount table.
Restrictions
Shell filename expansion does not apply to objects not currently mounted.
Since automount is single-threaded, any request that is delayed by a slow or non-responding NFS server will delay all subsequent automount requests until it completes.
Examples
The following is a sample auto.master map:
#
# mount-pointmapname mount-options
#
/net-hosts
/home/etc/auto.indirect-rw,intr,secure
/-/etc/auto.direct-ro,intr
The following is a typical automount indirect map.
#
# keymount-optionslocation
#
john merge:/home/merge/john
marystripe:/home/stripe/mary
fred blur:/usr/staff/fred
The following is a typical automount direct map.
#
# keymount-optionslocation
#
/usr/source -ro merge:/usr/src/proto
/usr/local blur:/usr/bin/tools
The following is a sample indirect map that specifies multiple mount locations for the file system reference. The first server to respond to a mount request gets mounted.
reference -ro,soft earl:/usr/src/ref\
fern:/usr/staff/ron/ref\
irv:/usr/backup/reference
Files
/tmp_mnt Directory where automounted file systems reside
See Also
mount(8), mount(8nfs), umount(8)
Guide to the Network File System