|
|
1.1 ! root 1: % $Id: cmdline.tex,v 5.2 90/06/23 22:21:53 jsp Rel $ ! 2: % ! 3: % Copyright (c) 1989 Jan-Simon Pendry ! 4: % Copyright (c) 1989 Imperial College of Science, Technology & Medicine ! 5: % Copyright (c) 1989 The Regents of the University of California. ! 6: % All rights reserved. ! 7: % ! 8: % This code is derived from software contributed to Berkeley by ! 9: % Jan-Simon Pendry at Imperial College, London. ! 10: % ! 11: % Redistribution and use in source and binary forms are permitted provided ! 12: % that: (1) source distributions retain this entire copyright notice and ! 13: % comment, and (2) distributions including binaries display the following ! 14: % acknowledgement: ``This product includes software developed by the ! 15: % University of California, Berkeley and its contributors'' in the ! 16: % documentation or other materials provided with the distribution and in ! 17: % all advertising materials mentioning features or use of this software. ! 18: % Neither the name of the University nor the names of its contributors may ! 19: % be used to endorse or promote products derived from this software without ! 20: % specific prior written permission. ! 21: % THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 22: % WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 23: % MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 24: % ! 25: % @(#)cmdline.tex 5.1 (Berkeley) 7/19/90 ! 26: ! 27: ! 28: \Chapter{Command Line Options} ! 29: Many of \amd's parameters can be set from the command line. ! 30: The command line is also used to specify automount points ! 31: and maps. ! 32: ! 33: The general format of a command line is ! 34: \begin{quote} ! 35: {\tt amd} {\em options} directory map-name [{\tt -}{\em map-options}] \ldots ! 36: \end{quote} ! 37: For each directory and map-name given, \amd\ establishes an automount point. ! 38: The {\em map-options} may be any sequence of options or selectors as described ! 39: in \Ref{opts:values}. ! 40: The {\em map-options} apply only to \amd's mount point. ! 41: {\tt type:=auto;cache:=none;fs:=\$\{map\}} is the default value for the map options. ! 42: Default options for ! 43: a map are read from a special entry in the map whose key is the string ! 44: {\tt /defaults}. ! 45: When default options are given they are prepended to any ! 46: options specified in the mount-map locations as explained in \Ref{/defaults}. ! 47: ! 48: The {\em options} are any combination of the following: ! 49: ! 50: \begin{description} ! 51: \item[\tt -a \em directory]\mbox{}\\ ! 52: specifies the default mount directory. ! 53: This option changes the variable \Var{autodir} which ! 54: otherwise defaults to {\tt /a}. ! 55: For example, some sites prefer {\tt /am}. ! 56: \begin{quote} ! 57: \tt ! 58: amd -a /am ... ! 59: \end{quote} ! 60: ! 61: \item[\tt -c \em cache-interval]\mbox{}\\ ! 62: selects the period, in seconds, for which a name is cached by \amd. ! 63: If no reference is made to the volume in this period, ! 64: \amd\ discards the volume name to filesystem mapping. Once the last ! 65: reference to a filesystem has been removed, \amd\ attempts to unmount the filesystem. ! 66: If the unmount fails the interval is extended by a further period ! 67: as specified by the {\tt -w} command line option or by the {\tt utimeout} mount option. ! 68: The default {\em cache-interval} is 300 seconds (five minutes). ! 69: ! 70: \item[\tt -d \em domain]\mbox{}\\ ! 71: specifies the host's domain. This sets the internal variable \Var{domain} ! 72: and affects the \Var{hostd} variable. ! 73: If this option is not specified and ! 74: the hostname already contains the local domain then that is ! 75: used, otherwise the default value of \Var{domain} is {\tt unknown.domain}. ! 76: For example, if the local domain was {\tt doc.ic.ac.uk}, \amd\ could be ! 77: started as follows: ! 78: \begin{quote} ! 79: \tt ! 80: amd -d doc.ic.ac.uk ... ! 81: \end{quote} ! 82: ! 83: \item[\tt -k \em kernel-architecture]\mbox{}\\ ! 84: specifies the kernel architecture of the system. This is usually ! 85: the output of {\tt arch -k} and its only effect is to set the ! 86: variable \Var{karch}. If this option is not given, \Var{karch} ! 87: has the same value as \Var{arch}. ! 88: This would be used as follows: ! 89: \begin{quote} ! 90: \tt ! 91: amd -k `arch -k` ... ! 92: \end{quote} ! 93: ! 94: \item[\tt -l \em log-option]\mbox{}\\ ! 95: selects the form of logging to be made. ! 96: Two special {\em log-option}s are recognised. ! 97: If {\em log-option} is the string {\tt syslog}, \amd\ will use ! 98: the {\bf syslog}(3) mechanism. ! 99: If {\em log-option} is the string {\tt /dev/stderr}\footnote{ ! 100: This pathname is interpreted internally by \amd; a {\tt /dev/fd} ! 101: driver is not required. ! 102: }, \amd\ will use ! 103: standard error, which is also the default target for log messages. ! 104: Any other string is taken as a filename to ! 105: use for logging. Log messages are appended to the file if it already ! 106: exists, otherwise a new file is created. ! 107: The file is opened once and then held open, rather than being re-opened ! 108: for each message. ! 109: If the {\tt syslog} option is specified but the system does not support syslog or ! 110: if the named file cannot be opened or created, \amd\ will use standard error. ! 111: Error messages generated before \amd\ has finished parsing the command line ! 112: are printed on standard error. ! 113: Using {\tt syslog} is usually best, in which case \amd\ would be ! 114: started as follows: ! 115: \begin{quote} ! 116: \tt ! 117: amd -l syslog ... ! 118: \end{quote} ! 119: ! 120: %\item[\tt -m]\mbox{}\\ ! 121: %is an obsolete option that was the equivalent of appending ! 122: %{\tt `ypcat -k am.master`} to the command line. ! 123: %tells \amd\ {\em not} to obtain a list of automount points from Yellow Pages. ! 124: %By default, \amd\ attempts to enumerate the YP maps {\tt am.master} and {\tt auto.master}. ! 125: %The default YP domain is used unless the ``-y'' option is given. ! 126: %{\em This option will be removed in the next release.} ! 127: ! 128: \item[\tt -n]\mbox{}\\ ! 129: normalises the remote hostname before using it. ! 130: Normalisation is done by replacing the value of \Var{rhost} with the primary name returned by ! 131: a hostname lookup. ! 132: This option should be used if several names are used to refer to a single host in a ! 133: mount map. ! 134: ! 135: \item[\tt -p]\mbox{}\\ ! 136: causes \amd's process id to be printed on standard output. ! 137: This can be redirected to a suitable file for use with kill: ! 138: \begin{quote} ! 139: \tt ! 140: amd -p > /var/run/amd.pid ... ! 141: \end{quote} ! 142: ! 143: \item[\tt -r]\mbox{}\\ ! 144: tells \amd\ to restart existing mounts (see the Inheritance File System \Ref{ifs}). ! 145: %{\em This option will be made the default in the next release.} ! 146: ! 147: \item[\tt -t \em afs-timeout.afs-retransmit]\mbox{}\\ ! 148: specifies the RPC timeout and retransmit intervals used by the kernel to communicate ! 149: to \amd. These are used to set the {\tt timeo} and {\tt retrans} mount options. ! 150: \Amd\ relies on the kernel RPC retry mechanism to trigger mount retries. ! 151: The value of this parameter changes the retry interval. Too long an interval ! 152: gives poor interactive response, too short an interval causes excessive ! 153: retries. ! 154: ! 155: \item[\tt -v]\mbox{}\\ ! 156: print version information on standard error and then exit. ! 157: The output is of the form: ! 158: \begin{verbatim} ! 159: amd 5.2 of 90/06/23 23:55:04 Rel5.2 #0: Sat Jun 23 16:24:42 PDT 1990 ! 160: Built by [email protected] for a tahoe running bsd44 (big-endian) ! 161: Map support for: root, passwd, file, error. ! 162: \end{verbatim} ! 163: The information includes the version number, release date and name ! 164: of the release. ! 165: The architecture (\see \Ref{table:arch}), operating system (\see \Ref{table:os}) ! 166: and byte ordering are also printed as they appear in the \Var{os}, ! 167: \Var{arch} and \Var{byte} variables. ! 168: ! 169: \item[\tt -w \em wait-timeout]\label{opt:wait}\mbox{}\\ ! 170: selects the interval in seconds between unmount attempts after ! 171: the initial time-to-live has expired. ! 172: This defaults to 120 seconds (two minutes). ! 173: ! 174: \item[\tt -x \em opts]\mbox{}\\ ! 175: specifies the type and verbosity of log messages. {\em opts} is ! 176: a comma separated list selected from the options in table \ref{table:x opts}. ! 177: \begin{table}[htb] ! 178: \centering ! 179: \begin{tabular}{ll} ! 180: Log option & Messages logged \\\hline ! 181: \tt fatal & Fatal errors \\ ! 182: \tt error & Non-fatal errors \\ ! 183: \tt user & Non-fatal user errors \\ ! 184: \tt warn & Recoverable errors \\ ! 185: \tt warning & Alias for \tt warn \\ ! 186: \tt info & Information messages \\ ! 187: \tt map & Mount map usage \\ ! 188: \tt stats & Additional statistics \\ ! 189: \tt all & All of the above \\ ! 190: \end{tabular} ! 191: \caption{Logging options\label{table:x opts}} ! 192: \end{table} ! 193: The default logging option, if none is given on the command line, ! 194: is {\tt -x~all,nomap,nostats} which is also reasonable for production use. ! 195: The {\tt info} messages ! 196: include details of what is mounted and unmounted and when filesystems ! 197: have timed out. The messages given by {\tt user} relate to errors ! 198: in the mount maps, so these are useful when new maps are installed. ! 199: ! 200: The options can be prefixed by the string {\tt no} to indicate ! 201: that this option should be turned off. For example, to obtain all ! 202: but {\tt info} messages the option {\tt -x~all,noinfo} would be used. ! 203: ! 204: \item[\tt -y \em yp-domain]\mbox{}\\ ! 205: selects an alternate YP domain. This is useful for debugging and ! 206: cross-domain shared mounting. ! 207: If this flag is specified, \amd\ immediately attempts to ! 208: bind to a server for this domain. ! 209: %\Amd\ refers to YP maps when it starts, unless the ``-m'' option ! 210: %is specified, and whenever required in a mount map. ! 211: ! 212: \item[\tt -C \em cluster-name]\mbox{}\\ ! 213: specifies the name of the cluster of which the local machine is a member. ! 214: The only effect is to set the variable \Var{cluster}. ! 215: The {\em cluster-name} is will usually obtained by running another command which uses ! 216: a database to map the local hostname into a cluster name. ! 217: \Var{cluster} can then be used as a selector to restrict mounting of ! 218: replicated data. ! 219: If this option is not given, \Var{cluster} has the same value as \Var{domain}. ! 220: This would be used as follows: ! 221: \begin{quote} ! 222: \tt ! 223: amd -C `clustername` ... ! 224: \end{quote} ! 225: ! 226: \item[\tt -D {\em opts}]\mbox{}\\ ! 227: controls the verbosity and coverage of the debugging trace; ! 228: {\em opts} is a comma separated list of debugging options. ! 229: The ``-D'' option is only available if \amd\ was compiled with {\tt -DDEBUG}. ! 230: The memory debugging facilities are ! 231: only available if \amd\ was compiled with {\tt -DDEBUG\_MEM} ! 232: (in addition to {\tt -DDEBUG}). ! 233: The most common options to use are {\tt -D~trace} and {\tt -D~test} ! 234: (which turns on all the useful debug options). ! 235: See the program source for a more detailed explanation of the available options. ! 236: ! 237: \end{description} ! 238: ! 239: Once the command line has been parsed, the automount points are mounted. ! 240: The mount points are created if they do not already exist, in which case they ! 241: will be removed when \amd\ exits. ! 242: Finally, \amd\ disassociates itself from its controlling terminal and ! 243: forks into the background. ! 244: ! 245: {\em Note\/}: Even if \amd\ has been built with {\tt -DDEBUG} it ! 246: will still background itself and disassociate itself from the controlling terminal. ! 247: To use a debugger it is necessary to ! 248: specify {\tt -D~nodaemon} on the command line.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.