1 <?xml version="1.0" encoding="UTF-8"?>
3 <title>Installing the First AFS Machine</title>
7 <primary>file server machine</primary>
9 <seealso>first AFS machine</seealso>
11 <seealso>file server machine, additional</seealso>
15 <primary>instructions</primary>
17 <secondary>first AFS machine</secondary>
21 <primary>installing</primary>
23 <secondary>first AFS machine</secondary>
26 This chapter describes how to install the first AFS machine in your cell, configuring it as both a file server machine and a
27 client machine. After completing all procedures in this chapter, you can remove the client functionality if you wish, as described
28 in <link linkend="HDRWQ98">Removing Client Functionality</link>.</para>
30 <para>To install additional file server machines after completing this chapter, see <link linkend="HDRWQ99">Installing Additional
31 Server Machines</link>.</para>
33 <para>To install additional client machines after completing this chapter, see <link linkend="HDRWQ133">Installing Additional
34 Client Machines</link>. <indexterm>
35 <primary>requirements</primary>
37 <secondary>first AFS machine</secondary>
40 <sect1 id="Header_29">
41 <title>Requirements and Configuration Decisions</title>
43 <para>The instructions in this chapter assume that you meet the following requirements.
46 <para>You are logged onto the machine's console as the local superuser <emphasis role="bold">root</emphasis></para>
50 <para>A standard version of one of the operating systems supported by the current version of AFS is running on the
55 <para>You have either installed the provided OpenAFS packages for
56 your system, have access to a binary distribution tarball, or have
57 successfully built OpenAFS from source</para>
61 <para>You have a Kerberos v5 realm running for your site. If you are
62 working with an existing cell which uses
63 <emphasis role="bold">kaserver</emphasis> or Kerberos v4 for
64 authentication, please see
65 <link linkend="KAS001">kaserver and Legacy Kerberos v4 Authentication</link>
66 for the modifications required to this installation procedure.</para>
70 <para>You have NTP or a similar time service deployed to ensure
71 rough clock syncronistation between your clients and servers.</para>
73 </itemizedlist></para>
75 <para>You must make the following configuration decisions while installing the first AFS machine. To speed the installation
76 itself, it is best to make the decisions before beginning. See the chapter in the <emphasis>OpenAFS Administration
77 Guide</emphasis> about issues in cell administration and configuration for detailed guidelines. <indexterm>
78 <primary>cell name</primary>
80 <secondary>choosing</secondary>
81 </indexterm> <indexterm>
82 <primary>AFS filespace</primary>
84 <secondary>deciding how to configure</secondary>
85 </indexterm> <indexterm>
86 <primary>filespace</primary>
88 <see>AFS filespace</see>
89 </indexterm> <itemizedlist>
91 <para>Select the first AFS machine</para>
95 <para>Select the cell name</para>
99 <para>Decide which partitions or logical volumes to configure as AFS server partitions, and choose the directory names on
100 which to mount them</para>
104 <para>Decide how big to make the client cache</para>
108 <para>Decide how to configure the top levels of your cell's AFS filespace</para>
110 </itemizedlist></para>
112 <para>This chapter is divided into three large sections corresponding to the three parts of installing the first AFS machine.
113 Perform all of the steps in the order they appear. Each functional section begins with a summary of the procedures to perform.
114 The sections are as follows: <itemizedlist>
116 <para>Installing server functionality (begins in <link linkend="HDRWQ18">Overview: Installing Server
117 Functionality</link>)</para>
121 <para>Installing client functionality (begins in <link linkend="HDRWQ63">Overview: Installing Client
122 Functionality</link>)</para>
126 <para>Configuring your cell's filespace, establishing further security mechanisms, and enabling access to foreign cells
127 (begins in <link linkend="HDRWQ71">Overview: Completing the Installation of the First AFS Machine</link>)</para>
129 </itemizedlist></para>
132 <primary>overview</primary>
134 <secondary>installing server functionality on first AFS machine</secondary>
138 <primary>first AFS machine</primary>
140 <secondary>server functionality</secondary>
144 <primary>installing</primary>
146 <secondary>server functionality</secondary>
148 <tertiary>first AFS machine</tertiary>
153 <title>Overview: Installing Server Functionality</title>
155 <para>In the first phase of installing your cell's first AFS machine, you install file server and database server functionality
156 by performing the following procedures:
159 <para>Choose which machine to install as the first AFS machine</para>
163 <para>Create AFS-related directories on the local disk</para>
167 <para>Incorporate AFS modifications into the machine's kernel</para>
171 <para>Configure partitions or logical volumes for storing AFS volumes</para>
175 <para>On some system types, install and configure an AFS-modified version of the <emphasis role="bold">fsck</emphasis>
180 <para>If the machine is to remain a client machine, incorporate AFS into its authentication system</para>
184 <para>Start the Basic OverSeer (BOS) Server</para>
188 <para>Define the cell name and the machine's cell membership</para>
192 <para>Start the database server processes: Backup Server, Protection Server, and Volume Location
197 <para>Configure initial security mechanisms</para>
201 <para>Start the <emphasis role="bold">fs</emphasis> process, which incorporates three component processes: the File
202 Server, Volume Server, and Salvager</para>
206 <para>Optionally, start the server portion of the Update Server</para>
209 </orderedlist></para>
213 <title>Choosing the First AFS Machine</title>
215 <para>The first AFS machine you install must have sufficient disk space to store AFS volumes. To take best advantage of AFS's
216 capabilities, store client-side binaries as well as user files in volumes. When you later install additional file server
217 machines in your cell, you can distribute these volumes among the different machines as you see fit.</para>
219 <para>These instructions configure the first AFS machine as a <emphasis>database server machine</emphasis>, the <emphasis>binary
220 distribution machine</emphasis> for its system type, and the cell's <emphasis>system control machine</emphasis>. For a
221 description of these roles, see the <emphasis>OpenAFS Administration Guide</emphasis>.</para>
223 <para>Installation of additional machines is simplest if the first machine has the lowest IP address of any database server
224 machine you currently plan to install. If you later install database server functionality on a machine with a lower IP address,
225 you must first update the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file on all of your cell's client machines.
226 For more details, see <link linkend="HDRWQ114">Installing Database Server Functionality</link>.</para>
229 <sect1 id="Header_32">
230 <title>Creating AFS Directories</title>
233 <primary>usr/afs directory</primary>
235 <secondary>first AFS machine</secondary>
239 <primary>first AFS machine</primary>
241 <secondary>/usr/afs directory</secondary>
245 <primary>creating</primary>
247 <secondary>/usr/afs directory</secondary>
249 <tertiary>first AFS machine</tertiary>
253 <primary>usr/vice/etc directory</primary>
255 <secondary>first AFS machine</secondary>
259 <primary>first AFS machine</primary>
261 <secondary>/usr/vice/etc directory</secondary>
265 <primary>creating</primary>
267 <secondary>/usr/vice/etc directory</secondary>
269 <tertiary>first AFS machine</tertiary>
273 <primary>/ as start to file and directory names</primary>
275 <secondary>see alphabetized entries without initial slash</secondary>
278 <para>If you are installing from packages (such as Debian .deb or
279 Fedora/SuSe .rpm files), you should now install all of the available
280 OpenAFS packages for your system type. Typically, these will include
281 packages for client and server functionality, and a seperate package
282 containing a suitable kernel module for your running kernel. Consult
283 the package lists on the OpenAFS website to determine the packages
284 appropriate for your system.</para>
286 <para>If you are installing from a tarfile, or from a locally compiled
287 source tree you should create the <emphasis role="bold">/usr/afs</emphasis>
288 and <emphasis role="bold">/usr/vice/etc</emphasis> directories on the
289 local disk, to house server and client files respectively. Subsequent
290 instructions copy files from the distribution tarfile into them. </para>
292 # <emphasis role="bold">mkdir /usr/afs</emphasis>
293 # <emphasis role="bold">mkdir /usr/vice</emphasis>
294 # <emphasis role="bold">mkdir /usr/vice/etc</emphasis>
299 <title>Performing Platform-Specific Procedures</title>
301 <para>Several of the initial procedures for installing a file server machine differ for each system type. For convenience, the
302 following sections group them together for each system type: <itemizedlist>
304 <primary>kernel extensions</primary>
306 <see>AFS kernel extensions</see>
310 <primary>loading AFS kernel extensions</primary>
312 <see>incorporating</see>
316 <primary>building</primary>
318 <secondary>AFS extensions into kernel</secondary>
320 <see>incorporating AFS kernel extensions</see>
324 <para>Incorporate AFS modifications into the kernel.</para>
326 <para>The kernel on every AFS client machine and, on some systems,
327 the AFS fileservers, must incorporate AFS extensions. On machines
328 that use a dynamic kernel module loader, it is conventional to
329 alter the machine's initialization script to load the AFS extensions
330 at each reboot. <indexterm>
331 <primary>AFS server partition</primary>
333 <secondary>mounted on /vicep directory</secondary>
334 </indexterm> <indexterm>
335 <primary>partition</primary>
337 <see>AFS server partition</see>
338 </indexterm> <indexterm>
339 <primary>logical volume</primary>
341 <see>AFS server partition</see>
342 </indexterm> <indexterm>
343 <primary>requirements</primary>
345 <secondary>AFS server partition name and location</secondary>
346 </indexterm> <indexterm>
347 <primary>naming conventions for AFS server partition</primary>
348 </indexterm> <indexterm>
349 <primary>vicep<emphasis>xx</emphasis> directory</primary>
351 <see>AFS server partition</see>
352 </indexterm> <indexterm>
353 <primary>directories</primary>
355 <secondary>/vicep<emphasis>xx</emphasis></secondary>
357 <see>AFS server partition</see>
362 <para>Configure server partitions or logical volumes to house AFS volumes.</para>
364 <para>Every AFS file server machine must have at least one partition or logical volume dedicated to storing AFS volumes
365 (for convenience, the documentation hereafter refers to partitions only). Each server partition is mounted at a directory
366 named <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable>, where <replaceable>xx</replaceable> is one or
367 two lowercase letters. By convention, the first 26 partitions are mounted on the directories called <emphasis
368 role="bold">/vicepa</emphasis> through <emphasis role="bold">/vicepz</emphasis>, the 27th one is mounted on the <emphasis
369 role="bold">/vicepaa</emphasis> directory, and so on through <emphasis role="bold">/vicepaz</emphasis> and <emphasis
370 role="bold">/vicepba</emphasis>, continuing up to the index corresponding to the maximum number of server partitions
371 supported in the current version of AFS (which is specified in the <emphasis>OpenAFS Release Notes</emphasis>).</para>
373 <para>The <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> directories must reside in the file server
374 machine's root directory, not in one of its subdirectories (for example, <emphasis role="bold">/usr/vicepa</emphasis> is
375 not an acceptable directory location).
377 The <emphasis role="bold">fileserver</emphasis> will refuse to
379 any <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable>
380 folders that are not separate partitions. </para>
383 <para>The separate partition requirement may be overridden by
384 creating a file named
385 <emphasis role="bold">/vicep<replaceable>xx</replaceable>/AlwaysAttach</emphasis>;
386 however, mixed-use partitions, whether cache or fileserver,
387 have the risk that a non-AFS use will fill the partition and
388 not leave enough free space for AFS. Even though it is
389 allowed, be wary of configuring a mixed-use partition
390 without understanding the ramifications of doing so with the
391 workload on your filesystem.
393 <primary>AFS server partition</primary>
394 <secondary>AlwaysAttach</secondary>
399 <para>You can also add or remove server partitions on an existing file server machine. For instructions, see the chapter
400 in the <emphasis>OpenAFS Administration Guide</emphasis> about maintaining server machines.</para>
403 <para>Not all file system types supported by an operating system are necessarily supported as AFS server partitions. For
404 possible restrictions, see the <emphasis>OpenAFS Release Notes</emphasis>.</para>
409 <para>On system types using the <emphasis role="bold">inode</emphasis> storage format, install and configure a modified <emphasis role="bold">fsck</emphasis> program which
410 recognizes the structures that the File Server uses to organize volume data on AFS server partitions. The <emphasis
411 role="bold">fsck</emphasis> program provided with the operating system does not understand the AFS data structures, and so
412 removes them to the <emphasis role="bold">lost+found</emphasis> directory.</para>
416 <para>If the machine is to remain an AFS client machine, modify the machine's authentication system so that users obtain
417 an AFS token as they log into the local file system. Using AFS is simpler and more convenient for your users if you make
418 the modifications on all client machines. Otherwise, users must perform a two or three step login procedure (login to the local
419 system, then obtain Kerberos credentials, and then issue the <emphasis role="bold">aklog</emphasis> command). For further discussion of AFS
420 authentication, see the chapter in the <emphasis>OpenAFS Administration Guide</emphasis> about cell configuration and
421 administration issues.</para>
423 </itemizedlist></para>
425 <para>To continue, proceed to the appropriate section: <itemizedlist>
427 <para><link linkend="HDRWQ21">Getting Started on AIX Systems</link></para>
431 <para><link linkend="HDRWQ36">Getting Started on IRIX Systems</link></para>
435 <para><link linkend="HDRWQ41">Getting Started on Linux Systems</link></para>
439 <para><link linkend="HDRWQ45">Getting Started on Solaris Systems</link></para>
441 </itemizedlist></para>
445 <title>Getting Started on AIX Systems</title>
447 <para>Begin by running the AFS initialization script to call the AIX kernel extension facility, which dynamically loads AFS
448 modifications into the kernel. Then use the <emphasis role="bold">SMIT</emphasis> program to configure partitions for storing
449 AFS volumes, and replace the AIX <emphasis role="bold">fsck</emphasis> program helper with a version that correctly handles AFS
450 volumes. If the machine is to remain an AFS client machine, incorporate AFS into the AIX secondary authentication system.
452 <primary>incorporating AFS kernel extensions</primary>
454 <secondary>first AFS machine</secondary>
456 <tertiary>AIX</tertiary>
457 </indexterm> <indexterm>
458 <primary>AFS kernel extensions</primary>
460 <secondary>on first AFS machine</secondary>
462 <tertiary>AIX</tertiary>
463 </indexterm> <indexterm>
464 <primary>first AFS machine</primary>
466 <secondary>AFS kernel extensions</secondary>
468 <tertiary>on AIX</tertiary>
469 </indexterm> <indexterm>
470 <primary>AIX</primary>
472 <secondary>AFS kernel extensions</secondary>
474 <tertiary>on first AFS machine</tertiary>
478 <title>Loading AFS into the AIX Kernel</title>
480 <para>The AIX kernel extension facility is the dynamic kernel loader
481 provided by IBM Corporation. AIX does not support incorporation of
482 AFS modifications during a kernel build.</para>
484 <para>For AFS to function correctly, the kernel extension facility must run each time the machine reboots, so the AFS
485 initialization script (included in the AFS distribution) invokes it automatically. In this section you copy the script to the
486 conventional location and edit it to select the appropriate options depending on whether NFS is also to run.</para>
488 <para>After editing the script, you run it to incorporate AFS into the kernel. In later sections you verify that the script
489 correctly initializes all AFS components, then configure the AIX <emphasis role="bold">inittab</emphasis> file so that the
490 script runs automatically at reboot. <orderedlist>
492 <para>Unpack the distribution tarball. The examples below assume
493 that you have unpacked the files into the
494 <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you
495 pick a different location, substitute this in all of the following
496 examples. Once you have unpacked the distribution,
497 change directory as indicated.
499 # <emphasis role="bold">cd /tmp/afsdist/rs_aix42/dest/root.client/usr/vice/etc</emphasis>
500 </programlisting></para>
504 <para>Copy the AFS kernel library files to the local <emphasis role="bold">/usr/vice/etc/dkload</emphasis> directory,
505 and the AFS initialization script to the <emphasis role="bold">/etc</emphasis> directory. <programlisting>
506 # <emphasis role="bold">cp -rp dkload /usr/vice/etc</emphasis>
507 # <emphasis role="bold">cp -p rc.afs /etc/rc.afs</emphasis>
508 </programlisting></para>
512 <para>Edit the <emphasis role="bold">/etc/rc.afs</emphasis> script, setting the <computeroutput>NFS</computeroutput>
513 variable as indicated.</para>
515 <para>If the machine is not to function as an NFS/AFS Translator, set the <computeroutput>NFS</computeroutput> variable
522 <para>If the machine is to function as an NFS/AFS Translator and is running AIX 4.2.1 or higher, set the
523 <computeroutput>NFS</computeroutput> variable as follows. Note that NFS must already be loaded into the kernel, which
524 happens automatically on systems running AIX 4.1.1 and later, as long as the file <emphasis
525 role="bold">/etc/exports</emphasis> exists.</para>
533 <para>Invoke the <emphasis role="bold">/etc/rc.afs</emphasis> script to load AFS modifications into the kernel. You can
534 ignore any error messages about the inability to start the BOS Server or the Cache Manager or AFS client.
536 # <emphasis role="bold">/etc/rc.afs</emphasis>
537 </programlisting></para>
539 </orderedlist></para>
542 <primary>configuring</primary>
544 <secondary>AFS server partition on first AFS machine</secondary>
546 <tertiary>AIX</tertiary>
550 <primary>AFS server partition</primary>
552 <secondary>configuring on first AFS machine</secondary>
554 <tertiary>AIX</tertiary>
558 <primary>first AFS machine</primary>
560 <secondary>AFS server partition</secondary>
562 <tertiary>on AIX</tertiary>
566 <primary>AIX</primary>
568 <secondary>AFS server partition</secondary>
570 <tertiary>on first AFS machine</tertiary>
575 <title>Configuring Server Partitions on AIX Systems</title>
577 <para>Every AFS file server machine must have at least one partition or logical volume dedicated to storing AFS volumes. Each
578 server partition is mounted at a directory named <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable>, where
579 <replaceable>xx</replaceable> is one or two lowercase letters. The <emphasis
580 role="bold">/vicep</emphasis><replaceable>xx</replaceable> directories must reside in the file server machine's root
581 directory, not in one of its subdirectories (for example, <emphasis role="bold">/usr/vicepa</emphasis> is not an acceptable
582 directory location). For additional information, see <link linkend="HDRWQ20">Performing Platform-Specific
583 Procedures</link>.</para>
585 <para>To configure server partitions on an AIX system, perform the following procedures: <orderedlist>
587 <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS server
588 partition you are configuring (there must be at least one). Repeat the command for each partition. <programlisting>
589 # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
590 </programlisting></para>
594 <para>Use the <emphasis role="bold">SMIT</emphasis> program to create a journaling file system on each partition to be
595 configured as an AFS server partition.</para>
599 <para>Mount each partition at one of the <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable>
600 directories. Choose one of the following three methods: <itemizedlist>
602 <para>Use the <emphasis role="bold">SMIT</emphasis> program</para>
606 <para>Use the <emphasis role="bold">mount -a</emphasis> command to mount all partitions at once</para>
610 <para>Use the <emphasis role="bold">mount</emphasis> command on each partition in turn</para>
612 </itemizedlist></para>
614 <para>Also configure the partitions so that they are mounted automatically at each reboot. For more information, refer
615 to the AIX documentation.</para>
617 </orderedlist></para>
620 <primary>replacing fsck program</primary>
622 <secondary>first AFS machine</secondary>
624 <tertiary>AIX</tertiary>
628 <primary>fsck program</primary>
630 <secondary>on first AFS machine</secondary>
632 <tertiary>AIX</tertiary>
636 <primary>first AFS machine</primary>
638 <secondary>fsck program</secondary>
640 <tertiary>on AIX</tertiary>
644 <primary>AIX</primary>
646 <secondary>fsck program</secondary>
648 <tertiary>on first AFS machine</tertiary>
653 <title>Replacing the fsck Program Helper on AIX Systems</title>
655 <note><para>The AFS modified fsck program is not required on AIX 5.1
656 systems, and the <emphasis role="bold">v3fshelper</emphasis> program
657 refered to below is not shipped for these systems.</para></note>
659 <para>In this section, you make modifications to guarantee that the appropriate <emphasis role="bold">fsck</emphasis> program
660 runs on AFS server partitions. The <emphasis role="bold">fsck</emphasis> program provided with the operating system must never
661 run on AFS server partitions. Because it does not recognize the structures that the File Server uses to organize volume data,
662 it removes all of the data. To repeat:</para>
664 <para><emphasis role="bold">Never run the standard fsck program on AFS server partitions. It discards AFS
665 volumes.</emphasis></para>
667 <para>On AIX systems, you do not replace the <emphasis role="bold">fsck</emphasis> binary itself, but rather the
668 <emphasis>program helper</emphasis> file included in the AIX distribution as <emphasis
669 role="bold">/sbin/helpers/v3fshelper</emphasis>. <orderedlist>
671 <para>Move the AIX <emphasis role="bold">fsck</emphasis> program helper to a safe location and install the version from
672 the AFS distribution in its place.
674 # <emphasis role="bold">cd /sbin/helpers</emphasis>
675 # <emphasis role="bold">mv v3fshelper v3fshelper.noafs</emphasis>
676 # <emphasis role="bold">cp -p /tmp/afsdist/rs_aix42/dest/root.server/etc/v3fshelper v3fshelper</emphasis>
677 </programlisting></para>
681 <para>If you plan to retain client functionality on this machine after completing the installation, proceed to <link
682 linkend="HDRWQ25">Enabling AFS Login on AIX Systems</link>. Otherwise, proceed to <link linkend="HDRWQ50">Starting the
683 BOS Server</link>.</para>
685 </orderedlist></para>
688 <primary>enabling AFS login</primary>
690 <secondary>file server machine</secondary>
692 <tertiary>AIX</tertiary>
696 <primary>AFS login</primary>
698 <secondary>on file server machine</secondary>
700 <tertiary>AIX</tertiary>
704 <primary>first AFS machine</primary>
706 <secondary>AFS login</secondary>
708 <tertiary>on AIX</tertiary>
712 <primary>AIX</primary>
714 <secondary>AFS login</secondary>
716 <tertiary>on file server machine</tertiary>
720 <primary>secondary authentication system (AIX)</primary>
722 <secondary>server machine</secondary>
727 <title>Enabling AFS Login on AIX Systems</title>
730 <para>If you plan to remove client functionality from this machine after completing the installation, skip this section and
731 proceed to <link linkend="HDRWQ50">Starting the BOS Server</link>.</para>
734 <para>In modern AFS installations, you should be using Kerberos v5
735 for user login, and obtaining AFS tokens following this authentication
738 <para>There are currently no instructions available on configuring AIX to
739 automatically obtain AFS tokens at login. Following login, users can
740 obtain tokens by running the <emphasis role="bold">aklog</emphasis>
743 <para>Sites which still require <emphasis role="bold">kaserver</emphasis>
744 or external Kerberos v4 authentication should consult
745 <link linkend="KAS012">Enabling kaserver based AFS login on AIX systems</link>
746 for details of how to enable AIX login.</para>
748 <para>Proceed to <link linkend="HDRWQ50">Starting the BOS Server</link>
749 (or if referring to these instructions while installing an additional
750 file server machine, return to <link linkend="HDRWQ108">Starting Server
751 Programs</link>).</para>
756 <title>Getting Started on IRIX Systems</title>
759 <primary>incorporating AFS kernel extensions</primary>
761 <secondary>first AFS machine</secondary>
763 <tertiary>IRIX</tertiary>
767 <primary>AFS kernel extensions</primary>
769 <secondary>on first AFS machine</secondary>
771 <tertiary>IRIX</tertiary>
775 <primary>first AFS machine</primary>
777 <secondary>AFS kernel extensions</secondary>
779 <tertiary>on IRIX</tertiary>
783 <primary>replacing fsck program</primary>
785 <secondary>not necessary on IRIX</secondary>
789 <primary>fsck program</primary>
791 <secondary>on first AFS machine</secondary>
793 <tertiary>IRIX</tertiary>
797 <primary>first AFS machine</primary>
799 <secondary>fsck program</secondary>
801 <tertiary>on IRIX</tertiary>
805 <primary>IRIX</primary>
807 <secondary>fsck program replacement not necessary</secondary>
810 <para>To incorporate AFS into the kernel on IRIX systems, choose one of two methods: <itemizedlist>
812 <para>Run the AFS initialization script to invoke the <emphasis role="bold">ml</emphasis> program distributed by Silicon
813 Graphics, Incorporated (SGI), which dynamically loads AFS modifications into the kernel</para>
817 <para>Build a new static kernel</para>
819 </itemizedlist></para>
821 <para>Then create partitions for storing AFS volumes. You do not need to replace the IRIX <emphasis role="bold">fsck</emphasis>
822 program because SGI has already modified it to handle AFS volumes properly. If the machine is to remain an AFS client machine,
823 verify that the IRIX login utility installed on the machine grants an AFS token.</para>
825 <para>In preparation for either dynamic loading or kernel building, perform the following procedures: <orderedlist>
827 <para>Unpack the OpenAFS IRIX distribution tarball. The examples
828 below assume that you have unpacked the files into the
829 <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you
830 pick a different location, substitue this in all of the following
831 examples. Once you have unpacked the distribution, change directory
834 # <emphasis role="bold">cd /tmp/afsdist/sgi_65/dest/root.client</emphasis>
835 </programlisting></para>
839 <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
840 role="bold">/etc/init.d</emphasis> on IRIX machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
841 extension as you copy the script. <programlisting>
842 # <emphasis role="bold">cp -p usr/vice/etc/afs.rc /etc/init.d/afs</emphasis>
843 </programlisting></para>
847 <para>Issue the <emphasis role="bold">uname -m</emphasis> command to determine the machine's CPU board type. The <emphasis
848 role="bold">IP</emphasis><replaceable>xx</replaceable> value in the output must match one of the supported CPU board types
849 listed in the <emphasis>OpenAFS Release Notes</emphasis> for the current version of AFS. <programlisting>
850 # <emphasis role="bold">uname -m</emphasis>
851 </programlisting></para>
855 <para>Proceed to either <link linkend="HDRWQ37">Loading AFS into the IRIX Kernel</link> or <link
856 linkend="HDRWQ38">Building AFS into the IRIX Kernel</link>.</para>
858 </orderedlist></para>
861 <primary>IRIX</primary>
863 <secondary>AFS kernel extensions</secondary>
865 <tertiary>on first AFS machine</tertiary>
869 <primary>afsml variable (IRIX)</primary>
871 <secondary>first AFS machine</secondary>
875 <primary>variables</primary>
877 <secondary>afsml (IRIX)</secondary>
879 <tertiary>first AFS machine</tertiary>
883 <primary>IRIX</primary>
885 <secondary>afsml variable</secondary>
887 <tertiary>first AFS machine</tertiary>
891 <primary>afsxnfs variable (IRIX)</primary>
893 <secondary>first AFS machine</secondary>
897 <primary>variables</primary>
899 <secondary>afsxnfs (IRIX)</secondary>
901 <tertiary>first AFS machine</tertiary>
905 <primary>IRIX</primary>
907 <secondary>afsxnfs variable</secondary>
909 <tertiary>first AFS machine</tertiary>
913 <title>Loading AFS into the IRIX Kernel</title>
915 <para>The <emphasis role="bold">ml</emphasis> program is the dynamic kernel loader provided by SGI for IRIX systems. If you
916 use it rather than building AFS modifications into a static kernel, then for AFS to function correctly the <emphasis
917 role="bold">ml</emphasis> program must run each time the machine reboots. Therefore, the AFS initialization script (included
918 on the AFS CD-ROM) invokes it automatically when the <emphasis role="bold">afsml</emphasis> configuration variable is
919 activated. In this section you activate the variable and run the script.</para>
921 <para>In later sections you verify that the script correctly initializes all AFS components, then create the links that
922 incorporate AFS into the IRIX startup and shutdown sequence. <orderedlist>
924 <para>Create the local <emphasis role="bold">/usr/vice/etc/sgiload</emphasis> directory to house the AFS kernel library
925 file. <programlisting>
926 # <emphasis role="bold">mkdir /usr/vice/etc/sgiload</emphasis>
927 </programlisting></para>
931 <para>Copy the appropriate AFS kernel library file to the <emphasis role="bold">/usr/vice/etc/sgiload</emphasis>
932 directory. The <emphasis role="bold">IP</emphasis><replaceable>xx</replaceable> portion of the library file name must
933 match the value previously returned by the <emphasis role="bold">uname -m</emphasis> command. Also choose the file
934 appropriate to whether the machine's kernel supports NFS server functionality (NFS must be supported for the machine to
935 act as an NFS/AFS Translator). Single- and multiprocessor machines use the same library file.</para>
937 <para>(You can choose to copy all of the kernel library files into the <emphasis
938 role="bold">/usr/vice/etc/sgiload</emphasis> directory, but they require a significant amount of space.)</para>
940 <para>If the machine's kernel supports NFS server functionality:</para>
943 # <emphasis role="bold">cp -p usr/vice/etc/sgiload/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.o /usr/vice/etc/sgiload</emphasis>
946 <para>If the machine's kernel does not support NFS server functionality:</para>
949 # <emphasis role="bold">cp -p usr/vice/etc/sgiload/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.nonfs.o</emphasis> \
950 <emphasis role="bold">/usr/vice/etc/sgiload</emphasis>
955 <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
956 role="bold">afsml</emphasis> configuration variable. <programlisting>
957 # <emphasis role="bold">/etc/chkconfig -f afsml on</emphasis>
958 </programlisting></para>
960 <para>If the machine is to function as an NFS/AFS Translator and the kernel supports NFS server functionality, activate
961 the <emphasis role="bold">afsxnfs</emphasis> variable.</para>
964 # <emphasis role="bold">/etc/chkconfig -f afsxnfs on</emphasis>
969 <para>Run the <emphasis role="bold">/etc/init.d/afs</emphasis> script to load AFS extensions into the kernel. The script
970 invokes the <emphasis role="bold">ml</emphasis> command, automatically determining which kernel library file to use
971 based on this machine's CPU type and the activation state of the <emphasis role="bold">afsxnfs</emphasis>
974 <para>You can ignore any error messages about the inability to start the BOS Server or the Cache Manager or AFS
978 # <emphasis role="bold">/etc/init.d/afs start</emphasis>
983 <para>Proceed to <link linkend="HDRWQ39">Configuring Server Partitions on IRIX Systems</link>.</para>
985 </orderedlist></para>
988 <primary>IRIX</primary>
990 <secondary>AFS-modified kernel</secondary>
992 <tertiary>on first AFS machine</tertiary>
997 <title>Building AFS into the IRIX Kernel</title>
999 <para>Use the following instructions to build AFS modifications into the kernel on an IRIX system. <orderedlist>
1001 <para>Copy the kernel initialization file <emphasis role="bold">afs.sm</emphasis> to the local <emphasis
1002 role="bold">/var/sysgen/system</emphasis> directory, and the kernel master file <emphasis role="bold">afs</emphasis> to
1003 the local <emphasis role="bold">/var/sysgen/master.d</emphasis> directory. <programlisting>
1004 # <emphasis role="bold">cp -p bin/afs.sm /var/sysgen/system</emphasis>
1005 # <emphasis role="bold">cp -p bin/afs /var/sysgen/master.d</emphasis>
1006 </programlisting></para>
1010 <para>Copy the appropriate AFS kernel library file to the local file <emphasis
1011 role="bold">/var/sysgen/boot/afs.a</emphasis>; the <emphasis role="bold">IP</emphasis><replaceable>xx</replaceable>
1012 portion of the library file name must match the value previously returned by the <emphasis role="bold">uname
1013 -m</emphasis> command. Also choose the file appropriate to whether the machine's kernel supports NFS server
1014 functionality (NFS must be supported for the machine to act as an NFS/AFS Translator). Single- and multiprocessor
1015 machines use the same library file.</para>
1017 <para>If the machine's kernel supports NFS server functionality:</para>
1020 # <emphasis role="bold">cp -p bin/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.a /var/sysgen/boot/afs.a</emphasis>
1023 <para>If the machine's kernel does not support NFS server functionality:</para>
1026 # <emphasis role="bold">cp -p bin/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.nonfs.a /var/sysgen/boot/afs.a</emphasis>
1031 <para>Issue the <emphasis role="bold">chkconfig</emphasis> command to deactivate the <emphasis
1032 role="bold">afsml</emphasis> configuration variable. <programlisting>
1033 # <emphasis role="bold">/etc/chkconfig -f afsml off</emphasis>
1034 </programlisting></para>
1036 <para>If the machine is to function as an NFS/AFS Translator and the kernel supports NFS server functionality, activate
1037 the <emphasis role="bold">afsxnfs</emphasis> variable.</para>
1040 # <emphasis role="bold">/etc/chkconfig -f afsxnfs on</emphasis>
1045 <para>Copy the existing kernel file, <emphasis role="bold">/unix</emphasis>, to a safe location. Compile the new kernel,
1046 which is created in the file <emphasis role="bold">/unix.install</emphasis>. It overwrites the existing <emphasis
1047 role="bold">/unix</emphasis> file when the machine reboots in the next step. <programlisting>
1048 # <emphasis role="bold">cp /unix /unix_noafs</emphasis>
1049 # <emphasis role="bold">autoconfig</emphasis>
1050 </programlisting></para>
1054 <para>Reboot the machine to start using the new kernel, and login again as the superuser <emphasis
1055 role="bold">root</emphasis>. <programlisting>
1056 # <emphasis role="bold">cd /</emphasis>
1057 # <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
1058 login: <emphasis role="bold">root</emphasis>
1059 Password: <replaceable>root_password</replaceable>
1060 </programlisting></para>
1062 </orderedlist></para>
1065 <primary>configuring</primary>
1067 <secondary>AFS server partition on first AFS machine</secondary>
1069 <tertiary>IRIX</tertiary>
1073 <primary>AFS server partition</primary>
1075 <secondary>configuring on first AFS machine</secondary>
1077 <tertiary>IRIX</tertiary>
1081 <primary>first AFS machine</primary>
1083 <secondary>AFS server partition</secondary>
1085 <tertiary>on IRIX</tertiary>
1089 <primary>IRIX</primary>
1091 <secondary>AFS server partition</secondary>
1093 <tertiary>on first AFS machine</tertiary>
1097 <sect2 id="HDRWQ39">
1098 <title>Configuring Server Partitions on IRIX Systems</title>
1100 <para>Every AFS file server machine must have at least one partition or logical volume dedicated to storing AFS volumes. Each
1101 server partition is mounted at a directory named <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable>, where
1102 <replaceable>xx</replaceable> is one or two lowercase letters. The <emphasis
1103 role="bold">/vicep</emphasis><replaceable>xx</replaceable> directories must reside in the file server machine's root
1104 directory, not in one of its subdirectories (for example, <emphasis role="bold">/usr/vicepa</emphasis> is not an acceptable
1105 directory location). For additional information, see <link linkend="HDRWQ20">Performing Platform-Specific
1106 Procedures</link>.</para>
1108 <para>AFS supports use of both EFS and XFS partitions for housing AFS volumes. SGI encourages use of XFS partitions.
1111 <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS server
1112 partition you are configuring (there must be at least one). Repeat the command for each partition. <programlisting>
1113 # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
1114 </programlisting></para>
1118 <para>Add a line with the following format to the file systems registry file, <emphasis
1119 role="bold">/etc/fstab</emphasis>, for each partition (or logical volume created with the XLV volume manager) to be
1120 mounted on one of the directories created in the previous step.</para>
1122 <para>For an XFS partition or logical volume:</para>
1125 /dev/dsk/<replaceable>disk</replaceable> /vicep<replaceable>xx</replaceable> xfs rw,raw=/dev/rdsk/<replaceable>disk</replaceable> 0 0
1128 <para>For an EFS partition:</para>
1131 /dev/dsk/<replaceable>disk</replaceable> /vicep<replaceable>xx</replaceable> efs rw,raw=/dev/rdsk/<replaceable>disk</replaceable> 0 0
1134 <para>The following are examples of an entry for each file system type:</para>
1137 /dev/dsk/dks0d2s6 /vicepa xfs rw,raw=/dev/rdsk/dks0d2s6 0 0
1138 /dev/dsk/dks0d3s1 /vicepb efs rw,raw=/dev/rdsk/dks0d3s1 0 0
1143 <para>Create a file system on each partition that is to be mounted on a <emphasis
1144 role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following commands are probably appropriate,
1145 but consult the IRIX documentation for more information. In both cases, <replaceable>raw_device</replaceable> is a raw
1146 device name like <emphasis role="bold">/dev/rdsk/dks0d0s0</emphasis> for a single disk partition or <emphasis
1147 role="bold">/dev/rxlv/xlv0</emphasis> for a logical volume.</para>
1149 <para>For XFS file systems, include the indicated options to configure the partition or logical volume with inodes large
1150 enough to accommodate AFS-specific information:</para>
1153 # <emphasis role="bold">mkfs -t xfs -i size=512 -l size=4000b</emphasis> <replaceable>raw_device</replaceable>
1156 <para>For EFS file systems:</para>
1159 # <emphasis role="bold">mkfs -t efs</emphasis> <replaceable>raw_device</replaceable>
1164 <para>Mount each partition by issuing either the <emphasis role="bold">mount -a</emphasis> command to mount all
1165 partitions at once or the <emphasis role="bold">mount</emphasis> command to mount each partition in turn.</para>
1169 <para><emphasis role="bold">(Optional)</emphasis> If you have configured partitions or logical volumes to use XFS, issue
1170 the following command to verify that the inodes are configured properly (are large enough to accommodate AFS-specific
1171 information). If the configuration is correct, the command returns no output. Otherwise, it specifies the command to run
1172 in order to configure each partition or logical volume properly. <programlisting>
1173 # <emphasis role="bold">/usr/afs/bin/xfs_size_check</emphasis>
1174 </programlisting></para>
1178 <para>If you plan to retain client functionality on this machine after completing the installation, proceed to <link
1179 linkend="HDRWQ40">Enabling AFS Login on IRIX Systems</link>. Otherwise, proceed to <link linkend="HDRWQ50">Starting the
1180 BOS Server</link>.</para>
1182 </orderedlist></para>
1185 <primary>enabling AFS login</primary>
1187 <secondary>file server machine</secondary>
1189 <tertiary>IRIX</tertiary>
1193 <primary>AFS login</primary>
1195 <secondary>on file server machine</secondary>
1197 <tertiary>IRIX</tertiary>
1201 <primary>first AFS machine</primary>
1203 <secondary>AFS login</secondary>
1205 <tertiary>on IRIX</tertiary>
1209 <primary>IRIX</primary>
1211 <secondary>AFS login</secondary>
1215 <sect2 id="HDRWQ40">
1216 <title>Enabling AFS Login on IRIX Systems</title>
1219 <para>If you plan to remove client functionality from this machine after completing the installation, skip this section and
1220 proceed to <link linkend="HDRWQ50">Starting the BOS Server</link>.</para>
1223 <para>Whilst the standard IRIX command-line
1224 <emphasis role="bold">login</emphasis> program and the
1225 graphical <emphasis role="bold">xdm</emphasis> login program both have
1226 the ability to grant AFS tokens, this ability relies upon the deprecated
1227 kaserver authentication system.</para>
1229 <para>Users who have been successfully authenticated via Kerberos 5
1230 authentication may obtain AFS tokens following login by running the
1231 <emphasis role="bold">aklog</emphasis> command.</para>
1233 <para>Sites which still require <emphasis role="bold">kaserver</emphasis>
1234 or external Kerberos v4 authentication should consult
1235 <link linkend="KAS014">Enabling kaserver based AFS Login on IRIX Systems</link>
1236 for details of how to enable IRIX login.</para>
1238 <para>After taking any necessary action, proceed to
1239 <link linkend="HDRWQ50">Starting the BOS Server</link>.</para>
1243 <sect1 id="HDRWQ41">
1244 <title>Getting Started on Linux Systems</title>
1247 <primary>replacing fsck program</primary>
1249 <secondary>not necessary on Linux</secondary>
1253 <primary>fsck program</primary>
1255 <secondary>on first AFS machine</secondary>
1257 <tertiary>Linux</tertiary>
1261 <primary>first AFS machine</primary>
1263 <secondary>fsck program</secondary>
1265 <tertiary>on Linux</tertiary>
1269 <primary>Linux</primary>
1271 <secondary>fsck program replacement not necessary</secondary>
1274 <para>Since this guide was originally written, the procedure for starting
1275 OpenAFS has diverged significantly between different Linux distributions.
1276 The instructions that follow are appropriate for both the Fedora and
1277 RedHat Enterprise Linux packages distributed by OpenAFS. Additional
1278 instructions are provided for those building from source.</para>
1280 <para>Begin by running the AFS client startup scripts, which call the
1281 <emphasis role="bold">modprobe</emphasis> program to dynamically
1282 load the AFS modifications into the kernel. Then create partitions for
1283 storing AFS volumes. You do not need to replace the Linux <emphasis
1284 role="bold">fsck</emphasis> program. If the machine is to remain an
1285 AFS client machine, incorporate AFS into the machine's Pluggable
1286 Authentication Module (PAM) scheme. <indexterm>
1287 <primary>incorporating AFS kernel extensions</primary>
1289 <secondary>first AFS machine</secondary>
1291 <tertiary>Linux</tertiary>
1292 </indexterm> <indexterm>
1293 <primary>AFS kernel extensions</primary>
1295 <secondary>on first AFS machine</secondary>
1297 <tertiary>Linux</tertiary>
1298 </indexterm> <indexterm>
1299 <primary>first AFS machine</primary>
1301 <secondary>AFS kernel extensions</secondary>
1303 <tertiary>on Linux</tertiary>
1304 </indexterm> <indexterm>
1305 <primary>Linux</primary>
1307 <secondary>AFS kernel extensions</secondary>
1309 <tertiary>on first AFS machine</tertiary>
1312 <sect2 id="HDRWQ42">
1313 <title>Loading AFS into the Linux Kernel</title>
1315 <para>The <emphasis role="bold">modprobe</emphasis> program is the dynamic kernel loader for Linux. Linux does not support
1316 incorporation of AFS modifications during a kernel build.</para>
1318 <para>For AFS to function correctly, the <emphasis role="bold">modprobe</emphasis> program must run each time the machine
1319 reboots, so your distribution's AFS initialization script invokes it automatically. The script also includes
1320 commands that select the appropriate AFS library file automatically. In this section you run the script.</para>
1322 <para>In later sections you verify that the script correctly initializes all AFS components, then activate a configuration
1323 variable, which results in the script being incorporated into the Linux startup and shutdown sequence.</para>
1325 <para>The procedure for starting up OpenAFS depends upon your distribution</para>
1327 <title>Fedora and RedHat Enterprise Linux</title>
1328 <para>OpenAFS provides RPMS for all current Fedora and RedHat Enterprise Linux (RHEL) releases on the OpenAFS web site and the OpenAFS yum repository.
1332 http://dl.openafs.org/dl/openafs/<replaceable>VERSION</replaceable>,
1333 where VERSION is the latest stable release of
1334 OpenAFS. Download the
1335 openafs-repository-<replaceable>VERSION</replaceable>.noarch.rpm
1336 file for Fedora systems or the
1337 openafs-repository-rhel-<replaceable>VERSION</replaceable>.noarch.rpm
1338 file for RedHat-based systems.
1342 <para>Install the downloaded RPM file using the following command:
1344 # rpm -U openafs-repository*.rpm
1349 <para>Install the RPM set for your operating system using the yum command as follows:
1351 # yum -y install openafs-client openafs-server openafs-krb5 kmod-openafs
1355 <para>Alternatively, you may use dynamically-compiled kernel
1356 modules if you have the kernel headers, a compiler, and the
1358 <ulink url="http://fedoraproject.org/wiki/EPEL"><citetitle>EPEL</citetitle></ulink> installed.
1361 <para>To use dynamically-compiled kernel modules instead of statically compiled modules, use the following command instead of the kmod-openafs as shown above:
1363 # yum install openafs-client openafs-server openafs-krb5 dkms-openafs
1367 <!-- If you do this with current RHEL and Fedora releases you end up with
1368 a dynroot'd client running - this breaks setting up the root.afs volume
1369 as described later in this guide
1371 <para>Run the AFS initialization script to load AFS extensions into
1372 the kernel. You can ignore any error messages about the inability
1373 to start the BOS Server or the Cache Manager or AFS client.</para>
1375 # <emphasis role="bold">/etc/rc.d/init.d/openafs-client start</emphasis>
1383 <title>Systems packaged as tar files</title>
1384 <para>If you are running a system where the OpenAFS Binary Distribution
1385 is provided as a tar file, or where you have built the system from
1386 source yourself, you need to install the relevant components by hand
1391 <para>Unpack the distribution tarball. The examples below assume
1392 that you have unpacked the files into the
1393 <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you
1394 pick a different location, substitute this in all of the following
1395 examples. Once you have unpacked the distribution,
1396 change directory as indicated.
1398 # <emphasis role="bold">cd /tmp/afsdist/linux/dest/root.client/usr/vice/etc</emphasis>
1399 </programlisting></para>
1403 <para>Copy the AFS kernel library files to the local <emphasis role="bold">/usr/vice/etc/modload</emphasis> directory.
1404 The filenames for the libraries have the format <emphasis
1405 role="bold">libafs-</emphasis><replaceable>version</replaceable><emphasis role="bold">.o</emphasis>, where
1406 <replaceable>version</replaceable> indicates the kernel build level. The string <emphasis role="bold">.mp</emphasis> in
1407 the <replaceable>version</replaceable> indicates that the file is appropriate for machines running a multiprocessor
1408 kernel. <programlisting>
1409 # <emphasis role="bold">cp -rp modload /usr/vice/etc</emphasis>
1410 </programlisting></para>
1414 <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
1415 role="bold">/etc/rc.d/init.d</emphasis> on Linux machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
1416 extension as you copy the script. <programlisting>
1417 # <emphasis role="bold">cp -p afs.rc /etc/rc.d/init.d/afs</emphasis>
1418 </programlisting></para>
1421 <!-- I don't think we need to do this for Linux, and it complicates things if
1422 dynroot is enabled ...
1424 <para>Run the AFS initialization script to load AFS extensions into the kernel. You can ignore any error messages about
1425 the inability to start the BOS Server or the Cache Manager or AFS client.</para>
1427 # <emphasis role="bold">/etc/rc.d/init.d/afs start</emphasis>
1434 <primary>configuring</primary>
1436 <secondary>AFS server partition on first AFS machine</secondary>
1438 <tertiary>Linux</tertiary>
1442 <primary>AFS server partition</primary>
1444 <secondary>configuring on first AFS machine</secondary>
1446 <tertiary>Linux</tertiary>
1450 <primary>first AFS machine</primary>
1452 <secondary>AFS server partition</secondary>
1454 <tertiary>on Linux</tertiary>
1458 <primary>Linux</primary>
1460 <secondary>AFS server partition</secondary>
1462 <tertiary>on first AFS machine</tertiary>
1467 <sect2 id="HDRWQ43">
1468 <title>Configuring Server Partitions on Linux Systems</title>
1470 <para>Every AFS file server machine must have at least one partition or logical volume dedicated to storing AFS volumes. Each
1471 server partition is mounted at a directory named <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable>, where
1472 <replaceable>xx</replaceable> is one or two lowercase letters. The <emphasis
1473 role="bold">/vicep</emphasis><replaceable>xx</replaceable> directories must reside in the file server machine's root
1474 directory, not in one of its subdirectories (for example, <emphasis role="bold">/usr/vicepa</emphasis> is not an acceptable
1475 directory location). For additional information, see <link linkend="HDRWQ20">Performing Platform-Specific Procedures</link>.
1478 <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS server
1479 partition you are configuring (there must be at least one). Repeat the command for each partition. <programlisting>
1480 # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
1481 </programlisting></para>
1485 <para>Add a line with the following format to the file systems registry file, <emphasis
1486 role="bold">/etc/fstab</emphasis>, for each directory just created. The entry maps the directory name to the disk
1487 partition to be mounted on it. <programlisting>
1488 /dev/<replaceable>disk</replaceable> /vicep<replaceable>xx</replaceable> ext2 defaults 0 2
1489 </programlisting></para>
1491 <para>The following is an example for the first partition being configured.</para>
1494 /dev/sda8 /vicepa ext2 defaults 0 2
1499 <para>Create a file system on each partition that is to be mounted at a <emphasis
1500 role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following command is probably appropriate, but
1501 consult the Linux documentation for more information. <programlisting>
1502 # <emphasis role="bold">mkfs -v /dev/</emphasis><replaceable>disk</replaceable>
1503 </programlisting></para>
1507 <para>Mount each partition by issuing either the <emphasis role="bold">mount -a</emphasis> command to mount all
1508 partitions at once or the <emphasis role="bold">mount</emphasis> command to mount each partition in turn.</para>
1512 <para>If you plan to retain client functionality on this machine after completing the installation, proceed to <link
1513 linkend="HDRWQ44">Enabling AFS Login on Linux Systems</link>. Otherwise, proceed to <link linkend="HDRWQ50">Starting the
1514 BOS Server</link>.</para>
1516 </orderedlist></para>
1519 <primary>enabling AFS login</primary>
1521 <secondary>file server machine</secondary>
1523 <tertiary>Linux</tertiary>
1527 <primary>AFS login</primary>
1529 <secondary>on file server machine</secondary>
1531 <tertiary>Linux</tertiary>
1535 <primary>first AFS machine</primary>
1537 <secondary>AFS login</secondary>
1539 <tertiary>on Linux</tertiary>
1543 <primary>Linux</primary>
1545 <secondary>AFS login</secondary>
1547 <tertiary>on file server machine</tertiary>
1551 <primary>PAM</primary>
1553 <secondary>on Linux</secondary>
1555 <tertiary>file server machine</tertiary>
1559 <sect2 id="HDRWQ44">
1560 <title>Enabling AFS Login on Linux Systems</title>
1563 <para>If you plan to remove client functionality from this machine
1564 after completing the installation, skip this section and proceed
1565 to <link linkend="HDRWQ50">Starting the BOS Server</link>.</para>
1568 <para>At this point you incorporate AFS into the operating system's
1569 Pluggable Authentication Module (PAM) scheme. PAM integrates all
1570 authentication mechanisms on the machine, including login, to provide
1571 the security infrastructure for authenticated access to and from the
1574 <para>You should first configure your system to obtain Kerberos v5
1575 tickets as part of the authentication process, and then run an AFS PAM
1576 module to obtain tokens from those tickets after authentication. Many
1577 Linux distributions come with a Kerberos v5 PAM module (usually called
1578 pam-krb5 or pam_krb5), or you can download and install <ulink
1579 url="http://www.eyrie.org/~eagle/software/pam-krb5">Russ Allbery's
1580 Kerberos v5 PAM module</ulink>, which is tested regularly with AFS.
1581 See the instructions of whatever PAM module you use for how to
1582 configure it.</para>
1584 <para>Some Kerberos v5 PAM modules do come with native AFS support
1585 (usually requiring the Heimdal Kerberos implementation rather than the
1586 MIT Kerberos implementation). If you are using one of those PAM
1587 modules, you can configure it to obtain AFS tokens. It's more common,
1588 however, to separate the AFS token acquisition into a separate PAM
1591 <para>The recommended AFS PAM module is <ulink
1592 url="http://www.eyrie.org/~eagle/software/pam-afs-session/">Russ
1593 Allbery's pam-afs-session module</ulink>. It should work with any of
1594 the Kerberos v5 PAM modules. To add it to the PAM configuration, you
1595 often only need to add configuration to the session group:</para>
1598 <title>Linux PAM session example</title>
1599 <literallayout>session required pam_afs_session.so</literallayout>
1602 <para>If you also want to obtain AFS tokens for <command>scp</command>
1603 and similar commands that don't open a session, you will also need to
1604 add the AFS PAM module to the auth group so that the PAM
1605 <function>setcred</function> call will obtain tokens. The
1606 <literal>pam_afs_session</literal> module will always return success
1607 for authentication so that it can be added to the auth group only for
1608 <function>setcred</function>, so make sure that it's not marked as
1609 <literal>sufficient</literal>.</para>
1612 <title>Linux PAM auth example</title>
1613 <literallayout>auth [success=ok default=1] pam_krb5.so
1614 auth [default=done] pam_afs_session.so
1615 auth required pam_unix.so try_first_pass</literallayout>
1618 <para>This example will work if you want to try Kerberos v5 first and
1619 then fall back to regular Unix authentication.
1620 <literal>success=ok</literal> for the Kerberos PAM module followed by
1621 <literal>default=done</literal> for the AFS PAM module will cause a
1622 successful Kerberos login to run the AFS PAM module and then skip the
1623 Unix authentication module. <literal>default=1</literal> on the
1624 Kerberos PAM module causes failure of that module to skip the next
1625 module (the AFS PAM module) and fall back to the Unix module. If you
1626 want to try Unix authentication first and rearrange the order, be sure
1627 to use <literal>default=die</literal> instead.</para>
1629 <para>The PAM configuration is stored in different places in different
1630 Linux distributions. On Red Hat, look in
1631 <filename>/etc/pam.d/system-auth</filename>. On Debian and
1632 derivatives, look in <filename>/etc/pam.d/common-session</filename>
1633 and <filename>/etc/pam.d/common-auth</filename>.</para>
1635 <para>For additional configuration examples and the configuration
1636 options of the AFS PAM module, see its documentation. For more
1637 details on the available options for the PAM configuration, see the
1638 Linux PAM documentation.</para>
1640 <para>Sites which still require <command>kaserver</command> or
1641 external Kerberos v4 authentication should consult <link
1642 linkend="KAS015">Enabling kaserver based AFS Login on Linux
1643 Systems</link> for details of how to enable AFS login on Linux.</para>
1645 <para>Proceed to <link linkend="HDRWQ50">Starting the BOS
1646 Server</link> (or if referring to these instructions while installing
1647 an additional file server machine, return to <link
1648 linkend="HDRWQ108">Starting Server Programs</link>).</para>
1652 <sect1 id="HDRWQ45">
1653 <title>Getting Started on Solaris Systems</title>
1655 <para>Begin by running the AFS initialization script to call the <emphasis role="bold">modload</emphasis> program distributed by
1656 Sun Microsystems, which dynamically loads AFS modifications into the kernel. Then create partitions for storing AFS volumes, and
1657 install and configure the AFS-modified <emphasis role="bold">fsck</emphasis> program to run on AFS server partitions. If the
1658 machine is to remain an AFS client machine, incorporate AFS into the machine's Pluggable Authentication Module (PAM) scheme.
1660 <primary>incorporating AFS kernel extensions</primary>
1662 <secondary>first AFS machine</secondary>
1664 <tertiary>Solaris</tertiary>
1665 </indexterm> <indexterm>
1666 <primary>AFS kernel extensions</primary>
1668 <secondary>on first AFS machine</secondary>
1670 <tertiary>Solaris</tertiary>
1671 </indexterm> <indexterm>
1672 <primary>first AFS machine</primary>
1674 <secondary>AFS kernel extensions</secondary>
1676 <tertiary>on Solaris</tertiary>
1677 </indexterm> <indexterm>
1678 <primary>Solaris</primary>
1680 <secondary>AFS kernel extensions</secondary>
1682 <tertiary>on first AFS machine</tertiary>
1685 <sect2 id="HDRWQ46">
1686 <title>Loading AFS into the Solaris Kernel</title>
1688 <para>The <emphasis role="bold">modload</emphasis> program is the dynamic kernel loader provided by Sun Microsystems for
1689 Solaris systems. Solaris does not support incorporation of AFS modifications during a kernel build.</para>
1691 <para>For AFS to function correctly, the <emphasis role="bold">modload</emphasis> program must run each time the machine
1692 reboots, so the AFS initialization script (included on the AFS CD-ROM) invokes it automatically. In this section you copy the
1693 appropriate AFS library file to the location where the <emphasis role="bold">modload</emphasis> program accesses it and then
1694 run the script.</para>
1696 <para>In later sections you verify that the script correctly initializes all AFS components, then create the links that
1697 incorporate AFS into the Solaris startup and shutdown sequence. <orderedlist>
1699 <para>Unpack the OpenAFS Solaris distribution tarball. The examples
1700 below assume that you have unpacked the files into the
1701 <emphasis role="bold">/tmp/afsdist</emphasis> directory. If you
1702 pick a diferent location, substitute this in all of the following
1703 exmaples. Once you have unpacked the distribution, change directory
1706 # <emphasis role="bold">cd /tmp/afsdist/sun4x_56/dest/root.client/usr/vice/etc</emphasis>
1707 </programlisting></para>
1711 <para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
1712 role="bold">/etc/init.d</emphasis> on Solaris machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
1713 extension as you copy the script. <programlisting>
1714 # <emphasis role="bold">cp -p afs.rc /etc/init.d/afs</emphasis>
1715 </programlisting></para>
1719 <para>Copy the appropriate AFS kernel library file to the local file <emphasis
1720 role="bold">/kernel/fs/afs</emphasis>.</para>
1722 <para>If the machine is running Solaris 11 on the x86_64 platform:</para>
1725 # <emphasis role="bold">cp -p modload/libafs64.o /kernel/drv/amd64/afs</emphasis>
1728 <para>If the machine is running Solaris 10 on the x86_64 platform:</para>
1731 # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/amd64/afs</emphasis>
1734 <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, its kernel supports NFS server
1735 functionality, and the <emphasis role="bold">nfsd</emphasis> process is running:</para>
1738 # <emphasis role="bold">cp -p modload/libafs.o /kernel/fs/afs</emphasis>
1741 <para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, and its kernel does not support NFS
1742 server functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1745 # <emphasis role="bold">cp -p modload/libafs.nonfs.o /kernel/fs/afs</emphasis>
1748 <para>If the machine is running the 64-bit version of Solaris 7, its kernel supports NFS server functionality, and the
1749 <emphasis role="bold">nfsd</emphasis> process is running:</para>
1752 # <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</emphasis>
1755 <para>If the machine is running the 64-bit version of Solaris 7, and its kernel does not support NFS server
1756 functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
1759 # <emphasis role="bold">cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</emphasis>
1764 <para>Run the AFS initialization script to load AFS modifications into the kernel. You can ignore any error messages
1765 about the inability to start the BOS Server or the Cache Manager or AFS client. <programlisting>
1766 # <emphasis role="bold">/etc/init.d/afs start</emphasis>
1767 </programlisting></para>
1769 <para>When an entry called <computeroutput>afs</computeroutput> does not already exist in the local <emphasis
1770 role="bold">/etc/name_to_sysnum</emphasis> file, the script automatically creates it and reboots the machine to start
1771 using the new version of the file. If this happens, log in again as the superuser <emphasis role="bold">root</emphasis>
1772 after the reboot and run the initialization script again. This time the required entry exists in the <emphasis
1773 role="bold">/etc/name_to_sysnum</emphasis> file, and the <emphasis role="bold">modload</emphasis> program runs.</para>
1776 login: <emphasis role="bold">root</emphasis>
1777 Password: <replaceable>root_password</replaceable>
1778 # <emphasis role="bold">/etc/init.d/afs start</emphasis>
1781 </orderedlist></para>
1784 <primary>replacing fsck program</primary>
1786 <secondary>first AFS machine</secondary>
1788 <tertiary>Solaris</tertiary>
1792 <primary>fsck program</primary>
1794 <secondary>on first AFS machine</secondary>
1796 <tertiary>Solaris</tertiary>
1800 <primary>first AFS machine</primary>
1802 <secondary>fsck program</secondary>
1804 <tertiary>on Solaris</tertiary>
1808 <primary>Solaris</primary>
1810 <secondary>fsck program</secondary>
1812 <tertiary>on first AFS machine</tertiary>
1816 <sect2 id="HDRWQ47">
1817 <title>Configuring the AFS-modified fsck Program on Solaris Systems</title>
1819 <para>In this section, you make modifications to guarantee that the appropriate <emphasis role="bold">fsck</emphasis> program
1820 runs on AFS server partitions. The <emphasis role="bold">fsck</emphasis> program provided with the operating system must never
1821 run on AFS server partitions. Because it does not recognize the structures that the File Server uses to organize volume data,
1822 it removes all of the data. To repeat:</para>
1824 <para><emphasis role="bold">Never run the standard fsck program on AFS server partitions. It discards AFS volumes.</emphasis>
1827 <para>Create the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory to house the AFS-modified <emphasis
1828 role="bold">fsck</emphasis> program and related files. <programlisting>
1829 # <emphasis role="bold">mkdir /usr/lib/fs/afs</emphasis>
1830 # <emphasis role="bold">cd /usr/lib/fs/afs</emphasis>
1831 </programlisting></para>
1835 <para>Copy the <emphasis role="bold">vfsck</emphasis> binary to the newly created directory, changing the name as you do
1836 so. <programlisting>
1837 # <emphasis role="bold">cp /tmp/afsdist/sun4x_56/dest/root.server/etc/vfsck fsck</emphasis>
1838 </programlisting></para>
1842 <para>Working in the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory, create the following links to Solaris
1843 libraries: <programlisting>
1844 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/clri</emphasis>
1845 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/df</emphasis>
1846 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/edquota</emphasis>
1847 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ff</emphasis>
1848 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsdb</emphasis>
1849 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsirand</emphasis>
1850 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/fstyp</emphasis>
1851 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/labelit</emphasis>
1852 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/lockfs</emphasis>
1853 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/mkfs</emphasis>
1854 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/mount</emphasis>
1855 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ncheck</emphasis>
1856 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/newfs</emphasis>
1857 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quot</emphasis>
1858 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quota</emphasis>
1859 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaoff</emphasis>
1860 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaon</emphasis>
1861 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/repquota</emphasis>
1862 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/tunefs</emphasis>
1863 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsdump</emphasis>
1864 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsrestore</emphasis>
1865 # <emphasis role="bold">ln -s /usr/lib/fs/ufs/volcopy</emphasis>
1866 </programlisting></para>
1870 <para>Append the following line to the end of the file <emphasis role="bold">/etc/dfs/fstypes</emphasis>.
1873 </programlisting></para>
1877 <para>Edit the <emphasis role="bold">/sbin/mountall</emphasis> file, making two changes. <itemizedlist>
1879 <para>Add an entry for AFS to the <computeroutput>case</computeroutput> statement for option 2, so that it reads
1880 as follows: <programlisting>
1882 ufs) foptions="-o p"
1884 afs) foptions="-o p"
1886 s5) foptions="-y -t /var/tmp/tmp$$ -D"
1890 </programlisting></para>
1894 <para>Edit the file so that all AFS and UFS partitions are checked in parallel. Replace the following section of
1895 code: <programlisting>
1896 # For fsck purposes, we make a distinction between ufs and
1897 # other file systems
1899 if [ "$fstype" = "ufs" ]; then
1900 ufs_fscklist="$ufs_fscklist $fsckdev"
1901 saveentry $fstype "$OPTIONS" $special $mountp
1904 </programlisting></para>
1906 <para>with the following section of code:</para>
1909 # For fsck purposes, we make a distinction between ufs/afs
1910 # and other file systems.
1912 if [ "$fstype" = "ufs" -o "$fstype" = "afs" ]; then
1913 ufs_fscklist="$ufs_fscklist $fsckdev"
1914 saveentry $fstype "$OPTIONS" $special $mountp
1919 </itemizedlist></para>
1921 </orderedlist></para>
1924 <primary>configuring</primary>
1926 <secondary>AFS server partition on first AFS machine</secondary>
1928 <tertiary>Solaris</tertiary>
1932 <primary>AFS server partition</primary>
1934 <secondary>configuring on first AFS machine</secondary>
1936 <tertiary>Solaris</tertiary>
1940 <primary>first AFS machine</primary>
1942 <secondary>AFS server partition</secondary>
1944 <tertiary>on Solaris</tertiary>
1948 <primary>Solaris</primary>
1950 <secondary>AFS server partition</secondary>
1952 <tertiary>on first AFS machine</tertiary>
1956 <sect2 id="HDRWQ48">
1957 <title>Configuring Server Partitions on Solaris Systems</title>
1959 <para>Every AFS file server machine must have at least one partition or logical volume dedicated to storing AFS volumes. Each
1960 server partition is mounted at a directory named <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable>, where
1961 <replaceable>xx</replaceable> is one or two lowercase letters. The <emphasis
1962 role="bold">/vicep</emphasis><replaceable>xx</replaceable> directories must reside in the file server machine's root
1963 directory, not in one of its subdirectories (for example, <emphasis role="bold">/usr/vicepa</emphasis> is not an acceptable
1964 directory location). For additional information, see <link linkend="HDRWQ20">Performing Platform-Specific Procedures</link>.
1967 <para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS server
1968 partition you are configuring (there must be at least one). Repeat the command for each partition. <programlisting>
1969 # <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
1970 </programlisting></para>
1974 <para>Add a line with the following format to the file systems registry file, <emphasis
1975 role="bold">/etc/vfstab</emphasis>, for each partition to be mounted on a directory created in the previous step. Note
1976 the value <computeroutput>afs</computeroutput> in the fourth field, which tells Solaris to use the AFS-modified
1977 <emphasis role="bold">fsck</emphasis> program on this partition. <programlisting>
1978 /dev/dsk/<replaceable>disk</replaceable> /dev/rdsk/<replaceable>disk</replaceable> /vicep<replaceable>xx</replaceable> afs <replaceable>boot_order</replaceable> yes
1979 </programlisting></para>
1981 <para>The following is an example for the first partition being configured.</para>
1984 /dev/dsk/c0t6d0s1 /dev/rdsk/c0t6d0s1 /vicepa afs 3 yes
1989 <para>Create a file system on each partition that is to be mounted at a <emphasis
1990 role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following command is probably appropriate, but
1991 consult the Solaris documentation for more information. <programlisting>
1992 # <emphasis role="bold">newfs -v /dev/rdsk/</emphasis><replaceable>disk</replaceable>
1993 </programlisting></para>
1997 <para>Issue the <emphasis role="bold">mountall</emphasis> command to mount all partitions at once.</para>
2001 <para>If you plan to retain client functionality on this machine after completing the installation, proceed to <link
2002 linkend="HDRWQ49">Enabling AFS Login and Editing the File Systems Clean-up Script on Solaris Systems</link>. Otherwise,
2003 proceed to <link linkend="HDRWQ50">Starting the BOS Server</link>.</para>
2005 </orderedlist></para>
2008 <sect2 id="HDRWQ49">
2009 <title>Enabling AFS Login on Solaris Systems</title>
2011 <primary>enabling AFS login</primary>
2013 <secondary>file server machine</secondary>
2015 <tertiary>Solaris</tertiary>
2019 <primary>AFS login</primary>
2021 <secondary>on file server machine</secondary>
2023 <tertiary>Solaris</tertiary>
2027 <primary>first AFS machine</primary>
2029 <secondary>AFS login</secondary>
2031 <tertiary>on Solaris</tertiary>
2035 <primary>Solaris</primary>
2037 <secondary>AFS login</secondary>
2039 <tertiary>on file server machine</tertiary>
2043 <primary>PAM</primary>
2045 <secondary>on Solaris</secondary>
2047 <tertiary>file server machine</tertiary>
2051 <para>If you plan to remove client functionality from this machine after completing the installation, skip this section and
2052 proceed to <link linkend="HDRWQ50">Starting the BOS Server</link>.</para>
2055 <para>At this point you incorporate AFS into the operating system's
2056 Pluggable Authentication Module (PAM) scheme. PAM integrates all
2057 authentication mechanisms on the machine, including login, to provide
2058 the security infrastructure for authenticated access to and from the
2061 <para>Explaining PAM is beyond the scope of this document. It is
2062 assumed that you understand the syntax and meanings of settings in the
2063 PAM configuration file (for example, how the
2064 <computeroutput>other</computeroutput> entry works, the effect of
2065 marking an entry as <computeroutput>required</computeroutput>,
2066 <computeroutput>optional</computeroutput>, or
2067 <computeroutput>sufficient</computeroutput>, and so on).</para>
2069 <para>You should first configure your system to obtain Kerberos v5
2070 tickets as part of the authentication process, and then run an AFS PAM
2071 module to obtain tokens from those tickets after authentication.
2072 Current versions of Solaris come with a Kerberos v5 PAM module that
2073 will work, or you can download and install <ulink
2074 url="http://www.eyrie.org/~eagle/software/pam-krb5">Russ Allbery's
2075 Kerberos v5 PAM module</ulink>, which is tested regularly with AFS.
2076 See the instructions of whatever PAM module you use for how to
2077 configure it.</para>
2079 <para>Some Kerberos v5 PAM modules do come with native AFS support
2080 (usually requiring the Heimdal Kerberos implementation rather than the
2081 MIT Kerberos implementation). If you are using one of those PAM
2082 modules, you can configure it to obtain AFS tokens. It's more common,
2083 however, to separate the AFS token acquisition into a separate PAM
2086 <para>The recommended AFS PAM module is <ulink
2087 url="http://www.eyrie.org/~eagle/software/pam-afs-session/">Russ
2088 Allbery's pam-afs-session module</ulink>. It should work with any of
2089 the Kerberos v5 PAM modules. To add it to the PAM configuration, you
2090 often only need to add configuration to the session group in
2091 <filename>pam.conf</filename>:</para>
2094 <title>Solaris PAM session example</title>
2095 <literallayout>login session required pam_afs_session.so</literallayout>
2098 <para>This example enables PAM authentication only for console login.
2099 You may want to add a similar line for the ssh service and for any
2100 other login service that you use, including possibly the
2101 <literal>other</literal> service (which serves as a catch-all). You
2102 may also want to add options to the AFS PAM session module
2103 (particularly <literal>retain_after_close</literal>, which is
2104 necessary for some versions of Solaris.</para>
2106 <para>For additional configuration examples and the configuration
2107 options of the AFS PAM module, see its documentation. For more
2108 details on the available options for the PAM configuration, see the
2109 <filename>pam.conf</filename> manual page.</para>
2111 <para>Sites which still require <emphasis
2112 role="bold">kaserver</emphasis> or external Kerberos v4 authentication
2113 should consult <link linkend="KAS016">"Enabling kaserver based AFS
2114 Login on Solaris Systems"</link> for details of how to enable AFS
2115 login on Solaris.</para>
2117 <para>Proceed to <link linkend="HDRWQ49a">Editing the File Systems
2118 Clean-up Script on Solaris Systems</link></para>
2120 <sect2 id="HDRWQ49a">
2121 <title>Editing the File Systems Clean-up Script on Solaris Systems</title>
2123 <primary>Solaris</primary>
2125 <secondary>file systems clean-up script</secondary>
2127 <tertiary>on file server machine</tertiary>
2131 <primary>file systems clean-up script (Solaris)</primary>
2133 <secondary>file server machine</secondary>
2137 <primary>scripts</primary>
2139 <secondary>file systems clean-up (Solaris)</secondary>
2141 <tertiary>file server machine</tertiary>
2147 <para>Some Solaris distributions include a script that locates and removes unneeded files from various file systems. Its
2148 conventional location is <emphasis role="bold">/usr/lib/fs/nfs/nfsfind</emphasis>. The script generally uses an argument
2149 to the <emphasis role="bold">find</emphasis> command to define which file systems to search. In this step you modify the
2150 command to exclude the <emphasis role="bold">/afs</emphasis> directory. Otherwise, the command traverses the AFS
2151 filespace of every cell that is accessible from the machine, which can take many hours. The following alterations are
2152 possibilities, but you must verify that they are appropriate for your cell.</para>
2154 <para>The first possible alteration is to add the <emphasis role="bold">-local</emphasis> flag to the existing command,
2155 so that it looks like the following:</para>
2158 find $dir -local -name .nfs\* -mtime +7 -mount -exec rm -f {} \;
2161 <para>Another alternative is to exclude any directories whose names begin with the lowercase letter <emphasis
2162 role="bold">a</emphasis> or a non-alphabetic character.</para>
2165 find /[A-Zb-z]* <replaceable>remainder of existing command</replaceable>
2168 <para>Do not use the following command, which still searches under the <emphasis role="bold">/afs</emphasis> directory,
2169 looking for a subdirectory of type <emphasis role="bold">4.2</emphasis>.</para>
2172 find / -fstype 4.2 /* <replaceable>do not use</replaceable> */
2177 <para>Proceed to <link linkend="HDRWQ50">Starting the BOS Server</link> (or if referring to these instructions while
2178 installing an additional file server machine, return to <link linkend="HDRWQ108">Starting Server
2179 Programs</link>).</para>
2184 <primary>Basic OverSeer Server</primary>
2186 <see>BOS Server</see>
2190 <primary>BOS Server</primary>
2192 <secondary>starting</secondary>
2194 <tertiary>first AFS machine</tertiary>
2198 <primary>starting</primary>
2200 <secondary>BOS Server</secondary>
2202 <tertiary>first AFS machine</tertiary>
2206 <primary>first AFS machine</primary>
2208 <secondary>BOS Server</secondary>
2212 <primary>authorization checking (disabling)</primary>
2214 <secondary>first AFS machine</secondary>
2218 <primary>disabling authorization checking</primary>
2220 <secondary>first AFS machine</secondary>
2224 <primary>first AFS machine</primary>
2226 <secondary>authorization checking (disabling)</secondary>
2230 <sect1 id="HDRWQ50">
2231 <title>Starting the BOS Server</title>
2233 <para>You are now ready to start the AFS server processes on this machine.
2234 If you are not working from a packaged distribution, begin by copying the
2235 AFS server binaries from the distribution to the conventional local disk
2236 location, the <emphasis role="bold">/usr/afs/bin</emphasis> directory. The
2237 following instructions also create files in other subdirectories of the
2238 <emphasis role="bold">/usr/afs</emphasis> directory.</para>
2240 <para>Then issue the <emphasis role="bold">bosserver</emphasis> command to initialize the Basic OverSeer (BOS) Server, which
2241 monitors and controls other AFS server processes on its server machine. Include the <emphasis role="bold">-noauth</emphasis>
2242 flag to disable authorization checking. Because you have not yet configured your cell's AFS authentication and authorization
2243 mechanisms, the BOS Server cannot perform authorization checking as it does during normal operation. In no-authorization mode,
2244 it does not verify the identity or privilege of the issuer of a <emphasis role="bold">bos</emphasis> command, and so performs
2245 any operation for anyone.</para>
2247 <para>Disabling authorization checking gravely compromises cell security. You must complete all subsequent steps in one
2248 uninterrupted pass and must not leave the machine unattended until you restart the BOS Server with authorization checking
2249 enabled, in <link linkend="HDRWQ72">Verifying the AFS Initialization Script</link>.</para>
2251 <para>As it initializes for the first time, the BOS Server creates the following directories and files, setting the owner to the
2252 local superuser <emphasis role="bold">root</emphasis> and the mode bits to limit the ability to write (and in some cases, read)
2253 them. For a description of the contents and function of these directories and files, see the chapter in the <emphasis>OpenAFS
2254 Administration Guide</emphasis> about administering server machines. For further discussion of the mode bit settings, see <link
2255 linkend="HDRWQ96">Protecting Sensitive AFS Directories</link>. <indexterm>
2256 <primary>Binary Distribution</primary>
2258 <secondary>copying server files from</secondary>
2260 <tertiary>first AFS machine</tertiary>
2261 </indexterm> <indexterm>
2262 <primary>first AFS machine</primary>
2264 <secondary>subdirectories of /usr/afs</secondary>
2265 </indexterm> <indexterm>
2266 <primary>creating</primary>
2268 <secondary>/usr/afs/bin directory</secondary>
2270 <tertiary>first AFS machine</tertiary>
2271 </indexterm> <indexterm>
2272 <primary>creating</primary>
2274 <secondary>/usr/afs/etc directory</secondary>
2276 <tertiary>first AFS machine</tertiary>
2277 </indexterm> <indexterm>
2278 <primary>copying</primary>
2280 <secondary>server files to local disk</secondary>
2282 <tertiary>first AFS machine</tertiary>
2283 </indexterm> <indexterm>
2284 <primary>first AFS machine</primary>
2286 <secondary>copying</secondary>
2288 <tertiary>server files to local disk</tertiary>
2289 </indexterm> <indexterm>
2290 <primary>usr/afs/bin directory</primary>
2292 <secondary>first AFS machine</secondary>
2293 </indexterm> <indexterm>
2294 <primary>usr/afs/etc directory</primary>
2296 <secondary>first AFS machine</secondary>
2297 </indexterm> <indexterm>
2298 <primary>usr/afs/db directory</primary>
2299 </indexterm> <indexterm>
2300 <primary>usr/afs/local directory</primary>
2301 </indexterm> <indexterm>
2302 <primary>usr/afs/logs directory</primary>
2303 </indexterm> <itemizedlist>
2305 <para><emphasis role="bold">/usr/afs/db</emphasis></para>
2309 <para><emphasis role="bold">/usr/afs/etc/CellServDB</emphasis></para>
2313 <para><emphasis role="bold">/usr/afs/etc/ThisCell</emphasis></para>
2317 <para><emphasis role="bold">/usr/afs/local</emphasis></para>
2321 <para><emphasis role="bold">/usr/afs/logs</emphasis></para>
2323 </itemizedlist></para>
2325 <para>The BOS Server also creates symbolic links called <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> and <emphasis
2326 role="bold">/usr/vice/etc/CellServDB</emphasis> to the corresponding files in the <emphasis role="bold">/usr/afs/etc</emphasis>
2327 directory. The AFS command interpreters consult the <emphasis role="bold">CellServDB</emphasis> and <emphasis
2328 role="bold">ThisCell</emphasis> files in the <emphasis role="bold">/usr/vice/etc</emphasis> directory because they generally run
2329 on client machines. On machines that are AFS servers only (as this machine currently is), the files reside only in the <emphasis
2330 role="bold">/usr/afs/etc</emphasis> directory; the links enable the command interpreters to retrieve the information they need.
2331 Later instructions for installing the client functionality replace the links with actual files. <orderedlist>
2333 <para>If you are not working from a packaged distribution, you may need to copy files from the distribution media to the local <emphasis role="bold">/usr/afs</emphasis> directory.
2335 # <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.server/usr/afs</emphasis>
2336 # <emphasis role="bold">cp -rp * /usr/afs</emphasis>
2337 </programlisting> <indexterm>
2338 <primary>commands</primary>
2340 <secondary>bosserver</secondary>
2341 </indexterm> <indexterm>
2342 <primary>bosserver command</primary>
2347 <para>Issue the <emphasis role="bold">bosserver</emphasis> command. Include the <emphasis role="bold">-noauth</emphasis>
2348 flag to disable authorization checking. <programlisting>
2349 # <emphasis role="bold">/usr/afs/bin/bosserver -noauth &</emphasis>
2350 </programlisting></para>
2354 <para>Verify that the BOS Server created <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> and <emphasis
2355 role="bold">/usr/vice/etc/CellServDB</emphasis> as symbolic links to the corresponding files in the <emphasis
2356 role="bold">/usr/afs/etc</emphasis> directory. <programlisting>
2357 # <emphasis role="bold">ls -l /usr/vice/etc</emphasis>
2358 </programlisting></para>
2360 <para>If either or both of <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> and <emphasis
2361 role="bold">/usr/vice/etc/CellServDB</emphasis> do not exist, or are not links, issue the following commands.</para>
2364 # <emphasis role="bold">cd /usr/vice/etc</emphasis>
2365 # <emphasis role="bold">ln -s /usr/afs/etc/ThisCell</emphasis>
2366 # <emphasis role="bold">ln -s /usr/afs/etc/CellServDB</emphasis>
2369 </orderedlist></para>
2372 <primary>cell name</primary>
2374 <secondary>defining during installation of first machine</secondary>
2378 <primary>defining</primary>
2380 <secondary>cell name during installation of first machine</secondary>
2384 <primary>cell name</primary>
2386 <secondary>setting in server ThisCell file</secondary>
2388 <tertiary>first AFS machine</tertiary>
2392 <primary>setting</primary>
2394 <secondary>cell name in server ThisCell file</secondary>
2396 <tertiary>first AFS machine</tertiary>
2400 <primary>first AFS machine</primary>
2402 <secondary>ThisCell file (server)</secondary>
2406 <primary>usr/afs/etc/ThisCell</primary>
2408 <see>ThisCell file (server)</see>
2412 <primary>ThisCell file (server)</primary>
2414 <secondary>first AFS machine</secondary>
2418 <primary>files</primary>
2420 <secondary>ThisCell (server)</secondary>
2424 <primary>database server machine</primary>
2426 <secondary>entry in server CellServDB file</secondary>
2428 <tertiary>on first AFS machine</tertiary>
2432 <primary>first AFS machine</primary>
2434 <secondary>cell membership, defining</secondary>
2436 <tertiary>for server processes</tertiary>
2440 <primary>usr/afs/etc/CellServDB file</primary>
2442 <see>CellServDB file (server)</see>
2446 <primary>CellServDB file (server)</primary>
2448 <secondary>creating</secondary>
2450 <tertiary>on first AFS machine</tertiary>
2454 <primary>creating</primary>
2456 <secondary>CellServDB file (server)</secondary>
2458 <tertiary>first AFS machine</tertiary>
2462 <primary>files</primary>
2464 <secondary>CellServDB (server)</secondary>
2468 <primary>first AFS machine</primary>
2470 <secondary>CellServDB file (server)</secondary>
2474 <primary>first AFS machine</primary>
2476 <secondary>defining</secondary>
2478 <tertiary>as database server</tertiary>
2482 <primary>defining</primary>
2484 <secondary>first AFS machine as database server</secondary>
2488 <sect1 id="HDRWQ51">
2489 <title>Defining Cell Name and Membership for Server Processes</title>
2491 <para>Now assign your cell's name. The chapter in the <emphasis>OpenAFS Administration Guide</emphasis> about cell configuration
2492 and administration issues discusses the important considerations, explains why changing the name is difficult, and outlines the
2493 restrictions on name format. Two of the most important restrictions are that the name cannot include uppercase letters or more
2494 than 64 characters.</para>
2496 <para>Use the <emphasis role="bold">bos setcellname</emphasis> command to assign the cell name. It creates two files:
2499 <para><emphasis role="bold">/usr/afs/etc/ThisCell</emphasis>, which defines this machine's cell membership</para>
2503 <para><emphasis role="bold">/usr/afs/etc/CellServDB</emphasis>, which lists the cell's database server machines; the
2504 machine named on the command line is placed on the list automatically</para>
2506 </itemizedlist> <note>
2507 <para>In the following and every instruction in this guide, for the <replaceable>machine name</replaceable> argument
2508 substitute the fully-qualified hostname (such as <emphasis role="bold">fs1.example.com</emphasis>) of the machine you are
2509 installing. For the <replaceable>cell name</replaceable> argument substitute your cell's complete name (such as <emphasis
2510 role="bold">example.com</emphasis>).</para>
2514 <primary>commands</primary>
2516 <secondary>bos setcellname</secondary>
2520 <primary>bos commands</primary>
2522 <secondary>setcellname</secondary>
2527 <para>If necessary, add the directory containing the <emphasis role="bold">bos</emphasis> command to your path.
2529 # <emphasis role="bold">export PATH=$PATH:/usr/afs/bin</emphasis>
2535 <para>Issue the <emphasis role="bold">bos setcellname</emphasis> command to set the cell name. <programlisting>
2536 # <emphasis role="bold">bos setcellname</emphasis> <<replaceable>machine name</replaceable>> <<replaceable>cell name</replaceable>> <emphasis
2537 role="bold">-noauth</emphasis>
2538 </programlisting></para>
2540 <para>Because you are not authenticated and authorization checking is disabled, the <emphasis role="bold">bos</emphasis>
2541 command interpreter possibly produces error messages about being unable to obtain tickets and running unauthenticated. You
2542 can safely ignore the messages. <indexterm>
2543 <primary>commands</primary>
2545 <secondary>bos listhosts</secondary>
2546 </indexterm> <indexterm>
2547 <primary>bos commands</primary>
2549 <secondary>listhosts</secondary>
2550 </indexterm> <indexterm>
2551 <primary>CellServDB file (server)</primary>
2553 <secondary>displaying entries</secondary>
2554 </indexterm> <indexterm>
2555 <primary>displaying</primary>
2557 <secondary>CellServDB file (server) entries</secondary>
2562 <para>Issue the <emphasis role="bold">bos listhosts</emphasis> command to verify that the machine you are installing is now
2563 registered as the cell's first database server machine. <programlisting>
2564 # <emphasis role="bold">bos listhosts</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">-noauth</emphasis>
2565 Cell name is <replaceable>cell_name</replaceable>
2566 Host 1 is <replaceable>machine_name</replaceable>
2567 </programlisting></para>
2572 <primary>database server machine</primary>
2574 <secondary>installing</secondary>
2576 <tertiary>first</tertiary>
2580 <primary>instructions</primary>
2582 <secondary>database server machine, installing first</secondary>
2586 <primary>installing</primary>
2588 <secondary>database server machine</secondary>
2590 <tertiary>first</tertiary>
2594 <primary>Backup Server</primary>
2596 <secondary>starting</secondary>
2598 <tertiary>first AFS machine</tertiary>
2602 <primary>buserver process</primary>
2604 <see>Backup Server</see>
2608 <primary>starting</primary>
2610 <secondary>Backup Server</secondary>
2612 <tertiary>first AFS machine</tertiary>
2616 <primary>first AFS machine</primary>
2618 <secondary>Backup Server</secondary>
2622 <primary>Protection Server</primary>
2624 <secondary>starting</secondary>
2626 <tertiary>first AFS machine</tertiary>
2630 <primary>ptserver process</primary>
2632 <see>Protection Server</see>
2636 <primary>starting</primary>
2638 <secondary>Protection Server</secondary>
2640 <tertiary>first AFS machine</tertiary>
2644 <primary>first AFS machine</primary>
2646 <secondary>Protection Server</secondary>
2650 <primary>VL Server (vlserver process)</primary>
2652 <secondary>starting</secondary>
2654 <tertiary>first AFS machine</tertiary>
2658 <primary>Volume Location Server</primary>
2660 <see>VL Server</see>
2664 <primary>starting</primary>
2666 <secondary>VL Server</secondary>
2668 <tertiary>first AFS machine</tertiary>
2672 <primary>first AFS machine</primary>
2674 <secondary>VL Server</secondary>
2678 <primary>usr/afs/local/BosConfig</primary>
2680 <see>BosConfig file</see>
2684 <primary>BosConfig file</primary>
2686 <secondary>adding entries</secondary>
2688 <tertiary>first AFS machine</tertiary>
2692 <primary>adding</primary>
2694 <secondary>entries to BosConfig file</secondary>
2696 <tertiary>first AFS machine</tertiary>
2700 <primary>files</primary>
2702 <secondary>BosConfig</secondary>
2706 <primary>initializing</primary>
2708 <secondary>server process</secondary>
2714 <primary>server process</primary>
2716 <secondary>see also entry for each server's name</secondary>
2720 <sect1 id="HDRWQ52">
2721 <title>Starting the Database Server Processes</title>
2723 <para>Next use the <emphasis role="bold">bos create</emphasis> command to create entries for the three database server processes
2724 in the <emphasis role="bold">/usr/afs/local/BosConfig</emphasis> file and start them running. The three processes run on database
2725 server machines only: <itemizedlist>
2728 <para>The Backup Server (the <emphasis role="bold">buserver</emphasis> process) maintains the Backup Database</para>
2732 <para>The Protection Server (the <emphasis role="bold">ptserver</emphasis> process) maintains the Protection
2737 <para>The Volume Location (VL) Server (the <emphasis role="bold">vlserver</emphasis> process) maintains the Volume
2738 Location Database (VLDB)</para>
2740 </itemizedlist></para>
2743 <primary>Kerberos</primary>
2747 <para>AFS ships with an additional database server named 'kaserver', which
2748 was historically used to provide authentication services to AFS cells.
2749 kaserver was based on <emphasis>Kerberos v4</emphasis>, as such, it is
2750 not recommended for new cells. This guide assumes you have already
2751 configured a Kerberos v5 realm for your site, and details the procedures
2752 required to use AFS with this realm. If you do wish to use
2753 <emphasis role="bold">kaserver</emphasis>, please see the modifications
2754 to these instructions detailed in
2755 <link linkend="KAS006">Starting the kaserver Database Server Process</link>
2759 <para>The remaining instructions in this chapter include the <emphasis role="bold">-cell</emphasis> argument on all applicable
2760 commands. Provide the cell name you assigned in <link linkend="HDRWQ51">Defining Cell Name and Membership for Server
2761 Processes</link>. If a command appears on multiple lines, it is only for legibility. <indexterm>
2762 <primary>commands</primary>
2764 <secondary>bos create</secondary>
2765 </indexterm> <indexterm>
2766 <primary>bos commands</primary>
2768 <secondary>create</secondary>
2769 </indexterm> <orderedlist>
2771 <para>Issue the <emphasis role="bold">bos create</emphasis> command to start the Backup Server. <programlisting>
2772 # <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">buserver simple /usr/afs/bin/buserver</emphasis> <emphasis role="bold">-noauth</emphasis>
2773 </programlisting></para>
2777 <para>Issue the <emphasis role="bold">bos create</emphasis> command to start the Protection Server. <programlisting>
2778 # <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">ptserver simple /usr/afs/bin/ptserver</emphasis> <emphasis role="bold">-noauth</emphasis>
2779 </programlisting></para>
2783 <para>Issue the <emphasis role="bold">bos create</emphasis> command to start the VL Server. <programlisting>
2784 # <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">vlserver simple /usr/afs/bin/vlserver</emphasis> <emphasis role="bold">-noauth</emphasis>
2785 </programlisting></para>
2787 </orderedlist></para>
2790 <primary>admin account</primary>
2792 <secondary>creating</secondary>
2796 <primary>afs entry in Kerberos Database</primary>
2800 <primary>Kerberos Database</primary>
2804 <primary>creating</primary>
2806 <secondary>afs entry in Kerberos Database</secondary>
2810 <primary>creating</primary>
2812 <secondary>admin account in Kerberos Database</secondary>
2816 <primary>security</primary>
2818 <secondary>initializing cell-wide</secondary>
2822 <primary>cell</primary>
2824 <secondary>initializing security mechanisms</secondary>
2828 <primary>initializing</primary>
2830 <secondary>cell security mechanisms</secondary>
2834 <primary>usr/afs/etc/KeyFile</primary>
2836 <see>KeyFile file</see>
2840 <primary>KeyFile file</primary>
2842 <secondary>first AFS machine</secondary>
2846 <primary>files</primary>
2848 <secondary>KeyFile</secondary>
2852 <primary>key</primary>
2854 <see>server encryption key</see>
2858 <primary>encryption key</primary>
2860 <see>server encryption key</see>
2864 <sect1 id="HDRWQ53">
2865 <title>Initializing Cell Security </title>
2867 <para>If you are working with an existing cell which uses
2868 <emphasis role="bold">kaserver</emphasis> or Kerberos v4 for authentication,
2870 <link linkend="HDRWQ53">Initializing Cell Security with kaserver</link>
2871 for installation instructions which replace this section.</para>
2873 <para>Now initialize the cell's security mechanisms. Begin by creating the following two entires in your site's Kerberos database: <itemizedlist>
2875 <para>A generic administrative account, called <emphasis role="bold">admin</emphasis> by convention. If you choose to
2876 assign a different name, substitute it throughout the remainder of this document.</para>
2878 <para>After you complete the installation of the first machine, you can continue to have all administrators use the
2879 <emphasis role="bold">admin</emphasis> account, or you can create a separate administrative account for each of them. The
2880 latter scheme implies somewhat more overhead, but provides a more informative audit trail for administrative
2885 <para>The entry for AFS server processes, called either
2886 <emphasis role="bold">afs</emphasis> or
2887 <emphasis role="bold">afs/<replaceable>cell</replaceable></emphasis>.
2888 The latter form is preferred since it works regardless of whether
2889 your cell name matches your Kerberos realm name and allows multiple
2890 AFS cells to be served from a single Kerberos realm.
2891 No user logs in under this identity, but it is used to encrypt the
2892 server tickets that granted to AFS clients for presentation to
2893 server processes during mutual authentication. (The
2894 chapter in the <emphasis>OpenAFS Administration Guide</emphasis> about cell configuration and administration describes the
2895 role of server encryption keys in mutual authentication.)</para>
2897 <para>In Step <link linkend="LIWQ58">7</link>, you also place the initial AFS server encryption key into the <emphasis
2898 role="bold">/usr/afs/etc/KeyFile</emphasis> file. The AFS server processes refer to this file to learn the server
2899 encryption key when they need to decrypt server tickets.</para>
2901 </itemizedlist></para>
2903 <para>You also issue several commands that enable the new <emphasis role="bold">admin</emphasis> user to issue privileged
2904 commands in all of the AFS suites.</para>
2906 <para>The following instructions do not configure all of the security mechanisms related to the AFS Backup System. See the
2907 chapter in the <emphasis>OpenAFS Administration Guide</emphasis> about configuring the Backup System.</para>
2909 <para>The examples below assume you are using MIT Kerberos. Please refer
2910 to the documentation for your KDC's administrative interface if you are
2911 using a different vendor</para>
2915 <para>Enter <emphasis role="bold">kadmin</emphasis> interactive mode.
2917 # <emphasis role="bold">kadmin</emphasis>
2918 Authenticating as principal <replaceable>you</replaceable>/admin@<replaceable>YOUR REALM</replaceable> with password
2919 Password for <replaceable>you/admin@REALM</replaceable>: <replaceable>your_password</replaceable>
2920 </programlisting> <indexterm>
2921 <primary>server encryption key</primary>
2923 <secondary>in Kerberos Database</secondary>
2924 </indexterm> <indexterm>
2925 <primary>creating</primary>
2927 <secondary>server encryption key</secondary>
2929 <tertiary>Kerberos Database</tertiary>
2933 <listitem id="LIWQ54">
2935 <emphasis role="bold">add_principal</emphasis> command to create
2936 Kerberos Database entries called
2937 <emphasis role="bold">admin</emphasis> and
2938 <emphasis role="bold">afs/<<replaceable>cell name</replaceable>></emphasis>.</para>
2940 <para>You should make the <replaceable>admin_passwd</replaceable> as
2941 long and complex as possible, but keep in mind that administrators
2942 need to enter it often. It must be at least six characters long.</para>
2943 <para>Note that when creating the
2944 <emphasis role="bold">afs/<<replaceable>cell name</replaceable>></emphasis>
2945 entry, the encryption types should be restricted to des-cbc-crc:v4.
2946 For more details regarding encryption types, see the documentation
2947 for your Kerberos installation.
2950 kadmin: <emphasis role="bold">add_principal -randkey -e des-cbc-crc:v4 afs/</emphasis><<replaceable>cell name</replaceable>>
2951 Principal "afs/<replaceable>cell name</replaceable>@<replaceable>REALM</replaceable>" created.
2952 kadmin: <emphasis role="bold">add_principal admin</emphasis>
2953 Enter password for principal "admin@<replaceable>REALM</replaceable>": <emphasis role="bold"><replaceable>admin_password</replaceable></emphasis>
2954 Principal "admin@<replaceable>REALM</replaceable>" created.
2959 <primary>commands</primary>
2961 <secondary>kas examine</secondary>
2965 <primary>kas commands</primary>
2967 <secondary>examine</secondary>
2971 <primary>displaying</primary>
2973 <secondary>server encryption key</secondary>
2975 <tertiary>Authentication Database</tertiary>
2979 <listitem id="LIWQ55">
2980 <para>Issue the <emphasis role="bold">kadmin
2981 get_principal</emphasis> command to display the <emphasis
2982 role="bold">afs/</emphasis><<replaceable>cell name</replaceable>> entry.
2984 kadmin: <emphasis role="bold">get_principal afs/<<replaceable>cell name</replaceable>></emphasis>
2985 Principal: afs/<replaceable>cell</replaceable>
2987 Key: vno 2, DES cbc mode with CRC-32, no salt
2993 <para>Extract the newly created key for <emphasis role="bold">afs/<replaceable>cell</replaceable></emphasis> to a keytab on the local machine. We will use <emphasis role="bold">/etc/afs.keytab</emphasis> as the location for this keytab.</para>
2995 <para>The keytab contains the key material that ensures the security of your AFS cell. You should ensure that it is kept in a secure location at all times.</para>
2998 kadmin: <emphasis role="bold">ktadd -k /etc/afs.keytab -e des-cbc-crc:v4 afs/<<replaceable>cell name</replaceable>></emphasis>
2999 Entry for principal afs/<<replaceable>cell name</replaceable>> with kvno 3, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/etc/afs.keytab
3001 <para>Make a note of the key version number (kvno) given in the
3002 response, as you will need it to load the key into bos in a later
3005 <note><para>Note that each time you run
3006 <emphasis role="bold">ktadd</emphasis> a new key is generated
3007 for the item being extracted. This means that you cannot run ktadd
3008 multiple times and end up with the same key material each time.
3013 <para>Issue the <emphasis role="bold">quit</emphasis> command to leave <emphasis role="bold">kadmin</emphasis>
3014 interactive mode. <programlisting>
3015 kadmin: <emphasis role="bold">quit</emphasis>
3016 </programlisting> <indexterm>
3017 <primary>commands</primary>
3019 <secondary>bos adduser</secondary>
3020 </indexterm> <indexterm>
3021 <primary>bos commands</primary>
3023 <secondary>adduser</secondary>
3024 </indexterm> <indexterm>
3025 <primary>usr/afs/etc/UserList</primary>
3027 <see>UserList file</see>
3028 </indexterm> <indexterm>
3029 <primary>UserList file</primary>
3031 <secondary>first AFS machine</secondary>
3032 </indexterm> <indexterm>
3033 <primary>files</primary>
3035 <secondary>UserList</secondary>
3036 </indexterm> <indexterm>
3037 <primary>creating</primary>
3039 <secondary>UserList file entry</secondary>
3040 </indexterm> <indexterm>
3041 <primary>admin account</primary>
3043 <secondary>adding</secondary>
3045 <tertiary>to UserList file</tertiary>
3049 <listitem id="LIWQ57">
3050 <para>Issue the <emphasis role="bold">bos adduser</emphasis> command to add the <emphasis
3051 role="bold">admin</emphasis> user to the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file. This enables the
3052 <emphasis role="bold">admin</emphasis> user to issue privileged <emphasis role="bold">bos</emphasis> and <emphasis
3053 role="bold">vos</emphasis> commands. <programlisting>
3054 # <emphasis role="bold">./bos adduser</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">admin -noauth</emphasis>
3057 <primary>commands</primary>
3058 <secondary>asetkey</secondary>
3061 <primary>creating</primary>
3062 <secondary>server encryption key</secondary>
3063 <tertiary>KeyFile file</tertiary>
3066 <primary>server encryption key</primary>
3067 <secondary>in KeyFile file</secondary>
3071 <listitem id="LIWQ58">
3073 <emphasis role="bold">asetkey</emphasis> command to set the AFS
3074 server encryption key in the
3075 <emphasis role="bold">/usr/afs/etc/KeyFile</emphasis> file. This key
3076 is created from the <emphasis role="bold">/etc/afs.keytab</emphasis>
3077 file created earlier.</para>
3079 <para>asetkey requires the key version number (or kvno) of the
3080 <emphasis role="bold">afs/</emphasis><replaceable>cell</replaceable>
3081 key. You should have made note of the kvno when creating the key
3082 earlier. The key version number can also be found by running the
3083 <emphasis role="bold">kvno</emphasis> command</para>
3085 # <emphasis role="bold">kvno -k /etc/afs.keytab afs/</emphasis><<replaceable>cell name</replaceable>>
3088 <para>Once the kvno is known, the key can then be extracted using
3091 # <emphasis role="bold">asetkey add</emphasis> <<replaceable>kvno</replaceable>> <emphasis role="bold">/etc/afs.keytab afs/</emphasis><<replaceable>cell name</replaceable>>
3095 <primary>commands</primary>
3096 <secondary>bos listkeys</secondary>
3100 <primary>bos commands</primary>
3101 <secondary>listkeys</secondary>
3105 <primary>displaying</primary>
3106 <secondary>server encryption key</secondary>
3107 <tertiary>KeyFile file</tertiary>
3111 <listitem id="LIWQ59">
3113 <emphasis role="bold">bos listkeys</emphasis> command to verify that
3114 the key version number for the new key in the
3115 <emphasis role="bold">KeyFile</emphasis> file is the same as the key
3116 version number in the Authentication Database's
3117 <emphasis role="bold">afs/<replaceable>cell name</replaceable></emphasis>
3118 entry, which you displayed in Step <link linkend="LIWQ55">3</link>.
3120 # <emphasis role="bold">./bos listkeys</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">-noauth</emphasis>
3121 key 0 has cksum <replaceable>checksum</replaceable>
3122 </programlisting></para>
3124 <para>You can safely ignore any error messages indicating that <emphasis role="bold">bos</emphasis> failed to get tickets
3125 or that authentication failed.</para>
3129 <sect1 id="HDRWQ53a">
3130 <title>Initializing the Protection Database</title>
3132 <para>Now continue to configure your cell's security systems by
3133 populating the Protection Database with the newly created
3134 <emphasis role="bold">admin</emphasis> user, and permitting it
3135 to issue priviledged commands on the AFS filesystem.</para>
3140 <primary>commands</primary>
3141 <secondary>pts createuser</secondary>
3145 <primary>pts commands</primary>
3146 <secondary>createuser</secondary>
3150 <primary>Protection Database</primary>
3152 <para>Issue the <emphasis role="bold">pts createuser</emphasis> command to create a Protection Database entry for the
3153 <emphasis role="bold">admin</emphasis> user.</para>
3155 <para>By default, the Protection Server assigns AFS UID 1 (one) to the <emphasis role="bold">admin</emphasis> user,
3156 because it is the first user entry you are creating. If the local password file (<emphasis
3157 role="bold">/etc/passwd</emphasis> or equivalent) already has an entry for <emphasis role="bold">admin</emphasis> that
3158 assigns it a UNIX UID other than 1, it is best to use the <emphasis role="bold">-id</emphasis> argument to the <emphasis
3159 role="bold">pts createuser</emphasis> command to make the new AFS UID match the existing UNIX UID. Otherwise, it is best
3160 to accept the default.</para>
3163 # <emphasis role="bold">pts createuser -name admin</emphasis> [<emphasis
3164 role="bold">-id</emphasis> <<replaceable>AFS UID</replaceable>>] <emphasis role="bold">-noauth</emphasis>
3165 User admin has id <replaceable>AFS UID</replaceable>
3169 <primary>commands</primary>
3170 <secondary>pts adduser</secondary>
3174 <primary>pts commands</primary>
3175 <secondary>adduser</secondary>
3179 <primary>system:administrators group</primary>
3183 <primary>admin account</primary>
3184 <secondary>adding</secondary>
3185 <tertiary>to system:administrators group</tertiary>
3190 <para>Issue the <emphasis role="bold">pts adduser</emphasis> command to make the <emphasis role="bold">admin</emphasis>
3191 user a member of the <emphasis role="bold">system:administrators</emphasis> group, and the <emphasis role="bold">pts
3192 membership</emphasis> command to verify the new membership. Membership in the group enables the <emphasis
3193 role="bold">admin</emphasis> user to issue privileged <emphasis role="bold">pts</emphasis> commands and some privileged
3194 <emphasis role="bold">fs</emphasis> commands. <programlisting>
3195 # <emphasis role="bold">./pts adduser admin system:administrators</emphasis> <emphasis role="bold">-noauth</emphasis>
3196 # <emphasis role="bold">./pts membership admin</emphasis> <emphasis role="bold">-noauth</emphasis>
3197 Groups admin (id: 1) is a member of:
3198 system:administrators
3199 </programlisting> <indexterm>
3200 <primary>commands</primary>
3201 <secondary>bos restart</secondary>
3202 <tertiary>on first AFS machine</tertiary>
3203 </indexterm> <indexterm>
3204 <primary>bos commands</primary>
3205 <secondary>restart</secondary>
3206 <tertiary>on first AFS machine</tertiary>
3207 </indexterm> <indexterm>
3208 <primary>restarting server process</primary>
3209 <secondary>on first AFS machine</secondary>
3210 </indexterm> <indexterm>
3211 <primary>server process</primary>
3212 <secondary>restarting</secondary>
3213 <tertiary>on first AFS machine</tertiary>
3218 <para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis role="bold">-all</emphasis> flag
3219 to restart the database server processes, so that they start using the new server encryption key. <programlisting>
3220 # <emphasis role="bold">./bos restart</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">-all</emphasis>
3221 <emphasis role="bold">-noauth</emphasis>
3222 </programlisting></para>
3227 <primary>File Server</primary>
3229 <secondary>first AFS machine</secondary>
3233 <primary>fileserver process</primary>
3235 <see>File Server</see>
3239 <primary>starting</primary>
3241 <secondary>File Server</secondary>
3243 <tertiary>first AFS machine</tertiary>
3247 <primary>first AFS machine</primary>
3249 <secondary>File Server, fs process</secondary>
3253 <primary>Volume Server</primary>
3255 <secondary>first AFS machine</secondary>
3259 <primary>volserver process</primary>
3261 <see>Volume Server</see>
3265 <primary>starting</primary>
3267 <secondary>Volume Server</secondary>
3269 <tertiary>first AFS machine</tertiary>
3273 <primary>first AFS machine</primary>
3275 <secondary>Volume Server</secondary>
3279 <primary>Salvager (salvager process)</primary>
3281 <secondary>first AFS machine</secondary>
3285 <primary>fs process</primary>
3287 <secondary>first AFS machine</secondary>
3291 <primary>starting</primary>
3293 <secondary>fs process</secondary>
3295 <tertiary>first AFS machine</tertiary>
3299 <primary>first AFS machine</primary>
3301 <secondary>Salvager</secondary>
3305 <sect1 id="HDRWQ60">
3306 <title>Starting the File Server processes</title>
3308 <para>Start either the <emphasis role="bold">fs</emphasis> process or, if you want to run the Demand-Attach File Server, the
3309 <emphasis role="bold">dafs</emphasis> process. The <emphasis role="bold">fs</emphasis> process consists of the File Server,
3310 Volume Server, and Salvager (<emphasis role="bold">fileserver</emphasis>, <emphasis role="bold">volserver</emphasis> and
3311 <emphasis role="bold">salvager</emphasis> processes). The <emphasis role="bold">dafs</emphasis> process consists of the
3312 Demand-Attach File Server, Volume Server, Salvage Server, and Salvager (<emphasis role="bold">dafileserver</emphasis>,
3313 <emphasis role="bold"> davolserver</emphasis>, <emphasis role="bold">salvageserver</emphasis>, and <emphasis
3314 role="bold">dasalvager</emphasis> processes). For information about the Demand-Attach File Server and to see whether or not
3315 you should run it, see <link linkend="DAFS">Appendix C, The Demand-Attach File Server</link>.
3318 <para>Issue the <emphasis role="bold">bos create</emphasis> command to start the <emphasis role="bold">fs</emphasis>
3319 process or the <emphasis role="bold">dafs</emphasis> process. The commands appear here on multiple lines only for legibility.
3323 <para>If you are not planning on running the Demand-Attach File Server, create the <emphasis role="bold">fs</emphasis>
3326 # <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">fs fs /usr/afs/bin/fileserver</emphasis> \
3327 <emphasis role="bold">/usr/afs/bin/volserver /usr/afs/bin/salvager</emphasis> \
3328 <emphasis role="bold">-noauth</emphasis>
3329 </programlisting></para>
3332 <para>If you are planning on running the Demand-Attach File Server, create the <emphasis
3333 role="bold">dafs</emphasis> process:
3335 # <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">dafs dafs /usr/afs/bin/dafileserver</emphasis> \
3336 <emphasis role="bold">/usr/afs/bin/davolserver /usr/afs/bin/salvageserver</emphasis> \
3337 <emphasis role="bold">/usr/afs/bin/dasalvager</emphasis> <emphasis role="bold">-noauth</emphasis>
3338 </programlisting></para>
3343 <para>Sometimes a message about Volume Location Database (VLDB) initialization appears, along with one or more instances
3344 of an error message similar to the following:</para>
3347 FSYNC_clientInit temporary failure (will retry)
3350 <para>This message appears when the <emphasis role="bold">volserver</emphasis> process tries to start before the <emphasis
3351 role="bold">fileserver</emphasis> process has completed its initialization. Wait a few minutes after the last such message
3352 before continuing, to guarantee that both processes have started successfully. <indexterm>
3353 <primary>commands</primary>
3355 <secondary>bos status</secondary>
3356 </indexterm> <indexterm>
3357 <primary>bos commands</primary>
3359 <secondary>status</secondary>
3362 <para>You can verify that the <emphasis role="bold">fs</emphasis> or <emphasis role="bold">dafs</emphasis> process has started
3363 successfully by issuing the <emphasis role="bold">bos status</emphasis> command. Its output mentions two <computeroutput>proc
3364 starts</computeroutput>.</para>
3368 <para>If you are not running the Demand-Attach File Server:
3371 # <emphasis role="bold">./bos status</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">fs -long -noauth</emphasis>
3372 </programlisting></para></listitem>
3375 <para>If you are running the Demand-Attach File Server:
3377 # <emphasis role="bold">./bos status</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">dafs -long -noauth</emphasis>
3378 </programlisting></para></listitem>
3384 <para>Your next action depends on whether you have ever run AFS file server machines in the cell: <itemizedlist>
3386 <primary>commands</primary>
3388 <secondary>vos create</secondary>
3390 <tertiary>root.afs volume</tertiary>
3394 <primary>vos commands</primary>
3396 <secondary>create</secondary>
3398 <tertiary>root.afs volume</tertiary>
3402 <primary>root.afs volume</primary>
3404 <secondary>creating</secondary>
3408 <primary>volume</primary>
3410 <secondary>creating</secondary>
3412 <tertiary>root.afs</tertiary>
3416 <primary>creating</primary>
3418 <secondary>root.afs volume</secondary>
3422 <para>If you are installing the first AFS server machine ever in the cell (that is, you are not upgrading the AFS
3423 software from a previous version), create the first AFS volume, <emphasis role="bold">root.afs</emphasis>.</para>
3425 <para>For the <replaceable>partition name</replaceable> argument, substitute the name of one of the machine's AFS
3426 server partitions (such as <emphasis role="bold">/vicepa</emphasis>).</para>
3429 # <emphasis role="bold">./vos create</emphasis> <<replaceable>machine name</replaceable>> <<replaceable>partition name</replaceable>> <emphasis
3430 role="bold">root.afs</emphasis> \
3431 <emphasis role="bold">-noauth</emphasis>
3434 <para>The Volume Server produces a message confirming that it created the volume on the specified partition. You can
3435 ignore error messages indicating that tokens are missing, or that authentication failed. <indexterm>
3436 <primary>commands</primary>
3438 <secondary>vos syncvldb</secondary>
3439 </indexterm> <indexterm>
3440 <primary>vos commands</primary>
3442 <secondary>syncvldb</secondary>
3443 </indexterm> <indexterm>
3444 <primary>commands</primary>
3446 <secondary>vos syncserv</secondary>
3447 </indexterm> <indexterm>
3448 <primary>vos commands</primary>
3450 <secondary>syncserv</secondary>
3455 <para>If there are existing AFS file server machines and volumes in the cell, issue the <emphasis role="bold">vos
3456 syncvldb</emphasis> and <emphasis role="bold">vos syncserv</emphasis> commands to synchronize the VLDB with the
3457 actual state of volumes on the local machine. To follow the progress of the synchronization operation, which can
3458 take several minutes, use the <emphasis role="bold">-verbose</emphasis> flag. <programlisting>
3459 # <emphasis role="bold">./vos syncvldb</emphasis> <<replaceable>machine name</replaceable>> <emphasis
3460 role="bold">-verbose -noauth</emphasis>
3461 # <emphasis role="bold">./vos syncserv</emphasis> <<replaceable>machine name</replaceable>> <emphasis
3462 role="bold">-verbose -noauth</emphasis>
3463 </programlisting></para>
3465 <para>You can ignore error messages indicating that tokens are missing, or that authentication failed.</para>
3467 </itemizedlist></para>
3469 </orderedlist></para>
3472 <primary>Update Server</primary>
3474 <secondary>starting server portion</secondary>
3476 <tertiary>first AFS machine</tertiary>
3480 <primary>upserver process</primary>
3482 <see>Update Server</see>
3486 <primary>starting</primary>
3488 <secondary>Update Server server portion</secondary>
3490 <tertiary>first AFS machine</tertiary>
3494 <primary>first AFS machine</primary>
3496 <secondary>Update Server server portion</secondary>
3500 <primary>first AFS machine</primary>
3502 <secondary>defining</secondary>
3504 <tertiary>as binary distribution machine</tertiary>
3508 <primary>first AFS machine</primary>
3510 <secondary>defining</secondary>
3512 <tertiary>as system control machine</tertiary>
3516 <primary>system control machine</primary>
3520 <primary>binary distribution machine</primary>
3524 <sect1 id="HDRWQ61">
3525 <title>Starting the Server Portion of the Update Server</title>
3527 <para>Start the server portion of the Update Server (the <emphasis role="bold">upserver</emphasis> process), to distribute the
3528 contents of directories on this machine to other server machines in the cell. It becomes active when you configure the client
3529 portion of the Update Server on additional server machines.</para>
3531 <para>Distributing the contents of its <emphasis role="bold">/usr/afs/etc</emphasis> directory makes this machine the cell's
3532 <emphasis>system control machine</emphasis>. The other server machines in the cell run the <emphasis
3533 role="bold">upclientetc</emphasis> process (an instance of the client portion of the Update Server) to retrieve the
3534 configuration files. Use the <emphasis role="bold">-crypt</emphasis> argument to the <emphasis role="bold">upserver</emphasis>
3535 initialization command to specify that the Update Server distributes the contents of the <emphasis
3536 role="bold">/usr/afs/etc</emphasis> directory only in encrypted form, as shown in the following instruction. Several of the
3537 files in the directory, particularly the <emphasis role="bold">KeyFile</emphasis> file, are crucial to cell security and so must
3538 never cross the network unencrypted.</para>
3540 <para>(You can choose not to configure a system control machine, in which case you must update the configuration files in each
3541 server machine's <emphasis role="bold">/usr/afs/etc</emphasis> directory individually. The <emphasis role="bold">bos</emphasis>
3542 commands used for this purpose also encrypt data before sending it across the network.)</para>
3544 <para>Distributing the contents of its <emphasis role="bold">/usr/afs/bin</emphasis> directory to other server machines of its
3545 system type makes this machine a <emphasis>binary distribution machine</emphasis>. The other server machines of its system type
3546 run the <emphasis role="bold">upclientbin</emphasis> process (an instance of the client portion of the Update Server) to
3547 retrieve the binaries. If your platform has a package management system,
3548 such as 'rpm' or 'apt', running the Update Server to distribute binaries
3549 may interfere with this system.</para>
3551 <para>The binaries in the <emphasis role="bold">/usr/afs/bin</emphasis> directory are not sensitive, so it is not necessary to
3552 encrypt them before transfer across the network. Include the <emphasis role="bold">-clear</emphasis> argument to the <emphasis
3553 role="bold">upserver</emphasis> initialization command to specify that the Update Server distributes the contents of the
3554 <emphasis role="bold">/usr/afs/bin</emphasis> directory in unencrypted form unless an <emphasis
3555 role="bold">upclientbin</emphasis> process requests encrypted transfer.</para>
3557 <para>Note that the server and client portions of the Update Server always mutually authenticate with one another, regardless of
3558 whether you use the <emphasis role="bold">-clear</emphasis> or <emphasis role="bold">-crypt</emphasis> arguments. This protects
3559 their communications from eavesdropping to some degree.</para>
3561 <para>For more information on the <emphasis role="bold">upclient</emphasis> and <emphasis role="bold">upserver</emphasis>
3562 processes, see their reference pages in the <emphasis>OpenAFS Administration Reference</emphasis>. The commands appear on
3563 multiple lines here only for legibility. <orderedlist>
3565 <para>Issue the <emphasis role="bold">bos create</emphasis> command to start the <emphasis role="bold">upserver</emphasis>
3566 process. <programlisting>
3567 # <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name></replaceable> <emphasis role="bold">upserver simple</emphasis> \
3568 <emphasis role="bold">"/usr/afs/bin/upserver -crypt /usr/afs/etc</emphasis> \
3569 <emphasis role="bold">-clear /usr/afs/bin"</emphasis> <emphasis role="bold">-noauth</emphasis>
3570 </programlisting></para>
3572 </orderedlist></para>
3575 <sect1 id="HDRWQ62">
3576 <title>Clock Sync Considerations</title>
3578 <para>Keeping the clocks on all server and client machines in your cell synchronized is crucial to several functions, and in
3579 particular to the correct operation of AFS's distributed database technology, Ubik. The chapter in the <emphasis>OpenAFS
3580 Administration Guide</emphasis> about administering server machines explains how time skew can disturb Ubik's performance and
3581 cause service outages in your cell.</para>
3583 <para>You should install and configure your time service independently of
3584 AFS. Your Kerberos realm will also require a reliable time source, so your site
3585 may already have one available.</para>
3588 <primary>overview</primary>
3590 <secondary>installing client functionality on first machine</secondary>
3594 <primary>first AFS machine</primary>
3596 <secondary>client functionality</secondary>
3598 <tertiary>installing</tertiary>
3602 <primary>installing</primary>
3604 <secondary>client functionality</secondary>
3606 <tertiary>first AFS machine</tertiary>
3610 <sect1 id="HDRWQ63">
3611 <title>Overview: Installing Client Functionality</title>
3613 <para>The machine you are installing is now an AFS file server machine,
3614 database server machine, system control machine, and binary distribution
3615 machine. Now make it a client machine by completing the following tasks:
3618 <para>Define the machine's cell membership for client processes</para>
3622 <para>Create the client version of the <emphasis role="bold">CellServDB</emphasis> file</para>
3626 <para>Define cache location and size</para>
3630 <para>Create the <emphasis role="bold">/afs</emphasis> directory and start the Cache Manager</para>
3632 </orderedlist></para>
3635 <primary>Distribution</primary>
3637 <secondary>copying client files from</secondary>
3639 <tertiary>first AFS machine</tertiary>
3643 <primary>first AFS machine</primary>
3645 <secondary>copying</secondary>
3647 <tertiary>client files to local disk</tertiary>
3651 <primary>copying</primary>
3653 <secondary>client files to local disk</secondary>
3655 <tertiary>first AFS machine</tertiary>
3659 <sect1 id="HDRWQ64">
3660 <title>Copying Client Files to the Local Disk</title>
3662 <para>You need only undertake the steps in this section, if you are using
3663 a tar file distribution, or one built from scratch. Packaged distributions,
3664 such as RPMs or DEBs will already have installed the necessary files in
3665 the correct locations.</para>
3667 <para>Before installing and configuring the AFS client, copy the necessary files from the tarball to the local <emphasis
3668 role="bold">/usr/vice/etc</emphasis> directory. <orderedlist>
3670 <para>If you have not already done so, unpack the distribution
3671 tarball for this machine's system type into a suitable location on
3672 the filesystem, such as <emphasis role="bold">/tmp/afsdist</emphasis>.
3673 If you use a different location, substitue that in the examples that
3678 <para>Copy files to the local <emphasis role="bold">/usr/vice/etc</emphasis> directory.</para>
3680 <para>This step places a copy of the AFS initialization script (and related files, if applicable) into the <emphasis
3681 role="bold">/usr/vice/etc</emphasis> directory. In the preceding instructions for incorporating AFS into the kernel, you
3682 copied the script directly to the operating system's conventional location for initialization files. When you incorporate
3683 AFS into the machine's startup sequence in a later step, you can choose to link the two files.</para>
3685 <para>On some system types that use a dynamic kernel loader program, you previously copied AFS library files into a
3686 subdirectory of the <emphasis role="bold">/usr/vice/etc</emphasis> directory. On other system types, you copied the
3687 appropriate AFS library file directly to the directory where the operating system accesses it. The following commands do
3688 not copy or recopy the AFS library files into the <emphasis role="bold">/usr/vice/etc</emphasis> directory, because on
3689 some system types the library files consume a large amount of space. If you want to copy them, add the <emphasis
3690 role="bold">-r</emphasis> flag to the first <emphasis role="bold">cp</emphasis> command and skip the second <emphasis
3691 role="bold">cp</emphasis> command.</para>
3694 # <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis>
3695 # <emphasis role="bold">cp -p * /usr/vice/etc</emphasis>
3696 # <emphasis role="bold">cp -rp C /usr/vice/etc</emphasis>
3699 </orderedlist></para>
3702 <primary>cell name</primary>
3704 <secondary>setting in client ThisCell file</secondary>
3706 <tertiary>first AFS machine</tertiary>
3710 <primary>setting</primary>
3712 <secondary>cell name in client ThisCell file</secondary>
3714 <tertiary>first AFS machine</tertiary>
3718 <primary>first AFS machine</primary>
3720 <secondary>ThisCell file (client)</secondary>
3724 <primary>first AFS machine</primary>
3726 <secondary>cell membership, defining</secondary>
3728 <tertiary>for client processes</tertiary>
3732 <primary>usr/vice/etc/ThisCell</primary>
3734 <see>ThisCell file (client)</see>
3738 <primary>ThisCell file (client)</primary>
3740 <secondary>first AFS machine</secondary>
3744 <primary>files</primary>
3746 <secondary>ThisCell (client)</secondary>
3750 <sect1 id="HDRWQ65">
3751 <title>Defining Cell Membership for Client Processes</title>
3753 <para>Every AFS client machine has a copy of the <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> file on its local disk
3754 to define the machine's cell membership for the AFS client programs that run on it. The <emphasis
3755 role="bold">ThisCell</emphasis> file you created in the <emphasis role="bold">/usr/afs/etc</emphasis> directory (in <link
3756 linkend="HDRWQ51">Defining Cell Name and Membership for Server Processes</link>) is used only by server processes.</para>
3758 <para>Among other functions, the <emphasis role="bold">ThisCell</emphasis> file on a client machine determines the following:
3761 <para>The cell in which users gain tokens when they log onto the
3762 machine, assuming it is using an AFS-modified login utility</para>
3766 <para>The cell in which users gain tokens by default when they issue
3767 the <emphasis role="bold">aklog</emphasis> command</para>
3771 <para>The cell membership of the AFS server processes that the AFS
3772 command interpreters on this machine contact by default</para>
3777 <para>Change to the <emphasis role="bold">/usr/vice/etc</emphasis> directory and remove the symbolic link created in <link
3778 linkend="HDRWQ50">Starting the BOS Server</link>. <programlisting>
3779 # <emphasis role="bold">cd /usr/vice/etc</emphasis>
3780 # <emphasis role="bold">rm ThisCell</emphasis>
3781 </programlisting></para>
3785 <para>Create the <emphasis role="bold">ThisCell</emphasis> file as a copy of the <emphasis
3786 role="bold">/usr/afs/etc/ThisCell</emphasis> file. Defining the same local cell for both server and client processes leads
3787 to the most consistent AFS performance. <programlisting>
3788 # <emphasis role="bold">cp /usr/afs/etc/ThisCell ThisCell</emphasis>
3789 </programlisting></para>
3791 </orderedlist></para>
3794 <primary>database server machine</primary>
3796 <secondary>entry in client CellServDB file</secondary>
3798 <tertiary>on first AFS machine</tertiary>
3802 <primary>usr/vice/etc/CellServDB</primary>
3804 <see>CellServDB file (client)</see>
3808 <primary>CellServDB file (client)</primary>
3810 <secondary>creating</secondary>
3812 <tertiary>on first AFS machine</tertiary>
3816 <primary>creating</primary>
3818 <secondary>CellServDB file (client)</secondary>
3820 <tertiary>first AFS machine</tertiary>
3824 <primary>CellServDB file (client)</primary>
3826 <secondary>required format</secondary>
3830 <primary>requirements</primary>
3832 <secondary>CellServDB file format (client version)</secondary>
3836 <primary>files</primary>
3838 <secondary>CellServDB (client)</secondary>
3842 <primary>first AFS machine</primary>
3844 <secondary>CellServDB file (client)</secondary>
3848 <sect1 id="HDRWQ66">
3849 <title>Creating the Client CellServDB File</title>
3851 <para>The <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file on a client machine's local disk lists the database
3852 server machines for each cell that the local Cache Manager can contact. If there is no entry in the file for a cell, or if the
3853 list of database server machines is wrong, then users working on this machine cannot access the cell. The chapter in the
3854 <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines explains how to maintain the file after
3857 <para>As the <emphasis role="bold">afsd</emphasis> program initializes the Cache Manager, it copies the contents of the
3858 <emphasis role="bold">CellServDB</emphasis> file into kernel memory. The Cache Manager always consults the list in kernel memory
3859 rather than the <emphasis role="bold">CellServDB</emphasis> file itself. Between reboots of the machine, you can use the
3860 <emphasis role="bold">fs newcell</emphasis> command to update the list in kernel memory directly; see the chapter in the
3861 <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines.</para>
3863 <para>The AFS distribution includes the file
3864 <emphasis role="bold">CellServDB.dist</emphasis>. It includes an entry for
3865 all AFS cells that agreed to share their database server machine
3866 information at the time the distribution was