If you are using an operating system which uses packaged binaries, such as .rpms or .debs, you should allow these package management systems to maintain your AFS binaries, rather than following the instructions in this section.
In this section, you link /usr/afsws on the local disk to the directory in AFS that
houses AFS binaries for this system type. The conventional name for the AFS directory is /afs/cellname
/sysname
/usr/afsws.
If this machine is an existing system type, the AFS directory presumably already exists. You can simply create a link from the local /usr/afsws directory to it. Follow the instructions in Linking /usr/afsws on an Existing System Type.
If this machine is a new system type (there are no AFS machines of this type in your cell), you must first create and mount volumes to store its AFS binaries, and then create the link from /usr/afsws to the new directory. See Creating Binary Volumes for a New System Type.
You can also store UNIX system binaries (the files normally stored in local disk directories such as /bin, /etc, and /lib) in volumes
mounted under /afs/cellname
/sysname
. See Storing System Binaries in AFS
.
If this client machine is an existing system type, there is already a volume mounted in the AFS filespace that houses AFS client binaries for it.
Create /usr/afsws on the local disk as a symbolic link to the directory /afs/cellname
/@sys/usr/afsws. You can
specify the actual system name instead of @sys if you wish, but the advantage of using
@sys is that it remains valid if you upgrade this machine to a different system type.
# ln -s /afs/cellname
/@sys/usr/afsws /usr/afsws
(Optional) If you believe it is helpful to your users to access the AFS documents
in a certain format via a local disk directory, create /usr/afsdoc on the local disk as
a symbolic link to the documentation directory in AFS (/afs/cellname
/afsdoc/format_name
).
# ln -s /afs/cellname
/afsdoc/format_name
/usr/afsdoc
An alternative is to create a link in each user's home directory to the /afs/cellname
/afsdoc/format_name
directory.
If this client machine is a new system type, you must create and mount volumes for its binaries before you can link the local /usr/afsws directory to an AFS directory.
To create and mount the volumes, you use the kinit command to authenticate as an administrator, followed by the aklog command to gain tokens, and then issue commands from the vos and fs command suites. However, the command binaries are not yet available on this machine (by convention, they are accessible via the /usr/afsws link that you are about to create). You have two choices:
Perform all steps except the last one (Step 10) on an existing AFS machine. On a file server machine, the aklog, fs and vos binaries reside in the /usr/afs/bin directory. On client machines, the aklog and fs binaries reside in the /usr/afsws/bin directory and the vos binary in the /usr/afsws/etc directory. Depending on how your PATH environment variable is set, you possibly need to precede the command names with a pathname.
If you work on another AFS machine, be sure to substitute the new system type name for the
sysname
argument in the following commands, not the system type of the machine on which you
are issuing the commands.
Copy the necessary command binaries to a temporary location on the local disk, which enables you to perform the steps on the local machine. The following procedure installs them in the /tmp directory and removes them at the end. Depending on how your PATH environment variable is set, you possibly need to precede the command names with a pathname.
Perform the following steps to create a volume for housing AFS binaries.
Working either on the local machine or another AFS machine, extract the Open AFS distribtion tarball onto a directory on that machine. The following instructions assume that you are using the /tmp/afsdist directory.
If working on the local machine, copy the necessary binaries to a temporary location on the local disk. Substitute a different directory name for /tmp if you wish.
# cd /tmp/afsdist/new_sysname
/root.server/usr/afs/bin
# cp -p aklog /tmp
# cp -p fs /tmp
# cp -p vos /tmp
Authenticate as the user admin.
# kinit admin
Password: admin_password
# aklog
Issue the vos create command to create volumes for storing
the AFS client binaries for this system type. The following example instruction creates volumes called
sysname
, sysname
.usr, and
sysname
.usr.afsws. Refer to the OpenAFS Release
Notes to learn the proper value of sysname
for this system type.
# vos create <machine name
> <partition name
>sysname
# vos create <machine name
> <partition name
>sysname
.usr # vos create <machine name
> <partition name
>sysname
.usr.afsws
Issue the fs mkmount command to mount the newly created volumes. Because the root.cell volume is replicated, you must precede the cellname part of the pathname with a period to specify the read/write mount point, as shown. Then issue the vos release command to release a new replica of the root.cell volume, and the fs checkvolumes command to force the local Cache Manager to access them.
# fs mkmount -dir /afs/.cellname
/sysname
-volsysname
# fs mkmount -dir /afs/.cellname
/sysname
/usr -volsysname
.usr # fs mkmount -dir /afs/.cellname
/sysname
/usr/afsws -volsysname
.usr.afsws # vos release root.cell # fs checkvolumes
Issue the fs setacl command to grant the l (lookup) and r (read) permissions to the system:anyuser group on each new directory's ACL.
# cd /afs/.cellname
/sysname
# fs setacl -dir . usr usr/afsws -acl system:anyuser rl
Issue the fs setquota command to set an unlimited quota on the volume mounted at
the /afs/cellname
/sysname
/usr/afsws directory. This
enables you to copy all of the appropriate files from the CD-ROM into the volume without exceeding the volume's
quota.
If you wish, you can set the volume's quota to a finite value after you complete the copying operation. At that point, use the vos examine command to determine how much space the volume is occupying. Then issue the fs setquota command to set a quota that is slightly larger.
# fs setquota /afs/.cellname
/sysname
/usr/afsws 0
Copy the contents of the indicated
directories from the OpenAFS binary distribution into the
/afs/cellname
/sysname
/usr/afsws directory.
# cd /afs/.cellname
/sysname
/usr/afsws # cp -rp /cdrom/sysname
/bin . # cp -rp /cdrom/sysname
/etc . # cp -rp /cdrom/sysname
/include . # cp -rp /cdrom/sysname
/lib .
Issue the fs setacl command to set the ACL on each directory appropriately. If you wish to enable access to the software for locally authenticated users only, set the ACL on the etc, include, and lib subdirectories to grant the l and r permissions to the system:authuser group rather than the system:anyuser group. The system:anyuser group must retain the l and r permissions on the bin subdirectory to enable unauthenticated users to access the aklog binary.
# cd /afs/.cellname
/sysname
/usr/afsws # fs setacl -dir etc include lib -acl system:authuser rl \ system:anyuser none
Perform this step on the new client machine even if you have performed the previous steps
on another machine. Create /usr/afsws on the local disk as a symbolic link to the
directory /afs/cellname
/@sys/usr/afsws. You can specify the actual system name instead of @sys if you wish, but the advantage of using @sys is that it
remains valid if you upgrade this machine to a different system type.
# ln -s /afs/cellname
/@sys/usr/afsws /usr/afsws
(Optional) To enable users to issue commands from the AFS suites (such as fs) without having to specify a pathname to their binaries, include the /usr/afsws/bin and /usr/afsws/etc directories in the PATH environment variable you define in each user's shell initialization file (such as .cshrc).
(Optional) If you believe it is helpful to your users to access the AFS documents
in a certain format via a local disk directory, create /usr/afsdoc on the local disk as
a symbolic link to the documentation directory in AFS (/afs/cellname
/afsdoc/format_name
).
# ln -s /afs/cellname
/afsdoc/format_name
/usr/afsdoc
An alternative is to create a link in each user's home directory to the /afs/cellname
/afsdoc/format_name
directory.
(Optional) If working on the local machine, remove the AFS binaries from the temporary location. They are now accessible in the /usr/afsws directory.
# cd /tmp # rm klog fs vos