c78eb959ad6a7e79d42bb5039985c640bd68303f
[openafs.git] / doc / xml / QuickStartUnix / auqbg007.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <chapter id="HDRWQ133">
3   <title>Installing Additional Client Machines</title>
4
5   <para>
6   <indexterm>
7     <primary>instructions</primary>
8
9     <secondary>client machine</secondary>
10   </indexterm>
11
12   <indexterm>
13     <primary>installing</primary>
14
15     <secondary>client functionality</secondary>
16
17     <tertiary>client machine</tertiary>
18   </indexterm>
19
20   This chapter describes how to install AFS client machines after you have installed the first AFS machine. Some parts of the
21   installation differ depending on whether or not the new client is of the same AFS system type (uses the same AFS binaries) as a
22   previously installed client machine. <indexterm>
23       <primary>overview</primary>
24
25       <secondary>installing client machine</secondary>
26     </indexterm></para>
27
28   <sect1 id="Header_116">
29     <title>Summary of Procedures</title>
30
31     <orderedlist>
32       <listitem>
33         <para>Incorporate AFS into the machine's kernel</para>
34       </listitem>
35
36       <listitem>
37         <para>Define the machine's cell membership</para>
38       </listitem>
39
40       <listitem>
41         <para>Define cache location and size</para>
42       </listitem>
43
44       <listitem>
45         <para>Create the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file, which determines which foreign cells the
46         client can access in addition to the local cell</para>
47       </listitem>
48
49       <listitem>
50         <para>Create the <emphasis role="bold">/afs</emphasis> directory and start the Cache Manager</para>
51       </listitem>
52
53       <listitem>
54         <para>Create and mount volumes for housing AFS client binaries (necessary only for clients of a new system type)</para>
55       </listitem>
56
57       <listitem>
58         <para>Create a link from the local <emphasis role="bold">/usr/afsws</emphasis> directory to the AFS directory housing the
59         AFS client binaries</para>
60       </listitem>
61
62       <listitem>
63         <para>Modify the machine's authentication system to enable AFS users to obtain tokens at login</para>
64       </listitem>
65     </orderedlist>
66
67     <indexterm>
68       <primary>Binary Distribution</primary>
69
70       <secondary>creating /tmp/afsdist directory</secondary>
71
72       <tertiary>client machine</tertiary>
73     </indexterm>
74
75     <indexterm>
76       <primary>afsdist directory</primary>
77
78       <secondary>client machine</secondary>
79     </indexterm>
80
81     <indexterm>
82       <primary>client machine</primary>
83
84       <secondary>/tmp/afsdist directory</secondary>
85     </indexterm>
86
87     <indexterm>
88       <primary>creating</primary>
89
90       <secondary>/tmp/afsdist directory</secondary>
91
92       <tertiary>client machine</tertiary>
93     </indexterm>
94
95     <indexterm>
96       <primary>usr/vice/etc directory</primary>
97
98       <secondary>client machine</secondary>
99     </indexterm>
100
101     <indexterm>
102       <primary>client machine</primary>
103
104       <secondary>/usr/vice/etc directory</secondary>
105     </indexterm>
106
107     <indexterm>
108       <primary>creating</primary>
109
110       <secondary>/usr/vice/etc directory</secondary>
111
112       <tertiary>client machine</tertiary>
113     </indexterm>
114   </sect1>
115
116   <sect1 id="HDRWQ134">
117     <title>Creating AFS Directories on the Local Disk</title>
118
119     <para>If you are not installing from a packaged distribution, create the <emphasis role="bold">/usr/vice/etc</emphasis> directory on the local disk, to house client binaries and
120     configuration files. Subsequent instructions copy files from the OpenAFS binary distribution into them. Create the <emphasis
121     role="bold">/tmp/afsdist</emphasis> directory as a location to uncompress this distribution, if it does not already exist.</para>
122
123     <programlisting>
124    # <emphasis role="bold">mkdir /usr/vice</emphasis>
125    # <emphasis role="bold">mkdir /usr/vice/etc</emphasis>
126    # <emphasis role="bold">mkdir /tmp/afsdist</emphasis>
127 </programlisting>
128   </sect1>
129
130   <sect1 id="HDRWQ135">
131     <title>Performing Platform-Specific Procedures</title>
132
133     <para>Every AFS client machine's kernel must incorporate AFS modifications. Some system types use a dynamic kernel loader
134     program, whereas on other system types you build AFS modifications into a static kernel. Some system types support both
135     methods.</para>
136
137     <para>Also modify the machine's authentication system so that users obtain an AFS token as they log into the local file system.
138     Using AFS is simpler and more convenient for your users if you make the modifications on all client machines. Otherwise, users
139     must perform a two or three step login procedure (login to the local system, obtain Kerberos credentials, and then issue the <emphasis role="bold">klog</emphasis>
140     command). For further discussion of AFS authentication, see the chapter in the <emphasis>OpenAFS Administration Guide</emphasis>
141     about cell configuration and administration issues.</para>
142
143     <para>For convenience, the following sections group the two procedures by system type. Proceed to the appropriate section.
144     <itemizedlist>
145         <listitem>
146           <para><link linkend="HDRWQ136">Getting Started on AIX Systems</link></para>
147         </listitem>
148
149         <listitem>
150           <para><link linkend="HDRWQ138">Getting Started on HP-UX Systems</link></para>
151         </listitem>
152
153         <listitem>
154           <para><link linkend="HDRWQ139">Getting Started on IRIX Systems</link></para>
155         </listitem>
156
157         <listitem>
158           <para><link linkend="HDRWQ143">Getting Started on Linux Systems</link></para>
159         </listitem>
160
161         <listitem>
162           <para><link linkend="HDRWQ144">Getting Started on Solaris Systems</link></para>
163         </listitem>
164       </itemizedlist></para>
165
166     <indexterm>
167       <primary>incorporating AFS kernel extensions</primary>
168
169       <secondary>client machine</secondary>
170
171       <tertiary>AIX</tertiary>
172     </indexterm>
173
174     <indexterm>
175       <primary>AFS kernel extensions</primary>
176
177       <secondary>on client machine</secondary>
178
179       <tertiary>AIX</tertiary>
180     </indexterm>
181
182     <indexterm>
183       <primary>client machine</primary>
184
185       <secondary>AFS kernel extensions</secondary>
186
187       <tertiary>on AIX</tertiary>
188     </indexterm>
189
190     <indexterm>
191       <primary>AIX</primary>
192
193       <secondary>AFS kernel extensions</secondary>
194
195       <tertiary>on client machine</tertiary>
196     </indexterm>
197
198     <indexterm>
199       <primary>enabling AFS login</primary>
200
201       <secondary>client machine</secondary>
202
203       <tertiary>AIX</tertiary>
204     </indexterm>
205
206     <indexterm>
207       <primary>AFS login</primary>
208
209       <secondary>on client machine</secondary>
210
211       <tertiary>AIX</tertiary>
212     </indexterm>
213
214     <indexterm>
215       <primary>client machine</primary>
216
217       <secondary>AFS login</secondary>
218
219       <tertiary>on AIX</tertiary>
220     </indexterm>
221
222     <indexterm>
223       <primary>AIX</primary>
224
225       <secondary>AFS login</secondary>
226
227       <tertiary>on client machine</tertiary>
228     </indexterm>
229
230     <indexterm>
231       <primary>secondary authentication system (AIX)</primary>
232
233       <secondary>client machine</secondary>
234     </indexterm>
235   </sect1>
236
237   <sect1 id="HDRWQ136">
238     <title>Getting Started on AIX Systems</title>
239
240     <para>In this section you load AFS into the AIX kernel. Then incorporate AFS modifications into the machine's secondary
241     authentication system, if you wish to enable AFS login.</para>
242
243     <sect2 id="Header_120">
244       <title>Loading AFS into the AIX Kernel</title>
245
246       <para>The AIX kernel extension facility is the dynamic kernel loader provided by IBM Corporation. AIX does not support
247       incorporation of AFS modifications during a kernel build.</para>
248
249       <para>For AFS to function correctly, the kernel extension facility must run each time the machine reboots, so the AFS
250       initialization script (included in the AFS distribution) invokes it automatically. In this section you copy the script to the
251       conventional location and edit it to select the appropriate options depending on whether NFS is also to run.</para>
252
253       <para>After editing the script, you run it to incorporate AFS into the kernel. In a later section you verify that the script
254       correctly initializes the Cache Manager, then configure the AIX <emphasis role="bold">inittab</emphasis> file so that the
255       script runs automatically at reboot. <orderedlist>
256           <listitem>
257             <para>Unpack the distribution tarball. The examples below assume 
258             that you have unpacked the files into the 
259             <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you 
260             pick a different location, substitute this in all of the following 
261             examples. Once you have unpacked the distribution, 
262             change directory as indicated.
263 <programlisting>
264    # <emphasis role="bold">cd /tmp/afsdist/rs_aix42/dest/root.client/usr/vice/etc</emphasis>
265 </programlisting></para>
266           </listitem>
267           <listitem>
268             <para>Copy the AFS kernel library files to the local <emphasis role="bold">/usr/vice/etc/dkload</emphasis> directory,
269             and the AFS initialization script to the <emphasis role="bold">/etc</emphasis> directory. <programlisting>
270    # <emphasis role="bold">cp -rp  dkload  /usr/vice/etc</emphasis>
271    # <emphasis role="bold">cp -p  rc.afs  /etc/rc.afs</emphasis>
272 </programlisting></para>
273           </listitem>
274
275           <listitem>
276             <para>Edit the <emphasis role="bold">/etc/rc.afs</emphasis> script, setting the <computeroutput>NFS</computeroutput>
277             variable as indicated.</para>
278
279             <para>If the machine is not to function as an NFS/AFS Translator, set the <computeroutput>NFS</computeroutput> variable
280             as follows.</para>
281
282             <programlisting>
283    NFS=$NFS_NONE
284 </programlisting>
285
286             <para>If the machine is to function as an NFS/AFS Translator and is running AIX 4.2.1 or higher, set the
287             <computeroutput>NFS</computeroutput> variable as follows. Note that NFS must already be loaded into the kernel, which
288             happens automatically on systems running AIX 4.1.1 and later, as long as the file <emphasis
289             role="bold">/etc/exports</emphasis> exists.</para>
290
291             <programlisting>
292    NFS=$NFS_IAUTH
293 </programlisting>
294           </listitem>
295
296           <listitem>
297             <para>Invoke the <emphasis role="bold">/etc/rc.afs</emphasis> script to load AFS modifications into the kernel. You can
298             ignore any error messages about the inability to start the BOS Server or the Cache Manager or AFS client.
299             <programlisting>
300    # <emphasis role="bold">/etc/rc.afs</emphasis>
301 </programlisting></para>
302           </listitem>
303         </orderedlist></para>
304     </sect2>
305
306     <sect2 id="Header_121">
307       <title>Enabling AFS Login on AIX Systems</title>
308
309       <para>In modern AFS installations, you should be using Kerberos v5
310       for user login, and obtaining AFS tokens following this authentication
311       step.</para>
312       
313       <para>There are currently no instructions available on configuring AIX to
314       automatically obtain AFS tokens at login. Following login, users can 
315       obtain tokens by running the <emphasis role="bold">aklog</emphasis> 
316       command</para>
317
318       <para>Sites which still require <emphasis role="bold">kaserver</emphasis>
319       or external Kerberos v4 authentication should consult 
320       <link linkend="KAS012">Enabling kaserver based AFS Login on AIX Systems</link>
321       for details of how to enable AIX login.</para>
322
323       <para><orderedlist>
324           <listitem>
325             <para>Proceed to <link linkend="HDRWQ145">Loading and Creating Client Files</link>.</para>
326           </listitem>
327         </orderedlist></para>
328
329       <indexterm>
330         <primary>incorporating AFS kernel extensions</primary>
331
332         <secondary>client machine</secondary>
333
334         <tertiary>HP-UX</tertiary>
335       </indexterm>
336
337       <indexterm>
338         <primary>AFS kernel extensions</primary>
339
340         <secondary>on client machine</secondary>
341
342         <tertiary>HP-UX</tertiary>
343       </indexterm>
344
345       <indexterm>
346         <primary>client machine</primary>
347
348         <secondary>AFS kernel extensions</secondary>
349
350         <tertiary>on HP-UX</tertiary>
351       </indexterm>
352
353       <indexterm>
354         <primary>HP-UX</primary>
355
356         <secondary>AFS-modified kernel</secondary>
357
358         <tertiary>on client machine</tertiary>
359       </indexterm>
360
361       <indexterm>
362         <primary>enabling AFS login</primary>
363
364         <secondary>client machine</secondary>
365
366         <tertiary>HP-UX</tertiary>
367       </indexterm>
368
369       <indexterm>
370         <primary>AFS login</primary>
371
372         <secondary>on client machine</secondary>
373
374         <tertiary>HP-UX</tertiary>
375       </indexterm>
376
377       <indexterm>
378         <primary>client machine</primary>
379
380         <secondary>AFS login</secondary>
381
382         <tertiary>on HP-UX</tertiary>
383       </indexterm>
384
385       <indexterm>
386         <primary>HP-UX</primary>
387
388         <secondary>AFS login</secondary>
389
390         <tertiary>on client machine</tertiary>
391       </indexterm>
392
393       <indexterm>
394         <primary>PAM</primary>
395
396         <secondary>on HP-UX</secondary>
397
398         <tertiary>client machine</tertiary>
399       </indexterm>
400     </sect2>
401   </sect1>
402
403   <sect1 id="HDRWQ138">
404     <title>Getting Started on HP-UX Systems</title>
405
406     <para>In this section you build AFS into the HP-UX kernel. Then incorporate AFS modifications into the machine's Pluggable
407     Authentication Module (PAM) system, if you wish to enable AFS login.</para>
408
409     <sect2 id="Header_126">
410       <title>Building AFS into the HP-UX Kernel</title>
411
412       <para>On HP-UX systems, you must build AFS modifications into a new static kernel; HP-UX does not support dynamic loading. If
413       the machine's hardware and software configuration exactly matches another HP-UX machine on which AFS is already built into the
414       kernel, you can choose to copy the kernel from that machine to this one. In general, however, it is better to build AFS
415       modifications into the kernel on each machine according to the following instructions. <orderedlist>
416           <listitem>
417             <para>Move the existing kernel-related files to a safe location. <programlisting>
418    # <emphasis role="bold">cp /stand/vmunix /stand/vmunix.noafs</emphasis>
419    # <emphasis role="bold">cp /stand/system /stand/system.noafs</emphasis>
420 </programlisting></para>
421           </listitem>
422
423           <listitem>
424             <para>Unpack the OpenAFS HP-UX distribution tarball. The examples 
425             below assume that you have unpacked the files into the 
426             <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you 
427             pick a different location, substitute this in all of the following 
428             examples. Once you have unpacked the distribution, change directory 
429             as indicated.
430             <programlisting>
431    # <emphasis role="bold">cd /tmp/afsdist/hp_ux110/dest/root.client</emphasis>
432 </programlisting></para>
433           </listitem>
434
435           <listitem>
436             <para>Copy the AFS initialization file to the local directory for initialization files (by convention, <emphasis
437             role="bold">/sbin/init.d</emphasis> on HP-UX machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
438             extension as you copy the file. <programlisting>
439    # <emphasis role="bold">cp usr/vice/etc/afs.rc  /sbin/init.d/afs</emphasis>
440 </programlisting></para>
441           </listitem>
442
443           <listitem>
444             <para>Copy the file <emphasis role="bold">afs.driver</emphasis> to the local <emphasis
445             role="bold">/usr/conf/master.d</emphasis> directory, changing its name to <emphasis role="bold">afs</emphasis> as you
446             do. <programlisting>
447    # <emphasis role="bold">cp  usr/vice/etc/afs.driver  /usr/conf/master.d/afs</emphasis>
448 </programlisting></para>
449           </listitem>
450
451           <listitem>
452             <para>Copy the AFS kernel module to the local <emphasis role="bold">/usr/conf/lib</emphasis> directory.</para>
453
454             <para>If the machine's kernel supports NFS server functionality:</para>
455
456             <programlisting>
457    # <emphasis role="bold">cp bin/libafs.a /usr/conf/lib</emphasis>   
458 </programlisting>
459
460             <para>If the machine's kernel does not support NFS server functionality, change the file's name as you copy it:</para>
461
462             <programlisting>
463    # <emphasis role="bold">cp bin/libafs.nonfs.a /usr/conf/lib/libafs.a</emphasis>
464 </programlisting>
465           </listitem>
466
467           <listitem>
468             <para>Incorporate the AFS driver into the kernel, either using the <emphasis role="bold">SAM</emphasis> program or a
469             series of individual commands. <itemizedlist>
470                 <listitem>
471                   <para>To use the <emphasis role="bold">SAM</emphasis> program: <orderedlist>
472                       <listitem>
473                         <para>Invoke the <emphasis role="bold">SAM</emphasis> program, specifying the hostname of the local machine
474                         as <replaceable>local_hostname</replaceable>. The <emphasis role="bold">SAM</emphasis> graphical user
475                         interface pops up. <programlisting>
476    # <emphasis role="bold">sam -display</emphasis> <replaceable>local_hostname</replaceable><emphasis role="bold">:0</emphasis> 
477 </programlisting></para>
478                       </listitem>
479
480                       <listitem>
481                         <para>Choose the <emphasis role="bold">Kernel Configuration</emphasis> icon, then the <emphasis
482                         role="bold">Drivers</emphasis> icon. From the list of drivers, select <emphasis
483                         role="bold">afs</emphasis>.</para>
484                       </listitem>
485
486                       <listitem>
487                         <para>Open the pull-down <emphasis role="bold">Actions</emphasis> menu and choose the <emphasis
488                         role="bold">Add Driver to Kernel</emphasis> option.</para>
489                       </listitem>
490
491                       <listitem>
492                         <para>Open the <emphasis role="bold">Actions</emphasis> menu again and choose the <emphasis
493                         role="bold">Create a New Kernel</emphasis> option.</para>
494                       </listitem>
495
496                       <listitem>
497                         <para>Confirm your choices by choosing <emphasis role="bold">Yes</emphasis> and <emphasis
498                         role="bold">OK</emphasis> when prompted by subsequent pop-up windows. The <emphasis
499                         role="bold">SAM</emphasis> program builds the kernel and reboots the system.</para>
500                       </listitem>
501
502                       <listitem>
503                         <para>Login again as the superuser <emphasis role="bold">root</emphasis>. <programlisting>
504    login: <emphasis role="bold">root</emphasis>
505    Password: <replaceable>root_password</replaceable>
506 </programlisting></para>
507                       </listitem>
508                     </orderedlist></para>
509                 </listitem>
510
511                 <listitem>
512                   <para>To use individual commands: <orderedlist>
513                       <listitem>
514                         <para>Edit the file <emphasis role="bold">/stand/system</emphasis>, adding an entry for <emphasis
515                         role="bold">afs</emphasis> to the <computeroutput>Subsystems</computeroutput> section.</para>
516                       </listitem>
517
518                       <listitem>
519                         <para>Change to the <emphasis role="bold">/stand/build</emphasis> directory and issue the <emphasis
520                         role="bold">mk_kernel</emphasis> command to build the kernel. <programlisting>
521    # <emphasis role="bold">cd /stand/build</emphasis>
522    # <emphasis role="bold">mk_kernel</emphasis>
523 </programlisting></para>
524                       </listitem>
525
526                       <listitem>
527                         <para>Move the new kernel to the standard location (<emphasis role="bold">/stand/vmunix</emphasis>), reboot
528                         the machine to start using it, and login again as the superuser <emphasis role="bold">root</emphasis>.
529                         <programlisting>
530    # <emphasis role="bold">mv /stand/build/vmunix_test /stand/vmunix</emphasis>
531    # <emphasis role="bold">cd /</emphasis>
532    # <emphasis role="bold">shutdown -r now</emphasis>             
533    login: <emphasis role="bold">root</emphasis>
534    Password: <replaceable>root_password</replaceable>
535 </programlisting></para>
536                       </listitem>
537                     </orderedlist></para>
538                 </listitem>
539               </itemizedlist></para>
540           </listitem>
541         </orderedlist></para>
542     </sect2>
543
544     <sect2 id="Header_127">
545       <title>Enabling AFS Login on HP-UX Systems</title>
546
547       <para>At this point you incorporate AFS into the operating system's Pluggable Authentication Module (PAM) scheme. PAM
548       integrates all authentication mechanisms on the machine, including login, to provide the security infrastructure for
549       authenticated access to and from the machine.</para>
550
551       <para>In modern AFS installations, you should be using Kerberos v5
552       for user login, and obtaining AFS tokens subsequent to this authentication
553       step. OpenAFS does not currently distribute a PAM module allowing AFS 
554       tokens to be automatically gained at login. Whilst there are a number of
555       third party modules providing this functionality, it is not know if these 
556       have been tested with HP/UX.</para>
557       
558       <para>Following login, users can 
559       obtain tokens by running the <emphasis role="bold">aklog</emphasis> 
560       command</para>
561
562       <para>If you are at a site which still requires 
563       <emphasis role="bold">kaserver</emphasis> or external Kerberos v4 based 
564       authentication, please consult
565       <link linkend="KAS014">Enabling kaserver based AFS Login on HP-UX systems</link>
566       for further installation instructions.
567         <orderedlist>
568           <listitem>
569             <para>Proceed to <link linkend="HDRWQ145">Loading and Creating Client Files</link>.</para>
570           </listitem>
571         </orderedlist>
572       </para>
573
574       <indexterm>
575         <primary>incorporating AFS kernel extensions</primary>
576
577         <secondary>client machine</secondary>
578
579         <tertiary>IRIX</tertiary>
580       </indexterm>
581
582       <indexterm>
583         <primary>AFS kernel extensions</primary>
584
585         <secondary>on client machine</secondary>
586
587         <tertiary>IRIX</tertiary>
588       </indexterm>
589
590       <indexterm>
591         <primary>client machine</primary>
592
593         <secondary>AFS kernel extensions</secondary>
594
595         <tertiary>on IRIX</tertiary>
596       </indexterm>
597     </sect2>
598   </sect1>
599
600   <sect1 id="HDRWQ139">
601     <title>Getting Started on IRIX Systems</title>
602
603     <para>In this section you incorporate AFS into the IRIX kernel, choosing one of two methods: <itemizedlist>
604         <listitem>
605           <para>Dynamic loading using the <emphasis role="bold">ml</emphasis> program distributed by Silicon Graphics, Incorporated
606           (SGI).</para>
607         </listitem>
608
609         <listitem>
610           <para>Building a new static kernel.</para>
611         </listitem>
612       </itemizedlist></para>
613
614     <para>Then see <link linkend="HDRWQ142">Enabling AFS Login on IRIX Systems</link> to read about integrated AFS login on IRIX
615     systems.</para>
616
617     <para>In preparation for either dynamic loading or kernel building, perform the following procedures: <orderedlist>
618         <listitem>
619           <para>Unpack the OpenAFS IRIX distribution tarball. The examples
620           below assume that you have unpacked the files into the 
621           <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you
622           pick a different location, substitue this in all of the following
623           examples. Once you have unpacked the distribution, change directory
624           as indicated.
625 <programlisting>
626    # <emphasis role="bold">cd  /tmp/afsdist/sgi_65/dest/root.client</emphasis>
627 </programlisting></para>
628         </listitem>
629         <listitem>
630           <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
631           role="bold">/etc/init.d</emphasis> on IRIX machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
632           extension as you copy the script. <programlisting>
633    # <emphasis role="bold">cp -p   usr/vice/etc/afs.rc  /etc/init.d/afs</emphasis>
634 </programlisting></para>
635         </listitem>
636
637         <listitem>
638           <para>Issue the <emphasis role="bold">uname -m</emphasis> command to determine the machine's CPU board type. The <emphasis
639           role="bold">IP</emphasis><replaceable>xx</replaceable> value in the output must match one of the supported CPU board types
640           listed in the <emphasis>OpenAFS Release Notes</emphasis> for the current version of AFS. <programlisting>
641    # <emphasis role="bold">uname -m</emphasis>
642 </programlisting></para>
643         </listitem>
644
645         <listitem>
646           <para>Proceed to either <link linkend="HDRWQ140">Loading AFS into the IRIX Kernel</link> or <link
647           linkend="HDRWQ141">Building AFS into the IRIX Kernel</link>.</para>
648         </listitem>
649       </orderedlist></para>
650
651     <indexterm>
652       <primary>IRIX</primary>
653
654       <secondary>AFS kernel extensions</secondary>
655
656       <tertiary>on client machine</tertiary>
657     </indexterm>
658
659     <indexterm>
660       <primary>afsml variable (IRIX)</primary>
661
662       <secondary>client machine</secondary>
663     </indexterm>
664
665     <indexterm>
666       <primary>variables</primary>
667
668       <secondary>afsml (IRIX)</secondary>
669
670       <tertiary>client machine</tertiary>
671     </indexterm>
672
673     <indexterm>
674       <primary>IRIX</primary>
675
676       <secondary>afsml variable</secondary>
677
678       <tertiary>client machine</tertiary>
679     </indexterm>
680
681     <indexterm>
682       <primary>afsxnfs variable (IRIX)</primary>
683
684       <secondary>client machine</secondary>
685     </indexterm>
686
687     <indexterm>
688       <primary>variables</primary>
689
690       <secondary>afsxnfs (IRIX)</secondary>
691
692       <tertiary>client machine</tertiary>
693     </indexterm>
694
695     <indexterm>
696       <primary>IRIX</primary>
697
698       <secondary>afsxnfs variable</secondary>
699
700       <tertiary>client machine</tertiary>
701     </indexterm>
702
703     <sect2 id="HDRWQ140">
704       <title>Loading AFS into the IRIX Kernel</title>
705
706       <para>The <emphasis role="bold">ml</emphasis> program is the dynamic kernel loader provided by SGI for IRIX systems. If you
707       use it rather than building AFS modifications into a static kernel, then for AFS to function correctly the <emphasis
708       role="bold">ml</emphasis> program must run each time the machine reboots. Therefore, the AFS initialization script (included
709       in the OpenAFS Binary Distribution) invokes it automatically when the <emphasis role="bold">afsml</emphasis> configuration variable is
710       activated. In this section you activate the variable and run the script.</para>
711
712       <para>In a later section you verify that the script correctly initializes the Cache Manager, then create the links that
713       incorporate AFS into the IRIX startup and shutdown sequence. <orderedlist>
714           <listitem>
715             <para>Create the local <emphasis role="bold">/usr/vice/etc/sgiload</emphasis> directory to house the AFS kernel library
716             file. <programlisting>
717    # <emphasis role="bold">mkdir /usr/vice/etc/sgiload</emphasis>
718 </programlisting></para>
719           </listitem>
720
721           <listitem>
722             <para>Copy the appropriate AFS kernel library file to the <emphasis role="bold">/usr/vice/etc/sgiload</emphasis>
723             directory. The <emphasis role="bold">IP</emphasis><replaceable>xx</replaceable> portion of the library file name must
724             match the value previously returned by the <emphasis role="bold">uname -m</emphasis> command. Also choose the file
725             appropriate to whether the machine's kernel supports NFS server functionality (NFS must be supported for the machine to
726             act as an NFS/AFS Translator). Single- and multiprocessor machines use the same library file.</para>
727
728             <para>(You can choose to copy all of the kernel library files into the <emphasis
729             role="bold">/usr/vice/etc/sgiload</emphasis> directory, but they require a significant amount of space.)</para>
730
731             <para>If the machine's kernel supports NFS server functionality:</para>
732
733             <programlisting>
734    # <emphasis role="bold">cp -p  usr/vice/etc/sgiload/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.o  /usr/vice/etc/sgiload</emphasis>   
735 </programlisting>
736
737             <para>If the machine's kernel does not support NFS server functionality:</para>
738
739             <programlisting>
740    # <emphasis role="bold">cp -p  usr/vice/etc/sgiload/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.nonfs.o</emphasis>   \
741                    <emphasis role="bold">/usr/vice/etc/sgiload</emphasis>
742 </programlisting>
743           </listitem>
744
745           <listitem>
746             <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
747             role="bold">afsml</emphasis> configuration variable. <programlisting>
748    # <emphasis role="bold">/etc/chkconfig -f afsml on</emphasis>   
749 </programlisting></para>
750
751             <para>If the machine is to function as an NFS/AFS Translator and the kernel supports NFS server functionality, activate
752             the <emphasis role="bold">afsxnfs</emphasis> variable.</para>
753
754             <programlisting>
755    # <emphasis role="bold">/etc/chkconfig -f afsxnfs on</emphasis>
756 </programlisting>
757           </listitem>
758
759           <listitem>
760             <para>Run the <emphasis role="bold">/etc/init.d/afs</emphasis> script to load AFS extensions into the kernel. The script
761             invokes the <emphasis role="bold">ml</emphasis> command, automatically determining which kernel library file to use
762             based on this machine's CPU type and the activation state of the <emphasis role="bold">afsxnfs</emphasis>
763             variable.</para>
764
765             <para>You can ignore any error messages about the inability to start the BOS Server or the Cache Manager or AFS
766             client.</para>
767
768             <programlisting>
769    # <emphasis role="bold">/etc/init.d/afs start</emphasis>
770 </programlisting>
771           </listitem>
772
773           <listitem>
774             <para>Proceed to <link linkend="HDRWQ142">Enabling AFS Login on IRIX Systems</link>.</para>
775           </listitem>
776         </orderedlist></para>
777
778       <indexterm>
779         <primary>IRIX</primary>
780
781         <secondary>AFS-modified kernel</secondary>
782
783         <tertiary>on client machine</tertiary>
784       </indexterm>
785     </sect2>
786
787     <sect2 id="HDRWQ141">
788       <title>Building AFS into the IRIX Kernel</title>
789
790       <para>If you prefer to build a kernel, and the machine's hardware and software configuration exactly matches another IRIX
791       machine on which AFS is already built into the kernel, you can choose to copy the kernel from that machine to this one. In
792       general, however, it is better to build AFS modifications into the kernel on each machine according to the following
793       instructions. <orderedlist>
794           <listitem>
795             <para>Copy the kernel initialization file <emphasis role="bold">afs.sm</emphasis> to the local <emphasis
796             role="bold">/var/sysgen/system</emphasis> directory, and the kernel master file <emphasis role="bold">afs</emphasis> to
797             the local <emphasis role="bold">/var/sysgen/master.d</emphasis> directory. <programlisting>
798    # <emphasis role="bold">cp -p  bin/afs.sm  /var/sysgen/system</emphasis>
799    # <emphasis role="bold">cp -p  bin/afs  /var/sysgen/master.d</emphasis>
800 </programlisting></para>
801           </listitem>
802
803           <listitem>
804             <para>Copy the appropriate AFS kernel library file to the local file <emphasis
805             role="bold">/var/sysgen/boot/afs.a</emphasis>; the <emphasis role="bold">IP</emphasis><replaceable>xx</replaceable>
806             portion of the library file name must match the value previously returned by the <emphasis role="bold">uname
807             -m</emphasis> command. Also choose the file appropriate to whether the machine's kernel supports NFS server
808             functionality (NFS must be supported for the machine to act as an NFS/AFS Translator). Single- and multiprocessor
809             machines use the same library file.</para>
810
811             <para>If the machine's kernel supports NFS server functionality:</para>
812
813             <programlisting>
814    # <emphasis role="bold">cp -p   bin/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.a   /var/sysgen/boot/afs.a</emphasis>   
815 </programlisting>
816
817             <para>If the machine's kernel does not support NFS server functionality:</para>
818
819             <programlisting>
820    # <emphasis role="bold">cp -p  bin/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.nonfs.a  /var/sysgen/boot/afs.a</emphasis>
821 </programlisting>
822           </listitem>
823
824           <listitem>
825             <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to deactivate the <emphasis
826             role="bold">afsml</emphasis> configuration variable. <programlisting>
827    # <emphasis role="bold">/etc/chkconfig -f afsml off</emphasis>   
828 </programlisting></para>
829
830             <para>If the machine is to function as an NFS/AFS Translator and the kernel supports NFS server functionality, activate
831             the <emphasis role="bold">afsxnfs</emphasis> variable.</para>
832
833             <programlisting>
834    # <emphasis role="bold">/etc/chkconfig -f afsxnfs on</emphasis>
835 </programlisting>
836           </listitem>
837
838           <listitem>
839             <para>Copy the existing kernel file, <emphasis role="bold">/unix</emphasis>, to a safe location. Compile the new kernel,
840             which is created in the file <emphasis role="bold">/unix.install</emphasis>. It overwrites the existing <emphasis
841             role="bold">/unix</emphasis> file when the machine reboots in the next step. <programlisting>
842    # <emphasis role="bold">cp /unix /unix_noafs</emphasis>
843    # <emphasis role="bold">autoconfig</emphasis>
844 </programlisting></para>
845           </listitem>
846
847           <listitem>
848             <para>Reboot the machine to start using the new kernel, and login again as the superuser <emphasis
849             role="bold">root</emphasis>. <programlisting>
850    # <emphasis role="bold">cd /</emphasis>
851    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
852    login: <emphasis role="bold">root</emphasis>
853    Password: <replaceable>root_password</replaceable>
854 </programlisting></para>
855           </listitem>
856
857           <listitem>
858             <para>Proceed to <link linkend="HDRWQ142">Enabling AFS Login on IRIX Systems</link>.</para>
859           </listitem>
860         </orderedlist></para>
861
862       <indexterm>
863         <primary>enabling AFS login</primary>
864
865         <secondary>client machine</secondary>
866
867         <tertiary>IRIX</tertiary>
868       </indexterm>
869
870       <indexterm>
871         <primary>AFS login</primary>
872
873         <secondary>on client machine</secondary>
874
875         <tertiary>IRIX</tertiary>
876       </indexterm>
877
878       <indexterm>
879         <primary>client machine</primary>
880
881         <secondary>AFS login</secondary>
882
883         <tertiary>on IRIX</tertiary>
884       </indexterm>
885     </sect2>
886
887     <sect2 id="HDRWQ142">
888       <title>Enabling AFS Login on IRIX Systems</title>
889
890       <para>Whilst the standard IRIX command-line 
891       <emphasis role="bold">login</emphasis> program and the 
892       graphical <emphasis role="bold">xdm</emphasis> login program both have
893       the ability to grant AFS tokens, this ability relies upon the deprecated
894       kaserver authentication system. As this system is not recommended for
895       new installations, this is not documented here.</para>
896         
897       <para>Users who have been successfully authenticated via Kerberos 5
898       authentication may obtain AFS tokens following login by running the
899       <emphasis role="bold">aklog</emphasis> command.</para>
900
901       <para>If you are at a site which still requires 
902       <emphasis role="bold">kaserver</emphasis> or external Kerberos v4 based 
903       authentication, please consult 
904       <link linkend="KAS014">Enabling kaserver based AFS Login on Linux Systems</link>
905       for further installation instructions.</para>
906       
907       <para>Proceed to <link linkend="HDRWQ145">Loading and Creating Client Files</link>.
908       <indexterm>
909           <primary>incorporating AFS kernel extensions</primary>
910
911           <secondary>client machine</secondary>
912
913           <tertiary>Linux</tertiary>
914         </indexterm> <indexterm>
915           <primary>AFS kernel extensions</primary>
916
917           <secondary>on client machine</secondary>
918
919           <tertiary>Linux</tertiary>
920         </indexterm> <indexterm>
921           <primary>client machine</primary>
922
923           <secondary>AFS kernel extensions</secondary>
924
925           <tertiary>on Linux</tertiary>
926         </indexterm> <indexterm>
927           <primary>Linux</primary>
928
929           <secondary>AFS kernel extensions</secondary>
930
931           <tertiary>on client machine</tertiary>
932         </indexterm> <indexterm>
933           <primary>enabling AFS login</primary>
934
935           <secondary>client machine</secondary>
936
937           <tertiary>Linux</tertiary>
938         </indexterm> <indexterm>
939           <primary>AFS login</primary>
940
941           <secondary>on client machine</secondary>
942
943           <tertiary>Linux</tertiary>
944         </indexterm> <indexterm>
945           <primary>client machine</primary>
946
947           <secondary>AFS login</secondary>
948
949           <tertiary>on Linux</tertiary>
950         </indexterm> <indexterm>
951           <primary>Linux</primary>
952
953           <secondary>AFS login</secondary>
954
955           <tertiary>on client machine</tertiary>
956         </indexterm> <indexterm>
957           <primary>PAM</primary>
958
959           <secondary>on Linux</secondary>
960
961           <tertiary>client machine</tertiary>
962         </indexterm></para>
963     </sect2>
964   </sect1>
965
966   <sect1 id="HDRWQ143">
967     <title>Getting Started on Linux Systems</title>
968
969     <para>In this section you load AFS into the Linux kernel. Then incorporate AFS modifications into the machine's Pluggable
970     Authentication Module (PAM) system, if you wish to enable AFS login.</para>
971
972     <sect2 id="Header_133">
973       <title>Loading AFS into the Linux Kernel</title>
974
975       <para>The <emphasis role="bold">modprobe</emphasis> program is the dynamic kernel loader for Linux. Linux does not support
976       incorporation of AFS modifications during a kernel build.</para>
977
978       <para>For AFS to function correctly, the <emphasis role="bold">modprobe</emphasis> program must run each time the machine
979       reboots, so your distributions's AFS initialization script invokes it automatically. The script also includes
980       commands that select the appropriate AFS library file automatically. In this section you run the script.</para>
981
982       <para>In a later section you also verify that the script correctly initializes the Cache Manager, then activate a
983       configuration variable, which results in the script being incorporated into the Linux startup and shutdown sequence.</para>
984       
985       <para>The procedure for starting up OpenAFS depends upon your distribution</para>
986       <sect3>
987         <title>Fedora and RedHat Enterprise Linux</title>
988         <para>OpenAFS ships RPMS for all current Fedora and RHEL releases.
989         <orderedlist>
990           <listitem>
991             <para>Download and install the RPM set for your operating system.
992             RPMs are available from the OpenAFS web site. You will need the
993             <emphasis role="bold">openafs</emphasis>, <emphasis role="bold">openafs-server</emphasis>, 
994             <emphasis role="bold">openafs-client</emphasis> and
995             <emphasis role="bold">openafs-krb5</emphasis> packages, along
996             with an <emphasis role="bold">kmod-openafs</emphasis> package
997             matching your current, running ,kernel.</para>
998
999             <para>You can find the version of your current kernel by running
1000 <programlisting>
1001   # uname -r
1002 <replaceable>2.6.20-1.2933.fc6</replaceable>
1003 </programlisting></para>
1004
1005             <para>Once downloaded, the packages may be installed with the
1006             <emphasis role="bold">rpm</emphasis> command
1007 <programlisting>
1008   # rpm -U openafs-* openafs-client-* openafs-server-* openafs-krb5-* kmod-openafs-*
1009 </programlisting></para>
1010           </listitem>
1011         </orderedlist>
1012       </para>
1013       </sect3>
1014       <sect3>
1015         <title>Systems packaged as tar files</title>
1016         <para>If you are running a system where the OpenAFS Binary Distribution
1017         is provided as a tar file, or where you have built the system from
1018         source yourself, you need to install the relevant components by hand
1019         </para>
1020         <orderedlist>
1021           <listitem>
1022             <para>Unpack the distribution tarball. The examples below assume
1023             that you have unpacked the files into the
1024             <emphasis role="bold">/tmp/afsdist</emphasis>directory. If you
1025             pick a different location, substitute this in all of the following
1026             examples. Once you have unpacked the distribution,
1027             change directory as indicated.
1028 <programlisting>
1029   # <emphasis role="bold">cd /tmp/afsdist/linux/dest/root.client/usr/vice/etc</emphasis>
1030 </programlisting></para>
1031           </listitem>
1032
1033           <listitem>
1034             <para>Copy the AFS kernel library files to the local <emphasis role="bold">/usr/vice/etc/modload</emphasis> directory.
1035             The filenames for the libraries have the format <emphasis
1036             role="bold">libafs-</emphasis><replaceable>version</replaceable><emphasis role="bold">.o</emphasis>, where
1037             <replaceable>version</replaceable> indicates the kernel build level. The string <emphasis role="bold">.mp</emphasis> in
1038             the <replaceable>version</replaceable> indicates that the file is appropriate for machines running a multiprocessor
1039             kernel. <programlisting>
1040    # <emphasis role="bold">cp -rp  modload  /usr/vice/etc</emphasis>
1041 </programlisting></para>
1042           </listitem>
1043
1044           <listitem>
1045             <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
1046             role="bold">/etc/rc.d/init.d</emphasis> on Linux machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
1047             extension as you copy the script. <programlisting>
1048    # <emphasis role="bold">cp -p   afs.rc  /etc/rc.d/init.d/afs</emphasis> 
1049 </programlisting></para>
1050           </listitem>
1051
1052 <!--
1053           <listitem>
1054             <para>Run the AFS initialization script to load AFS extensions into the kernel. You can ignore any error messages about
1055             the inability to start the BOS Server or the Cache Manager or AFS client. <programlisting>
1056    # <emphasis role="bold">/etc/rc.d/init.d/afs  start</emphasis>
1057 </programlisting></para>
1058           </listitem>
1059 -->
1060         </orderedlist>
1061       </sect3>
1062     </sect2>
1063
1064     <sect2 id="Header_134">
1065       <title>Enabling AFS Login on Linux Systems</title>
1066
1067       <para>At this point you incorporate AFS into the operating system's Pluggable Authentication Module (PAM) scheme. PAM
1068       integrates all authentication mechanisms on the machine, including login, to provide the security infrastructure for
1069       authenticated access to and from the machine.</para>
1070
1071       <para>At this time, we recommend that new sites requiring AFS credentials
1072       to be gained as part of PAM authentication use Russ Alberry's 
1073       pam_afs_session, rather than utilising the bundled pam_afs2 module. 
1074       A typical PAM stack should authenticate the user using an external 
1075       Kerberos V service, and then use the AFS PAM module to obtain AFS 
1076       credentials in the <computeroutput>session</computeroutput> section</para>
1077
1078       <para>If you are at a site which still requires 
1079       <emphasis role="bold">kaserver</emphasis> or external Kerberos v4 based 
1080       authentication, please consult 
1081       <link linkend="KAS015">Enabling kaserver based AFS Login on Linux Systems</link>
1082       for further installation instructions.</para>
1083       
1084       <para>Proceed to 
1085       <link linkend="HDRWQ145">Loading and Creating Client Files</link>.</para>
1086
1087       <indexterm>
1088         <primary>incorporating AFS kernel extensions</primary>
1089
1090         <secondary>client machine</secondary>
1091
1092         <tertiary>Solaris</tertiary>
1093       </indexterm>
1094
1095       <indexterm>
1096         <primary>AFS kernel extensions</primary>
1097
1098         <secondary>on client machine</secondary>
1099
1100         <tertiary>Solaris</tertiary>
1101       </indexterm>
1102
1103       <indexterm>
1104         <primary>client machine</primary>
1105
1106         <secondary>AFS kernel extensions</secondary>
1107
1108         <tertiary>on Solaris</tertiary>
1109       </indexterm>
1110
1111       <indexterm>
1112         <primary>Solaris</primary>
1113
1114         <secondary>AFS kernel extensions</secondary>
1115
1116         <tertiary>on client machine</tertiary>
1117       </indexterm>
1118
1119       <indexterm>
1120         <primary>enabling AFS login</primary>
1121
1122         <secondary>client machine</secondary>
1123
1124         <tertiary>Solaris</tertiary>
1125       </indexterm>
1126
1127       <indexterm>
1128         <primary>AFS login</primary>
1129
1130         <secondary>on client machine</secondary>
1131
1132         <tertiary>Solaris</tertiary>
1133       </indexterm>
1134
1135       <indexterm>
1136         <primary>client machine</primary>
1137
1138         <secondary>AFS login</secondary>
1139
1140         <tertiary>on Solaris</tertiary>
1141       </indexterm>
1142
1143       <indexterm>
1144         <primary>Solaris</primary>
1145
1146         <secondary>AFS login</secondary>
1147
1148         <tertiary>on client machine</tertiary>
1149       </indexterm>
1150
1151       <indexterm>
1152         <primary>PAM</primary>
1153
1154         <secondary>on Solaris</secondary>
1155
1156         <tertiary>client machine</tertiary>
1157       </indexterm>
1158
1159       <indexterm>
1160         <primary>Solaris</primary>
1161
1162         <secondary>file systems clean-up script</secondary>
1163
1164         <tertiary>on client machine</tertiary>
1165       </indexterm>
1166
1167       <indexterm>
1168         <primary>file systems clean-up script (Solaris)</primary>
1169
1170         <secondary>client machine</secondary>
1171       </indexterm>
1172
1173       <indexterm>
1174         <primary>scripts</primary>
1175
1176         <secondary>file systems clean-up (Solaris)</secondary>
1177
1178         <tertiary>client machine</tertiary>
1179       </indexterm>
1180     </sect2>
1181   </sect1>
1182
1183   <sect1 id="HDRWQ144">
1184     <title>Getting Started on Solaris Systems</title>
1185
1186     <para>In this section you load AFS into the Solaris kernel. Then incorporate AFS modifications into the machine's Pluggable
1187     Authentication Module (PAM) system, if you wish to enable AFS login.</para>
1188
1189     <sect2 id="Header_136">
1190       <title>Loading AFS into the Solaris Kernel</title>
1191
1192       <para>The <emphasis role="bold">modload</emphasis> program is the dynamic kernel loader provided by Sun Microsystems for
1193       Solaris systems. Solaris does not support incorporation of AFS modifications during a kernel build.</para>
1194
1195       <para>For AFS to function correctly, the <emphasis role="bold">modload</emphasis> program must run each time the machine
1196       reboots, so the AFS initialization script (included on the AFS CD-ROM) invokes it automatically. In this section you copy the
1197       appropriate AFS library file to the location where the <emphasis role="bold">modload</emphasis> program accesses it and then
1198       run the script.</para>
1199
1200       <para>In a later section you verify that the script correctly initializes the Cache Manager, then create the links that
1201       incorporate AFS into the Solaris startup and shutdown sequence. <orderedlist>
1202           <listitem>
1203             <para>Unpack the OpenAFS Solaris distribution tarball. The examples
1204             below assume that you have unpacked the files into the 
1205             <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you 
1206             pick a diferent location, substitute this in all of the following
1207             exmaples. Once you have unpacked the distribution, change directory
1208             as indicated. 
1209 <programlisting>
1210    # <emphasis role="bold">cd  /tmp/afsdist/sun4x_56/dest/root.client/usr/vice/etc</emphasis>
1211 </programlisting></para>
1212           </listitem>          
1213
1214           <listitem>
1215             <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
1216             role="bold">/etc/init.d</emphasis> on Solaris machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
1217             extension as you copy the script. <programlisting>
1218    # <emphasis role="bold">cp -p  afs.rc  /etc/init.d/afs</emphasis>
1219 </programlisting></para>
1220           </listitem>
1221
1222           <listitem>
1223             <para>Copy the appropriate AFS kernel library file to the local file <emphasis
1224             role="bold">/kernel/fs/afs</emphasis>.</para>
1225
1226             <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, its kernel supports NFS server
1227             functionality, and the <emphasis role="bold">nfsd</emphasis> process is running:</para>
1228
1229             <programlisting>
1230    # <emphasis role="bold">cp -p modload/libafs.o /kernel/fs/afs</emphasis>   
1231 </programlisting>
1232
1233             <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, and its kernel does not support NFS
1234             server functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1235
1236             <programlisting>
1237    # <emphasis role="bold">cp -p modload/libafs.nonfs.o /kernel/fs/afs</emphasis>   
1238 </programlisting>
1239
1240             <para>If the machine is running the 64-bit version of Solaris 7, its kernel supports NFS server functionality, and the
1241             <emphasis role="bold">nfsd</emphasis> process is running:</para>
1242
1243             <programlisting>
1244    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</emphasis>   
1245 </programlisting>
1246
1247             <para>If the machine is running the 64-bit version of Solaris 7, and its kernel does not support NFS server
1248             functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1249
1250             <programlisting>
1251    # <emphasis role="bold">cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</emphasis>
1252 </programlisting>
1253           </listitem>
1254
1255           <listitem>
1256             <para>Run the AFS initialization script to load AFS modifications into the kernel. You can ignore any error messages
1257             about the inability to start the BOS Server or the Cache Manager or AFS client. <programlisting>
1258    # <emphasis role="bold">/etc/init.d/afs start</emphasis>   
1259 </programlisting></para>
1260
1261             <para>When an entry called <computeroutput>afs</computeroutput> does not already exist in the local <emphasis
1262             role="bold">/etc/name_to_sysnum</emphasis> file, the script automatically creates it and reboots the machine to start
1263             using the new version of the file. If this happens, log in again as the superuser <emphasis role="bold">root</emphasis>
1264             after the reboot and run the initialization script again. This time the required entry exists in the <emphasis
1265             role="bold">/etc/name_to_sysnum</emphasis> file, and the <emphasis role="bold">modload</emphasis> program runs.</para>
1266
1267             <programlisting>
1268    login: <emphasis role="bold">root</emphasis>
1269    Password: <replaceable>root_password</replaceable>
1270    # <emphasis role="bold">/etc/init.d/afs start</emphasis>
1271 </programlisting>
1272           </listitem>
1273         </orderedlist></para>
1274     </sect2>
1275
1276     <sect2 id="Header_137">
1277       <title>Enabling AFS Login on Solaris Systems</title>
1278
1279       <para>At this point you incorporate AFS into the operating system's Pluggable Authentication Module (PAM) scheme. PAM
1280       integrates all authentication mechanisms on the machine, including login, to provide the security infrastructure for
1281       authenticated access to and from the machine.</para>
1282
1283       <para>In modern AFS installations, you should be using Kerberos v5
1284       for user login, and obtaining AFS tokens subsequent to this authentication
1285       step. OpenAFS does not currently distribute a PAM module allowing AFS 
1286       tokens to be automatically gained at login. Some of these, such as
1287       pam-krb5 and pam-afs-session from http://www.eyrie.org/~eagle/software/
1288       or pam_afs2 from ftp://achilles.ctd.anl.gov/pub/DEE/pam_afs2-0.1.tar,
1289       have been tested with Solaris.</para>
1290
1291       <para>If you are at a site which still requires 
1292       <emphasis role="bold">kaserver</emphasis> or external Kerberos v4 based 
1293       authentication, please consult 
1294       <link linkend="KAS016">Enabling kaserver based AFS Login on Solaris Systems</link>
1295       for further installation instructions.</para>
1296     </sect2>
1297     <sect2 id="Header_137a">
1298       <title>Editing the File Systems Clean-up Script on Solaris Systems</title>
1299       <para>
1300         <orderedlist>
1301           <listitem>
1302             <para>Some Solaris distributions include a script that locates 
1303             and removes unneeded files from various file systems. Its
1304             conventional location is 
1305             <emphasis role="bold">/usr/lib/fs/nfs/nfsfind</emphasis>. The 
1306             script generally uses an argument to the 
1307             <emphasis role="bold">find</emphasis> command to define which file 
1308             systems to search. In this step you modify the
1309             command to exclude the <emphasis role="bold">/afs</emphasis> 
1310             directory. Otherwise, the command traverses the AFS
1311             filespace of every cell that is accessible from the machine, which can take many hours. The following alterations are
1312             possibilities, but you must verify that they are appropriate for your cell.</para>
1313
1314             <para>The first possible alteration is to add the <emphasis role="bold">-local</emphasis> flag to the existing command,
1315             so that it looks like the following:</para>
1316
1317             <programlisting>
1318    find $dir -local -name .nfs\* -mtime +7 -mount -exec rm -f {} \;   
1319 </programlisting>
1320
1321             <para>Another alternative is to exclude any directories whose names begin with the lowercase letter <emphasis
1322             role="bold">a</emphasis> or a non-alphabetic character.</para>
1323
1324             <programlisting>
1325    find /[A-Zb-z]*  <replaceable>remainder of existing command</replaceable>   
1326 </programlisting>
1327
1328             <para>Do not use the following command, which still searches under the <emphasis role="bold">/afs</emphasis> directory,
1329             looking for a subdirectory of type <emphasis role="bold">4.2</emphasis>.</para>
1330
1331             <programlisting>
1332    find / -fstype 4.2     /* <replaceable>do not use</replaceable> */
1333 </programlisting>
1334           </listitem>
1335
1336           <listitem>
1337             <para>Proceed to <link linkend="HDRWQ145">Loading and Creating Client Files</link>.</para>
1338           </listitem>
1339         </orderedlist></para>
1340
1341       <indexterm>
1342         <primary>Binary Distribution</primary>
1343
1344         <secondary>copying client files from</secondary>
1345
1346         <tertiary>client machine</tertiary>
1347       </indexterm>
1348
1349       <indexterm>
1350         <primary>client machine</primary>
1351
1352         <secondary>copying client files to local disk</secondary>
1353       </indexterm>
1354
1355       <indexterm>
1356         <primary>copying</primary>
1357
1358         <secondary>client files to local disk</secondary>
1359
1360         <tertiary>client machine</tertiary>
1361       </indexterm>
1362
1363       <indexterm>
1364         <primary>cell name</primary>
1365
1366         <secondary>setting in client ThisCell file</secondary>
1367
1368         <tertiary>client machine</tertiary>
1369       </indexterm>
1370
1371       <indexterm>
1372         <primary>setting</primary>
1373
1374         <secondary>cell name in client ThisCell file</secondary>
1375
1376         <tertiary>client machine</tertiary>
1377       </indexterm>
1378
1379       <indexterm>
1380         <primary>client machine</primary>
1381
1382         <secondary>cell membership</secondary>
1383       </indexterm>
1384
1385       <indexterm>
1386         <primary>client machine</primary>
1387
1388         <secondary>ThisCell file</secondary>
1389       </indexterm>
1390
1391       <indexterm>
1392         <primary>ThisCell file (client)</primary>
1393
1394         <secondary>client machine</secondary>
1395       </indexterm>
1396
1397       <indexterm>
1398         <primary>CellServDB file (client)</primary>
1399
1400         <secondary>creating</secondary>
1401
1402         <tertiary>on client machine</tertiary>
1403       </indexterm>
1404
1405       <indexterm>
1406         <primary>database server machine</primary>
1407
1408         <secondary>entry in client CellServDB file</secondary>
1409
1410         <tertiary>on client machine</tertiary>
1411       </indexterm>
1412
1413       <indexterm>
1414         <primary>creating</primary>
1415
1416         <secondary>CellServDB file (client)</secondary>
1417
1418         <tertiary>client machine</tertiary>
1419       </indexterm>
1420
1421       <indexterm>
1422         <primary>client machine</primary>
1423
1424         <secondary>CellServDB file</secondary>
1425
1426         <tertiary>creating during initial installation</tertiary>
1427       </indexterm>
1428     </sect2>
1429   </sect1>
1430
1431   <sect1 id="HDRWQ145">
1432     <title>Loading and Creating Client Files</title>
1433
1434     <para>If you are using a non-packaged distribution (that is, one provided as
1435     a tarball) you should now copy files from the istribution to the 
1436     <emphasis role="bold">/usr/vice/etc</emphasis> directory. On some platforms 
1437     that use a dynamic loader program to incorporate AFS modifications into the 
1438     kernel, you have already copied over some the files.
1439     Copying them again does no harm.</para>
1440
1441     <para>Every AFS client machine has a copy of the <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> file on its local disk
1442     to define the machine's cell membership for the AFS client programs that run on it. Among other functions, this file determines
1443     the following: <itemizedlist>
1444         <listitem>
1445           <para>The cell in which users authenticate when they log onto the machine, assuming it is using an AFS-modified login
1446           utility</para>
1447         </listitem>
1448
1449         <listitem>
1450           <para>The cell in which users authenticate by default when they issue the <emphasis role="bold">aklog</emphasis>
1451           command</para>
1452         </listitem>
1453
1454         <listitem>
1455           <para>The cell membership of the AFS server processes that the AFS command interpreters on this machine contact by
1456           default</para>
1457         </listitem>
1458       </itemizedlist></para>
1459
1460     <para>Similarly, the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file on a client machine's local disk lists the
1461     database server machines in each cell that the local Cache Manager can contact. If there is no entry in the file for a cell, or
1462     the list of database server machines is wrong, then users working on this machine cannot access the cell. The chapter in the
1463     <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines explains how to maintain the file after
1464     creating it. A version of the client <emphasis role="bold">CellServDB</emphasis> file was created during the installation of
1465     your cell's first machine (in <link linkend="HDRWQ66">Creating the Client CellServDB File</link>). It is probably also
1466     appropriate for use on this machine.</para>
1467
1468     <para>Remember that the Cache Manager consults the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file only at
1469     reboot, when it copies the information into the kernel. For the Cache Manager to perform properly, the <emphasis
1470     role="bold">CellServDB</emphasis> file must be accurate at all times. Refer to the chapter in the <emphasis>OpenAFS
1471     Administration Guide</emphasis> about administering client machines for instructions on updating this file, with or without
1472     rebooting. <orderedlist>
1473         <listitem>
1474           <para>If you have not already done so, unpack the distribution 
1475           tarball for this machine's system type into a suitable location on 
1476           the filesystem, such as <emphasis role="bold">/tmp/afsdist</emphasis>.
1477           If you use a different location, substitue that in the examples that 
1478           follow.</para>
1479         </listitem>
1480
1481         <listitem>
1482           <para>Copy files to the local <emphasis role="bold">/usr/vice/etc</emphasis> directory.</para>
1483
1484           <para>This step places a copy of the AFS initialization script (and related files, if applicable) into the <emphasis
1485           role="bold">/usr/vice/etc</emphasis> directory. In the preceding instructions for incorporating AFS into the kernel, you
1486           copied the script directly to the operating system's conventional location for initialization files. When you incorporate
1487           AFS into the machine's startup sequence in a later step, you can choose to link the two files.</para>
1488
1489           <para>On some system types that use a dynamic kernel loader program, you previously copied AFS library files into a
1490           subdirectory of the <emphasis role="bold">/usr/vice/etc</emphasis> directory. On other system types, you copied the
1491           appropriate AFS library file directly to the directory where the operating system accesses it. The following commands do
1492           not copy or recopy the AFS library files into the <emphasis role="bold">/usr/vice/etc</emphasis> directory, because on
1493           some system types the library files consume a large amount of space. If you want to copy them, add the <emphasis
1494           role="bold">-r</emphasis> flag to the first <emphasis role="bold">cp</emphasis> command and skip the second <emphasis
1495           role="bold">cp</emphasis> command.</para>
1496
1497           <programlisting>
1498    # <emphasis role="bold">cd /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis>
1499    # <emphasis role="bold">cp -p  *  /usr/vice/etc</emphasis>
1500    # <emphasis role="bold">cp -rp  C  /usr/vice/etc</emphasis>
1501 </programlisting>
1502         </listitem>
1503
1504         <listitem>
1505           <para>Create the <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> file. <programlisting>
1506    # <emphasis role="bold">echo "</emphasis><replaceable>cellname</replaceable><emphasis role="bold">" &gt; /usr/vice/etc/ThisCell</emphasis>
1507 </programlisting></para>
1508         </listitem>
1509
1510         <listitem>
1511           <para>Create the 
1512           <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file. Use a 
1513           network file transfer program such as 
1514           <emphasis role="bold">sftp</emphasis> or 
1515           <emphasis role="bold">scp</emphasis> to copy it from one of the 
1516           following sources, which are listed in decreasing order of 
1517           preference: <itemizedlist>
1518               <listitem>
1519                 <para>Your cell's central <emphasis role="bold">CellServDB</emphasis> source file (the conventional location is
1520                 <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
1521                 role="bold">/common/etc/CellServDB</emphasis>)</para>
1522               </listitem>
1523
1524               <listitem>
1525                 <para>The global <emphasis role="bold">CellServDB</emphasis> 
1526                 file maintained at grand.central.org</para>
1527               </listitem>
1528
1529               <listitem>
1530                 <para>An existing client machine in your cell</para>
1531               </listitem>
1532
1533               <listitem>
1534                 <para>The <emphasis role="bold">CellServDB.sample</emphasis> 
1535                 file included in the
1536                 <replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis> 
1537                 directory of each OpenAFS distribution; add an entry for the 
1538                 local cell by following the instructions in 
1539                 <link linkend="HDRWQ66">Creating the Client CellServDB File</link>
1540                 </para>
1541               </listitem>
1542             </itemizedlist></para>
1543         </listitem>
1544       </orderedlist></para>
1545
1546     <indexterm>
1547       <primary>client cache</primary>
1548
1549       <see>cache</see>
1550     </indexterm>
1551
1552     <indexterm>
1553       <primary>AFS cache</primary>
1554
1555       <see>cache</see>
1556     </indexterm>
1557
1558     <indexterm>
1559       <primary>disk cache</primary>
1560
1561       <see>cache</see>
1562     </indexterm>
1563
1564     <indexterm>
1565       <primary>memory cache</primary>
1566
1567       <see>cache</see>
1568     </indexterm>
1569
1570     <indexterm>
1571       <primary>cache</primary>
1572
1573       <secondary>requirements</secondary>
1574     </indexterm>
1575
1576     <indexterm>
1577       <primary>cache</primary>
1578
1579       <secondary>choosing size</secondary>
1580     </indexterm>
1581
1582     <indexterm>
1583       <primary>requirements</primary>
1584
1585       <secondary>cache</secondary>
1586     </indexterm>
1587
1588     <indexterm>
1589       <primary>usr/vice/etc/cacheinfo</primary>
1590
1591       <see>cacheinfo file</see>
1592     </indexterm>
1593
1594     <indexterm>
1595       <primary>cacheinfo file</primary>
1596     </indexterm>
1597
1598     <indexterm>
1599       <primary>files</primary>
1600
1601       <secondary>cacheinfo</secondary>
1602     </indexterm>
1603
1604     <indexterm>
1605       <primary>usr/vice/cache directory</primary>
1606     </indexterm>
1607
1608     <indexterm>
1609       <primary>directories</primary>
1610
1611       <secondary>/usr/vice/cache</secondary>
1612     </indexterm>
1613
1614     <indexterm>
1615       <primary>cache</primary>
1616
1617       <secondary>configuring</secondary>
1618
1619       <tertiary>client machine</tertiary>
1620     </indexterm>
1621
1622     <indexterm>
1623       <primary>configuring</primary>
1624
1625       <secondary>cache</secondary>
1626
1627       <tertiary>client machine</tertiary>
1628     </indexterm>
1629
1630     <indexterm>
1631       <primary>setting</primary>
1632
1633       <secondary>cache size and location</secondary>
1634
1635       <tertiary>client machine</tertiary>
1636     </indexterm>
1637
1638     <indexterm>
1639       <primary>client machine</primary>
1640
1641       <secondary>cache size and location</secondary>
1642     </indexterm>
1643   </sect1>
1644
1645   <sect1 id="HDRWQ146">
1646     <title>Configuring the Cache</title>
1647
1648     <para>The Cache Manager uses a cache on the local disk or in machine memory to store local copies of files fetched from file
1649     server machines. As the <emphasis role="bold">afsd</emphasis> program initializes the Cache Manager, it sets basic cache
1650     configuration parameters according to definitions in the local <emphasis role="bold">/usr/vice/etc/cacheinfo</emphasis> file.
1651     The file has three fields: <orderedlist>
1652         <listitem>
1653           <para>The first field names the local directory on which to mount the AFS filespace. The conventional location is the
1654           <emphasis role="bold">/afs</emphasis> directory.</para>
1655         </listitem>
1656
1657         <listitem>
1658           <para>The second field defines the local disk directory to use for the disk cache. The conventional location is the
1659           <emphasis role="bold">/usr/vice/cache</emphasis> directory, but you can specify an alternate directory if another
1660           partition has more space available. There must always be a value in this field, but the Cache Manager ignores it if the
1661           machine uses a memory cache.</para>
1662         </listitem>
1663
1664         <listitem>
1665           <para>The third field specifies the number of kilobyte (1024 byte) blocks to allocate for the cache.</para>
1666         </listitem>
1667       </orderedlist></para>
1668
1669     <para>The values you define must meet the following requirements. <itemizedlist>
1670         <listitem>
1671           <para>On a machine using a disk cache, the Cache Manager expects always to be able to use the amount of space specified in
1672           the third field. Failure to meet this requirement can cause serious problems, some of which can be repaired only by
1673           rebooting. You must prevent non-AFS processes from filling up the cache partition. The simplest way is to devote a
1674           partition to the cache exclusively.</para>
1675         </listitem>
1676
1677         <listitem>
1678           <para>The amount of space available in memory or on the partition housing the disk cache directory imposes an absolute
1679           limit on cache size.</para>
1680         </listitem>
1681
1682         <listitem>
1683           <para>The maximum supported cache size can vary in each AFS release; see the <emphasis>OpenAFS Release Notes</emphasis>
1684           for the current version.</para>
1685         </listitem>
1686
1687         <listitem>
1688           <para>For a disk cache, you cannot specify a value in the third field that exceeds 95% of the space available on the
1689           partition mounted at the directory named in the second field. If you violate this restriction, the <emphasis
1690           role="bold">afsd</emphasis> program exits without starting the Cache Manager and prints an appropriate message on the
1691           standard output stream. A value of 90% is more appropriate on most machines. Some operating systems (such as AIX) do not
1692           automatically reserve some space to prevent the partition from filling completely; for them, a smaller value (say, 80% to
1693           85% of the space available) is more appropriate.</para>
1694         </listitem>
1695
1696         <listitem>
1697           <para>For a memory cache, you must leave enough memory for other processes and applications to run. If you try to allocate
1698           more memory than is actually available, the <emphasis role="bold">afsd</emphasis> program exits without initializing the
1699           Cache Manager and produces the following message on the standard output stream. <programlisting>
1700    afsd: memCache allocation failure at <replaceable>number</replaceable> KB
1701 </programlisting></para>
1702
1703           <para>The <replaceable>number</replaceable> value is how many kilobytes were allocated just before the failure, and so
1704           indicates the approximate amount of memory available.</para>
1705         </listitem>
1706       </itemizedlist></para>
1707
1708     <para>Within these hard limits, the factors that determine appropriate cache size include the number of users working on the
1709     machine, the size of the files with which they work, and (for a memory cache) the number of processes that run on the machine.
1710     The higher the demand from these factors, the larger the cache needs to be to maintain good performance.</para>
1711
1712     <para>Disk caches smaller than 10 MB do not generally perform well. Machines serving multiple users usually perform better with
1713     a cache of at least 60 to 70 MB. The point at which enlarging the cache further does not really improve performance depends on
1714     the factors mentioned previously and is difficult to predict.</para>
1715
1716     <para>Memory caches smaller than 1 MB are nonfunctional, and the performance of caches smaller than 5 MB is usually
1717     unsatisfactory. Suitable upper limits are similar to those for disk caches but are probably determined more by the demands on
1718     memory from other sources on the machine (number of users and processes). Machines running only a few processes possibly can use
1719     a smaller memory cache.</para>
1720
1721     <sect2 id="HDRWQ147">
1722       <title>Configuring a Disk Cache</title>
1723
1724       <note>
1725         <para>Not all file system types that an operating system supports are necessarily supported for use as the cache partition.
1726         For possible restrictions, see the <emphasis>OpenAFS Release Notes</emphasis>.</para>
1727       </note>
1728
1729       <para>To configure the disk cache, perform the following procedures: <orderedlist>
1730           <listitem>
1731             <para>Create the local directory to use for caching. The following instruction shows the conventional location,
1732             <emphasis role="bold">/usr/vice/cache</emphasis>. If you are devoting a partition exclusively to caching, as
1733             recommended, you must also configure it, make a file system on it, and mount it at the directory created in this step.
1734             <programlisting>
1735    # <emphasis role="bold">mkdir /usr/vice/cache</emphasis>
1736 </programlisting></para>
1737           </listitem>
1738
1739           <listitem>
1740             <para>Create the <emphasis role="bold">cacheinfo</emphasis> file to define the configuration parameters discussed
1741             previously. The following instruction shows the standard mount location, <emphasis role="bold">/afs</emphasis>, and the
1742             standard cache location, <emphasis role="bold">/usr/vice/cache</emphasis>. <programlisting>
1743    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; /usr/vice/etc/cacheinfo</emphasis>
1744 </programlisting></para>
1745
1746             <para>The following example defines the disk cache size as 50,000 KB:</para>
1747
1748             <programlisting>
1749    # <emphasis role="bold">echo "/afs:/usr/vice/cache:50000" &gt; /usr/vice/etc/cacheinfo</emphasis>
1750 </programlisting>
1751           </listitem>
1752         </orderedlist></para>
1753     </sect2>
1754
1755     <sect2 id="HDRWQ148">
1756       <title>Configuring a Memory Cache</title>
1757
1758       <para>To configure a memory cache, create the <emphasis role="bold">cacheinfo</emphasis> file to define the configuration
1759       parameters discussed previously. The following instruction shows the standard mount location, <emphasis
1760       role="bold">/afs</emphasis>, and the standard cache location, <emphasis role="bold">/usr/vice/cache</emphasis> (though the
1761       exact value of the latter is irrelevant for a memory cache).</para>
1762
1763       <programlisting>
1764    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; /usr/vice/etc/cacheinfo</emphasis>
1765 </programlisting>
1766
1767       <para>The following example allocates 25,000 KB of memory for the cache.</para>
1768
1769       <programlisting>
1770    # <emphasis role="bold">echo "/afs:/usr/vice/cache:25000" &gt; /usr/vice/etc/cacheinfo</emphasis>
1771 </programlisting>
1772
1773       <indexterm>
1774         <primary>afs (/afs) directory</primary>
1775
1776         <secondary>creating</secondary>
1777
1778         <tertiary>client machine</tertiary>
1779       </indexterm>
1780
1781       <indexterm>
1782         <primary>afs (/afs) directory</primary>
1783
1784         <secondary>as root of AFS filespace</secondary>
1785       </indexterm>
1786
1787       <indexterm>
1788         <primary>AFS filespace</primary>
1789
1790         <secondary>root at /afs directory</secondary>
1791       </indexterm>
1792
1793       <indexterm>
1794         <primary>directories</primary>
1795
1796         <secondary>/afs</secondary>
1797       </indexterm>
1798
1799       <indexterm>
1800         <primary>afsd</primary>
1801
1802         <secondary>options file (Linux)</secondary>
1803       </indexterm>
1804
1805       <indexterm>
1806         <primary>files</primary>
1807
1808         <secondary>afsd options file (Linux)</secondary>
1809       </indexterm>
1810
1811       <indexterm>
1812         <primary>files</primary>
1813
1814         <secondary>afs</secondary>
1815
1816         <tertiary>afsd options file (Linux)</tertiary>
1817       </indexterm>
1818
1819       <indexterm>
1820         <primary>afs file</primary>
1821
1822         <secondary>afsd options file (Linux)</secondary>
1823       </indexterm>
1824
1825       <indexterm>
1826         <primary>etc/sysconfig/afs</primary>
1827
1828         <see>afs file</see>
1829       </indexterm>
1830
1831       <indexterm>
1832         <primary>Linux</primary>
1833
1834         <secondary>afsd options file</secondary>
1835       </indexterm>
1836
1837       <indexterm>
1838         <primary>client machine</primary>
1839
1840         <secondary>afsd options file (Linux)</secondary>
1841       </indexterm>
1842
1843       <indexterm>
1844         <primary>afsd</primary>
1845
1846         <secondary>command in AFS init. script</secondary>
1847       </indexterm>
1848
1849       <indexterm>
1850         <primary>commands</primary>
1851
1852         <secondary>afsd</secondary>
1853       </indexterm>
1854
1855       <indexterm>
1856         <primary>OPTIONS variable in AFS initialization file</primary>
1857       </indexterm>
1858
1859       <indexterm>
1860         <primary>files</primary>
1861
1862         <secondary>AFS initialization</secondary>
1863
1864         <see>AFS initialization script</see>
1865       </indexterm>
1866
1867       <indexterm>
1868         <primary>scripts</primary>
1869
1870         <secondary>AFS initialization</secondary>
1871
1872         <see>AFS initialization script</see>
1873       </indexterm>
1874
1875       <indexterm>
1876         <primary>AFS initialization script</primary>
1877
1878         <secondary>setting afsd parameters</secondary>
1879
1880         <tertiary>client machine</tertiary>
1881       </indexterm>
1882
1883       <indexterm>
1884         <primary>client machine</primary>
1885
1886         <secondary>afsd command parameters</secondary>
1887       </indexterm>
1888
1889       <indexterm>
1890         <primary>variables</primary>
1891
1892         <secondary>OPTIONS (in AFS initialization file)</secondary>
1893       </indexterm>
1894
1895       <indexterm>
1896         <primary>environment variables</primary>
1897
1898         <see>variables</see>
1899       </indexterm>
1900
1901       <indexterm>
1902         <primary>Cache Manager</primary>
1903
1904         <secondary>client machine</secondary>
1905       </indexterm>
1906
1907       <indexterm>
1908         <primary>configuring</primary>
1909
1910         <secondary>Cache Manager</secondary>
1911
1912         <tertiary>client machine</tertiary>
1913       </indexterm>
1914
1915       <indexterm>
1916         <primary>client machine</primary>
1917
1918         <secondary>Cache Manager</secondary>
1919       </indexterm>
1920
1921       <indexterm>
1922         <primary>files</primary>
1923
1924         <secondary>vfs (AIX)</secondary>
1925       </indexterm>
1926
1927       <indexterm>
1928         <primary>vfs file</primary>
1929       </indexterm>
1930
1931       <indexterm>
1932         <primary>etc/vfs file</primary>
1933       </indexterm>
1934
1935       <indexterm>
1936         <primary>AIX</primary>
1937
1938         <secondary>editing /etc/vfs file</secondary>
1939       </indexterm>
1940
1941       <indexterm>
1942         <primary>client machine</primary>
1943
1944         <secondary>vfs file (AIX)</secondary>
1945       </indexterm>
1946     </sect2>
1947   </sect1>
1948
1949   <sect1 id="HDRWQ149">
1950     <title>Configuring the Cache Manager</title>
1951
1952     <para>By convention, the Cache Manager mounts the AFS filespace on the local <emphasis role="bold">/afs</emphasis> directory. In
1953     this section you create that directory.</para>
1954
1955     <para>The <emphasis role="bold">afsd</emphasis> program sets several cache configuration parameters as it initializes the Cache
1956     Manager, and starts daemons that improve performance. You can use the <emphasis role="bold">afsd</emphasis> command's arguments
1957     to override the parameters' default values and to change the number of some of the daemons. Depending on the machine's cache
1958     size, its amount of RAM, and how many people work on it, you can sometimes improve Cache Manager performance by overriding the
1959     default values. For a discussion of all of the <emphasis role="bold">afsd</emphasis> command's arguments, see its reference page
1960     in the <emphasis>OpenAFS Administration Reference</emphasis>.</para>
1961
1962     <para>On platforms using the standard 'afs' initialisation script (this does
1963     not apply to Fedora or RHEL based distributions), the 
1964     <emphasis role="bold">afsd</emphasis> command line in the AFS 
1965     initialization script on each system type includes an
1966     <computeroutput>OPTIONS</computeroutput> variable. You can use it to set 
1967     nondefault values for the command's arguments, in one
1968     of the following ways: <itemizedlist>
1969         <listitem>
1970           <para>You can create an <emphasis role="bold">afsd</emphasis> <emphasis>options file</emphasis> that sets values for
1971           arguments to the <emphasis role="bold">afsd</emphasis> command. If the file exists, its contents are automatically
1972           substituted for the <computeroutput>OPTIONS</computeroutput> variable in the AFS initialization script. The AFS
1973           distribution for some system types includes an options file; on other system types, you must create it.</para>
1974
1975           <para>You use two variables in the AFS initialization script to specify the path to the options file:
1976           <computeroutput>CONFIG</computeroutput> and <computeroutput>AFSDOPT</computeroutput>. On system types that define a
1977           conventional directory for configuration files, the <computeroutput>CONFIG</computeroutput> variable indicates it by
1978           default; otherwise, the variable indicates an appropriate location.</para>
1979
1980           <para>List the desired <emphasis role="bold">afsd</emphasis> options on a single line in the options file, separating each
1981           option with one or more spaces. The following example sets the <emphasis role="bold">-stat</emphasis> argument to 2500,
1982           the <emphasis role="bold">-daemons</emphasis> argument to 4, and the <emphasis role="bold">-volumes</emphasis> argument to
1983           100.</para>
1984
1985           <programlisting>
1986    -stat 2500 -daemons 4 -volumes 100   
1987 </programlisting>
1988         </listitem>
1989
1990         <listitem>
1991           <para>On a machine that uses a disk cache, you can set the <computeroutput>OPTIONS</computeroutput> variable in the AFS
1992           initialization script to one of <computeroutput>$SMALL</computeroutput>, <computeroutput>$MEDIUM</computeroutput>, or
1993           <computeroutput>$LARGE</computeroutput>. The AFS initialization script uses one of these settings if the <emphasis
1994           role="bold">afsd</emphasis> options file named by the <computeroutput>AFSDOPT</computeroutput> variable does not exist. In
1995           the script as distributed, the <computeroutput>OPTIONS</computeroutput> variable is set to the value
1996           <computeroutput>$MEDIUM</computeroutput>.</para>
1997
1998           <note>
1999             <para>Do not set the <computeroutput>OPTIONS</computeroutput> variable to <computeroutput>$SMALL</computeroutput>,
2000             <computeroutput>$MEDIUM</computeroutput>, or <computeroutput>$LARGE</computeroutput> on a machine that uses a memory
2001             cache. The arguments it sets are appropriate only on a machine that uses a disk cache.</para>
2002           </note>
2003
2004           <para>The script (or on some system types the <emphasis role="bold">afsd</emphasis> options file named by the
2005           <computeroutput>AFSDOPT</computeroutput> variable) defines a value for each of <computeroutput>SMALL</computeroutput>,
2006           <computeroutput>MEDIUM</computeroutput>, and <computeroutput>LARGE</computeroutput> that sets <emphasis
2007           role="bold">afsd</emphasis> command arguments appropriately for client machines of different sizes: <itemizedlist>
2008               <listitem>
2009                 <para><computeroutput>SMALL</computeroutput> is suitable for a small machine that serves one or two users and has
2010                 approximately 8 MB of RAM and a 20-MB cache</para>
2011               </listitem>
2012
2013               <listitem>
2014                 <para><computeroutput>MEDIUM</computeroutput> is suitable for a medium-sized machine that serves two to six users
2015                 and has 16 MB of RAM and a 40-MB cache</para>
2016               </listitem>
2017
2018               <listitem>
2019                 <para><computeroutput>LARGE</computeroutput> is suitable for a large machine that serves five to ten users and has
2020                 32 MB of RAM and a 100-MB cache</para>
2021               </listitem>
2022             </itemizedlist></para>
2023         </listitem>
2024
2025         <listitem>
2026           <para>You can choose not to create an <emphasis role="bold">afsd</emphasis> options file and to set the
2027           <computeroutput>OPTIONS</computeroutput> variable in the initialization script to a null value rather than to the default
2028           <computeroutput>$MEDIUM</computeroutput> value. You can then either set arguments directly on the <emphasis
2029           role="bold">afsd</emphasis> command line in the script, or set no arguments (and so accept default values for all Cache
2030           Manager parameters).</para>
2031         </listitem>
2032       </itemizedlist>
2033       
2034       <note>
2035         <para>If you are running on a Fedora or RHEL based system, the 
2036         openafs-client initialization script behaves differently from that
2037         described above. It sources 
2038         <emphasis role="bold">/etc/sysconfig/openafs</emphasis>, in which the
2039         AFSD_ARGS variable may be set to contain any, or all, of the afsd 
2040         options detailed above. Note that this script does not support setting
2041         an <computeroutput>OPTIONS</computeroutput> variable, or the 
2042         <computeroutput>SMALL</computeroutput>,
2043         <computeroutput>MEDIUM</computeroutput> and
2044         <computeroutput>LARGE</computeroutput> methods of defining cache size.
2045         </para>
2046       </note>
2047       
2048       <orderedlist>
2049         <listitem>
2050           <para>Create the local directory on which to mount the AFS filespace, by convention <emphasis role="bold">/afs</emphasis>.
2051           If the directory already exists, verify that it is empty. <programlisting>
2052    # <emphasis role="bold">mkdir /afs</emphasis>
2053 </programlisting></para>
2054         </listitem>
2055
2056         <listitem>
2057           <para>On AIX systems, add the following line to the <emphasis role="bold">/etc/vfs</emphasis> file. It enables AIX to
2058           unmount AFS correctly during shutdown. <programlisting>
2059    afs     4     none     none
2060 </programlisting></para>
2061         </listitem>
2062
2063         <listitem>
2064           <para>On non-package based Linux systems, copy the <emphasis role="bold">afsd</emphasis> options file from the <emphasis
2065           role="bold">/usr/vice/etc</emphasis> directory to the <emphasis role="bold">/etc/sysconfig</emphasis> directory, removing
2066           the <emphasis role="bold">.conf</emphasis> extension as you do so. <programlisting>
2067    # <emphasis role="bold">cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</emphasis>
2068 </programlisting></para>
2069         </listitem>
2070
2071         <listitem>
2072           <para>Edit the machine's AFS initialization script or <emphasis role="bold">afsd</emphasis> options file to set
2073           appropriate values for <emphasis role="bold">afsd</emphasis> command parameters. The appropriate file for each system type
2074           is as follows: <itemizedlist>
2075               <listitem>
2076                 <para>On AIX systems, <emphasis role="bold">/etc/rc.afs</emphasis></para>
2077               </listitem>
2078
2079               <listitem>
2080                 <para>On HP-UX systems, <emphasis role="bold">/sbin/init.d/afs</emphasis></para>
2081               </listitem>
2082
2083               <listitem>
2084                 <para>On IRIX systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2085               </listitem>
2086
2087               <listitem>
2088                 <para>On Fedora and RHEL systems, <emphasis role="bold">/etc/sysconfig/openafs</emphasis></para>
2089               </listitem>
2090               
2091               <listitem>
2092                 <para>On Linux systems, <emphasis role="bold">/etc/sysconfig/afs</emphasis> (the <emphasis
2093                 role="bold">afsd</emphasis> options file)</para>
2094               </listitem>
2095
2096               <listitem>
2097                 <para>On Solaris systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2098               </listitem>
2099             </itemizedlist></para>
2100
2101           <para>Use one of the methods described in the introduction to this section to add the following flags to the <emphasis
2102           role="bold">afsd</emphasis> command line. Also set any performance-related arguments you wish. <itemizedlist>
2103               <listitem>
2104                 <para>Add the <emphasis role="bold">-memcache</emphasis> flag if the machine is to use a memory cache.</para>
2105               </listitem>
2106
2107               <listitem>
2108                 <para>Add the <emphasis role="bold">-verbose</emphasis> flag to display a trace of the Cache Manager's
2109                 initialization on the standard output stream.</para>
2110               </listitem>
2111             </itemizedlist></para>
2112         </listitem>
2113       </orderedlist></para>
2114
2115     <indexterm>
2116       <primary>AFS initialization script</primary>
2117
2118       <secondary>running</secondary>
2119
2120       <tertiary>client machine</tertiary>
2121     </indexterm>
2122
2123     <indexterm>
2124       <primary>client machine</primary>
2125
2126       <secondary>AFS initialization script</secondary>
2127     </indexterm>
2128
2129     <indexterm>
2130       <primary>running AFS init. script</primary>
2131
2132       <secondary>client machine</secondary>
2133     </indexterm>
2134
2135     <indexterm>
2136       <primary>installing</primary>
2137
2138       <secondary>AFS initialization script</secondary>
2139
2140       <tertiary>client machine</tertiary>
2141     </indexterm>
2142
2143     <indexterm>
2144       <primary>AFS initialization script</primary>
2145
2146       <secondary>adding to machine startup sequence</secondary>
2147
2148       <tertiary>client machine</tertiary>
2149     </indexterm>
2150   </sect1>
2151
2152   <sect1 id="HDRWQ150">
2153     <title>Starting the Cache Manager and Installing the AFS Initialization Script</title>
2154
2155     <para>In this section you run the AFS initialization script to start the Cache Manager. If the script works correctly, perform
2156     the steps that incorporate it into the machine's startup and shutdown sequence. If there are problems during the initialization,
2157     attempt to resolve them. The AFS Product Support group can provide assistance if necessary.</para>
2158
2159     <para>On machines that use a disk cache, it can take a while for the <emphasis role="bold">afsd</emphasis> program to run the
2160     first time on a machine, because it must create all of the <emphasis role="bold">V</emphasis><replaceable>n</replaceable> files
2161     in the cache directory. Subsequent Cache Manager initializations do not take nearly as long, because the <emphasis
2162     role="bold">V</emphasis><replaceable>n</replaceable> files already exist.</para>
2163
2164     <para>On system types that use a dynamic loader program, you must reboot the machine before running the initialization script,
2165     so that it can freshly load AFS modifications into the kernel.</para>
2166
2167     <para>Proceed to the instructions for your system type:</para>
2168
2169     <itemizedlist>
2170       <listitem>
2171         <para><link linkend="HDRWQ151">Running the Script on AIX Systems</link></para>
2172       </listitem>
2173
2174       <listitem>
2175         <para><link linkend="HDRWQ153">Running the Script on HP-UX Systems</link></para>
2176       </listitem>
2177
2178       <listitem>
2179         <para><link linkend="HDRWQ154">Running the Script on IRIX Systems</link></para>
2180       </listitem>
2181
2182       <listitem>
2183         <para><link linkend="HDRWQ155">Running the Script on Linux Systems</link></para>
2184       </listitem>
2185
2186       <listitem>
2187         <para><link linkend="HDRWQ156">Running the Script on Solaris Systems</link></para>
2188       </listitem>
2189     </itemizedlist>
2190
2191     <indexterm>
2192       <primary>AIX</primary>
2193
2194       <secondary>AFS initialization script</secondary>
2195
2196       <tertiary>on client machine</tertiary>
2197     </indexterm>
2198
2199     <indexterm>
2200       <primary>rc.afs file (AFS init. file for AIX)</primary>
2201     </indexterm>
2202
2203     <indexterm>
2204       <primary>files</primary>
2205
2206       <secondary>rc.afs</secondary>
2207     </indexterm>
2208
2209     <indexterm>
2210       <primary>etc/rc.afs</primary>
2211
2212       <see>rc.afs file</see>
2213     </indexterm>
2214
2215     <sect2 id="HDRWQ151">
2216       <title>Running the Script on AIX Systems</title>
2217
2218       <orderedlist>
2219         <listitem>
2220           <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2221    # <emphasis role="bold">cd /</emphasis>
2222    # <emphasis role="bold">shutdown -r now</emphasis>
2223    login: <emphasis role="bold">root</emphasis>
2224    Password: <replaceable>root_password</replaceable>
2225 </programlisting></para>
2226         </listitem>
2227
2228         <listitem>
2229           <para>Run the AFS initialization script. <programlisting>
2230    # <emphasis role="bold">/etc/rc.afs</emphasis>
2231 </programlisting></para>
2232         </listitem>
2233
2234         <listitem>
2235           <para>Edit the AIX initialization file, <emphasis role="bold">/etc/inittab</emphasis>, adding the following line to invoke
2236           the AFS initialization script. Place it just after the line that starts NFS daemons. <programlisting>
2237    rcafs:2:wait:/etc/rc.afs &gt; /dev/console 2&gt;&amp;1 # Start AFS services
2238 </programlisting></para>
2239         </listitem>
2240
2241         <listitem>
2242           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2243           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc</emphasis> directories. If you want to avoid
2244           potential confusion by guaranteeing that they are always the same, create a link between them. You can always retrieve the
2245           original script from the AFS CD-ROM if necessary. <programlisting>
2246    # <emphasis role="bold">cd  /usr/vice/etc</emphasis>
2247    # <emphasis role="bold">rm  rc.afs</emphasis>
2248    # <emphasis role="bold">ln -s  /etc/rc.afs</emphasis>
2249 </programlisting></para>
2250         </listitem>
2251
2252         <listitem>
2253           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2254           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2255           complete.</para>
2256         </listitem>
2257       </orderedlist>
2258
2259       <indexterm>
2260         <primary>afs file</primary>
2261
2262         <secondary>AFS initialization file</secondary>
2263       </indexterm>
2264
2265       <indexterm>
2266         <primary>files</primary>
2267
2268         <secondary>afs</secondary>
2269
2270         <tertiary>AFS initialization file</tertiary>
2271       </indexterm>
2272
2273       <indexterm>
2274         <primary>HP-UX</primary>
2275
2276         <secondary>AFS initialization script</secondary>
2277
2278         <tertiary>on client machine</tertiary>
2279       </indexterm>
2280     </sect2>
2281
2282     <sect2 id="HDRWQ153">
2283       <title>Running the Script on HP-UX Systems</title>
2284
2285       <orderedlist>
2286         <listitem>
2287           <para>Run the AFS initialization script. <programlisting>
2288    # <emphasis role="bold">/sbin/init.d/afs  start</emphasis>
2289 </programlisting></para>
2290         </listitem>
2291
2292         <listitem>
2293           <para>Change to the <emphasis role="bold">/sbin/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2294           -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the HP-UX startup and
2295           shutdown sequence. <programlisting>
2296    # <emphasis role="bold">cd /sbin/init.d</emphasis>
2297    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/S460afs</emphasis>
2298    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/K800afs</emphasis>
2299 </programlisting></para>
2300         </listitem>
2301
2302         <listitem>
2303           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2304           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/sbin/init.d</emphasis> directories. If you want
2305           to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can always
2306           retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2307    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2308    # <emphasis role="bold">rm afs.rc</emphasis>
2309    # <emphasis role="bold">ln -s  /sbin/init.d/afs  afs.rc</emphasis>
2310 </programlisting></para>
2311         </listitem>
2312
2313         <listitem>
2314           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2315           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2316           complete.</para>
2317         </listitem>
2318       </orderedlist>
2319
2320       <indexterm>
2321         <primary>afs file</primary>
2322
2323         <secondary>AFS initialization file</secondary>
2324       </indexterm>
2325
2326       <indexterm>
2327         <primary>files</primary>
2328
2329         <secondary>afs</secondary>
2330
2331         <tertiary>AFS initialization file</tertiary>
2332       </indexterm>
2333
2334       <indexterm>
2335         <primary>IRIX</primary>
2336
2337         <secondary>AFS initialization script</secondary>
2338
2339         <tertiary>on client machine</tertiary>
2340       </indexterm>
2341
2342       <indexterm>
2343         <primary>etc/init.d/afs</primary>
2344
2345         <see>afs file</see>
2346       </indexterm>
2347
2348       <indexterm>
2349         <primary>afsclient variable (IRIX)</primary>
2350
2351         <secondary>client machine</secondary>
2352       </indexterm>
2353
2354       <indexterm>
2355         <primary>variables</primary>
2356
2357         <secondary>afsclient (IRIX)</secondary>
2358
2359         <tertiary>client machine</tertiary>
2360       </indexterm>
2361
2362       <indexterm>
2363         <primary>IRIX</primary>
2364
2365         <secondary>afsclient variable</secondary>
2366
2367         <tertiary>client machine</tertiary>
2368       </indexterm>
2369     </sect2>
2370
2371     <sect2 id="HDRWQ154">
2372       <title>Running the Script on IRIX Systems</title>
2373
2374       <orderedlist>
2375         <listitem>
2376           <para>If you have configured the machine to use the <emphasis role="bold">ml</emphasis> dynamic loader program, reboot the
2377           machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2378    # <emphasis role="bold">cd /</emphasis>
2379    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2380    login: <emphasis role="bold">root</emphasis>
2381    Password: <replaceable>root_password</replaceable>
2382 </programlisting></para>
2383         </listitem>
2384
2385         <listitem>
2386           <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
2387           role="bold">afsclient</emphasis> configuration variable. <programlisting>
2388    # <emphasis role="bold">/etc/chkconfig -f afsclient on</emphasis> 
2389 </programlisting></para>
2390         </listitem>
2391
2392         <listitem>
2393           <para>Run the AFS initialization script. <programlisting>
2394    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2395 </programlisting></para>
2396         </listitem>
2397
2398         <listitem>
2399           <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2400           -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the IRIX startup and
2401           shutdown sequence. <programlisting>
2402    # <emphasis role="bold">cd /etc/init.d</emphasis>
2403    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc2.d/S35afs</emphasis>
2404    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K35afs</emphasis>
2405 </programlisting></para>
2406         </listitem>
2407
2408         <listitem>
2409           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2410           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If you want
2411           to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can always
2412           retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2413    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2414    # <emphasis role="bold">rm afs.rc</emphasis>
2415    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2416 </programlisting></para>
2417         </listitem>
2418
2419         <listitem>
2420           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2421           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2422           complete.</para>
2423         </listitem>
2424       </orderedlist>
2425
2426       <indexterm>
2427         <primary>afs file</primary>
2428
2429         <secondary>AFS initialization file</secondary>
2430       </indexterm>
2431
2432       <indexterm>
2433         <primary>files</primary>
2434
2435         <secondary>afs</secondary>
2436
2437         <tertiary>AFS initialization file</tertiary>
2438       </indexterm>
2439
2440       <indexterm>
2441         <primary>etc/rc.d/init.d/afs</primary>
2442
2443         <see>afs file</see>
2444       </indexterm>
2445
2446       <indexterm>
2447         <primary>Linux</primary>
2448
2449         <secondary>AFS initialization script</secondary>
2450
2451         <tertiary>on client machine</tertiary>
2452       </indexterm>
2453     </sect2>
2454
2455     <sect2>
2456       <title>Running the Script on Fedora / RHEL Systems</title>
2457
2458       <orderedlist>
2459         <listitem>
2460           <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2461    # <emphasis role="bold">cd /</emphasis>
2462    # <emphasis role="bold">shutdown -r now</emphasis>
2463    login: <emphasis role="bold">root</emphasis>
2464    Password: <replaceable>root_password</replaceable>
2465 </programlisting></para>
2466         </listitem>
2467
2468         <listitem>
2469           <para>Run the AFS initialization script. 
2470 <programlisting>
2471    # <emphasis role="bold">/etc/rc.d/init.d/openafs-client  start</emphasis>
2472 </programlisting></para>
2473         </listitem>
2474
2475         <listitem>
2476           <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis role="bold">openafs-client</emphasis>
2477           configuration variable. Based on the instruction in the AFS initialization file that begins with the string
2478           <computeroutput>#chkconfig</computeroutput>, the command automatically creates the symbolic links that incorporate the
2479           script into the Linux startup and shutdown sequence. <programlisting>
2480    # <emphasis role="bold">/sbin/chkconfig  --add openafs-client</emphasis>
2481 </programlisting></para>
2482         </listitem>
2483       </orderedlist>
2484     </sect2>
2485       
2486     <sect2 id="HDRWQ155">
2487       <title>Running the Script on other Linux Systems</title>
2488
2489       <orderedlist>
2490         <listitem>
2491           <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2492    # <emphasis role="bold">cd /</emphasis>
2493    # <emphasis role="bold">shutdown -r now</emphasis>
2494    login: <emphasis role="bold">root</emphasis>
2495    Password: <replaceable>root_password</replaceable>
2496 </programlisting></para>
2497         </listitem>
2498
2499         <listitem>
2500           <para>Run the AFS initialization script. <programlisting>
2501    # <emphasis role="bold">/etc/rc.d/init.d/afs  start</emphasis>
2502 </programlisting></para>
2503         </listitem>
2504
2505         <listitem>
2506           <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis role="bold">afs</emphasis>
2507           configuration variable. Based on the instruction in the AFS initialization file that begins with the string
2508           <computeroutput>#chkconfig</computeroutput>, the command automatically creates the symbolic links that incorporate the
2509           script into the Linux startup and shutdown sequence. <programlisting>
2510    # <emphasis role="bold">/sbin/chkconfig  --add afs</emphasis>
2511 </programlisting></para>
2512         </listitem>
2513
2514         <listitem>
2515           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2516           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/rc.d/init.d</emphasis> directories, and
2517           copies of the <emphasis role="bold">afsd</emphasis> options file in both the <emphasis
2518           role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/sysconfig</emphasis> directories. If you want to avoid
2519           potential confusion by guaranteeing that the two copies of each file are always the same, create a link between them. You
2520           can always retrieve the original script or options file from the AFS CD-ROM if necessary. <programlisting>
2521    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2522    # <emphasis role="bold">rm afs.rc afs.conf</emphasis>
2523    # <emphasis role="bold">ln -s  /etc/rc.d/init.d/afs  afs.rc</emphasis>
2524    # <emphasis role="bold">ln -s  /etc/sysconfig/afs  afs.conf</emphasis>
2525 </programlisting></para>
2526         </listitem>
2527
2528         <listitem>
2529           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2530           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2531           complete.</para>
2532         </listitem>
2533       </orderedlist>
2534
2535       <indexterm>
2536         <primary>afs file</primary>
2537
2538         <secondary>AFS initialization file</secondary>
2539       </indexterm>
2540
2541       <indexterm>
2542         <primary>files</primary>
2543
2544         <secondary>afs</secondary>
2545
2546         <tertiary>AFS initialization file</tertiary>
2547       </indexterm>
2548
2549       <indexterm>
2550         <primary>Solaris</primary>
2551
2552         <secondary>AFS initialization script</secondary>
2553
2554         <tertiary>on client machine</tertiary>
2555       </indexterm>
2556     </sect2>
2557
2558     <sect2 id="HDRWQ156">
2559       <title>Running the Script on Solaris Systems</title>
2560
2561       <orderedlist>
2562         <listitem>
2563           <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2564    # <emphasis role="bold">cd /</emphasis>
2565    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2566    login: <emphasis role="bold">root</emphasis>
2567    Password: <replaceable>root_password</replaceable>
2568 </programlisting></para>
2569         </listitem>
2570
2571         <listitem>
2572           <para>Run the AFS initialization script. <programlisting>
2573    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2574 </programlisting></para>
2575         </listitem>
2576
2577         <listitem>
2578           <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2579           -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the Solaris startup and
2580           shutdown sequence. <programlisting>
2581    # <emphasis role="bold">cd /etc/init.d</emphasis>
2582    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc3.d/S99afs</emphasis>
2583    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K66afs</emphasis>
2584 </programlisting></para>
2585         </listitem>
2586
2587         <listitem>
2588           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2589           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If you want
2590           to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can always
2591           retrieve the original script from the OpenAFS Binary Distribution if necessary. <programlisting>
2592    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2593    # <emphasis role="bold">rm afs.rc</emphasis>
2594    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2595 </programlisting></para>
2596         </listitem>
2597
2598         <listitem>
2599           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2600           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2601           complete.</para>
2602         </listitem>
2603       </orderedlist>
2604
2605       <indexterm>
2606         <primary>storing</primary>
2607
2608         <secondary>AFS binaries in volumes</secondary>
2609       </indexterm>
2610
2611       <indexterm>
2612         <primary>creating</primary>
2613
2614         <secondary>volume</secondary>
2615
2616         <tertiary>for AFS binaries</tertiary>
2617       </indexterm>
2618
2619       <indexterm>
2620         <primary>volume</primary>
2621
2622         <secondary>for AFS binaries</secondary>
2623       </indexterm>
2624
2625       <indexterm>
2626         <primary>binaries</primary>
2627
2628         <secondary>storing AFS in volume</secondary>
2629       </indexterm>
2630
2631       <indexterm>
2632         <primary>usr/afsws directory</primary>
2633       </indexterm>
2634
2635       <indexterm>
2636         <primary>directories</primary>
2637
2638         <secondary>/usr/afsws</secondary>
2639       </indexterm>
2640     </sect2>
2641   </sect1>
2642
2643   <sect1 id="HDRWQ157">
2644     <title>Setting Up Volumes and Loading Binaries into AFS</title>
2645
2646     <note><para>If you are using an operating system which uses packaged
2647     binaries, such as .rpms or .debs, you should allow these package management
2648     systems to maintain your AFS binaries, rather than following the 
2649     instructions in this section.</para></note>
2650     
2651     <para>In this section, you link <emphasis role="bold">/usr/afsws</emphasis> on the local disk to the directory in AFS that
2652     houses AFS binaries for this system type. The conventional name for the AFS directory is <emphasis
2653     role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2654     role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis>.</para>
2655
2656     <para>If this machine is an existing system type, the AFS directory presumably already exists. You can simply create a link from
2657     the local <emphasis role="bold">/usr/afsws</emphasis> directory to it. Follow the instructions in <link
2658     linkend="HDRWQ158">Linking /usr/afsws on an Existing System Type</link>.</para>
2659
2660     <para>If this machine is a new system type (there are no AFS machines of this type in your cell), you must first create and
2661     mount volumes to store its AFS binaries, and then create the link from <emphasis role="bold">/usr/afsws</emphasis> to the new
2662     directory. See <link linkend="HDRWQ159">Creating Binary Volumes for a New System Type</link>.</para>
2663
2664     <para>You can also store UNIX system binaries (the files normally stored in local disk directories such as <emphasis
2665     role="bold">/bin</emphasis>, <emphasis role="bold">/etc</emphasis>, and <emphasis role="bold">/lib</emphasis>) in volumes
2666     mounted under <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2667     role="bold">/</emphasis><replaceable>sysname</replaceable>. See <link linkend="HDRWQ88">Storing System Binaries in AFS</link>
2668     .</para>
2669
2670     <sect2 id="HDRWQ158">
2671       <title>Linking /usr/afsws on an Existing System Type</title>
2672
2673       <para>If this client machine is an existing system type, there is already a volume mounted in the AFS filespace that houses
2674       AFS client binaries for it. <orderedlist>
2675           <listitem>
2676             <para>Create <emphasis role="bold">/usr/afsws</emphasis> on the local disk as a symbolic link to the directory <emphasis
2677             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/@sys/usr/afsws</emphasis>. You can
2678             specify the actual system name instead of <emphasis role="bold">@sys</emphasis> if you wish, but the advantage of using
2679             <emphasis role="bold">@sys</emphasis> is that it remains valid if you upgrade this machine to a different system type.
2680             <programlisting>
2681    # <emphasis role="bold">ln -s /afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/@sys/usr/afsws  /usr/afsws</emphasis>
2682 </programlisting></para>
2683           </listitem>
2684
2685           <listitem>
2686             <para><emphasis role="bold">(Optional)</emphasis> If you believe it is helpful to your users to access the AFS documents
2687             in a certain format via a local disk directory, create <emphasis role="bold">/usr/afsdoc</emphasis> on the local disk as
2688             a symbolic link to the documentation directory in AFS (<emphasis
2689             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2690             role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable>). <programlisting>
2691    # <emphasis role="bold">ln -s /afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable> <emphasis
2692                   role="bold">/usr/afsdoc</emphasis>
2693 </programlisting></para>
2694
2695             <para>An alternative is to create a link in each user's home directory to the <emphasis
2696             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2697             role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable> directory.</para>
2698           </listitem>
2699         </orderedlist></para>
2700     </sect2>
2701
2702     <sect2 id="HDRWQ159">
2703       <title>Creating Binary Volumes for a New System Type</title>
2704
2705       <para>If this client machine is a new system type, you must create and mount volumes for its binaries before you can link the
2706       local <emphasis role="bold">/usr/afsws</emphasis> directory to an AFS directory.</para>
2707
2708       <para>To create and mount the volumes, you use the 
2709       <emphasis role="bold">kinit</emphasis> command to authenticate as an
2710       administrator, followed by the <emphasis role="bold">aklog</emphasis> 
2711       command to gain tokens, and then issue commands from the 
2712       <emphasis role="bold">vos</emphasis> and 
2713       <emphasis role="bold">fs</emphasis> command suites. However, the 
2714       command binaries are not yet available on this machine (by convention, 
2715       they are accessible via the <emphasis role="bold">/usr/afsws</emphasis> 
2716       link that you are about to create). You have two choices: 
2717       <itemizedlist>
2718           <listitem>
2719             <para>Perform all steps except the last one (Step <link linkend="LIWQ162">10</link>) on an existing AFS machine. On a
2720             file server machine, the <emphasis role="bold">aklog</emphasis>, <emphasis role="bold">fs</emphasis> and <emphasis
2721             role="bold">vos</emphasis> binaries reside in the <emphasis role="bold">/usr/afs/bin</emphasis> directory. On client
2722             machines, the <emphasis role="bold">aklog</emphasis> and <emphasis role="bold">fs</emphasis> binaries reside in the
2723             <emphasis role="bold">/usr/afsws/bin</emphasis> directory and the <emphasis role="bold">vos</emphasis> binary in the
2724             <emphasis role="bold">/usr/afsws/etc</emphasis> directory. Depending on how your PATH environment variable is set, you
2725             possibly need to precede the command names with a pathname.</para>
2726
2727             <para>If you work on another AFS machine, be sure to substitute the new system type name for the
2728             <replaceable>sysname</replaceable> argument in the following commands, not the system type of the machine on which you
2729             are issuing the commands.</para>
2730           </listitem>
2731
2732           <listitem>
2733             <para>Copy the necessary command binaries to a temporary location on the local disk, which enables you to perform the
2734             steps on the local machine. The following procedure installs them in the <emphasis role="bold">/tmp</emphasis> directory
2735             and removes them at the end. Depending on how your PATH environment variable is set, you possibly need to precede the
2736             command names with a pathname.</para>
2737           </listitem>
2738         </itemizedlist></para>
2739
2740       <para>Perform the following steps to create a volume for housing AFS binaries. <orderedlist>
2741           <listitem>
2742             <para>Working either on the local machine or another AFS machine, 
2743             extract the Open AFS distribtion tarball onto a directory on that 
2744             machine. The following instructions assume that you are using the
2745             <emphasis role="bold">/tmp/afsdist</emphasis> directory.</para>
2746           </listitem>
2747
2748           <listitem>
2749             <para>If working on the local machine, copy the necessary binaries to a temporary location on the local disk. Substitute
2750             a different directory name for <emphasis role="bold">/tmp</emphasis> if you wish. <programlisting>
2751    # <emphasis role="bold">cd  /tmp/afsdist/</emphasis><replaceable>new_sysname</replaceable><emphasis role="bold">/root.server/usr/afs/bin</emphasis>
2752    # <emphasis role="bold">cp -p  aklog  /tmp</emphasis>
2753    # <emphasis role="bold">cp -p  fs  /tmp</emphasis>
2754    # <emphasis role="bold">cp -p  vos  /tmp</emphasis>
2755 </programlisting></para>
2756           </listitem>
2757
2758           <listitem>
2759             <para>Authenticate as the user <emphasis role="bold">admin</emphasis>. 
2760 <programlisting>
2761    # <emphasis role="bold">kinit admin</emphasis>
2762    Password: <replaceable>admin_password</replaceable>
2763    # <emphasis role="bold">aklog</emphasis>
2764 </programlisting></para>
2765           </listitem>
2766
2767           <listitem id="LIWQ160">
2768             <para>Issue the <emphasis role="bold">vos create</emphasis> command to create volumes for storing
2769             the AFS client binaries for this system type. The following example instruction creates volumes called
2770             <replaceable>sysname</replaceable>, <replaceable>sysname</replaceable>.<emphasis role="bold">usr</emphasis>, and
2771             <replaceable>sysname</replaceable>.<emphasis role="bold">usr.afsws</emphasis>. Refer to the <emphasis>OpenAFS Release
2772             Notes</emphasis> to learn the proper value of <replaceable>sysname</replaceable> for this system type. <programlisting>
2773    # <emphasis role="bold">vos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; &lt;<replaceable>partition name</replaceable>&gt; <replaceable>sysname</replaceable>
2774    # <emphasis role="bold">vos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; &lt;<replaceable>partition name</replaceable>&gt; <replaceable>sysname</replaceable><emphasis
2775                   role="bold">.usr</emphasis>
2776    # <emphasis role="bold">vos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; &lt;<replaceable>partition name</replaceable>&gt; <replaceable>sysname</replaceable><emphasis
2777                   role="bold">.usr.afsws</emphasis>
2778 </programlisting></para>
2779           </listitem>
2780
2781           <listitem>
2782             <para>Issue the <emphasis role="bold">fs mkmount</emphasis> command to mount the newly created volumes. Because the
2783             <emphasis role="bold">root.cell</emphasis> volume is replicated, you must precede the <emphasis>cellname</emphasis> part
2784             of the pathname with a period to specify the read/write mount point, as shown. Then issue the <emphasis role="bold">vos
2785             release</emphasis> command to release a new replica of the <emphasis role="bold">root.cell</emphasis> volume, and the
2786             <emphasis role="bold">fs checkvolumes</emphasis> command to force the local Cache Manager to access them.
2787             <programlisting>
2788    # <emphasis role="bold">fs mkmount -dir /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable> <emphasis
2789                   role="bold">-vol</emphasis> <replaceable>sysname</replaceable>
2790    # <emphasis role="bold">fs mkmount -dir /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2791                   role="bold">/usr</emphasis>  <emphasis role="bold">-vol</emphasis> <replaceable>sysname</replaceable><emphasis
2792                   role="bold">.usr</emphasis>
2793    # <emphasis role="bold">fs mkmount -dir /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2794                   role="bold">/usr/afsws</emphasis> <emphasis role="bold">-vol</emphasis> <replaceable>sysname</replaceable><emphasis
2795                   role="bold">.usr.afsws</emphasis>
2796    # <emphasis role="bold">vos release root.cell</emphasis>
2797    # <emphasis role="bold">fs checkvolumes</emphasis>
2798 </programlisting></para>
2799           </listitem>
2800
2801           <listitem>
2802             <para>Issue the <emphasis role="bold">fs setacl</emphasis> command to grant the <emphasis role="bold">l</emphasis>
2803             (<emphasis role="bold">lookup</emphasis>) and <emphasis role="bold">r</emphasis> (<emphasis role="bold">read</emphasis>)
2804             permissions to the <emphasis role="bold">system:anyuser</emphasis> group on each new directory's ACL. <programlisting>
2805    # <emphasis role="bold">cd /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable>
2806    # <emphasis role="bold">fs setacl  -dir  .  usr  usr/afsws  -acl  system:anyuser rl</emphasis> 
2807 </programlisting></para>
2808           </listitem>
2809
2810           <listitem>
2811             <para>Issue the <emphasis role="bold">fs setquota</emphasis> command to set an unlimited quota on the volume mounted at
2812             the <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2813             role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis> directory. This
2814             enables you to copy all of the appropriate files from the CD-ROM into the volume without exceeding the volume's
2815             quota.</para>
2816
2817             <para>If you wish, you can set the volume's quota to a finite value after you complete the copying operation. At that
2818             point, use the <emphasis role="bold">vos examine</emphasis> command to determine how much space the volume is occupying.
2819             Then issue the <emphasis role="bold">fs setquota</emphasis> command to set a quota that is slightly larger.</para>
2820
2821             <programlisting>
2822    # <emphasis role="bold">fs setquota /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2823                 role="bold">/usr/afsws  0</emphasis>
2824 </programlisting>
2825           </listitem>
2826
2827           <listitem id="LIWQ161">
2828             <para>Copy the contents of the indicated 
2829             directories from the OpenAFS binary distribution into the 
2830             <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2831             role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis> directory.
2832             <programlisting>
2833    # <emphasis role="bold">cd /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2834                   role="bold">/usr/afsws</emphasis>
2835    # <emphasis role="bold">cp -rp /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/bin  .</emphasis>
2836    # <emphasis role="bold">cp -rp /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/etc  .</emphasis>
2837    # <emphasis role="bold">cp -rp /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/include  .</emphasis>
2838    # <emphasis role="bold">cp -rp /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/lib  .</emphasis>
2839 </programlisting></para>
2840           </listitem>
2841
2842           <listitem>
2843             <para>Issue the <emphasis role="bold">fs setacl</emphasis> command 
2844             to set the ACL on each directory appropriately. If you wish to 
2845             enable access to the software for locally authenticated users only, 
2846             set the ACL on the <emphasis role="bold">etc</emphasis>, 
2847             <emphasis role="bold">include</emphasis>, and 
2848             <emphasis role="bold">lib</emphasis> subdirectories to grant the 
2849             <emphasis role="bold">l</emphasis> and 
2850             <emphasis role="bold">r</emphasis> permissions to the 
2851             <emphasis role="bold">system:authuser</emphasis> group rather than 
2852             the <emphasis role="bold">system:anyuser</emphasis> group. The
2853             <emphasis role="bold">system:anyuser</emphasis> group must retain 
2854             the <emphasis role="bold">l</emphasis> and 
2855             <emphasis role="bold">r</emphasis> permissions on the 
2856             <emphasis role="bold">bin</emphasis> subdirectory to enable 
2857             unauthenticated users to access the 
2858             <emphasis role="bold">aklog</emphasis> binary. 
2859 <programlisting>
2860    # <emphasis role="bold">cd /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2861                   role="bold">/usr/afsws</emphasis>
2862    # <emphasis role="bold">fs setacl  -dir etc include lib  -acl  system:authuser rl</emphasis>  \
2863               <emphasis role="bold">system:anyuser none</emphasis>
2864 </programlisting></para>
2865           </listitem>
2866
2867           <listitem id="LIWQ162">
2868             <para>Perform this step on the new client machine even if you have performed the previous steps
2869             on another machine. Create <emphasis role="bold">/usr/afsws</emphasis> on the local disk as a symbolic link to the
2870             directory <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2871             role="bold">/@sys/usr/afsws</emphasis>. You can specify the actual system name instead of <emphasis
2872             role="bold">@sys</emphasis> if you wish, but the advantage of using <emphasis role="bold">@sys</emphasis> is that it
2873             remains valid if you upgrade this machine to a different system type. <programlisting>
2874    # <emphasis role="bold">ln -s /afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/@sys/usr/afsws  /usr/afsws</emphasis>
2875 </programlisting></para>
2876           </listitem>
2877
2878           <listitem>
2879             <para><emphasis role="bold">(Optional)</emphasis> To enable users to issue commands from the AFS suites (such as
2880             <emphasis role="bold">fs</emphasis>) without having to specify a pathname to their binaries, include the <emphasis
2881             role="bold">/usr/afsws/bin</emphasis> and <emphasis role="bold">/usr/afsws/etc</emphasis> directories in the PATH
2882             environment variable you define in each user's shell initialization file (such as <emphasis
2883             role="bold">.cshrc</emphasis>).</para>
2884           </listitem>
2885
2886           <listitem>
2887             <para><emphasis role="bold">(Optional)</emphasis> If you believe it is helpful to your users to access the AFS documents
2888             in a certain format via a local disk directory, create <emphasis role="bold">/usr/afsdoc</emphasis> on the local disk as
2889             a symbolic link to the documentation directory in AFS (<emphasis
2890             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2891             role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable>). <programlisting>
2892    # <emphasis role="bold">ln -s /afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable> <emphasis
2893                   role="bold">/usr/afsdoc</emphasis>
2894 </programlisting></para>
2895
2896             <para>An alternative is to create a link in each user's home directory to the <emphasis
2897             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2898             role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable> directory.</para>
2899           </listitem>
2900
2901           <listitem>
2902             <para><emphasis role="bold">(Optional)</emphasis> If working on the local machine, remove the AFS binaries from the
2903             temporary location. They are now accessible in the <emphasis role="bold">/usr/afsws</emphasis> directory.
2904             <programlisting>
2905    # <emphasis role="bold">cd  /tmp</emphasis>
2906    # <emphasis role="bold">rm  klog  fs  vos</emphasis>
2907 </programlisting></para>
2908           </listitem>
2909         </orderedlist></para>
2910     </sect2>
2911   </sect1>
2912 </chapter>