ac9aa9a97122cb7ddddd143b6735b8e6c8b08448
[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 11 on the x86_64 platform:</para>
1227
1228             <programlisting>
1229    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/drv/amd64/afs</emphasis>
1230 </programlisting>
1231
1232             <para>If the machine is running Solaris 10 on the x86_64 platform:</para>
1233
1234             <programlisting>
1235    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/amd64/afs</emphasis>
1236 </programlisting>
1237
1238             <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, its kernel supports NFS server
1239             functionality, and the <emphasis role="bold">nfsd</emphasis> process is running:</para>
1240
1241             <programlisting>
1242    # <emphasis role="bold">cp -p modload/libafs.o /kernel/fs/afs</emphasis>   
1243 </programlisting>
1244
1245             <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, and its kernel does not support NFS
1246             server functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1247
1248             <programlisting>
1249    # <emphasis role="bold">cp -p modload/libafs.nonfs.o /kernel/fs/afs</emphasis>   
1250 </programlisting>
1251
1252             <para>If the machine is running the 64-bit version of Solaris 7, its kernel supports NFS server functionality, and the
1253             <emphasis role="bold">nfsd</emphasis> process is running:</para>
1254
1255             <programlisting>
1256    # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</emphasis>   
1257 </programlisting>
1258
1259             <para>If the machine is running the 64-bit version of Solaris 7, and its kernel does not support NFS server
1260             functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1261
1262             <programlisting>
1263    # <emphasis role="bold">cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</emphasis>
1264 </programlisting>
1265           </listitem>
1266
1267           <listitem>
1268             <para>Run the AFS initialization script to load AFS modifications into the kernel. You can ignore any error messages
1269             about the inability to start the BOS Server or the Cache Manager or AFS client. <programlisting>
1270    # <emphasis role="bold">/etc/init.d/afs start</emphasis>   
1271 </programlisting></para>
1272
1273             <para>When an entry called <computeroutput>afs</computeroutput> does not already exist in the local <emphasis
1274             role="bold">/etc/name_to_sysnum</emphasis> file, the script automatically creates it and reboots the machine to start
1275             using the new version of the file. If this happens, log in again as the superuser <emphasis role="bold">root</emphasis>
1276             after the reboot and run the initialization script again. This time the required entry exists in the <emphasis
1277             role="bold">/etc/name_to_sysnum</emphasis> file, and the <emphasis role="bold">modload</emphasis> program runs.</para>
1278
1279             <programlisting>
1280    login: <emphasis role="bold">root</emphasis>
1281    Password: <replaceable>root_password</replaceable>
1282    # <emphasis role="bold">/etc/init.d/afs start</emphasis>
1283 </programlisting>
1284           </listitem>
1285         </orderedlist></para>
1286     </sect2>
1287
1288     <sect2 id="Header_137">
1289       <title>Enabling AFS Login on Solaris Systems</title>
1290
1291       <para>At this point you incorporate AFS into the operating system's Pluggable Authentication Module (PAM) scheme. PAM
1292       integrates all authentication mechanisms on the machine, including login, to provide the security infrastructure for
1293       authenticated access to and from the machine.</para>
1294
1295       <para>In modern AFS installations, you should be using Kerberos v5
1296       for user login, and obtaining AFS tokens subsequent to this authentication
1297       step. OpenAFS does not currently distribute a PAM module allowing AFS 
1298       tokens to be automatically gained at login. Some of these, such as
1299       pam-krb5 and pam-afs-session from http://www.eyrie.org/~eagle/software/
1300       or pam_afs2 from ftp://achilles.ctd.anl.gov/pub/DEE/pam_afs2-0.1.tar,
1301       have been tested with Solaris.</para>
1302
1303       <para>If you are at a site which still requires 
1304       <emphasis role="bold">kaserver</emphasis> or external Kerberos v4 based 
1305       authentication, please consult 
1306       <link linkend="KAS016">Enabling kaserver based AFS Login on Solaris Systems</link>
1307       for further installation instructions.</para>
1308     </sect2>
1309     <sect2 id="Header_137a">
1310       <title>Editing the File Systems Clean-up Script on Solaris Systems</title>
1311       <para>
1312         <orderedlist>
1313           <listitem>
1314             <para>Some Solaris distributions include a script that locates 
1315             and removes unneeded files from various file systems. Its
1316             conventional location is 
1317             <emphasis role="bold">/usr/lib/fs/nfs/nfsfind</emphasis>. The 
1318             script generally uses an argument to the 
1319             <emphasis role="bold">find</emphasis> command to define which file 
1320             systems to search. In this step you modify the
1321             command to exclude the <emphasis role="bold">/afs</emphasis> 
1322             directory. Otherwise, the command traverses the AFS
1323             filespace of every cell that is accessible from the machine, which can take many hours. The following alterations are
1324             possibilities, but you must verify that they are appropriate for your cell.</para>
1325
1326             <para>The first possible alteration is to add the <emphasis role="bold">-local</emphasis> flag to the existing command,
1327             so that it looks like the following:</para>
1328
1329             <programlisting>
1330    find $dir -local -name .nfs\* -mtime +7 -mount -exec rm -f {} \;   
1331 </programlisting>
1332
1333             <para>Another alternative is to exclude any directories whose names begin with the lowercase letter <emphasis
1334             role="bold">a</emphasis> or a non-alphabetic character.</para>
1335
1336             <programlisting>
1337    find /[A-Zb-z]*  <replaceable>remainder of existing command</replaceable>   
1338 </programlisting>
1339
1340             <para>Do not use the following command, which still searches under the <emphasis role="bold">/afs</emphasis> directory,
1341             looking for a subdirectory of type <emphasis role="bold">4.2</emphasis>.</para>
1342
1343             <programlisting>
1344    find / -fstype 4.2     /* <replaceable>do not use</replaceable> */
1345 </programlisting>
1346           </listitem>
1347
1348           <listitem>
1349             <para>Proceed to <link linkend="HDRWQ145">Loading and Creating Client Files</link>.</para>
1350           </listitem>
1351         </orderedlist></para>
1352
1353       <indexterm>
1354         <primary>Binary Distribution</primary>
1355
1356         <secondary>copying client files from</secondary>
1357
1358         <tertiary>client machine</tertiary>
1359       </indexterm>
1360
1361       <indexterm>
1362         <primary>client machine</primary>
1363
1364         <secondary>copying client files to local disk</secondary>
1365       </indexterm>
1366
1367       <indexterm>
1368         <primary>copying</primary>
1369
1370         <secondary>client files to local disk</secondary>
1371
1372         <tertiary>client machine</tertiary>
1373       </indexterm>
1374
1375       <indexterm>
1376         <primary>cell name</primary>
1377
1378         <secondary>setting in client ThisCell file</secondary>
1379
1380         <tertiary>client machine</tertiary>
1381       </indexterm>
1382
1383       <indexterm>
1384         <primary>setting</primary>
1385
1386         <secondary>cell name in client ThisCell file</secondary>
1387
1388         <tertiary>client machine</tertiary>
1389       </indexterm>
1390
1391       <indexterm>
1392         <primary>client machine</primary>
1393
1394         <secondary>cell membership</secondary>
1395       </indexterm>
1396
1397       <indexterm>
1398         <primary>client machine</primary>
1399
1400         <secondary>ThisCell file</secondary>
1401       </indexterm>
1402
1403       <indexterm>
1404         <primary>ThisCell file (client)</primary>
1405
1406         <secondary>client machine</secondary>
1407       </indexterm>
1408
1409       <indexterm>
1410         <primary>CellServDB file (client)</primary>
1411
1412         <secondary>creating</secondary>
1413
1414         <tertiary>on client machine</tertiary>
1415       </indexterm>
1416
1417       <indexterm>
1418         <primary>database server machine</primary>
1419
1420         <secondary>entry in client CellServDB file</secondary>
1421
1422         <tertiary>on client machine</tertiary>
1423       </indexterm>
1424
1425       <indexterm>
1426         <primary>creating</primary>
1427
1428         <secondary>CellServDB file (client)</secondary>
1429
1430         <tertiary>client machine</tertiary>
1431       </indexterm>
1432
1433       <indexterm>
1434         <primary>client machine</primary>
1435
1436         <secondary>CellServDB file</secondary>
1437
1438         <tertiary>creating during initial installation</tertiary>
1439       </indexterm>
1440     </sect2>
1441   </sect1>
1442
1443   <sect1 id="HDRWQ145">
1444     <title>Loading and Creating Client Files</title>
1445
1446     <para>If you are using a non-packaged distribution (that is, one provided as
1447     a tarball) you should now copy files from the istribution to the 
1448     <emphasis role="bold">/usr/vice/etc</emphasis> directory. On some platforms 
1449     that use a dynamic loader program to incorporate AFS modifications into the 
1450     kernel, you have already copied over some the files.
1451     Copying them again does no harm.</para>
1452
1453     <para>Every AFS client machine has a copy of the <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> file on its local disk
1454     to define the machine's cell membership for the AFS client programs that run on it. Among other functions, this file determines
1455     the following: <itemizedlist>
1456         <listitem>
1457           <para>The cell in which users authenticate when they log onto the machine, assuming it is using an AFS-modified login
1458           utility</para>
1459         </listitem>
1460
1461         <listitem>
1462           <para>The cell in which users authenticate by default when they issue the <emphasis role="bold">aklog</emphasis>
1463           command</para>
1464         </listitem>
1465
1466         <listitem>
1467           <para>The cell membership of the AFS server processes that the AFS command interpreters on this machine contact by
1468           default</para>
1469         </listitem>
1470       </itemizedlist></para>
1471
1472     <para>Similarly, the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file on a client machine's local disk lists the
1473     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
1474     the list of database server machines is wrong, then users working on this machine cannot access the cell. The chapter in the
1475     <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines explains how to maintain the file after
1476     creating it. A version of the client <emphasis role="bold">CellServDB</emphasis> file was created during the installation of
1477     your cell's first machine (in <link linkend="HDRWQ66">Creating the Client CellServDB File</link>). It is probably also
1478     appropriate for use on this machine.</para>
1479
1480     <para>Remember that the Cache Manager consults the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file only at
1481     reboot, when it copies the information into the kernel. For the Cache Manager to perform properly, the <emphasis
1482     role="bold">CellServDB</emphasis> file must be accurate at all times. Refer to the chapter in the <emphasis>OpenAFS
1483     Administration Guide</emphasis> about administering client machines for instructions on updating this file, with or without
1484     rebooting. <orderedlist>
1485         <listitem>
1486           <para>If you have not already done so, unpack the distribution 
1487           tarball for this machine's system type into a suitable location on 
1488           the filesystem, such as <emphasis role="bold">/tmp/afsdist</emphasis>.
1489           If you use a different location, substitue that in the examples that 
1490           follow.</para>
1491         </listitem>
1492
1493         <listitem>
1494           <para>Copy files to the local <emphasis role="bold">/usr/vice/etc</emphasis> directory.</para>
1495
1496           <para>This step places a copy of the AFS initialization script (and related files, if applicable) into the <emphasis
1497           role="bold">/usr/vice/etc</emphasis> directory. In the preceding instructions for incorporating AFS into the kernel, you
1498           copied the script directly to the operating system's conventional location for initialization files. When you incorporate
1499           AFS into the machine's startup sequence in a later step, you can choose to link the two files.</para>
1500
1501           <para>On some system types that use a dynamic kernel loader program, you previously copied AFS library files into a
1502           subdirectory of the <emphasis role="bold">/usr/vice/etc</emphasis> directory. On other system types, you copied the
1503           appropriate AFS library file directly to the directory where the operating system accesses it. The following commands do
1504           not copy or recopy the AFS library files into the <emphasis role="bold">/usr/vice/etc</emphasis> directory, because on
1505           some system types the library files consume a large amount of space. If you want to copy them, add the <emphasis
1506           role="bold">-r</emphasis> flag to the first <emphasis role="bold">cp</emphasis> command and skip the second <emphasis
1507           role="bold">cp</emphasis> command.</para>
1508
1509           <programlisting>
1510    # <emphasis role="bold">cd /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis>
1511    # <emphasis role="bold">cp -p  *  /usr/vice/etc</emphasis>
1512    # <emphasis role="bold">cp -rp  C  /usr/vice/etc</emphasis>
1513 </programlisting>
1514         </listitem>
1515
1516         <listitem>
1517           <para>Create the <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> file. <programlisting>
1518    # <emphasis role="bold">echo "</emphasis><replaceable>cellname</replaceable><emphasis role="bold">" &gt; /usr/vice/etc/ThisCell</emphasis>
1519 </programlisting></para>
1520         </listitem>
1521
1522         <listitem>
1523           <para>Create the 
1524           <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file. Use a 
1525           network file transfer program such as 
1526           <emphasis role="bold">sftp</emphasis> or 
1527           <emphasis role="bold">scp</emphasis> to copy it from one of the 
1528           following sources, which are listed in decreasing order of 
1529           preference: <itemizedlist>
1530               <listitem>
1531                 <para>Your cell's central <emphasis role="bold">CellServDB</emphasis> source file (the conventional location is
1532                 <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
1533                 role="bold">/common/etc/CellServDB</emphasis>)</para>
1534               </listitem>
1535
1536               <listitem>
1537                 <para>The global <emphasis role="bold">CellServDB</emphasis> 
1538                 file maintained at grand.central.org</para>
1539               </listitem>
1540
1541               <listitem>
1542                 <para>An existing client machine in your cell</para>
1543               </listitem>
1544
1545               <listitem>
1546                 <para>The <emphasis role="bold">CellServDB.sample</emphasis> 
1547                 file included in the
1548                 <replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis> 
1549                 directory of each OpenAFS distribution; add an entry for the 
1550                 local cell by following the instructions in 
1551                 <link linkend="HDRWQ66">Creating the Client CellServDB File</link>
1552                 </para>
1553               </listitem>
1554             </itemizedlist></para>
1555         </listitem>
1556       </orderedlist></para>
1557
1558     <indexterm>
1559       <primary>client cache</primary>
1560
1561       <see>cache</see>
1562     </indexterm>
1563
1564     <indexterm>
1565       <primary>AFS cache</primary>
1566
1567       <see>cache</see>
1568     </indexterm>
1569
1570     <indexterm>
1571       <primary>disk cache</primary>
1572
1573       <see>cache</see>
1574     </indexterm>
1575
1576     <indexterm>
1577       <primary>memory cache</primary>
1578
1579       <see>cache</see>
1580     </indexterm>
1581
1582     <indexterm>
1583       <primary>cache</primary>
1584
1585       <secondary>requirements</secondary>
1586     </indexterm>
1587
1588     <indexterm>
1589       <primary>cache</primary>
1590
1591       <secondary>choosing size</secondary>
1592     </indexterm>
1593
1594     <indexterm>
1595       <primary>requirements</primary>
1596
1597       <secondary>cache</secondary>
1598     </indexterm>
1599
1600     <indexterm>
1601       <primary>usr/vice/etc/cacheinfo</primary>
1602
1603       <see>cacheinfo file</see>
1604     </indexterm>
1605
1606     <indexterm>
1607       <primary>cacheinfo file</primary>
1608     </indexterm>
1609
1610     <indexterm>
1611       <primary>files</primary>
1612
1613       <secondary>cacheinfo</secondary>
1614     </indexterm>
1615
1616     <indexterm>
1617       <primary>usr/vice/cache directory</primary>
1618     </indexterm>
1619
1620     <indexterm>
1621       <primary>directories</primary>
1622
1623       <secondary>/usr/vice/cache</secondary>
1624     </indexterm>
1625
1626     <indexterm>
1627       <primary>cache</primary>
1628
1629       <secondary>configuring</secondary>
1630
1631       <tertiary>client machine</tertiary>
1632     </indexterm>
1633
1634     <indexterm>
1635       <primary>configuring</primary>
1636
1637       <secondary>cache</secondary>
1638
1639       <tertiary>client machine</tertiary>
1640     </indexterm>
1641
1642     <indexterm>
1643       <primary>setting</primary>
1644
1645       <secondary>cache size and location</secondary>
1646
1647       <tertiary>client machine</tertiary>
1648     </indexterm>
1649
1650     <indexterm>
1651       <primary>client machine</primary>
1652
1653       <secondary>cache size and location</secondary>
1654     </indexterm>
1655   </sect1>
1656
1657   <sect1 id="HDRWQ146">
1658     <title>Configuring the Cache</title>
1659
1660     <para>The Cache Manager uses a cache on the local disk or in machine memory to store local copies of files fetched from file
1661     server machines. As the <emphasis role="bold">afsd</emphasis> program initializes the Cache Manager, it sets basic cache
1662     configuration parameters according to definitions in the local <emphasis role="bold">/usr/vice/etc/cacheinfo</emphasis> file.
1663     The file has three fields: <orderedlist>
1664         <listitem>
1665           <para>The first field names the local directory on which to mount the AFS filespace. The conventional location is the
1666           <emphasis role="bold">/afs</emphasis> directory.</para>
1667         </listitem>
1668
1669         <listitem>
1670           <para>The second field defines the local disk directory to use for the disk cache. The conventional location is the
1671           <emphasis role="bold">/usr/vice/cache</emphasis> directory, but you can specify an alternate directory if another
1672           partition has more space available. There must always be a value in this field, but the Cache Manager ignores it if the
1673           machine uses a memory cache.</para>
1674         </listitem>
1675
1676         <listitem>
1677           <para>The third field specifies the number of kilobyte (1024 byte) blocks to allocate for the cache.</para>
1678         </listitem>
1679       </orderedlist></para>
1680
1681     <para>The values you define must meet the following requirements. <itemizedlist>
1682         <listitem>
1683           <para>On a machine using a disk cache, the Cache Manager expects always to be able to use the amount of space specified in
1684           the third field. Failure to meet this requirement can cause serious problems, some of which can be repaired only by
1685           rebooting. You must prevent non-AFS processes from filling up the cache partition. The simplest way is to devote a
1686           partition to the cache exclusively.</para>
1687         </listitem>
1688
1689         <listitem>
1690           <para>The amount of space available in memory or on the partition housing the disk cache directory imposes an absolute
1691           limit on cache size.</para>
1692         </listitem>
1693
1694         <listitem>
1695           <para>The maximum supported cache size can vary in each AFS release; see the <emphasis>OpenAFS Release Notes</emphasis>
1696           for the current version.</para>
1697         </listitem>
1698
1699         <listitem>
1700           <para>For a disk cache, you cannot specify a value in the third field that exceeds 95% of the space available on the
1701           partition mounted at the directory named in the second field. If you violate this restriction, the <emphasis
1702           role="bold">afsd</emphasis> program exits without starting the Cache Manager and prints an appropriate message on the
1703           standard output stream. A value of 90% is more appropriate on most machines. Some operating systems (such as AIX) do not
1704           automatically reserve some space to prevent the partition from filling completely; for them, a smaller value (say, 80% to
1705           85% of the space available) is more appropriate.</para>
1706         </listitem>
1707
1708         <listitem>
1709           <para>For a memory cache, you must leave enough memory for other processes and applications to run. If you try to allocate
1710           more memory than is actually available, the <emphasis role="bold">afsd</emphasis> program exits without initializing the
1711           Cache Manager and produces the following message on the standard output stream. <programlisting>
1712    afsd: memCache allocation failure at <replaceable>number</replaceable> KB
1713 </programlisting></para>
1714
1715           <para>The <replaceable>number</replaceable> value is how many kilobytes were allocated just before the failure, and so
1716           indicates the approximate amount of memory available.</para>
1717         </listitem>
1718       </itemizedlist></para>
1719
1720     <para>Within these hard limits, the factors that determine appropriate cache size include the number of users working on the
1721     machine, the size of the files with which they work, and (for a memory cache) the number of processes that run on the machine.
1722     The higher the demand from these factors, the larger the cache needs to be to maintain good performance.</para>
1723
1724     <para>Disk caches smaller than 10 MB do not generally perform well. Machines serving multiple users usually perform better with
1725     a cache of at least 60 to 70 MB. The point at which enlarging the cache further does not really improve performance depends on
1726     the factors mentioned previously and is difficult to predict.</para>
1727
1728     <para>Memory caches smaller than 1 MB are nonfunctional, and the performance of caches smaller than 5 MB is usually
1729     unsatisfactory. Suitable upper limits are similar to those for disk caches but are probably determined more by the demands on
1730     memory from other sources on the machine (number of users and processes). Machines running only a few processes possibly can use
1731     a smaller memory cache.</para>
1732
1733     <sect2 id="HDRWQ147">
1734       <title>Configuring a Disk Cache</title>
1735
1736       <note>
1737         <para>Not all file system types that an operating system supports are necessarily supported for use as the cache partition.
1738         For possible restrictions, see the <emphasis>OpenAFS Release Notes</emphasis>.</para>
1739       </note>
1740
1741       <para>To configure the disk cache, perform the following procedures: <orderedlist>
1742           <listitem>
1743             <para>Create the local directory to use for caching. The following instruction shows the conventional location,
1744             <emphasis role="bold">/usr/vice/cache</emphasis>. If you are devoting a partition exclusively to caching, as
1745             recommended, you must also configure it, make a file system on it, and mount it at the directory created in this step.
1746             <programlisting>
1747    # <emphasis role="bold">mkdir /usr/vice/cache</emphasis>
1748 </programlisting></para>
1749           </listitem>
1750
1751           <listitem>
1752             <para>Create the <emphasis role="bold">cacheinfo</emphasis> file to define the configuration parameters discussed
1753             previously. The following instruction shows the standard mount location, <emphasis role="bold">/afs</emphasis>, and the
1754             standard cache location, <emphasis role="bold">/usr/vice/cache</emphasis>. <programlisting>
1755    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; /usr/vice/etc/cacheinfo</emphasis>
1756 </programlisting></para>
1757
1758             <para>The following example defines the disk cache size as 50,000 KB:</para>
1759
1760             <programlisting>
1761    # <emphasis role="bold">echo "/afs:/usr/vice/cache:50000" &gt; /usr/vice/etc/cacheinfo</emphasis>
1762 </programlisting>
1763           </listitem>
1764         </orderedlist></para>
1765     </sect2>
1766
1767     <sect2 id="HDRWQ148">
1768       <title>Configuring a Memory Cache</title>
1769
1770       <para>To configure a memory cache, create the <emphasis role="bold">cacheinfo</emphasis> file to define the configuration
1771       parameters discussed previously. The following instruction shows the standard mount location, <emphasis
1772       role="bold">/afs</emphasis>, and the standard cache location, <emphasis role="bold">/usr/vice/cache</emphasis> (though the
1773       exact value of the latter is irrelevant for a memory cache).</para>
1774
1775       <programlisting>
1776    # <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" &gt; /usr/vice/etc/cacheinfo</emphasis>
1777 </programlisting>
1778
1779       <para>The following example allocates 25,000 KB of memory for the cache.</para>
1780
1781       <programlisting>
1782    # <emphasis role="bold">echo "/afs:/usr/vice/cache:25000" &gt; /usr/vice/etc/cacheinfo</emphasis>
1783 </programlisting>
1784
1785       <indexterm>
1786         <primary>afs (/afs) directory</primary>
1787
1788         <secondary>creating</secondary>
1789
1790         <tertiary>client machine</tertiary>
1791       </indexterm>
1792
1793       <indexterm>
1794         <primary>afs (/afs) directory</primary>
1795
1796         <secondary>as root of AFS filespace</secondary>
1797       </indexterm>
1798
1799       <indexterm>
1800         <primary>AFS filespace</primary>
1801
1802         <secondary>root at /afs directory</secondary>
1803       </indexterm>
1804
1805       <indexterm>
1806         <primary>directories</primary>
1807
1808         <secondary>/afs</secondary>
1809       </indexterm>
1810
1811       <indexterm>
1812         <primary>afsd</primary>
1813
1814         <secondary>options file (Linux)</secondary>
1815       </indexterm>
1816
1817       <indexterm>
1818         <primary>files</primary>
1819
1820         <secondary>afsd options file (Linux)</secondary>
1821       </indexterm>
1822
1823       <indexterm>
1824         <primary>files</primary>
1825
1826         <secondary>afs</secondary>
1827
1828         <tertiary>afsd options file (Linux)</tertiary>
1829       </indexterm>
1830
1831       <indexterm>
1832         <primary>afs file</primary>
1833
1834         <secondary>afsd options file (Linux)</secondary>
1835       </indexterm>
1836
1837       <indexterm>
1838         <primary>etc/sysconfig/afs</primary>
1839
1840         <see>afs file</see>
1841       </indexterm>
1842
1843       <indexterm>
1844         <primary>Linux</primary>
1845
1846         <secondary>afsd options file</secondary>
1847       </indexterm>
1848
1849       <indexterm>
1850         <primary>client machine</primary>
1851
1852         <secondary>afsd options file (Linux)</secondary>
1853       </indexterm>
1854
1855       <indexterm>
1856         <primary>afsd</primary>
1857
1858         <secondary>command in AFS init. script</secondary>
1859       </indexterm>
1860
1861       <indexterm>
1862         <primary>commands</primary>
1863
1864         <secondary>afsd</secondary>
1865       </indexterm>
1866
1867       <indexterm>
1868         <primary>OPTIONS variable in AFS initialization file</primary>
1869       </indexterm>
1870
1871       <indexterm>
1872         <primary>files</primary>
1873
1874         <secondary>AFS initialization</secondary>
1875
1876         <see>AFS initialization script</see>
1877       </indexterm>
1878
1879       <indexterm>
1880         <primary>scripts</primary>
1881
1882         <secondary>AFS initialization</secondary>
1883
1884         <see>AFS initialization script</see>
1885       </indexterm>
1886
1887       <indexterm>
1888         <primary>AFS initialization script</primary>
1889
1890         <secondary>setting afsd parameters</secondary>
1891
1892         <tertiary>client machine</tertiary>
1893       </indexterm>
1894
1895       <indexterm>
1896         <primary>client machine</primary>
1897
1898         <secondary>afsd command parameters</secondary>
1899       </indexterm>
1900
1901       <indexterm>
1902         <primary>variables</primary>
1903
1904         <secondary>OPTIONS (in AFS initialization file)</secondary>
1905       </indexterm>
1906
1907       <indexterm>
1908         <primary>environment variables</primary>
1909
1910         <see>variables</see>
1911       </indexterm>
1912
1913       <indexterm>
1914         <primary>Cache Manager</primary>
1915
1916         <secondary>client machine</secondary>
1917       </indexterm>
1918
1919       <indexterm>
1920         <primary>configuring</primary>
1921
1922         <secondary>Cache Manager</secondary>
1923
1924         <tertiary>client machine</tertiary>
1925       </indexterm>
1926
1927       <indexterm>
1928         <primary>client machine</primary>
1929
1930         <secondary>Cache Manager</secondary>
1931       </indexterm>
1932
1933       <indexterm>
1934         <primary>files</primary>
1935
1936         <secondary>vfs (AIX)</secondary>
1937       </indexterm>
1938
1939       <indexterm>
1940         <primary>vfs file</primary>
1941       </indexterm>
1942
1943       <indexterm>
1944         <primary>etc/vfs file</primary>
1945       </indexterm>
1946
1947       <indexterm>
1948         <primary>AIX</primary>
1949
1950         <secondary>editing /etc/vfs file</secondary>
1951       </indexterm>
1952
1953       <indexterm>
1954         <primary>client machine</primary>
1955
1956         <secondary>vfs file (AIX)</secondary>
1957       </indexterm>
1958     </sect2>
1959   </sect1>
1960
1961   <sect1 id="HDRWQ149">
1962     <title>Configuring the Cache Manager</title>
1963
1964     <para>By convention, the Cache Manager mounts the AFS filespace on the local <emphasis role="bold">/afs</emphasis> directory. In
1965     this section you create that directory.</para>
1966
1967     <para>The <emphasis role="bold">afsd</emphasis> program sets several cache configuration parameters as it initializes the Cache
1968     Manager, and starts daemons that improve performance. You can use the <emphasis role="bold">afsd</emphasis> command's arguments
1969     to override the parameters' default values and to change the number of some of the daemons. Depending on the machine's cache
1970     size, its amount of RAM, and how many people work on it, you can sometimes improve Cache Manager performance by overriding the
1971     default values. For a discussion of all of the <emphasis role="bold">afsd</emphasis> command's arguments, see its reference page
1972     in the <emphasis>OpenAFS Administration Reference</emphasis>.</para>
1973
1974     <para>On platforms using the standard 'afs' initialisation script (this does
1975     not apply to Fedora or RHEL based distributions), the 
1976     <emphasis role="bold">afsd</emphasis> command line in the AFS 
1977     initialization script on each system type includes an
1978     <computeroutput>OPTIONS</computeroutput> variable. You can use it to set 
1979     nondefault values for the command's arguments, in one
1980     of the following ways: <itemizedlist>
1981         <listitem>
1982           <para>You can create an <emphasis role="bold">afsd</emphasis> <emphasis>options file</emphasis> that sets values for
1983           arguments to the <emphasis role="bold">afsd</emphasis> command. If the file exists, its contents are automatically
1984           substituted for the <computeroutput>OPTIONS</computeroutput> variable in the AFS initialization script. The AFS
1985           distribution for some system types includes an options file; on other system types, you must create it.</para>
1986
1987           <para>You use two variables in the AFS initialization script to specify the path to the options file:
1988           <computeroutput>CONFIG</computeroutput> and <computeroutput>AFSDOPT</computeroutput>. On system types that define a
1989           conventional directory for configuration files, the <computeroutput>CONFIG</computeroutput> variable indicates it by
1990           default; otherwise, the variable indicates an appropriate location.</para>
1991
1992           <para>List the desired <emphasis role="bold">afsd</emphasis> options on a single line in the options file, separating each
1993           option with one or more spaces. The following example sets the <emphasis role="bold">-stat</emphasis> argument to 2500,
1994           the <emphasis role="bold">-daemons</emphasis> argument to 4, and the <emphasis role="bold">-volumes</emphasis> argument to
1995           100.</para>
1996
1997           <programlisting>
1998    -stat 2500 -daemons 4 -volumes 100   
1999 </programlisting>
2000         </listitem>
2001
2002         <listitem>
2003           <para>On a machine that uses a disk cache, you can set the <computeroutput>OPTIONS</computeroutput> variable in the AFS
2004           initialization script to one of <computeroutput>$SMALL</computeroutput>, <computeroutput>$MEDIUM</computeroutput>, or
2005           <computeroutput>$LARGE</computeroutput>. The AFS initialization script uses one of these settings if the <emphasis
2006           role="bold">afsd</emphasis> options file named by the <computeroutput>AFSDOPT</computeroutput> variable does not exist. In
2007           the script as distributed, the <computeroutput>OPTIONS</computeroutput> variable is set to the value
2008           <computeroutput>$MEDIUM</computeroutput>.</para>
2009
2010           <note>
2011             <para>Do not set the <computeroutput>OPTIONS</computeroutput> variable to <computeroutput>$SMALL</computeroutput>,
2012             <computeroutput>$MEDIUM</computeroutput>, or <computeroutput>$LARGE</computeroutput> on a machine that uses a memory
2013             cache. The arguments it sets are appropriate only on a machine that uses a disk cache.</para>
2014           </note>
2015
2016           <para>The script (or on some system types the <emphasis role="bold">afsd</emphasis> options file named by the
2017           <computeroutput>AFSDOPT</computeroutput> variable) defines a value for each of <computeroutput>SMALL</computeroutput>,
2018           <computeroutput>MEDIUM</computeroutput>, and <computeroutput>LARGE</computeroutput> that sets <emphasis
2019           role="bold">afsd</emphasis> command arguments appropriately for client machines of different sizes: <itemizedlist>
2020               <listitem>
2021                 <para><computeroutput>SMALL</computeroutput> is suitable for a small machine that serves one or two users and has
2022                 approximately 8 MB of RAM and a 20-MB cache</para>
2023               </listitem>
2024
2025               <listitem>
2026                 <para><computeroutput>MEDIUM</computeroutput> is suitable for a medium-sized machine that serves two to six users
2027                 and has 16 MB of RAM and a 40-MB cache</para>
2028               </listitem>
2029
2030               <listitem>
2031                 <para><computeroutput>LARGE</computeroutput> is suitable for a large machine that serves five to ten users and has
2032                 32 MB of RAM and a 100-MB cache</para>
2033               </listitem>
2034             </itemizedlist></para>
2035         </listitem>
2036
2037         <listitem>
2038           <para>You can choose not to create an <emphasis role="bold">afsd</emphasis> options file and to set the
2039           <computeroutput>OPTIONS</computeroutput> variable in the initialization script to a null value rather than to the default
2040           <computeroutput>$MEDIUM</computeroutput> value. You can then either set arguments directly on the <emphasis
2041           role="bold">afsd</emphasis> command line in the script, or set no arguments (and so accept default values for all Cache
2042           Manager parameters).</para>
2043         </listitem>
2044       </itemizedlist>
2045       
2046       <note>
2047         <para>If you are running on a Fedora or RHEL based system, the 
2048         openafs-client initialization script behaves differently from that
2049         described above. It sources 
2050         <emphasis role="bold">/etc/sysconfig/openafs</emphasis>, in which the
2051         AFSD_ARGS variable may be set to contain any, or all, of the afsd 
2052         options detailed above. Note that this script does not support setting
2053         an <computeroutput>OPTIONS</computeroutput> variable, or the 
2054         <computeroutput>SMALL</computeroutput>,
2055         <computeroutput>MEDIUM</computeroutput> and
2056         <computeroutput>LARGE</computeroutput> methods of defining cache size.
2057         </para>
2058       </note>
2059       
2060       <orderedlist>
2061         <listitem>
2062           <para>Create the local directory on which to mount the AFS filespace, by convention <emphasis role="bold">/afs</emphasis>.
2063           If the directory already exists, verify that it is empty. <programlisting>
2064    # <emphasis role="bold">mkdir /afs</emphasis>
2065 </programlisting></para>
2066         </listitem>
2067
2068         <listitem>
2069           <para>On AIX systems, add the following line to the <emphasis role="bold">/etc/vfs</emphasis> file. It enables AIX to
2070           unmount AFS correctly during shutdown. <programlisting>
2071    afs     4     none     none
2072 </programlisting></para>
2073         </listitem>
2074
2075         <listitem>
2076           <para>On non-package based Linux systems, copy the <emphasis role="bold">afsd</emphasis> options file from the <emphasis
2077           role="bold">/usr/vice/etc</emphasis> directory to the <emphasis role="bold">/etc/sysconfig</emphasis> directory, removing
2078           the <emphasis role="bold">.conf</emphasis> extension as you do so. <programlisting>
2079    # <emphasis role="bold">cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</emphasis>
2080 </programlisting></para>
2081         </listitem>
2082
2083         <listitem>
2084           <para>Edit the machine's AFS initialization script or <emphasis role="bold">afsd</emphasis> options file to set
2085           appropriate values for <emphasis role="bold">afsd</emphasis> command parameters. The appropriate file for each system type
2086           is as follows: <itemizedlist>
2087               <listitem>
2088                 <para>On AIX systems, <emphasis role="bold">/etc/rc.afs</emphasis></para>
2089               </listitem>
2090
2091               <listitem>
2092                 <para>On HP-UX systems, <emphasis role="bold">/sbin/init.d/afs</emphasis></para>
2093               </listitem>
2094
2095               <listitem>
2096                 <para>On IRIX systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2097               </listitem>
2098
2099               <listitem>
2100                 <para>On Fedora and RHEL systems, <emphasis role="bold">/etc/sysconfig/openafs</emphasis></para>
2101               </listitem>
2102               
2103               <listitem>
2104                 <para>On Linux systems, <emphasis role="bold">/etc/sysconfig/afs</emphasis> (the <emphasis
2105                 role="bold">afsd</emphasis> options file)</para>
2106               </listitem>
2107
2108               <listitem>
2109                 <para>On Solaris systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
2110               </listitem>
2111             </itemizedlist></para>
2112
2113           <para>Use one of the methods described in the introduction to this section to add the following flags to the <emphasis
2114           role="bold">afsd</emphasis> command line. Also set any performance-related arguments you wish. <itemizedlist>
2115               <listitem>
2116                 <para>Add the <emphasis role="bold">-memcache</emphasis> flag if the machine is to use a memory cache.</para>
2117               </listitem>
2118
2119               <listitem>
2120                 <para>Add the <emphasis role="bold">-verbose</emphasis> flag to display a trace of the Cache Manager's
2121                 initialization on the standard output stream.</para>
2122               </listitem>
2123             </itemizedlist></para>
2124         </listitem>
2125       </orderedlist></para>
2126
2127     <indexterm>
2128       <primary>AFS initialization script</primary>
2129
2130       <secondary>running</secondary>
2131
2132       <tertiary>client machine</tertiary>
2133     </indexterm>
2134
2135     <indexterm>
2136       <primary>client machine</primary>
2137
2138       <secondary>AFS initialization script</secondary>
2139     </indexterm>
2140
2141     <indexterm>
2142       <primary>running AFS init. script</primary>
2143
2144       <secondary>client machine</secondary>
2145     </indexterm>
2146
2147     <indexterm>
2148       <primary>installing</primary>
2149
2150       <secondary>AFS initialization script</secondary>
2151
2152       <tertiary>client machine</tertiary>
2153     </indexterm>
2154
2155     <indexterm>
2156       <primary>AFS initialization script</primary>
2157
2158       <secondary>adding to machine startup sequence</secondary>
2159
2160       <tertiary>client machine</tertiary>
2161     </indexterm>
2162   </sect1>
2163
2164   <sect1 id="HDRWQ150">
2165     <title>Starting the Cache Manager and Installing the AFS Initialization Script</title>
2166
2167     <para>In this section you run the AFS initialization script to start the Cache Manager. If the script works correctly, perform
2168     the steps that incorporate it into the machine's startup and shutdown sequence. If there are problems during the initialization,
2169     attempt to resolve them. The AFS Product Support group can provide assistance if necessary.</para>
2170
2171     <para>On machines that use a disk cache, it can take a while for the <emphasis role="bold">afsd</emphasis> program to run the
2172     first time on a machine, because it must create all of the <emphasis role="bold">V</emphasis><replaceable>n</replaceable> files
2173     in the cache directory. Subsequent Cache Manager initializations do not take nearly as long, because the <emphasis
2174     role="bold">V</emphasis><replaceable>n</replaceable> files already exist.</para>
2175
2176     <para>On system types that use a dynamic loader program, you must reboot the machine before running the initialization script,
2177     so that it can freshly load AFS modifications into the kernel.</para>
2178
2179     <para>Proceed to the instructions for your system type:</para>
2180
2181     <itemizedlist>
2182       <listitem>
2183         <para><link linkend="HDRWQ151">Running the Script on AIX Systems</link></para>
2184       </listitem>
2185
2186       <listitem>
2187         <para><link linkend="HDRWQ153">Running the Script on HP-UX Systems</link></para>
2188       </listitem>
2189
2190       <listitem>
2191         <para><link linkend="HDRWQ154">Running the Script on IRIX Systems</link></para>
2192       </listitem>
2193
2194       <listitem>
2195         <para><link linkend="HDRWQ155">Running the Script on Linux Systems</link></para>
2196       </listitem>
2197
2198       <listitem>
2199         <para><link linkend="HDRWQ156">Running the Script on Solaris Systems</link></para>
2200       </listitem>
2201     </itemizedlist>
2202
2203     <indexterm>
2204       <primary>AIX</primary>
2205
2206       <secondary>AFS initialization script</secondary>
2207
2208       <tertiary>on client machine</tertiary>
2209     </indexterm>
2210
2211     <indexterm>
2212       <primary>rc.afs file (AFS init. file for AIX)</primary>
2213     </indexterm>
2214
2215     <indexterm>
2216       <primary>files</primary>
2217
2218       <secondary>rc.afs</secondary>
2219     </indexterm>
2220
2221     <indexterm>
2222       <primary>etc/rc.afs</primary>
2223
2224       <see>rc.afs file</see>
2225     </indexterm>
2226
2227     <sect2 id="HDRWQ151">
2228       <title>Running the Script on AIX Systems</title>
2229
2230       <orderedlist>
2231         <listitem>
2232           <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2233    # <emphasis role="bold">cd /</emphasis>
2234    # <emphasis role="bold">shutdown -r now</emphasis>
2235    login: <emphasis role="bold">root</emphasis>
2236    Password: <replaceable>root_password</replaceable>
2237 </programlisting></para>
2238         </listitem>
2239
2240         <listitem>
2241           <para>Run the AFS initialization script. <programlisting>
2242    # <emphasis role="bold">/etc/rc.afs</emphasis>
2243 </programlisting></para>
2244         </listitem>
2245
2246         <listitem>
2247           <para>Edit the AIX initialization file, <emphasis role="bold">/etc/inittab</emphasis>, adding the following line to invoke
2248           the AFS initialization script. Place it just after the line that starts NFS daemons. <programlisting>
2249    rcafs:2:wait:/etc/rc.afs &gt; /dev/console 2&gt;&amp;1 # Start AFS services
2250 </programlisting></para>
2251         </listitem>
2252
2253         <listitem>
2254           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2255           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc</emphasis> directories. If you want to avoid
2256           potential confusion by guaranteeing that they are always the same, create a link between them. You can always retrieve the
2257           original script from the AFS CD-ROM if necessary. <programlisting>
2258    # <emphasis role="bold">cd  /usr/vice/etc</emphasis>
2259    # <emphasis role="bold">rm  rc.afs</emphasis>
2260    # <emphasis role="bold">ln -s  /etc/rc.afs</emphasis>
2261 </programlisting></para>
2262         </listitem>
2263
2264         <listitem>
2265           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2266           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2267           complete.</para>
2268         </listitem>
2269       </orderedlist>
2270
2271       <indexterm>
2272         <primary>afs file</primary>
2273
2274         <secondary>AFS initialization file</secondary>
2275       </indexterm>
2276
2277       <indexterm>
2278         <primary>files</primary>
2279
2280         <secondary>afs</secondary>
2281
2282         <tertiary>AFS initialization file</tertiary>
2283       </indexterm>
2284
2285       <indexterm>
2286         <primary>HP-UX</primary>
2287
2288         <secondary>AFS initialization script</secondary>
2289
2290         <tertiary>on client machine</tertiary>
2291       </indexterm>
2292     </sect2>
2293
2294     <sect2 id="HDRWQ153">
2295       <title>Running the Script on HP-UX Systems</title>
2296
2297       <orderedlist>
2298         <listitem>
2299           <para>Run the AFS initialization script. <programlisting>
2300    # <emphasis role="bold">/sbin/init.d/afs  start</emphasis>
2301 </programlisting></para>
2302         </listitem>
2303
2304         <listitem>
2305           <para>Change to the <emphasis role="bold">/sbin/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2306           -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the HP-UX startup and
2307           shutdown sequence. <programlisting>
2308    # <emphasis role="bold">cd /sbin/init.d</emphasis>
2309    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/S460afs</emphasis>
2310    # <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/K800afs</emphasis>
2311 </programlisting></para>
2312         </listitem>
2313
2314         <listitem>
2315           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2316           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/sbin/init.d</emphasis> directories. If you want
2317           to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can always
2318           retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2319    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2320    # <emphasis role="bold">rm afs.rc</emphasis>
2321    # <emphasis role="bold">ln -s  /sbin/init.d/afs  afs.rc</emphasis>
2322 </programlisting></para>
2323         </listitem>
2324
2325         <listitem>
2326           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2327           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2328           complete.</para>
2329         </listitem>
2330       </orderedlist>
2331
2332       <indexterm>
2333         <primary>afs file</primary>
2334
2335         <secondary>AFS initialization file</secondary>
2336       </indexterm>
2337
2338       <indexterm>
2339         <primary>files</primary>
2340
2341         <secondary>afs</secondary>
2342
2343         <tertiary>AFS initialization file</tertiary>
2344       </indexterm>
2345
2346       <indexterm>
2347         <primary>IRIX</primary>
2348
2349         <secondary>AFS initialization script</secondary>
2350
2351         <tertiary>on client machine</tertiary>
2352       </indexterm>
2353
2354       <indexterm>
2355         <primary>etc/init.d/afs</primary>
2356
2357         <see>afs file</see>
2358       </indexterm>
2359
2360       <indexterm>
2361         <primary>afsclient variable (IRIX)</primary>
2362
2363         <secondary>client machine</secondary>
2364       </indexterm>
2365
2366       <indexterm>
2367         <primary>variables</primary>
2368
2369         <secondary>afsclient (IRIX)</secondary>
2370
2371         <tertiary>client machine</tertiary>
2372       </indexterm>
2373
2374       <indexterm>
2375         <primary>IRIX</primary>
2376
2377         <secondary>afsclient variable</secondary>
2378
2379         <tertiary>client machine</tertiary>
2380       </indexterm>
2381     </sect2>
2382
2383     <sect2 id="HDRWQ154">
2384       <title>Running the Script on IRIX Systems</title>
2385
2386       <orderedlist>
2387         <listitem>
2388           <para>If you have configured the machine to use the <emphasis role="bold">ml</emphasis> dynamic loader program, reboot the
2389           machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2390    # <emphasis role="bold">cd /</emphasis>
2391    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2392    login: <emphasis role="bold">root</emphasis>
2393    Password: <replaceable>root_password</replaceable>
2394 </programlisting></para>
2395         </listitem>
2396
2397         <listitem>
2398           <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
2399           role="bold">afsclient</emphasis> configuration variable. <programlisting>
2400    # <emphasis role="bold">/etc/chkconfig -f afsclient on</emphasis> 
2401 </programlisting></para>
2402         </listitem>
2403
2404         <listitem>
2405           <para>Run the AFS initialization script. <programlisting>
2406    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2407 </programlisting></para>
2408         </listitem>
2409
2410         <listitem>
2411           <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2412           -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the IRIX startup and
2413           shutdown sequence. <programlisting>
2414    # <emphasis role="bold">cd /etc/init.d</emphasis>
2415    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc2.d/S35afs</emphasis>
2416    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K35afs</emphasis>
2417 </programlisting></para>
2418         </listitem>
2419
2420         <listitem>
2421           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2422           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If you want
2423           to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can always
2424           retrieve the original script from the AFS CD-ROM if necessary. <programlisting>
2425    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2426    # <emphasis role="bold">rm afs.rc</emphasis>
2427    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2428 </programlisting></para>
2429         </listitem>
2430
2431         <listitem>
2432           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2433           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2434           complete.</para>
2435         </listitem>
2436       </orderedlist>
2437
2438       <indexterm>
2439         <primary>afs file</primary>
2440
2441         <secondary>AFS initialization file</secondary>
2442       </indexterm>
2443
2444       <indexterm>
2445         <primary>files</primary>
2446
2447         <secondary>afs</secondary>
2448
2449         <tertiary>AFS initialization file</tertiary>
2450       </indexterm>
2451
2452       <indexterm>
2453         <primary>etc/rc.d/init.d/afs</primary>
2454
2455         <see>afs file</see>
2456       </indexterm>
2457
2458       <indexterm>
2459         <primary>Linux</primary>
2460
2461         <secondary>AFS initialization script</secondary>
2462
2463         <tertiary>on client machine</tertiary>
2464       </indexterm>
2465     </sect2>
2466
2467     <sect2>
2468       <title>Running the Script on Fedora / RHEL Systems</title>
2469
2470       <orderedlist>
2471         <listitem>
2472           <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2473    # <emphasis role="bold">cd /</emphasis>
2474    # <emphasis role="bold">shutdown -r now</emphasis>
2475    login: <emphasis role="bold">root</emphasis>
2476    Password: <replaceable>root_password</replaceable>
2477 </programlisting></para>
2478         </listitem>
2479
2480         <listitem>
2481           <para>Run the AFS initialization script. 
2482 <programlisting>
2483    # <emphasis role="bold">/etc/rc.d/init.d/openafs-client  start</emphasis>
2484 </programlisting></para>
2485         </listitem>
2486
2487         <listitem>
2488           <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis role="bold">openafs-client</emphasis>
2489           configuration variable. Based on the instruction in the AFS initialization file that begins with the string
2490           <computeroutput>#chkconfig</computeroutput>, the command automatically creates the symbolic links that incorporate the
2491           script into the Linux startup and shutdown sequence. <programlisting>
2492    # <emphasis role="bold">/sbin/chkconfig  --add openafs-client</emphasis>
2493 </programlisting></para>
2494         </listitem>
2495       </orderedlist>
2496     </sect2>
2497       
2498     <sect2 id="HDRWQ155">
2499       <title>Running the Script on other Linux Systems</title>
2500
2501       <orderedlist>
2502         <listitem>
2503           <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2504    # <emphasis role="bold">cd /</emphasis>
2505    # <emphasis role="bold">shutdown -r now</emphasis>
2506    login: <emphasis role="bold">root</emphasis>
2507    Password: <replaceable>root_password</replaceable>
2508 </programlisting></para>
2509         </listitem>
2510
2511         <listitem>
2512           <para>Run the AFS initialization script. <programlisting>
2513    # <emphasis role="bold">/etc/rc.d/init.d/afs  start</emphasis>
2514 </programlisting></para>
2515         </listitem>
2516
2517         <listitem>
2518           <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis role="bold">afs</emphasis>
2519           configuration variable. Based on the instruction in the AFS initialization file that begins with the string
2520           <computeroutput>#chkconfig</computeroutput>, the command automatically creates the symbolic links that incorporate the
2521           script into the Linux startup and shutdown sequence. <programlisting>
2522    # <emphasis role="bold">/sbin/chkconfig  --add afs</emphasis>
2523 </programlisting></para>
2524         </listitem>
2525
2526         <listitem>
2527           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2528           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/rc.d/init.d</emphasis> directories, and
2529           copies of the <emphasis role="bold">afsd</emphasis> options file in both the <emphasis
2530           role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/sysconfig</emphasis> directories. If you want to avoid
2531           potential confusion by guaranteeing that the two copies of each file are always the same, create a link between them. You
2532           can always retrieve the original script or options file from the AFS CD-ROM if necessary. <programlisting>
2533    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2534    # <emphasis role="bold">rm afs.rc afs.conf</emphasis>
2535    # <emphasis role="bold">ln -s  /etc/rc.d/init.d/afs  afs.rc</emphasis>
2536    # <emphasis role="bold">ln -s  /etc/sysconfig/afs  afs.conf</emphasis>
2537 </programlisting></para>
2538         </listitem>
2539
2540         <listitem>
2541           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2542           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2543           complete.</para>
2544         </listitem>
2545       </orderedlist>
2546
2547       <indexterm>
2548         <primary>afs file</primary>
2549
2550         <secondary>AFS initialization file</secondary>
2551       </indexterm>
2552
2553       <indexterm>
2554         <primary>files</primary>
2555
2556         <secondary>afs</secondary>
2557
2558         <tertiary>AFS initialization file</tertiary>
2559       </indexterm>
2560
2561       <indexterm>
2562         <primary>Solaris</primary>
2563
2564         <secondary>AFS initialization script</secondary>
2565
2566         <tertiary>on client machine</tertiary>
2567       </indexterm>
2568     </sect2>
2569
2570     <sect2 id="HDRWQ156">
2571       <title>Running the Script on Solaris Systems</title>
2572
2573       <orderedlist>
2574         <listitem>
2575           <para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>. <programlisting>
2576    # <emphasis role="bold">cd /</emphasis>
2577    # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
2578    login: <emphasis role="bold">root</emphasis>
2579    Password: <replaceable>root_password</replaceable>
2580 </programlisting></para>
2581         </listitem>
2582
2583         <listitem>
2584           <para>Run the AFS initialization script. <programlisting>
2585    # <emphasis role="bold">/etc/init.d/afs  start</emphasis>
2586 </programlisting></para>
2587         </listitem>
2588
2589         <listitem>
2590           <para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
2591           -s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the Solaris startup and
2592           shutdown sequence. <programlisting>
2593    # <emphasis role="bold">cd /etc/init.d</emphasis>
2594    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc3.d/S99afs</emphasis>
2595    # <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K66afs</emphasis>
2596 </programlisting></para>
2597         </listitem>
2598
2599         <listitem>
2600           <para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
2601           <emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If you want
2602           to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can always
2603           retrieve the original script from the OpenAFS Binary Distribution if necessary. <programlisting>
2604    # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2605    # <emphasis role="bold">rm afs.rc</emphasis>
2606    # <emphasis role="bold">ln -s  /etc/init.d/afs  afs.rc</emphasis>
2607 </programlisting></para>
2608         </listitem>
2609
2610         <listitem>
2611           <para>If a volume for housing AFS binaries for this machine's system type does not already exist, proceed to <link
2612           linkend="HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</link>. Otherwise, the installation is
2613           complete.</para>
2614         </listitem>
2615       </orderedlist>
2616
2617       <indexterm>
2618         <primary>storing</primary>
2619
2620         <secondary>AFS binaries in volumes</secondary>
2621       </indexterm>
2622
2623       <indexterm>
2624         <primary>creating</primary>
2625
2626         <secondary>volume</secondary>
2627
2628         <tertiary>for AFS binaries</tertiary>
2629       </indexterm>
2630
2631       <indexterm>
2632         <primary>volume</primary>
2633
2634         <secondary>for AFS binaries</secondary>
2635       </indexterm>
2636
2637       <indexterm>
2638         <primary>binaries</primary>
2639
2640         <secondary>storing AFS in volume</secondary>
2641       </indexterm>
2642
2643       <indexterm>
2644         <primary>usr/afsws directory</primary>
2645       </indexterm>
2646
2647       <indexterm>
2648         <primary>directories</primary>
2649
2650         <secondary>/usr/afsws</secondary>
2651       </indexterm>
2652     </sect2>
2653   </sect1>
2654
2655   <sect1 id="HDRWQ157">
2656     <title>Setting Up Volumes and Loading Binaries into AFS</title>
2657
2658     <note><para>If you are using an operating system which uses packaged
2659     binaries, such as .rpms or .debs, you should allow these package management
2660     systems to maintain your AFS binaries, rather than following the 
2661     instructions in this section.</para></note>
2662     
2663     <para>In this section, you link <emphasis role="bold">/usr/afsws</emphasis> on the local disk to the directory in AFS that
2664     houses AFS binaries for this system type. The conventional name for the AFS directory is <emphasis
2665     role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2666     role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis>.</para>
2667
2668     <para>If this machine is an existing system type, the AFS directory presumably already exists. You can simply create a link from
2669     the local <emphasis role="bold">/usr/afsws</emphasis> directory to it. Follow the instructions in <link
2670     linkend="HDRWQ158">Linking /usr/afsws on an Existing System Type</link>.</para>
2671
2672     <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
2673     mount volumes to store its AFS binaries, and then create the link from <emphasis role="bold">/usr/afsws</emphasis> to the new
2674     directory. See <link linkend="HDRWQ159">Creating Binary Volumes for a New System Type</link>.</para>
2675
2676     <para>You can also store UNIX system binaries (the files normally stored in local disk directories such as <emphasis
2677     role="bold">/bin</emphasis>, <emphasis role="bold">/etc</emphasis>, and <emphasis role="bold">/lib</emphasis>) in volumes
2678     mounted under <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2679     role="bold">/</emphasis><replaceable>sysname</replaceable>. See <link linkend="HDRWQ88">Storing System Binaries in AFS</link>
2680     .</para>
2681
2682     <sect2 id="HDRWQ158">
2683       <title>Linking /usr/afsws on an Existing System Type</title>
2684
2685       <para>If this client machine is an existing system type, there is already a volume mounted in the AFS filespace that houses
2686       AFS client binaries for it. <orderedlist>
2687           <listitem>
2688             <para>Create <emphasis role="bold">/usr/afsws</emphasis> on the local disk as a symbolic link to the directory <emphasis
2689             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/@sys/usr/afsws</emphasis>. You can
2690             specify the actual system name instead of <emphasis role="bold">@sys</emphasis> if you wish, but the advantage of using
2691             <emphasis role="bold">@sys</emphasis> is that it remains valid if you upgrade this machine to a different system type.
2692             <programlisting>
2693    # <emphasis role="bold">ln -s /afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/@sys/usr/afsws  /usr/afsws</emphasis>
2694 </programlisting></para>
2695           </listitem>
2696
2697           <listitem>
2698             <para><emphasis role="bold">(Optional)</emphasis> If you believe it is helpful to your users to access the AFS documents
2699             in a certain format via a local disk directory, create <emphasis role="bold">/usr/afsdoc</emphasis> on the local disk as
2700             a symbolic link to the documentation directory in AFS (<emphasis
2701             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2702             role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable>). <programlisting>
2703    # <emphasis role="bold">ln -s /afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable> <emphasis
2704                   role="bold">/usr/afsdoc</emphasis>
2705 </programlisting></para>
2706
2707             <para>An alternative is to create a link in each user's home directory to the <emphasis
2708             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2709             role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable> directory.</para>
2710           </listitem>
2711         </orderedlist></para>
2712     </sect2>
2713
2714     <sect2 id="HDRWQ159">
2715       <title>Creating Binary Volumes for a New System Type</title>
2716
2717       <para>If this client machine is a new system type, you must create and mount volumes for its binaries before you can link the
2718       local <emphasis role="bold">/usr/afsws</emphasis> directory to an AFS directory.</para>
2719
2720       <para>To create and mount the volumes, you use the 
2721       <emphasis role="bold">kinit</emphasis> command to authenticate as an
2722       administrator, followed by the <emphasis role="bold">aklog</emphasis> 
2723       command to gain tokens, and then issue commands from the 
2724       <emphasis role="bold">vos</emphasis> and 
2725       <emphasis role="bold">fs</emphasis> command suites. However, the 
2726       command binaries are not yet available on this machine (by convention, 
2727       they are accessible via the <emphasis role="bold">/usr/afsws</emphasis> 
2728       link that you are about to create). You have two choices: 
2729       <itemizedlist>
2730           <listitem>
2731             <para>Perform all steps except the last one (Step <link linkend="LIWQ162">10</link>) on an existing AFS machine. On a
2732             file server machine, the <emphasis role="bold">aklog</emphasis>, <emphasis role="bold">fs</emphasis> and <emphasis
2733             role="bold">vos</emphasis> binaries reside in the <emphasis role="bold">/usr/afs/bin</emphasis> directory. On client
2734             machines, the <emphasis role="bold">aklog</emphasis> and <emphasis role="bold">fs</emphasis> binaries reside in the
2735             <emphasis role="bold">/usr/afsws/bin</emphasis> directory and the <emphasis role="bold">vos</emphasis> binary in the
2736             <emphasis role="bold">/usr/afsws/etc</emphasis> directory. Depending on how your PATH environment variable is set, you
2737             possibly need to precede the command names with a pathname.</para>
2738
2739             <para>If you work on another AFS machine, be sure to substitute the new system type name for the
2740             <replaceable>sysname</replaceable> argument in the following commands, not the system type of the machine on which you
2741             are issuing the commands.</para>
2742           </listitem>
2743
2744           <listitem>
2745             <para>Copy the necessary command binaries to a temporary location on the local disk, which enables you to perform the
2746             steps on the local machine. The following procedure installs them in the <emphasis role="bold">/tmp</emphasis> directory
2747             and removes them at the end. Depending on how your PATH environment variable is set, you possibly need to precede the
2748             command names with a pathname.</para>
2749           </listitem>
2750         </itemizedlist></para>
2751
2752       <para>Perform the following steps to create a volume for housing AFS binaries. <orderedlist>
2753           <listitem>
2754             <para>Working either on the local machine or another AFS machine, 
2755             extract the Open AFS distribtion tarball onto a directory on that 
2756             machine. The following instructions assume that you are using the
2757             <emphasis role="bold">/tmp/afsdist</emphasis> directory.</para>
2758           </listitem>
2759
2760           <listitem>
2761             <para>If working on the local machine, copy the necessary binaries to a temporary location on the local disk. Substitute
2762             a different directory name for <emphasis role="bold">/tmp</emphasis> if you wish. <programlisting>
2763    # <emphasis role="bold">cd  /tmp/afsdist/</emphasis><replaceable>new_sysname</replaceable><emphasis role="bold">/root.server/usr/afs/bin</emphasis>
2764    # <emphasis role="bold">cp -p  aklog  /tmp</emphasis>
2765    # <emphasis role="bold">cp -p  fs  /tmp</emphasis>
2766    # <emphasis role="bold">cp -p  vos  /tmp</emphasis>
2767 </programlisting></para>
2768           </listitem>
2769
2770           <listitem>
2771             <para>Authenticate as the user <emphasis role="bold">admin</emphasis>. 
2772 <programlisting>
2773    # <emphasis role="bold">kinit admin</emphasis>
2774    Password: <replaceable>admin_password</replaceable>
2775    # <emphasis role="bold">aklog</emphasis>
2776 </programlisting></para>
2777           </listitem>
2778
2779           <listitem id="LIWQ160">
2780             <para>Issue the <emphasis role="bold">vos create</emphasis> command to create volumes for storing
2781             the AFS client binaries for this system type. The following example instruction creates volumes called
2782             <replaceable>sysname</replaceable>, <replaceable>sysname</replaceable>.<emphasis role="bold">usr</emphasis>, and
2783             <replaceable>sysname</replaceable>.<emphasis role="bold">usr.afsws</emphasis>. Refer to the <emphasis>OpenAFS Release
2784             Notes</emphasis> to learn the proper value of <replaceable>sysname</replaceable> for this system type. <programlisting>
2785    # <emphasis role="bold">vos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; &lt;<replaceable>partition name</replaceable>&gt; <replaceable>sysname</replaceable>
2786    # <emphasis role="bold">vos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; &lt;<replaceable>partition name</replaceable>&gt; <replaceable>sysname</replaceable><emphasis
2787                   role="bold">.usr</emphasis>
2788    # <emphasis role="bold">vos create</emphasis> &lt;<replaceable>machine name</replaceable>&gt; &lt;<replaceable>partition name</replaceable>&gt; <replaceable>sysname</replaceable><emphasis
2789                   role="bold">.usr.afsws</emphasis>
2790 </programlisting></para>
2791           </listitem>
2792
2793           <listitem>
2794             <para>Issue the <emphasis role="bold">fs mkmount</emphasis> command to mount the newly created volumes. Because the
2795             <emphasis role="bold">root.cell</emphasis> volume is replicated, you must precede the <emphasis>cellname</emphasis> part
2796             of the pathname with a period to specify the read/write mount point, as shown. Then issue the <emphasis role="bold">vos
2797             release</emphasis> command to release a new replica of the <emphasis role="bold">root.cell</emphasis> volume, and the
2798             <emphasis role="bold">fs checkvolumes</emphasis> command to force the local Cache Manager to access them.
2799             <programlisting>
2800    # <emphasis role="bold">fs mkmount -dir /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable> <emphasis
2801                   role="bold">-vol</emphasis> <replaceable>sysname</replaceable>
2802    # <emphasis role="bold">fs mkmount -dir /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2803                   role="bold">/usr</emphasis>  <emphasis role="bold">-vol</emphasis> <replaceable>sysname</replaceable><emphasis
2804                   role="bold">.usr</emphasis>
2805    # <emphasis role="bold">fs mkmount -dir /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2806                   role="bold">/usr/afsws</emphasis> <emphasis role="bold">-vol</emphasis> <replaceable>sysname</replaceable><emphasis
2807                   role="bold">.usr.afsws</emphasis>
2808    # <emphasis role="bold">vos release root.cell</emphasis>
2809    # <emphasis role="bold">fs checkvolumes</emphasis>
2810 </programlisting></para>
2811           </listitem>
2812
2813           <listitem>
2814             <para>Issue the <emphasis role="bold">fs setacl</emphasis> command to grant the <emphasis role="bold">l</emphasis>
2815             (<emphasis role="bold">lookup</emphasis>) and <emphasis role="bold">r</emphasis> (<emphasis role="bold">read</emphasis>)
2816             permissions to the <emphasis role="bold">system:anyuser</emphasis> group on each new directory's ACL. <programlisting>
2817    # <emphasis role="bold">cd /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable>
2818    # <emphasis role="bold">fs setacl  -dir  .  usr  usr/afsws  -acl  system:anyuser rl</emphasis> 
2819 </programlisting></para>
2820           </listitem>
2821
2822           <listitem>
2823             <para>Issue the <emphasis role="bold">fs setquota</emphasis> command to set an unlimited quota on the volume mounted at
2824             the <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2825             role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis> directory. This
2826             enables you to copy all of the appropriate files from the CD-ROM into the volume without exceeding the volume's
2827             quota.</para>
2828
2829             <para>If you wish, you can set the volume's quota to a finite value after you complete the copying operation. At that
2830             point, use the <emphasis role="bold">vos examine</emphasis> command to determine how much space the volume is occupying.
2831             Then issue the <emphasis role="bold">fs setquota</emphasis> command to set a quota that is slightly larger.</para>
2832
2833             <programlisting>
2834    # <emphasis role="bold">fs setquota /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2835                 role="bold">/usr/afsws  0</emphasis>
2836 </programlisting>
2837           </listitem>
2838
2839           <listitem id="LIWQ161">
2840             <para>Copy the contents of the indicated 
2841             directories from the OpenAFS binary distribution into the 
2842             <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2843             role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis> directory.
2844             <programlisting>
2845    # <emphasis role="bold">cd /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2846                   role="bold">/usr/afsws</emphasis>
2847    # <emphasis role="bold">cp -rp /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/bin  .</emphasis>
2848    # <emphasis role="bold">cp -rp /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/etc  .</emphasis>
2849    # <emphasis role="bold">cp -rp /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/include  .</emphasis>
2850    # <emphasis role="bold">cp -rp /cdrom/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/lib  .</emphasis>
2851 </programlisting></para>
2852           </listitem>
2853
2854           <listitem>
2855             <para>Issue the <emphasis role="bold">fs setacl</emphasis> command 
2856             to set the ACL on each directory appropriately. If you wish to 
2857             enable access to the software for locally authenticated users only, 
2858             set the ACL on the <emphasis role="bold">etc</emphasis>, 
2859             <emphasis role="bold">include</emphasis>, and 
2860             <emphasis role="bold">lib</emphasis> subdirectories to grant the 
2861             <emphasis role="bold">l</emphasis> and 
2862             <emphasis role="bold">r</emphasis> permissions to the 
2863             <emphasis role="bold">system:authuser</emphasis> group rather than 
2864             the <emphasis role="bold">system:anyuser</emphasis> group. The
2865             <emphasis role="bold">system:anyuser</emphasis> group must retain 
2866             the <emphasis role="bold">l</emphasis> and 
2867             <emphasis role="bold">r</emphasis> permissions on the 
2868             <emphasis role="bold">bin</emphasis> subdirectory to enable 
2869             unauthenticated users to access the 
2870             <emphasis role="bold">aklog</emphasis> binary. 
2871 <programlisting>
2872    # <emphasis role="bold">cd /afs/.</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis
2873                   role="bold">/usr/afsws</emphasis>
2874    # <emphasis role="bold">fs setacl  -dir etc include lib  -acl  system:authuser rl</emphasis>  \
2875               <emphasis role="bold">system:anyuser none</emphasis>
2876 </programlisting></para>
2877           </listitem>
2878
2879           <listitem id="LIWQ162">
2880             <para>Perform this step on the new client machine even if you have performed the previous steps
2881             on another machine. Create <emphasis role="bold">/usr/afsws</emphasis> on the local disk as a symbolic link to the
2882             directory <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2883             role="bold">/@sys/usr/afsws</emphasis>. You can specify the actual system name instead of <emphasis
2884             role="bold">@sys</emphasis> if you wish, but the advantage of using <emphasis role="bold">@sys</emphasis> is that it
2885             remains valid if you upgrade this machine to a different system type. <programlisting>
2886    # <emphasis role="bold">ln -s /afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/@sys/usr/afsws  /usr/afsws</emphasis>
2887 </programlisting></para>
2888           </listitem>
2889
2890           <listitem>
2891             <para><emphasis role="bold">(Optional)</emphasis> To enable users to issue commands from the AFS suites (such as
2892             <emphasis role="bold">fs</emphasis>) without having to specify a pathname to their binaries, include the <emphasis
2893             role="bold">/usr/afsws/bin</emphasis> and <emphasis role="bold">/usr/afsws/etc</emphasis> directories in the PATH
2894             environment variable you define in each user's shell initialization file (such as <emphasis
2895             role="bold">.cshrc</emphasis>).</para>
2896           </listitem>
2897
2898           <listitem>
2899             <para><emphasis role="bold">(Optional)</emphasis> If you believe it is helpful to your users to access the AFS documents
2900             in a certain format via a local disk directory, create <emphasis role="bold">/usr/afsdoc</emphasis> on the local disk as
2901             a symbolic link to the documentation directory in AFS (<emphasis
2902             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2903             role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable>). <programlisting>
2904    # <emphasis role="bold">ln -s /afs/</emphasis><replaceable>cellname</replaceable><emphasis role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable> <emphasis
2905                   role="bold">/usr/afsdoc</emphasis>
2906 </programlisting></para>
2907
2908             <para>An alternative is to create a link in each user's home directory to the <emphasis
2909             role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
2910             role="bold">/afsdoc/</emphasis><replaceable>format_name</replaceable> directory.</para>
2911           </listitem>
2912
2913           <listitem>
2914             <para><emphasis role="bold">(Optional)</emphasis> If working on the local machine, remove the AFS binaries from the
2915             temporary location. They are now accessible in the <emphasis role="bold">/usr/afsws</emphasis> directory.
2916             <programlisting>
2917    # <emphasis role="bold">cd  /tmp</emphasis>
2918    # <emphasis role="bold">rm  klog  fs  vos</emphasis>
2919 </programlisting></para>
2920           </listitem>
2921         </orderedlist></para>
2922     </sect2>
2923   </sect1>
2924 </chapter>