Go forward to Map Options.
Go backward to Variable Expansion.
Go up to Location Format.
Selectors
---------
Selectors are used to control the use of a location. It is possible
to share a mount map between many machines in such a way that filesystem
location, architecture and operating system differences are hidden from
the users. A selector of the form `arch==sun3;os==sos4' would only
apply on Sun-3s running SunOS 4.x.
Selectors are evaluated left to right. If a selector fails then that
location is ignored. Thus the selectors form a conjunction and the
locations form a disjunction. If all the locations are ignored or
otherwise fail then Amd uses the "error" filesystem (*note Error
Filesystem::.). This is equivalent to having a location `type:=error'
at the end of each mount-map entry.
The selectors currently implemented are:
`arch'
the machine architecture which was automatically determined at
compile time. The architecture type can be displayed by running
the command `amd -v'. See Supported Machine Architectures.
`autodir'
the default directory under which to mount filesystems. This may
be changed by the "-a" command line option. See the FS option.
`byte'
the machine's byte ordering. This is either `little', indicating
little-endian, or `big', indicating big-endian. One possible use
is to share `rwho' databases (see rwho servers.). Another is
to share ndbm databases, however this use can be considered a
courageous juggling act.
`cluster'
is provided as a hook for the name of the local cluster. This can
be used to decide which servers to use for copies of replicated
filesystems. `${cluster}' defaults to the value of `${domain}'
unless a different value is set with the "-C" command line option.
`domain'
the local domain name as specified by the "-d" command line option.
See `host'.
`host'
the local hostname as determined by gethostname(2). If no domain
name was specified on the command line and the hostname contains a
period `.' then the string before the period is used as the host
name, and the string after the period is assigned to `${domain}'.
For example, if the hostname is `styx.doc.ic.ac.uk' then `host'
would be `styx' and `domain' would be `doc.ic.ac.uk'. `hostd'
would be `styx.doc.ic.ac.uk'.
`hostd'
is `${host}' and `${domain}' concatenated with a `.' inserted
between them if required. If `${domain}' is an empty string then
`${host}' and `${hostd}' will be identical.
`karch'
is provided as a hook for the kernel architecture. This is used on
SunOS 4, for example, to distinguish between different `/usr/kvm'
volumes. `${karch}' defaults to the value of `${arch}' unless a
different value is set with the "-k" command line option.
`os'
the operating system. Like the machine architecture, this is
automatically determined at compile time. The operating system
name can be displayed by running the command `amd -v'.
See Supported Operating Systems.
The following selectors are also provided. Unlike the other
selectors, they vary for each lookup. Note that when the name from the
kernel is expanded prior to a map lookup, these selectors are all
defined as empty strings.
`key'
the name being resolved. For example, if `/home' is an automount
point, then accessing `/home/foo' would set `${key}' to the string
`foo'. The key is prefixed by the PREF option set in the parent
mount point. The default prefix is an empty string. If the
prefix was `blah/' then `${key}' would be set to `blah/foo'.
`map'
the name of the mount map being used.
`path'
the full pathname of the name being resolved. For example
`/home/foo' in the example above.
`wire'
the name of the network to which the primary network interface is
attached. If a symbolic name cannot be found in the networks or
hosts database then dotted IP address format is used. This value
is also output by the "-v" option.
Selectors can be negated by using `!=' instead of `=='. For example
to select a location on all non-Vax machines the selector `arch!=vax'
would be used.
|