diff options
Diffstat (limited to 'usr.sbin/amd/doc/amdref.texinfo')
-rw-r--r-- | usr.sbin/amd/doc/amdref.texinfo | 1148 |
1 files changed, 11 insertions, 1137 deletions
diff --git a/usr.sbin/amd/doc/amdref.texinfo b/usr.sbin/amd/doc/amdref.texinfo index 4121cd54771..82c8dfdbfdf 100644 --- a/usr.sbin/amd/doc/amdref.texinfo +++ b/usr.sbin/amd/doc/amdref.texinfo @@ -36,7 +36,7 @@ @c OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF @c @c from: @(#)amdref.texinfo 8.1 (Berkeley) 6/6/93 -@c $Id: amdref.texinfo,v 1.7 2002/07/20 07:21:34 pvalchev Exp $ +@c $Id: amdref.texinfo,v 1.8 2002/11/02 19:17:41 fgsch Exp $ @c @setfilename amdref.info @c @setfilename /usr/local/emacs/info/amd @@ -101,12 +101,9 @@ to use and understand Amd. * Amd Command Line Options:: All the Amd command line options explained. * Filesystem Types:: The different mount types supported by Amd. * Run-time Administration:: How to start, stop and control Amd. -* FSinfo:: The FSinfo filesystem management tool. -* Internals:: Internals. -* Acknowledgements & Trademarks:: Legal notes. * Examples:: Some examples showing how Amd might be used. * Internals:: Implementation details. -* Acknowledgements & Trademarks:: +* Acknowledgements & Trademarks:: Legal notes. Indexes * Index:: An item for each concept. @@ -678,8 +675,8 @@ location may also contain @dfn{selectors} (@pxref{Selectors}).@refill A mount-map provides the run-time configuration information to @i{Amd}. Maps can be implemented in many ways. Some of the forms supported by -@i{Amd} are regular files, ndbm databases, NIS maps the @dfn{Hesiod} -name server and even the password file. +@i{Amd} are regular files, NIS maps the @dfn{Hesiod} name server and +even the password file. A mount-map @dfn{name} is a sequence of characters. When an automount point is created a handle on the mount-map is obtained. For each map @@ -702,14 +699,13 @@ list of map types configured on your machine. @menu * File maps:: -* ndbm maps:: * NIS maps:: * Hesiod maps:: * Password maps:: * Union maps:: @end menu -@node File maps, ndbm maps, Map Types, Map Types +@node File maps, NIS maps, Map Types, Map Types @comment node-name, next, previous, up @subsection File maps @cindex File maps @@ -763,7 +759,7 @@ file maps. When caching is enabled, file maps have a default cache mode of @code{all} (@pxref{Automount Filesystem}). -@node NIS maps, Hesiod maps, ndbm maps, Map Types +@node NIS maps, Hesiod maps, File maps, Map Types @comment node-name, next, previous, up @subsection NIS maps @cindex NIS (YP) maps @@ -1146,9 +1142,7 @@ changed by the ``-a'' command line option. See the @var{fs} option. @cindex Selector; byte the machine's byte ordering. This is either @samp{little}, indicating little-endian, or @samp{big}, indicating big-endian. One possible use -is to share @samp{rwho} databases (@pxref{rwho servers}). Another is to -share ndbm databases, however this use can be considered a courageous -juggling act. +is to share @samp{rwho} databases (@pxref{rwho servers}). @item cluster @cindex cluster, mount selector @@ -2218,7 +2212,7 @@ jsp host==charm;type:=link;fs:=/home/charm;sublink:=jsp @end example which would return a symbolic link pointing to @file{/home/charm/jsp}. -@node Symbolic Link Filesystem II, Automount Filesystem, Program Filesystem, Filesystem Types +@node Symbolic Link Filesystem II, Automount Filesystem, Symbolic Link Filesystem, Filesystem Types @comment node-name, next, previous, up @section Symbolic Link Filesystem II (@samp{type:=linkx}) @cindex Symbolic link filesystem II @@ -2480,7 +2474,7 @@ possible that the output from @samp{amq -m} may list @samp{inherit} as the filesystem type. This happens when an inherit operation cannot be completed for some reason, usually because a fileserver is down. -@node Run-time Administration, FSinfo, Filesystem Types, Top +@node Run-time Administration, Examples, Filesystem Types, Top @comment node-name, next, previous, up @chapter Run-time Administration @cindex Run-time administration @@ -2859,1127 +2853,7 @@ turning @emph{off} any logging option which was specified at startup, though any which have been turned off since then can still be turned off. The ``-D'' option has a similar behaviour. -@node FSinfo, Examples, Run-time Administration, Top -@comment node-name, next, previous, up -@chapter FSinfo -@cindex FSinfo -@cindex Filesystem info package - -@menu -* FSinfo Overview:: Introduction to FSinfo. -* Using FSinfo:: Basic concepts. -* FSinfo Grammar:: Language syntax, semantics and examples. -* FSinfo host definitions:: Defining a new host. -* FSinfo host attributes:: Definable host attributes. -* FSinfo filesystems:: Defining locally attached filesystems. -* FSinfo static mounts:: Defining additional static mounts. -* FSinfo automount definitions:: -* FSinfo command line options:: -* FSinfo errors:: -@end menu - -@node FSinfo Overview, Using FSinfo, FSinfo, FSinfo -@comment node-name, next, previous, up -@section @i{FSinfo} overview -@cindex FSinfo overview - -@i{FSinfo} is a filesystem management tool. It has been designed to -work with @i{Amd} to help system administrators keep track of the ever -increasing filesystem namespace under their control. - -The purpose of @i{FSinfo} is to generate all the important standard -filesystem data files from a single set of input data. Starting with a -single data source guarantees that all the generated files are -self-consistent. One of the possible output data formats is a set of -@i{Amd} maps which can be used amongst the set of hosts described in the -input data. - -@i{FSinfo} implements a declarative language. This language is -specifically designed for describing filesystem namespace and physical -layouts. The basic declaration defines a mounted filesystem including -its device name, mount point, and all the volumes and access -permissions. @i{FSinfo} reads this information and builds an internal -map of the entire network of hosts. Using this map, many different data -formats can be produced including @file{/etc/fstab}, -@file{/etc/exports}, @i{Amd} mount maps and -@file{/etc/bootparams}.@refill - -@node Using FSinfo, FSinfo Grammar, FSinfo Overview, FSinfo -@comment node-name, next, previous, up -@section Using @i{FSinfo} -@cindex Using FSinfo - -The basic strategy when using @i{FSinfo} is to gather all the -information about all disks on all machines into one set of -declarations. For each machine being managed, the following data is -required: - -@itemize @bullet -@item -Hostname -@item -List of all filesystems and, optionally, their mount points. -@item -Names of volumes stored on each filesystem. -@item -NFS export information for each volume. -@item -The list of static filesystem mounts. -@end itemize - -The following information can also be entered into the same -configuration files so that all data can be kept in one place. - -@itemize @bullet -@item -List of network interfaces -@item -IP address of each interface -@item -Hardware address of each interface -@item -Dumpset to which each filesystem belongs -@item -and more @dots{} -@end itemize - -To generate @i{Amd} mount maps, the automount tree must also be defined -(@pxref{FSinfo automount definitions}). This will have been designed at -the time the volume names were allocated. Some volume names will not be -automounted, so @i{FSinfo} needs an explicit list of which volumes -should be automounted.@refill - -Hostnames are required at several places in the @i{FSinfo} language. It -is important to stick to either fully qualified names or unqualified -names. Using a mixture of the two will inevitably result in confusion. - -Sometimes volumes need to be referenced which are not defined in the set -of hosts being managed with @i{FSinfo}. The required action is to add a -dummy set of definitions for the host and volume names required. Since -the files generated for those particular hosts will not be used on them, -the exact values used is not critical. - -@node FSinfo Grammar, FSinfo host definitions, Using FSinfo, FSinfo -@comment node-name, next, previous, up -@section @i{FSinfo} grammar -@cindex FSinfo grammar -@cindex Grammar, FSinfo - -@i{FSinfo} has a relatively simple grammar. Distinct syntactic -constructs exist for each of the different types of data, though they -share a common flavour. Several conventions are used in the grammar -fragments below. - -The notation, @i{list(}@t{xxx}@i{)}, indicates a list of zero or more -@t{xxx}'s. The notation, @i{opt(}@t{xxx}@i{)}, indicates zero or one -@t{xxx}. Items in double quotes, @i{eg} @t{"host"}, represent input -tokens. Items in angle brackets, @i{eg} @var{<hostname>}, represent -strings in the input. Strings need not be in double quotes, except to -differentiate them from reserved words. Quoted strings may include the -usual set of C ``@t{\}'' escape sequences with one exception: a -backslash-newline-whitespace sequence is squashed into a single space -character. To defeat this feature, put a further backslash at the start -of the second line. - -At the outermost level of the grammar, the input consists of a -sequence of host and automount declarations. These declarations are -all parsed before they are analyzed. This means they can appear in -any order and cyclic host references are possible. - -@example -fsinfo : @i{list(}fsinfo_attr@i{)} ; - -fsinfo_attr : host | automount ; -@end example - -@menu -* FSinfo host definitions:: -* FSinfo automount definitions:: -@end menu - -@node FSinfo host definitions, FSinfo host attributes, FSinfo grammar, FSinfo -@comment node-name, next, previous, up -@section @i{FSinfo} host definitions -@cindex FSinfo host definitions -@cindex Defining a host, FSinfo - -A host declaration consists of three parts: a set of machine attribute -data, a list of filesystems physically attached to the machine, and a -list of additional statically mounted filesystems. - -@example -host : "host" host_data @i{list(}filesystem@i{@i{)}} @i{list(}mount@i{@i{)}} ; -@end example - -Each host must be declared in this way exactly once. Such things as the -hardware address, the architecture and operating system types and the -cluster name are all specified within the @dfn{host data}. - -All the disks the machine has should then be described in the @dfn{list -of filesystems}. When describing disks, you can specify what -@dfn{volname} the disk/partition should have and all such entries are -built up into a dictionary which can then be used for building the -automounter maps. - -The @dfn{list of mounts} specifies all the filesystems that should be -statically mounted on the machine. - -@menu -* FSinfo host attributes:: -* FSinfo filesystems:: -* FSinfo static mounts:: -@end menu - -@node FSinfo host attributes, FSinfo filesystems, FSinfo host definitions , FSinfo host definitions -@comment node-name, next, previous, up -@section @i{FSinfo} host attributes -@cindex FSinfo host attributes -@cindex Defining host attributes, FSinfo - -The host data, @dfn{host_data}, always includes the @dfn{hostname}. In -addition, several other host attributes can be given. - -@example -host_data : @var{<hostname>} - | "@{" @i{list(}host_attrs@i{)} "@}" @var{<hostname>} - ; - -host_attrs : host_attr "=" @var{<string>} - | netif - ; - -host_attr : "config" - | "arch" - | "os" - | "cluster" - ; -@end example - -The @dfn{hostname} is, typically, the fully qualified hostname of the -machine. - -Examples: - -@example -host dylan.doc.ic.ac.uk - -host @{ - os = hpux - arch = hp300 -@} dougal.doc.ic.ac.uk -@end example - -The options that can be given as host attributes are shown below. - -@menu -* netif Option: FSinfo host netif: -* config Option: FSinfo host config: -* arch Option: FSinfo host arch: -* os Option: FSinfo host os: -* cluster Option: FSinfo host cluster: -@end menu - -@node FSinfo host netif, FSinfo host config, , FSinfo host attributes -@comment node-name, next, previous, up -@subsection netif Option - -This defines the set of network interfaces configured on the machine. -The interface attributes collected by @i{FSinfo} are the IP address, -subnet mask and hardware address. Multiple interfaces may be defined -for hosts with several interfaces by an entry for each interface. The -values given are sanity checked, but are currently unused for anything -else. - -@example -netif : "netif" @var{<string>} "@{" @i{list(}netif_attrs@i{)} "@}" ; - -netif_attrs : netif_attr "=" @var{<string>} ; - -netif_attr : "inaddr" | "netmask" | "hwaddr" ; -@end example - -Examples: - -@example -netif ie0 @{ - inaddr = 129.31.81.37 - netmask = 0xfffffe00 - hwaddr = "08:00:20:01:a6:a5" -@} - -netif ec0 @{ @} -@end example - -@node FSinfo host config, FSinfo host arch, FSinfo host netif, FSinfo host attributes -@comment node-name, next, previous, up -@subsection config Option -@cindex FSinfo config host attribute -@cindex config, FSinfo host attribute - -This option allows you to specify configuration variables for the -startup scripts (@file{rc} scripts). A simple string should immediately -follow the keyword. - -Example: - -@example -config "NFS_SERVER=true" -config "ZEPHYR=true" -@end example - -This option is currently unsupported. - -@node FSinfo host arch, FSinfo host os, FSinfo host config, FSinfo host attributes -@comment node-name, next, previous, up -@subsection arch Option -@cindex FSinfo arch host attribute -@cindex arch, FSinfo host attribute - -This defines the architecture of the machine. For example: - -@example -arch = hp300 -@end example - -This is intended to be of use when building architecture specific -mountmaps, however, the option is currently unsupported. - -@node FSinfo host os, FSinfo host cluster, FSinfo host arch, FSinfo host attributes -@comment node-name, next, previous, up -@subsection os Option -@cindex FSinfo os host attribute -@cindex os, FSinfo host attribute - -This defines the operating system type of the host. For example: - -@example -os = hpux -@end example - -This information is used when creating the @file{fstab} files, for -example in choosing which format to use for the @file{fstab} entries -within the file. - -@node FSinfo host cluster, , FSinfo host os, FSinfo host attributes -@comment node-name, next, previous, up -@subsection cluster Option -@cindex FSinfo cluster host attribute -@cindex cluster, FSinfo host attribute - -This is used for specifying in which cluster the machine belongs. For -example: - -@example -cluster = "theory" -@end example - -The cluster is intended to be used when generating the automount maps, -although it is currently unsupported. - -@node FSinfo filesystems, FSinfo static mounts, FSinfo host attributes, FSinfo host definitions -@comment node-name, next, previous, up -@section @i{FSinfo} filesystems -@cindex FSinfo filesystems - -The list of physically attached filesystems follows the machine -attributes. These should define all the filesystems available from this -machine, whether exported or not. In addition to the device name, -filesystems have several attributes, such as filesystem type, mount -options, and @samp{fsck} pass number which are needed to generate -@file{fstab} entries. - -@example -filesystem : "fs" @var{<device>} "@{" @i{list(}fs_data@i{)} "@}" ; - -fs_data : fs_data_attr "=" @var{<string>} - | mount - ; - -fs_data_attr - : "fstype" | "opts" | "passno" - | "freq" | "dumpset" | "log" - ; -@end example - -Here, @var{<device>} is the device name of the disk (for example, -@file{/dev/dsk/2s0}). The device name is used for building the mount -maps and for the @file{fstab} file. The attributes that can be -specified are shown in the following section. - -The @i{FSinfo} configuration file for @code{dylan.doc.ic.ac.uk} is listed below. - -@example -host dylan.doc.ic.ac.uk - -fs /dev/dsk/0s0 @{ - fstype = swap -@} - -fs /dev/dsk/0s0 @{ - fstype = hfs - opts = rw,noquota,grpid - passno = 0; - freq = 1; - mount / @{ @} -@} - -fs /dev/dsk/1s0 @{ - fstype = hfs - opts = defaults - passno = 1; - freq = 1; - mount /usr @{ - local @{ - exportfs "dougal eden dylan zebedee brian" - volname /nfs/hp300/local - @} - @} -@} - -fs /dev/dsk/2s0 @{ - fstype = hfs - opts = defaults - passno = 1; - freq = 1; - mount default @{ - exportfs "toytown_clients hangers_on" - volname /home/dylan/dk2 - @} -@} - -fs /dev/dsk/3s0 @{ - fstype = hfs - opts = defaults - passno = 1; - freq = 1; - mount default @{ - exportfs "toytown_clients hangers_on" - volname /home/dylan/dk3 - @} -@} - -fs /dev/dsk/5s0 @{ - fstype = hfs - opts = defaults - passno = 1; - freq = 1; - mount default @{ - exportfs "toytown_clients hangers_on" - volname /home/dylan/dk5 - @} -@} -@end example - -@menu -* fstype Option: FSinfo filesystems fstype: -* opts Option: FSinfo filesystems opts: -* passno Option: FSinfo filesystems passno: -* freq Option: FSinfo filesystems freq: -* mount Option: FSinfo filesystems mount: -* dumpset Option: FSinfo filesystems dumpset: -* log Option: FSinfo filesystems log: -@end menu - -@node FSinfo filesystems fstype, FSinfo filesystems opts, , FSinfo filesystems -@comment node-name, next, previous, up -@subsection fstype Option -@cindex FSinfo fstype filesystems option -@cindex fstype, FSinfo filesystems option -@cindex export, FSinfo special fstype - -This specifies the type of filesystem being declared and will be placed -into the @file{fstab} file as is. The value of this option will be -handed to @code{mount} as the filesystem type---it should have such -values as @code{4.2}, @code{nfs} or @code{swap}. The value is not -examined for correctness. - -There is one special case. If the filesystem type is specified as -@samp{export} then the filesystem information will not be added to the -host's @file{fstab} information, but it will still be visible on the -network. This is useful for defining hosts which contain referenced -volumes but which are not under full control of @i{FSinfo}. - -Example: - -@example -fstype = swap -@end example - -@node FSinfo filesystems opts, FSinfo filesystems passno,FSinfo filesystems fstype, FSinfo filesystems -@comment node-name, next, previous, up -@subsection opts Option -@cindex FSinfo opts filesystems option -@cindex opts, FSinfo filesystems option - -This defines any options that should be given to @b{mount}(8) in the -@file{fstab} file. For example: - -@example -opts = rw,nosuid,grpid -@end example - -@node FSinfo filesystems passno, FSinfo filesystems freq, FSinfo filesystems opts, FSinfo filesystems -@comment node-name, next, previous, up -@subsection passno Option -@cindex FSinfo passno filesystems option -@cindex passno, FSinfo filesystems option - -This defines the @b{fsck}(8) pass number in which to check the -filesystem. This value will be placed into the @file{fstab} file. - -Example: - -@example -passno = 1 -@end example - -@node FSinfo filesystems freq, FSinfo filesystems mount, FSinfo filesystems passno, FSinfo filesystems -@comment node-name, next, previous, up -@subsection freq Option -@cindex FSinfo freq filesystems option -@cindex freq, FSinfo filesystems option - -This defines the interval (in days) between dumps. The value is placed -as is into the @file{fstab} file. - -Example: - -@example -freq = 3 -@end example - -@node FSinfo filesystems mount, FSinfo filesystems dumpset, FSinfo filesystems freq, FSinfo filesystems -@comment node-name, next, previous, up -@subsection mount Option -@cindex FSinfo mount filesystems option -@cindex mount, FSinfo filesystems option -@cindex exportfs, FSinfo mount option -@cindex volname, FSinfo mount option -@cindex sel, FSinfo mount option - -This defines the mountpoint at which to place the filesystem. If the -mountpoint of the filesystem is specified as @code{default}, then the -filesystem will be mounted in the automounter's tree under its volume -name and the mount will automatically be inherited by the automounter. - -Following the mountpoint, namespace information for the filesystem may -be described. The options that can be given here are @code{exportfs}, -@code{volname} and @code{sel}. - -The format is: - -@example -mount : "mount" vol_tree ; - -vol_tree : @i{list(}vol_tree_attr@i{)} ; - -vol_tree_attr - : @var{<string>} "@{" @i{list(}vol_tree_info@i{)} vol_tree "@}" ; - -vol_tree_info - : "exportfs" @var{<export-data>} - | "volname" @var{<volname>} - | "sel" @var{<selector-list>} - ; -@end example - -Example: - -@example -mount default @{ - exportfs "dylan dougal florence zebedee" - volname /vol/andrew -@} -@end example - -In the above example, the filesystem currently being declared will have -an entry placed into the @file{exports} file allowing the filesystem to -be exported to the machines @code{dylan}, @code{dougal}, @code{florence} -and @code{zebedee}. The volume name by which the filesystem will be -referred to remotely, is @file{/vol/andrew}. By declaring the -mountpoint to be @code{default}, the filesystem will be mounted on the -local machine in the automounter tree, where @i{Amd} will automatically -inherit the mount as @file{/vol/andrew}.@refill - -@table @samp -@item exportfs -a string defining which machines the filesystem may be exported to. -This is copied, as is, into the @file{exports} file---no sanity checking -is performed on this string.@refill - -@item volname -a string which declares the remote name by which to reference the -filesystem. The string is entered into a dictionary and allows you to -refer to this filesystem in other places by this volume name.@refill - -@item sel -a string which is placed into the automounter maps as a selector for the -filesystem.@refill - -@end table - -@node FSinfo filesystems dumpset, FSinfo filesystems log, FSinfo filesystems mount, FSinfo filesystems -@comment node-name, next, previous, up -@subsection dumpset Option -@cindex FSinfo dumpset filesystems option -@cindex dumpset, FSinfo filesystems option - -This provides support for Imperial College's local file backup tools and -is not documented further here. - -@node FSinfo filesystems log, , FSinfo filesystems dumpset, FSinfo filesystems -@comment node-name, next, previous, up -@subsection log Option -@cindex FSinfo log filesystems option -@cindex log, FSinfo filesystems option - -Specifies the log device for the current filesystem. This is ignored if -not required by the particular filesystem type. - -@node FSinfo static mounts, FSinfo automount definitions , FSinfo filesystems, FSinfo host definitions -@comment node-name, next, previous, up -@section @i{FSinfo} static mounts -@cindex FSinfo static mounts -@cindex Statically mounts filesystems, FSinfo - -Each host may also have a number of statically mounted filesystems. For -example, the host may be a diskless workstation in which case it will -have no @code{fs} declarations. In this case the @code{mount} -declaration is used to determine from where its filesystems will be -mounted. In addition to being added to the @file{fstab} file, this -information can also be used to generate a suitable @file{bootparams} -file.@refill - -@example -mount : "mount" @var{<volname>} @i{list(}localinfo@i{)} ; - -localinfo : localinfo_attr @var{<string>} ; - -localinfo_attr - : "as" - | "from" - | "fstype" - | "opts" - ; -@end example - -The filesystem specified to be mounted will be searched for in the -dictionary of volume names built when scanning the list of hosts' -definitions. - -The attributes have the following semantics: -@table @samp -@item from @var{machine} -mount the filesystem from the machine with the hostname of -@dfn{machine}.@refill - -@item as @var{mountpoint} -mount the filesystem locally as the name given, in case this is -different from the advertised volume name of the filesystem. - -@item opts @var{options} -native @b{mount}(8) options. - -@item fstype @var{type} -type of filesystem to be mounted. -@end table - -An example: - -@example -mount /export/exec/hp300/local as /usr/local -@end example - -If the mountpoint specified is either @file{/} or @file{swap}, the -machine will be considered to be booting off the net and this will be -noted for use in generating a @file{bootparams} file for the host which -owns the filesystems. - -@node FSinfo automount definitions, FSinfo Command Line Options, FSinfo static mounts, FSinfo -@comment node-name, next, previous, up -@section Defining an @i{Amd} Mount Map in @i{FSinfo} -@cindex FSinfo automount definitions -@cindex Defining an Amd mount map, FSinfo - -The maps used by @i{Amd} can be constructed from @i{FSinfo} by defining -all the automount trees. @i{FSinfo} takes all the definitions found and -builds one map for each top level tree. - -The automount tree is usually defined last. A single automount -configuration will usually apply to an entire management domain. One -@code{automount} declaration is needed for each @i{Amd} automount point. -@i{FSinfo} determines whether the automount point is @dfn{direct} -(@pxref{Direct Automount Filesystem}) or @dfn{indirect} -(@pxref{Top-level Filesystem}). Direct automount points are -distinguished by the fact that there is no underlying -@dfn{automount_tree}.@refill - -@example -automount : "automount" opt(auto_opts@i{)} automount_tree ; - -auto_opts : "opts" @var{<mount-options>} ; - -automount_tree - : @i{list(}automount_attr@i{)} - ; - -automount_attr - : @var{<string>} "=" @var{<volname>} - | @var{<string>} "->" @var{<symlink>} - | @var{<string>} "@{" automount_tree "@}" - ; -@end example - -If @var{<mount-options>} is given, then it is the string to be placed in -the maps for @i{Amd} for the @code{opts} option. - -A @dfn{map} is typically a tree of filesystems, for example @file{home} -normally contains a tree of filesystems representing other machines in -the network. - -A map can either be given as a name representing an already defined -volume name, or it can be a tree. A tree is represented by placing -braces after the name. For example, to define a tree @file{/vol}, the -following map would be defined: - -@example -automount /vol @{ @} -@end example - -Within a tree, the only items that can appear are more maps. -For example: - -@example -automount /vol @{ - andrew @{ @} - X11 @{ @} -@} -@end example - -In this case, @i{FSinfo} will look for volumes named @file{/vol/andrew} -and @file{/vol/X11} and a map entry will be generated for each. If the -volumes are defined more than once, then @i{FSinfo} will generate -a series of alternate entries for them in the maps.@refill - -Instead of a tree, either a link (@var{name} @code{->} -@var{destination}) or a reference can be specified (@var{name} @code{=} -@var{destination}). A link creates a symbolic link to the string -specified, without further processing the entry. A reference will -examine the destination filesystem and optimise the reference. For -example, to create an entry for @code{njw} in the @file{/homes} map, -either of the two forms can be used:@refill - -@example -automount /homes @{ - njw -> /home/dylan/njw -@} -@end example - -or - -@example -automount /homes @{ - njw = /home/dylan/njw -@} -@end example - -In the first example, when @file{/homes/njw} is referenced from @i{Amd}, -a link will be created leading to @file{/home/dylan/njw} and the -automounter will be referenced a second time to resolve this filename. -The map entry would be: - -@example -njw type:=link;fs:=/home/dylan/njw -@end example - -In the second example, the destination directory is analysed and found -to be in the filesystem @file{/home/dylan} which has previously been -defined in the maps. Hence the map entry will look like: - -@example -njw rhost:=dylan;rfs:=/home/dylan;sublink:=njw -@end example - -Creating only one symbolic link, and one access to @i{Amd}. - -@c --------------------------------------------- -@node FSinfo Command Line Options, FSinfo errors, FSinfo automount definitions, FSinfo -@comment node-name, next, previous, up -@section @i{FSinfo} Command Line Options -@cindex FSinfo command line options -@cindex Command line options, FSinfo - -@i{FSinfo} is started from the command line by using the command: - -@example -fsinfo [@i{options}] files ... -@end example - -The input to @i{FSinfo} is a single set of definitions of machines and -automount maps. If multiple files are given on the command-line, then -the files are concatenated together to form the input source. The files -are passed individually through the C pre-processor before being parsed. - -Several options define a prefix for the name of an output file. If the -prefix is not specified no output of that type is produced. The suffix -used will correspond either to the hostname to which a file belongs, or -to the type of output if only one file is produced. Dumpsets and the -@file{bootparams} file are in the latter class. To put the output into -a subdirectory simply put a @file{/} at the end of the prefix, making -sure that the directory has already been made before running -@samp{fsinfo}. - -@menu -* -a FSinfo Option:: Amd automount directory: -* -b FSinfo Option:: Prefix for bootparams files. -* -d FSinfo Option:: Prefix for dumpset data files. -* -e FSinfo Option:: Prefix for exports files. -* -f FSinfo Option:: Prefix for fstab files. -* -h FSinfo Option:: Local hostname. -* -m FSinfo Option:: Prefix for automount maps. -* -q FSinfo Option:: Ultra quiet mode. -* -v FSinfo Option:: Verbose mode. -* -I FSinfo Option:: Define new #include directory. -* -D-FSinfo Option:: Define macro. -* -U FSinfo Option:: Undefine macro. -@end menu - -@node -a FSinfo Option, -b FSinfo Option, FSinfo Command Line Options, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-a} @var{autodir} - -Specifies the directory name in which to place the automounter's -mountpoints. This defaults to @file{/a}. Some sites have the autodir set -to be @file{/amd}, and this would be achieved by: - -@example -fsinfo -a /amd ... -@end example - -@node -b FSinfo Option, -d FSinfo Option, -a FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-b} @var{bootparams} -@cindex bootparams, FSinfo prefix - -This specifies the prefix for the @file{bootparams} filename. If it is -not given, then the file will not be generated. The @file{bootparams} -file will be constructed for the destination machine and will be placed -into a file named @file{bootparams} and prefixed by this string. The -file generated contains a list of entries describing each diskless -client that can boot from the destination machine. - -As an example, to create a @file{bootparams} file in the directory -@file{generic}, the following would be used: - -@example -fsinfo -b generic/ ... -@end example - -@node -d FSinfo Option, -e FSinfo Option, -b FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-d} @var{dumpsets} -@cindex dumpset, FSinfo prefix - -This specifies the prefix for the @file{dumpsets} file. If it is not -specified, then the file will not be generated. The file will be for -the destination machine and will be placed into a filename -@file{dumpsets}, prefixed by this string. The @file{dumpsets} file is -for use by Imperial College's local backup system. - -For example, to create a dumpsets file in the directory @file{generic}, -then you would use the following: - -@example -fsinfo -d generic/ ... -@end example - -@node -e FSinfo Option, -f FSinfo Option, -d FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-e} @var{exportfs} -@cindex exports, FSinfo prefix - -Defines the prefix for the @file{exports} files. If it is not given, -then the file will not be generated. For each machine defined in the -configuration files as having disks, an @file{exports} file is -constructed and given a filename determined by the name of the machine, -prefixed with this string. If a machine is defined as diskless, then no -@file{exports} file will be created for it. The files contain entries -for directories on the machine that may be exported to clients. - -Example: To create the @file{exports} files for each diskful machine -and place them into the directory @file{exports}: - -@example -fsinfo -e exports/ ... -@end example - -@node -f FSinfo Option, -h FSinfo Option, -e FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-f} @var{fstab} -@cindex fstab, FSinfo prefix - -This defines the prefix for the @file{fstab} files. The files will only -be created if this prefix is defined. For each machine defined in the -configuration files, a @file{fstab} file is created with the filename -determined by prefixing this string with the name of the machine. These -files contain entries for filesystems and partitions to mount at boot -time. - -Example, to create the files in the directory @file{fstabs}: - -@example -fsinfo -f fstabs/ ... -@end example - -@node -h FSinfo Option, -m FSinfo Option, -f FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-h} @var{hostname} -@cindex hostname, FSinfo command line option - -Defines the hostname of the destination machine to process for. If this -is not specified, it defaults to the local machine name, as returned by -@b{gethostname}(2). - -Example: - -@example -fsinfo -h dylan.doc.ic.ac.uk ... -@end example - -@node -m FSinfo Option, -q FSinfo Option, -h FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-m} @var{mount-maps} -@cindex maps, FSinfo command line option - -Defines the prefix for the automounter files. The maps will only be -produced if this prefix is defined. The mount maps suitable for the -network defined by the configuration files will be placed into files -with names calculated by prefixing this string to the name of each map. - -For example, to create the automounter maps and place them in the -directory @file{automaps}: - -@example -fsinfo -m automaps/ ... -@end example - -@node -q FSinfo Option, -v FSinfo Option, -m FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-q} -@cindex quiet, FSinfo command line option - -Selects quiet mode. @i{FSinfo} suppress the ``running commentary'' and -only outputs any error messages which are generated. - -@node -v FSinfo Option, -D-FSinfo Option, -q FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-v} -@cindex verbose, FSinfo command line option - -Selects verbose mode. When this is activated, the program will display -more messages, and display all the information discovered when -performing the semantic analysis phase. Each verbose message is output -to @file{stdout} on a line starting with a @samp{#} character. - -@node -D-FSinfo Option, -I FSinfo Option, -v FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-D} @var{name[=defn]} - -Defines a symbol @dfn{name} for the preprocessor when reading the -configuration files. Equivalent to @code{#define} directive. - -@node -I FSinfo Option, -U FSinfo Option, -D-FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-I} @var{directory} - -This option is passed into the preprocessor for the configuration files. -It specifies directories in which to find include files - -@node -U FSinfo Option, , -I FSinfo Option, FSinfo Command Line Options -@comment node-name, next, previous, up -@subsection @code{-U} @var{name} - -Removes any initial definition of the symbol @dfn{name}. Inverse of the -@code{-D} option. - -@node FSinfo errors, , FSinfo command line options, FSinfo -@comment node-name, next, previous, up -@section Errors produced by @i{FSinfo} -@cindex FSinfo error messages - -The following table documents the errors and warnings which @i{FSinfo} may produce. - -@table @t - -@item can't open @var{filename} for writing -Occurs if any errors are encountered when opening an output file.@refill - -@item unknown host attribute -Occurs if an unrecognised keyword is used when defining a host.@refill - -@item unknown filesystem attribute -Occurs if an unrecognised keyword is used when defining a host's -filesystems.@refill - -@item not allowed '/' in a directory name -When reading the configuration input, if there is a filesystem -definition which contains a pathname with multiple directories for any -part of the mountpoint element, and it is not a single absolute path, -then this message will be produced by the parser.@refill - -@item unknown directory attribute -If an unknown keyword is found while reading the definition of a hosts's -filesystem mount option. - -@item unknown mount attribute -Occurs if an unrecognised keyword is found while parsing the list of -static mounts.@refill - -@item " expected -Occurs if an unescaped newline is found in a quoted string. - -@item unknown \ sequence -Occurs if an unknown escape sequence is found inside a string. Within a -string, you can give the standard C escape sequences for strings, such -as newlines and tab characters.@refill - -@item @var{filename}: cannot open for reading -If a file specified on the command line as containing configuration data -could not be opened.@refill - -@item end of file within comment -A comment was unterminated before the end of one of the configuration -files. - -@item host field "@var{field-name}" already set -If duplicate definitions are given for any of the fields with a host -definition. - -@item duplicate host @var{hostname}! -If a host has more than one definition. - -@item netif field @var{field-name} already set -Occurs if you attempt to define an attribute of an interface more than -once. - -@item malformed IP dotted quad: @var{address} -If the Internet address of an interface is incorrectly specified. An -Internet address definition is handled to @b{inet_aton}(3N) to see if it -can cope. If not, then this message will be displayed. - -@item malformed netmask: @var{netmask} -If the netmask cannot be decoded as though it were a hexadecimal number, -then this message will be displayed. It will typically be caused by -incorrect characters in the @var{netmask} value.@refill - -@item fs field "@var{field-name}" already set -Occurs when multiple definitions are given for one of the attributes of a -host's filesystem. - -@item mount tree field "@var{field-name}" already set -Occurs when the @var{field-name} is defined more than once during the -definition of a filesystems mountpoint. - -@item mount field "@var{field-name}" already set -Occurs when a static mount has multiple definitions of the same field. - -@item no disk mounts on @var{hostname} -If there are no static mounts, nor local disk mounts specified for a -machine, this message will be displayed. - -@item @var{host}:@var{device} needs field "@var{field-name}" -Occurs when a filesystem is missing a required field. @var{field-name} could -be one of @code{fstype}, @code{opts}, @code{passno} or -@code{mount}.@refill - -@item @var{filesystem} has a volname but no exportfs data -Occurs when a volume name is declared for a file system, but the string -specifying what machines the filesystem can be exported to is -missing. - -@item sub-directory @var{directory} of @var{directory-tree} starts with '/' -Within the filesystem specification for a host, if an element -@var{directory} of the mountpoint begins with a @samp{/} and it is not -the start of the tree.@refill - -@item @var{host}:@var{device} has no mount point -Occurs if the @samp{mount} option is not specified for a host's -filesystem.@refill - -@item @var{host}:@var{device} has more than one mount point -Occurs if the mount option for a host's filesystem specifies multiple -trees at which to place the mountpoint.@refill - -@item no volname given for @var{host}:@var{device} -Occurs when a filesystem is defined to be mounted on @file{default}, but -no volume name is given for the file system, then the mountpoint cannot -be determined.@refill - -@item @var{host}:mount field specified for swap partition -Occurs if a mountpoint is given for a filesystem whose type is declared -to be @code{swap}.@refill - -@item ambiguous mount: @var{volume} is a replicated filesystem -If several filesystems are declared as having the same volume name, they -will be considered replicated filesystems. To mount a replicated -filesystem statically, a specific host will need to be named, to say -which particular copy to try and mount, else this error will -result.@refill - -@item cannot determine localname since volname @var{volume} is not uniquely defined -If a volume is replicated and an attempt is made to mount the filesystem -statically without specifying a local mountpoint, @i{FSinfo} cannot -calculate a mountpoint, as the desired pathname would be -ambiguous.@refill - -@item volname @var{volume} is unknown -Occurs if an attempt is made to mount or reference a volume name which -has not been declared during the host filesystem definitions.@refill - -@item volname @var{volume} not exported from @var{machine} -Occurs if you attempt to mount the volume @var{volume} from a machine -which has not declared itself to have such a filesystem -available.@refill - -@item network booting requires both root and swap areas -Occurs if a machine has mount declarations for either the root partition -or the swap area, but not both. You cannot define a machine to only -partially boot via the network.@refill - -@item unknown volname @var{volume} automounted @i{[} on <name> @i{]} -Occurs if @var{volume} is used in a definition of an automount map but the volume -name has not been declared during the host filesystem definitions.@refill - -@item not allowed '/' in a directory name -Occurs when a pathname with multiple directory elements is specified as -the name for an automounter tree. A tree should only have one name at -each level. - -@item @var{device} has duplicate exportfs data -Produced if the @samp{exportfs} option is used multiple times within the -same branch of a filesytem definition. For example, if you attempt to -set the @samp{exportfs} data at different levels of the mountpoint -directory tree.@refill - -@item sub-directory of @var{directory-tree} is named "default" -@samp{default} is a keyword used to specify if a mountpoint should be -automatically calculated by @i{FSinfo}. If you attempt to specify a -directory name as this, it will use the filename of @file{default} but -will produce this warning.@refill - -@item pass number for @var{host}:@var{device} is non-zero -Occurs if @var{device} has its @samp{fstype} declared to be @samp{swap} -or @samp{export} and the @b{fsck}(8) pass number is set. Swap devices should not be -fsck'd. @xref{FSinfo filesystems fstype}.@refill - -@item dump frequency for @var{host}:@var{device} is non-zero -Occurs if @var{device} has its @samp{fstype} declared to be @samp{swap} -or @samp{export} and the @samp{dump} option is set to a value greater -than zero. Swap devices should not be dumped.@refill - -@end table - -@node Examples, Internals, FSinfo, Top +@node Examples, Internals, Run-time Administration, Top @comment node-name, next, previous, up @chapter Examples @@ -3987,7 +2861,7 @@ than zero. Swap devices should not be dumped.@refill * User Filesystems:: * Home Directories:: * Architecture Sharing:: -* Wildcard names:: +* Wildcard Names:: * rwho servers:: * /vol:: @end menu |