.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "BOS_CREATE 8" .TH BOS_CREATE 8 "2021-01-27" "OpenAFS" "AFS Command Reference" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" bos_create \- Defines a new process in the BosConfig file and starts it .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBbos create\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-instance\fR\ <\fIserver\ process\ name\fR> \fB\-type\fR\ <\fIserver\ type\fR> \fB\-cmd\fR\ <\fIcommand\ lines\fR>+ [\fB\-notifier\fR\ <\fInotifier\ program\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR] .PP \&\fBbos c\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-i\fR\ <\fIserver\ process\ name\fR> \fB\-t\fR\ <\fIserver\ type\fR> \fB\-cm\fR\ <\fIcommand\ lines\fR>+ [\fB\-not\fR\ <\fInotifier\ program\fR>] [\fB\-ce\fR\ <\fIcell\ name\fR>] [\fB\-noa\fR] [\fB\-l\fR] [\fB\-h\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBbos create\fR command creates a server process entry in the \&\fI/etc/openafs/BosConfig\fR file on the server machine named by the \&\fB\-server\fR argument, sets the process's status to \f(CW\*(C`Run\*(C'\fR in the \&\fIBosConfig\fR file and in memory, and starts the process. .PP A server process's entry in the \fIBosConfig\fR file defines its name, its type, the command that initializes it, and optionally, the name of a notifier program that runs when the process terminates. .SH "CAUTIONS" .IX Header "CAUTIONS" A server process entry of type \fBfs\fR as described below will not work with a demand-attach File Server, and a server process entry of type \fBdafs\fR for a demand-attach File Server will not work with a traditional File Server. When switching from one File Server implementation to another, remove the existing server process entry and create a new one. See \&\*(L"\s-1EXAMPLES\*(R"\s0 below for an example of switching from a traditional File Server to a demand-attach File Server. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-server\fR <\fImachine name\fR>" 4 .IX Item "-server " Indicates the server machine on which to define and start the new process. Identify the machine by \s-1IP\s0 address or its host name (either fully-qualified or abbreviated unambiguously). For details, see \fBbos\fR\|(8). .IP "\fB\-instance\fR <\fIserver process name\fR>" 4 .IX Item "-instance " Names the process to define and start. Any name is acceptable, but for the sake of simplicity it is best to use the last element of the process's binary file pathname (or the instance type for \fBfs\fR and \fBdafs\fR), and to use the same name on every server machine. The conventional names, as used in all \s-1AFS\s0 documentation, are: .RS 4 .IP "buserver" 4 .IX Item "buserver" The Backup Server process. .IP "dafs" 4 .IX Item "dafs" The process that combines the Demand Attach File Server, Volume Server, Salvageserver and Salvager processes (\fBdafileserver\fR, \fBdavolserver\fR, \&\fBsalvageserver\fR, and \fBdasalvager\fR). .IP "fs" 4 .IX Item "fs" The process that combines the File Server, Volume Server, and Salvager processes (\fBfileserver\fR, \fBvolserver\fR, and \fBsalvager\fR). .IP "kaserver" 4 .IX Item "kaserver" The Authentication Server process. .IP "ptserver" 4 .IX Item "ptserver" The Protection Server process. .IP "upclientbin" 4 .IX Item "upclientbin" The client portion of the Update Server process that retrieves binary files from the \fI/usr/lib/openafs\fR directory of the binary distribution machine for this machine's CPU/operating system type. (The name of the binary is \fBupclient\fR, but the \f(CW\*(C`bin\*(C'\fR suffix distinguishes this process from \f(CW\*(C`upclientetc\*(C'\fR.) .IP "upclientetc" 4 .IX Item "upclientetc" The client portion of the Update Server process that retrieves configuration files from the \fI/etc/openafs/server\fR directory of the system control machine. (The name of the binary is \fBupclient\fR, but the \f(CW\*(C`etc\*(C'\fR suffix distinguishes this process from \f(CW\*(C`upclientbin\*(C'\fR.) .IP "upserver" 4 .IX Item "upserver" The server portion of the Update Server process. .IP "vlserver" 4 .IX Item "vlserver" The Volume Location (\s-1VL\s0) Server process. .RE .RS 4 .RE .IP "\fB\-type\fR <\fIserver type\fR>" 4 .IX Item "-type " Specifies the process's type. The acceptable values are: .RS 4 .IP "cron" 4 .IX Item "cron" Use this value for cron-type processes that the \s-1BOS\s0 Server starts only at a defined daily or weekly time, rather than whenever it detects that the process has terminated. \s-1AFS\s0 does not define any such processes by default, but makes this value available for administrator use. Define the time for command execution as part of the \fB\-cmd\fR argument to the \fBbos create\fR command. .IP "dafs" 4 .IX Item "dafs" Use this value only for the dafs process, which combines the File Server, Volume Server, Salvage Server, and Salvager processes in order to operate as a Demand Attach File Server. If one of the component processes terminates, the \s-1BOS\s0 Server shuts down and restarts the process in the appropriate order. .IP "fs" 4 .IX Item "fs" Use this value only for the fs process, which combines the File Server, Volume Server and Salvager processes. If one of the component processes terminates, the \s-1BOS\s0 Server shuts down and restarts the processes in the appropriate order. .IP "simple" 4 .IX Item "simple" Use this value for all processes listed as acceptable values to the \&\fB\-instance\fR argument, except for the \fBfs\fR and \fBdafs\fR processes. There are no interdependencies between simple processes, so the \&\s-1BOS\s0 Server can stop and start them independently as necessary. .RE .RS 4 .RE .IP "\fB\-cmd\fR <\fIcommand lines\fR>+" 4 .IX Item "-cmd +" Specifies each command the \s-1BOS\s0 Server runs to start the process. Specify no more than six commands (which can include the command's options, in which case the entire string is surrounded by double quotes); any additional commands are ignored. .Sp For a simple process, provide the complete pathname of the process's binary file on the local disk (for example, \fI/usr/lib/openafs/ptserver\fR for the Protection Server). If including any of the initialization command's options, surround the entire command in double quotes (\f(CW""\fR). The \&\fBupclient\fR process has a required argument, and the commands for all other processes take optional arguments. .Sp For the \fBfs\fR process, provide the complete pathname of the local disk binary file for each of the component processes: \fBfileserver\fR, \&\fBvolserver\fR, and \fBsalvager\fR, in that order. The standard binary directory is \fI/usr/lib/openafs\fR. If including any of an initialization command's options, surround the entire command in double quotes (\f(CW""\fR). .Sp For the \fBdafs\fR process, provide the complete pathname of the local disk binary file for each of the component processes: \fBdafileserver\fR, \&\fBdavolserver\fR, \fBsalvageserver\fR, and \fBdasalvager\fR, in that order. The standard binary directory is \fI/usr/lib/openafs\fR. If including any of an initialization command's options, surround the entire command in double quotes (\f(CW""\fR). .Sp For a cron process, provide two parameters: .RS 4 .IP "\(bu" 4 The complete local disk pathname of either an executable file or a command from one of the \s-1AFS\s0 suites (complete with all of the necessary arguments). Surround this parameter with double quotes (\f(CW""\fR) if it contains spaces. .IP "\(bu" 4 A specification of when the \s-1BOS\s0 Server executes the file or command indicated by the first parameter. There are three acceptable values: .RS 4 .IP "\(bu" 4 The string \f(CW\*(C`now\*(C'\fR, which directs the \s-1BOS\s0 Server to execute the file or command immediately and only once. It is usually simpler to issue the command directly or issue the \fBbos exec\fR command. .IP "\(bu" 4 A time of day. The \s-1BOS\s0 Server executes the file or command daily at the indicated time. Separate the hours and minutes with a colon (\fIhh:MM\fR), and use either 24\-hour format, or a value in the range from \f(CW\*(C`1:00\*(C'\fR through \f(CW\*(C`12:59\*(C'\fR with the addition of \f(CW\*(C`am\*(C'\fR or \f(CW\*(C`pm\*(C'\fR. For example, both \&\f(CW\*(C`14:30\*(C'\fR and \f(CW"2:30 pm"\fR indicate 2:30 in the afternoon. Surround this parameter with double quotes (\f(CW""\fR) if it contains a space. .IP "\(bu" 4 A day of the week and time of day, separated by a space and surrounded with double quotes (\f(CW""\fR). The \s-1BOS\s0 Server executes the file or command weekly at the indicated day and time. For the day, provide either the whole name or the first three letters, all in lowercase letters (\f(CW\*(C`sunday\*(C'\fR or \f(CW\*(C`sun\*(C'\fR, \f(CW\*(C`thursday\*(C'\fR or \f(CW\*(C`thu\*(C'\fR, and so on). For the time, use the same format as when specifying the time alone. .RE .RS 4 .RE .RE .RS 4 .RE .IP "\fB\-notifier\fR <\fInotifier program\fR>" 4 .IX Item "-notifier " Specifies the complete pathname on the local disk of a program that the \&\s-1BOS\s0 Server invokes when the process terminates. The \s-1AFS\s0 distribution does not include any notifier programs, but this argument is available for administrator use. See \*(L"\s-1NOTES\*(R"\s0. .IP "\fB\-cell\fR <\fIcell name\fR>" 4 .IX Item "-cell " Names the cell in which to run the command. Do not combine this argument with the \fB\-localauth\fR flag. For more details, see \fBbos\fR\|(8). .IP "\fB\-noauth\fR" 4 .IX Item "-noauth" Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not combine this flag with the \fB\-localauth\fR flag. For more details, see \&\fBbos\fR\|(8). .IP "\fB\-localauth\fR" 4 .IX Item "-localauth" Constructs a server ticket using a key from the local \&\fI/etc/openafs/server/KeyFile\fR or \fI/etc/openafs/server/KeyFileExt\fR file. The \fBbos\fR command interpreter presents the ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see \&\fBbos\fR\|(8). .IP "\fB\-help\fR" 4 .IX Item "-help" Prints the online help for this command. All other valid options are ignored. .SH "EXAMPLES" .IX Header "EXAMPLES" The following command defines and starts the simple process \&\f(CW\*(C`ptserver\*(C'\fR on the machine \f(CW\*(C`fs3.example.com\*(C'\fR: .PP .Vb 2 \& % bos create \-server fs3.example.com \-instance ptserver \-type simple \e \& \-cmd /usr/lib/openafs/ptserver .Ve .PP The following command defines and starts the simple process \f(CW\*(C`upclientbin\*(C'\fR on the machine \f(CW\*(C`fs4.example.com\*(C'\fR. It references \f(CW\*(C`fs1.example.com\*(C'\fR as the source for updates to binary files, checking for changes to the \&\fI/usr/lib/openafs\fR directory every 120 seconds. .PP .Vb 3 \& % bos create \-server fs4.example.com \-instance upclientbin \-type simple \e \& \-cmd "/usr/lib/openafs/upclient fs1.example.com \-clear \-t 120 \e \& /usr/lib/openafs" .Ve .PP The following command creates the \fBfs\fR process \f(CW\*(C`fs\*(C'\fR on the machine \&\f(CW\*(C`fs4.example.com\*(C'\fR (a traditional File Server with associated processes). Type the command on a single line. .PP .Vb 3 \& % bos create \-server fs4.example.com \-instance fs \-type fs \e \& \-cmd /usr/lib/openafs/fileserver /usr/lib/openafs/volserver \e \& /usr/lib/openafs/salvager .Ve .PP The following command creates the \fBdafs\fR process \f(CW\*(C`dafs\*(C'\fR on the machine \&\f(CW\*(C`fs4.example.com\*(C'\fR (a demand-attach File Server with associated processes). Type the command on a single line. .PP .Vb 4 \& % bos create \-server fs4.example.com \-instance dafs \-type dafs \e \& \-cmd /usr/lib/openafs/dafileserver \e \& /usr/lib/openafs/davolserver \e \& /usr/lib/openafs/salvageserver /usr/lib/openafs/dasalvager .Ve .PP The following command creates a cron process called \f(CW\*(C`userbackup\*(C'\fR on the machine \f(CW\*(C`fs5.example.com\*(C'\fR, so that the \s-1BOS\s0 Server issues the indicated \fBvos backupsys\fR command each day at 3:00 a.m. (the command creates a backup version of every volume in the file system whose name begins with \&\f(CW\*(C`user\*(C'\fR). Note that the issuer provides the complete pathname to the \&\fBvos\fR command, includes the \fB\-localauth\fR flag on it, and types the entire \fBbos create\fR command on one line. .PP .Vb 2 \& % bos create \-server fs5.example.com \-instance userbackup \-type cron \e \& \-cmd "/usr/lib/openafs/vos backupsys \-prefix user \-localauth" 03:00 .Ve .PP To switch from a traditional File Server to a demand-attach File Server, run: .PP .Vb 1 \& % bos status localhost \-instance fs \-long .Ve .PP to see the current \fBfileserver\fR and \fBvolserver\fR flags for an existing traditional File Server configuration. (Substitute the \f(CW\*(C`dafs\*(C'\fR instance for an existing demand-attach File Server.) Then, run: .PP .Vb 6 \& % bos stop localhost fs \-localauth \& % bos delete localhost fs \-localauth \& % bos create localhost dafs dafs \e \& "/usr/lib/openafs/dafileserver " \e \& "/usr/lib/openafs/davolserver " \e \& /usr/lib/openafs/salvageserver /usr/lib/openafs/dasalvager .Ve .PP replacing and with the flags from the previous configuration. This will stop the traditional File Server and start a demand-attach File Server. The binaries at the paths provided must already be updated to binaries built with demand-attach enabled. .SH "PRIVILEGE REQUIRED" .IX Header "PRIVILEGE REQUIRED" The issuer must be listed in the \fI/etc/openafs/server/UserList\fR file on the machine named by the \fB\-server\fR argument, or must be logged onto a server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is included. .PP The \fBbos create\fR command cannot be run against servers which are in restricted mode. .SH "NOTES" .IX Header "NOTES" If the \fB\-notifier\fR argument is included when this command is used to define and start a process, the \s-1BOS\s0 Server invokes the indicated \&\fInotifier program\fR when the process exits. The intended use of a notifier program is to inform administrators when a process exits unexpectedly, but it can be used to perform any appropriate actions. The following paragraphs describe the bnode and bnode_proc structures in which the \&\s-1BOS\s0 Server records information about the exiting process. .PP The \s-1BOS\s0 Server constructs and sends on the standard output stream one bnode and one bnode_proc structure for each exiting process associated with the notifier program. It brackets each structure with appropriate \&\f(CW\*(C`BEGIN\*(C'\fR and \f(CW\*(C`END\*(C'\fR statements (\f(CW\*(C`BEGIN bnode\*(C'\fR and \f(CW\*(C`END bnode\*(C'\fR, \f(CW\*(C`BEGIN bnode_proc\*(C'\fR and \f(CW\*(C`END bnode_proc\*(C'\fR), which immediately follow the preceding newline character with no intervening spaces or other characters. If the notifier program does not need information from a structure, it can scan ahead in the input stream for the \f(CW\*(C`END\*(C'\fR statement. .PP In general, each field in a structure is a string of \s-1ASCII\s0 text terminated by the newline character. The format of the information within a structure possibly varies slightly depending on the type of process associated with the notifier program. .PP The C code for the bnode and bnode_proc structures follows. Note that the structures sent by the \s-1BOS\s0 Server do not necessarily include all of the fields described here, because some are used only for internal record keeping. The notifier process must robustly handle the absence of expected fields, as well as the presence of unexpected fields, on the standard input stream. .PP For proper performance, the notifier program must continue processing the input stream until it detects the end-of-file (\s-1EOF\s0). The \s-1BOS\s0 Server closes the standard input file descriptor to the notifier process when it has completed delivery of the data, and it is the responsibility of the notifier process to terminate properly. .PP struct bnode contents: .PP .Vb 10 \& struct bnode { \& struct bnode *next; /* next pointer in top\-level\*(Aqs list */ \& char *name; /* instance name */ \& long nextTimeout; /* next time this guy should be awakened */ \& long period; /* period between calls */ \& long rsTime; /* time we started counting restarts */ \& long rsCount; /* count of restarts since rsTime */ \& struct bnode_type *type; /* type object */ \& struct bnode_ops *ops; /* functions implementing bnode class */ \& long procStartTime; /* last time a process was started */ \& long procStarts; /* number of process starts */ \& long lastAnyExit; /* last time a process exited for any reason */ \& long lastErrorExit; /* last time a process exited unexpectedly */ \& long errorCode; /* last exit return code */ \& long errorSignal; /* last proc terminating signal */ \& char *lastErrorName; /* name of proc that failed last */ \& short refCount; /* reference count */ \& short flags; /* random flags */ \& char goal; /* 1=running or 0=not running */ \& char fileGoal; /* same, but to be stored in file */ \&}; .Ve .PP Format of struct bnode explosion: .PP .Vb 11 \& printf("name: %s\en",tp\->name); \& printf("rsTime: %ld\en", tp\->rsTime); \& printf("rsCount: %ld\en", tp\->rsCount); \& printf("procStartTime: %ld\en", tp\->procStartTime); \& printf("procStarts: %ld\en", tp\->procStarts); \& printf("lastAnyExit: %ld\en", tp\->lastAnyExit); \& printf("lastErrorExit: %ld\en", tp\->lastErrorExit); \& printf("errorCode: %ld\en", tp\->errorCode); \& printf("errorSignal: %ld\en", tp\->errorSignal); \& printf("lastErrorName: %s\en", tp\->lastErrorName); \& printf("goal: %d\en", tp\->goal); .Ve .PP struct bnode_proc contents: .PP .Vb 10 \& struct bnode_proc { \& struct bnode_proc *next; /* next guy in top\-level\*(Aqs list */ \& struct bnode *bnode; /* bnode creating this process */ \& char *comLine; /* command line used to start this process */ \& char *coreName; /* optional core file component name */ \& long pid; /* pid if created */ \& long lastExit; /* last termination code */ \& long lastSignal; /* last signal that killed this guy */ \& long flags; /* flags giving process state */ \&}; .Ve .PP Format of struct bnode_proc explosion: .PP .Vb 5 \& printf("comLine: %s\en", tp\->comLine); \& printf("coreName: %s\en", tp\->coreName); \& printf("pid: %ld\en", tp\->pid); \& printf("lastExit: %ld\en", tp\->lastExit); \& printf("lastSignal: %ld\en", tp\->lastSignal); .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBBosConfig\fR\|(5), \&\fBKeyFile\fR\|(5), \&\fBKeyFileExt\fR\|(5), \&\fBUserList\fR\|(5), \&\fBbos\fR\|(8), \&\fBbuserver\fR\|(8), \&\fBdafileserver\fR\|(8), \&\fBdasalvager\fR\|(8), \&\fBdavolserver\fR\|(8), \&\fBfileserver\fR\|(8), \&\fBkaserver\fR\|(8), \&\fBptserver\fR\|(8), \&\fBsalvager\fR\|(8), \&\fBsalvageserver\fR\|(8), \&\fBupclient\fR\|(8), \&\fBupserver\fR\|(8), \&\fBvlserver\fR\|(8), \&\fBvolserver\fR\|(8), \&\fBvos_backupsys\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" \&\s-1IBM\s0 Corporation 2000. All Rights Reserved. .PP This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.