DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

automount(NADM)


automount -- automatically mount NFS filesystems

Syntax

automount [ -mnTv ] [ -D envar=value ] [ -f master_file ]
[  -M mount_directory ] [ -tl duration ] [ -tm interval ] [ -tw interval ]
[ mount_point map [ -mount_options ] ] ...

Description

automount is a daemon that automatically and transparently mounts an NFS file system as needed. It monitors attempts to access directories that are associated with an automount map, along with any directories or files that reside under them. When a file is to be accessed, the daemon mounts the appropriate NFS file system. You can assign a map to a directory using an entry in a direct automount map, or by specifying an indirect map on the command line.

The automount daemon appears to be an NFS server to the kernel. automount uses the map to locate an appropriate NFS file server, exported file system, and mount options. It then mounts the file system in a temporary location, and replaces the file system entry for the directory or subdirectory with a symbolic link to the temporary location. If the file system is not accessed within an appropriate interval (five minutes by default), the daemon unmounts the file system and removes the symbolic link. If the indicated directory has not already been created, the daemon creates it, and then removes it upon exiting.

Since the name-to-location binding is dynamic, updates to an automount map are transparent to the user. This removes the need to pre-mount shared file systems for applications that have hardcoded references to files.

If you specify the dummy mount point ``/-'', automount treats the map argument that follows as the name of a direct map. In a direct map, each entry associates the full pathname of a mount point with a remote file system to mount.

If the mount_point argument is a pathname, the map argument points to an indirect map. An indirect map contains a list of the subdirectories contained within the indicated directory. With an indirect map, it is these subdirectories that are mounted automatically.

A map can be a file or a Network Information Services map; if a file, the map argument must be a full pathname.

The -mount_options argument, when supplied, is a comma-separated list of NFS mount(ADM) options, preceded by a ``-''. If mount options are specified in the indicated map, however, those in the map take precedence.

Options


-m
suppress initialization of mount_point-map pairs listed in the auto.master Network Information Services database

-n
disable dynamic mounts. With this option, references through the automount daemon only succeed when the target filesystem has been previously mounted. This can be used to prevent NFS servers from cross-mounting each other.

-T
trace. This option expands each NFS call and displays it on the standard output.

-v
verbose. This option logs status messages to the console.

-D envar=value
assign value to the indicated automount (environment) variable

-f master_file
read a local file for initialization, ahead of the auto.master NIS map

-M mount_directory
mount temporary filesystems in the named directory, instead of /tmp_mnt

-tl duration
specify a duration, in seconds, that a file system is to remain mounted when not in use. The default is 300 seconds.

-tm interval
specify an interval, in seconds, between attempts to mount a filesystem. The default is 30 seconds.

-tw interval
specify an interval, in seconds, between attempts to unmount filesystems that have exceeded their cached times. The default is 60 seconds.

Environment

Environment variables can be used within an automount map. For instance, if $HOME appeared within a map, automount would expand it to its current value for the HOME variable.

If a reference needs to be protected from affixed characters, you can surround the variable name with curly braces.

Map entry format

A simple map entry (mapping) takes the form:

directory [ -mount_options ] location ...

where directory is the full pathname of the directory to mount when used in a direct map, or the basename of a subdirectory in an indirect map. mount_options is a comma-separated list of NFS mount options, and location specifies a remote filesystem from which the directory may be mounted.

In the simple case, location takes the form:

host : pathname

Multiple location fields can be specified, in which case automount sends multiple mount requests; automount mounts the file system from the first host that replies to the mount request. This request is first made to the local net or subnet. If there is no response, any connected server may respond.

If location is specified in the form:

host : path : subdir

host is the name of the host from which to mount the file system, path is the pathname of the directory to mount, and subdir, when supplied, is the name of a subdirectory to which the symbolic link is made. This can be used to prevent duplicate mounts when multiple directories in the same remote file system may be accessed. With a map for /home such as:

   able	homeboy:/home/homeboy:able
   baker	homeboy:/home/homeboy:baker
and a user attempting to access a file in /home/able, automount mounts homeboy:/home/homeboy, but creates a symbolic link called /home/able to the able subdirectory in the temporarily mounted filesystem. If a user immediately tries to access a file in /home/baker, automount needs only to create a symbolic link that points to the baker subdirectory; /home/homeboy is already mounted. With the following map:
   able	homeboy:/home/homeboy/able
   baker	homeboy:/home/homeboy/baker
automount would have to mount the filesystem twice.

A mapping can be continued across input lines by escaping the NEWLINE with a backslash. Comments begin with a ``#'' and end at the subsequent NEWLINE.

Directory pattern matching

The ``&'' character is expanded to the value of the directory field for the entry in which it occurs. In this case:
   able       homeboy:/home/homeboy:&
the ``&'' expands to able.

The ``*'' character, when supplied as the directory field, is recognized as the catch-all entry. Such an entry resolves to any entry not previously matched. For instance, if the following entry appeared in the indirect map for /home:

   *         &:/home/&
this would allow automatic mounts in /home of any remote file system whose location could be specified as:

hostname :/home/ hostname

Hierarchical mappings

A hierarchical mapping takes the form:

directory [ / [ subdirectory [ - mount_options ] location ... ] ...

The initial ``/'' within the `/[subdirectory]' is required; the optional subdirectory is taken as a filename relative to the directory. If subdirectory is omitted in the first occurrence, the ``/'' refers to the directory itself.

Given the direct map entry:

   /usr/local   \
            /      -ro,intr      loco:/usr/local         alt:/usr/local  \
            /bin   -ro,intr      alt:/usr/local/bin      loco:/usr/local/bin  \
            /man   -ro,intr      loco:/usr/local/man     alt:/usr/local/man
automount would automatically mount /usr/local, /usr/local/bin and /usr/local/man, as needed, from either loco or alt, based on which host responded first.

Direct maps

A direct map contains mappings for any number of directories. Each directory listed in the map is automatically mounted as needed. The direct map as a whole is not associated with any single directory.

Indirect maps

An indirect map allows you to specify mappings for the subdirectories you wish to mount under the directory indicated on the command line. It also obscures local subdirectories for which no mapping is specified. In an indirect map, each directory field consists of the basename of a subdirectory to be mounted as needed.

Included maps

The contents of another map can be included within a map with an entry of the form:

+mapname

mapname can either be a filename, or the name of a NIS map, or one of the special maps described below.

Special maps

There are three special maps currently available: -hosts, -passwd and -null. The -hosts map uses the hostname resolution facilities available on the system to locate a remote host when the hostname is specified. This map specifies mounts of all exported filesystems from any host. For instance, if the following automount command is already in effect:

automount  /net  -hosts

then a reference to /net/hermes/usr would initiate an automatic mount of all filesystems from hermes that automount can mount; references to a directory under /net/hermes will refer to the corresponding directory on hermes.

The -passwd map uses the passwd(F) database to attempt to locate the home directory of a user. For instance, if the following automount command is already in effect:

automount  /homes  -passwd

then if the home directory for a user has the form

/dir/server/username

and server matches the host system on which that directory resides, automount will mount the user's home directory as: /homes/username.

For this map, the tilde character (~) is recognized as a synonym for the username.

The -null map, when indicated on the command line, cancels a previous map for the directory indicated. It can be used to cancel a map given in auto.master.

Configuration and the auto.master map

automount normally consults the auto.master Network Information Services configuration map for a list of initial automount maps, and sets up automatic mounts for them in addition to those given on the command line. If there are duplications, the command-line arguments take precedence. The NIS auto.master map contains arguments to the automount command, rather than conventional NIS mappings; unless -f is in effect, automount does not look for an auto.master file on the local host.

Maps given on the command line, or those given in a local auto.master file specified with -f override those in the NIS auto.master map. For instance, given the command:

automount -f /etc/auto.master /home -null /- \/etc/auto.direct

and a file named /etc/auto.master that contains:

   /homes  -passwd
automount would mount home directories under /homes instead of /home, in addition to the various directories specified in the /etc/auto.direct file.

Notes

When it receives signal number 1, SIGHUP, automount rereads the /etc/mnttab file to update its internal record of currently mounted file systems. If a file system mounted with automount is unmounted by a umount(ADM) command, automount should be forced to reread the file.

Limitations

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 automatic mount requests until it completes.

Programs that read /etc/mnttab and then touch files that reside under automatic mount points will introduce further entries to the file.

Files


/tmp_mnt
directory under which filesystems are dynamically mounted

/etc/auto.master
list of master NIS configuration maps

/etc/auto.direct
list of direct automount maps

/etc/auto.indirect
list of indirect automount maps

See also

df(C), passwd(F)
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003