[an error occurred while processing this directive]

NCSA Solaris AFS Client Upgrade Guide

This document is for machines that already have the AFS client running on Solaris 2.x in the NCSA environment, and want to upgrade to the latest version. Please read through these instructions once before upgrading the AFS client so you are familiar with some of the setup options. If there are any questions or problems with this document, or an upgrade, then please contact afs@ncsa.uiuc.edu. If this is the first time installing AFS on this machine, then please refer to the AFS installation guide. This installation requires the user to be "root" and the machine is going to need to be rebooted.



Upgrading client from script

You can run the following script if you want to have it update your AFS client automatically.
  # (still testing script)
You can then run the afs_version script to see that you are using the latest version of the AFS client. Otherwise you can upgrade the AFS client manually with the instructions below.


Replacing client files onto the local disk

Most of the client setup has already been done when it was initially installed. All we need to do is replace a few client binaries and change a symbolic link.

First we want to back up the old version of the AFS client:

  # mv /usr/vice/etc/afsd /usr/vice/etc/afsd.old
  # mv /usr/vice/etc/modload/libafs.o /usr/vice/etc/modload/libafs.o.old
  # mv /usr/vice/etc/modload/libafs.nonfs.o /usr/vice/etc/modload/libafs.nonfs.o.old
  # mv /usr/vice/etc/modload/libafs64.nonfs.o /usr/vice/etc/modload/libafs64.nonfs.o.old
  # mv /usr/vice/etc/modload/libafs64.o /usr/vice/etc/modload/libafs64.o.old
If you get an error on the file that is fine (It isn't present in all versions of AFS.)

We need to determine what version of solaris you are using and the machine's architecture type. If you do a

  # uname -r
  # uname -m
it should tell you the revison of Solaris (2.x and 5.x are equivalent) and whether it is a sun4c, sun4m, sun4d, or sun4u machine. Once you are in one of the above directories then
  # cd usr/afsws/root.client/usr/vice/etc
Warning: Make sure you do not cd to /usr/afsws/root.client/usr/vice/etc above, (the / is in front of the usr) or else you could get the wrong versions of the binaries.

Now copy the new versions of the client binaries:

  # cp afsd /usr/vice/etc/
  # cp modload/libafs.o /usr/vice/etc/modload/
  # cp modload/libafs64.o /usr/vice/etc/modload/
  # chmod 755 /usr/vice/etc/afsd
  # chmod 755 /usr/vice/etc/modload/*.o
We can test the following files and see if there are any differences. If so then we will want to replace the files with the latest copy.
  # diff /usr/vice/etc/CellServDB /afs/ncsa/service/etc/CellServDB
  # diff /etc/init.d/afs /afs/ncsa/service/etc/rc/solaris_afs.rc
If there are differences on any of the above files then replace the local copy with the newer copy from AFS.
  # cp /afs/ncsa/service/etc/CellServDB /usr/vice/etc/CellServDB
  # cp /afs/ncsa/service/etc/rc/solaris_afs.rc /etc/init.d/afs

Replacing the kernel mod

Now we are ready to replace the AFS libraries into the kernel.

Replacing AFS binary paths

Now you need to change the path for accessing all of the afs binaries.
  # mv /usr/afsws /usr/afsws.old
  # ln -s /afs/ncsa/(hw type)/usr/afsws /usr/afsws
Replace (hw type) with the architecture type of the machine, which was determined above by uname -m (ie. /afs/ncsa/sun4x_57/usr/afsws).

Logging in on console

If you have installed the AFS login binary (Solaris 2.4, 2.5, or 2.5.1), or if you have installed the AFS or Kerberos PAM module (Solaris 2.6 or 2.7) then you may want to refer to the Solaris AFS Console Login page for updating those binaries.

Rebooting to start new AFS client

At this point all binaries have been replaced and the links changed. So to start the new AFS client you will need to reboot.
  # reboot


Testing to see if the newest version of the client is installed

You can run the following script which will tell you if you are running the latest version of the AFS client:
  # /afs/ncsa/common/bin/afs_version
[an error occurred while processing this directive]