Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ automount(8nfs) — Ultrix/UWS 4.2 VAX

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mount(8)

mount(8nfs)

umount(8)

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 aautomount 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.

Local automount maps are typically located in the /etc directory but can be placed in any directory. You also can use the Yellow Pages Service to distribute automount maps. 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 the command line and the master map contain contradictory arguments, 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 which remote file systems to mount, where to mount them, and which options to use.

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 with a list of maps, and with arguments that pertain to each of the maps. Each line in the master map has the following syntax:

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 which 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.  Direct maps have the following syntax:

key   [mount-options]   location

•Key is the full pathname of the mount point. 

•Mount-options are the options for this specific mount. When present, these options override any 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, the Yellow Pages hosts database, or the BIND database.

# 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 automount command in the following manner causes the /net entry in auto.master to be ignored:

# automount /net −null

Pattern Matching

The ampersand (&) is expanded into the key field in a map wherever it appears.  In the following example, the ampersand (&) expands to oak:

        #key      mount_options     location
        #
        oak                           &:/export/&

The asterisk (*), 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.  Any entry following the asterisk is ignored.  In the following example, the automount program uses the asterisk to match any hostname other than oak:

#key         mount_options        location
#
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       host1:/usr/local \
/bin      -ro       host2:/usr/local/bin \
/src      -ro       host2:/usr/local/src \
/tools    -ro       host2:/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. 

−vLogs status messages to the console.  (Stands for “verbose.”)

−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
Specifies a duration in seconds, that a file system is to remain mounted when not in use.  The default is 5 minutes. 

−tm interval
Specifies an interval in seconds, between attempts to mount a file system. The default is 30 seconds. 

−tw interval
Specifies 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. 

Because automount is single-threaded, any request that is delayed by a slow or non-responding NFS server will delay all subsequent automount requests until the delayed request has been completed.

Examples

The following is a sample auto.master map:

#
# mount-point           mapname           mount-options
#
/net                    -hosts
/home                   auto.indirect     -rw
/-                      auto.direct       -ro,intr

The following is a typical automount indirect map:

#
# key               mount-options         location
#
john                                      merge:/home/merge/john
mary                                      stripe:/home/stripe/mary
fred                                      blur:/usr/staff/fred

The following is a typical automount direct map:

#
# key               mount-options         location
#
/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 file system is mounted from the first server to respond to the mount request.

reference           −ro            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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026