Arla installation memo for Linux for RHIC

24 Dec 1998 T. Ichihara (RIKEN) Arla (Arla-0.17.1) is a freely available AFS clone for AFS client. It works fine under Linux 2.0.x and 2.1.x and recent stable kernel 2.1.1. (It is working under Linux RH5.1, with latest kernel 2.2.1 in our 10 pc's of dual Pentium II at 450 MHz) Before install Arla, Kerberos 4 is required to be installed for authentication to obtain AFS token. Following is an example.

Kerberos 4

(1) Obtain krb4-0.9.9.tar.gz from http://www.pdc.kth.se/kth-krb/ or ftp://ftp.pdc.kth.se/pub/krb/src/krb4-0.9.9.tar.gz and install into Linux. configure, make, su to root, and make install will work. add /usr/athena/bin to your command path. (2) Configure Kerberos 4 for AFS authentication for rhic AFS cell. sample of /etc/krb.conf file RHIC RHIC rafs01.rhic.bnl.gov admin server (3) Confirm that you can gain AFS token as follows % kauth <-- obtain authentication using krv4 user@RHIC's Password: <-- type your AFS password of rhic cell % klist <-- list your krv4 ticket (AFS token) Ticket file: /tmp/tkt20xx Principal: user@RHIC Issued Expires Principal Aug 11 10:04:20 Aug 11 20:04:20 krbtgt.RHIC@RHIC Aug 11 10:04:20 Aug 11 20:04:20 afs@RHIC now you have obtained AFS token for rhic cell. N.B. TIPS for Kerberos 4 for arla It seems that the Kerberos 4 exchanges system clock (time) to get authentication from AFS server, the system clock of the arla client should be accurate within a few seconds. This is realized with "xntpd" daemon. If the system clock of the arla client has wrong clock time, "kauth" command will result following error messages and you cannot obtain AFS token. kauth: Permission Denied (Kerberos) or kauth: Service expired (Kerberos) In this case, you need to synchronize system clock of your arla-client using "xntpd" with your AFS server. Since the AFS server is synchonized to the time server which is synchronized to the .GPS. or .WWV. clock, your arla-client need to syncronized to your neighboring time server)

Arla

(1) Obtain latest version of arla from ftp://ftp.stacken.kth.se/pub/arla/ or mirror at RIKEN and make and install into Linux. configure --with-krb4=/usr/athena --with-krb4-lib=/usr/athena/lib --with-krb4-include=/usr/athena/include then make, su to root and make install add /usr/arla/bin to your command path. (N.B. For Arla-0.20 and 0.21 Please refere (7) for "can't resolve symbol '__getcwd'" problem) (2) Configure arla (1)obtain /usr/vice/etc/CellServDB of rcf.rhic.bnl.gov and put it on your /usr/arla/etc/CellServDB. (N.B. definition for rhic cell in the original CellServDB file attached in arla-0.12 distribution is obsolete. If you want to use original CellServDB file, modify rhic cell entry as follows >rhic #Relativistic Heavy Ion Collider 130.199.80.92 #rafs01.rhic.bnl.gov (2)Replace the content of /usr/arla/etc/ThisCell by rhic . (3)Add services by " cat SRCDIR/conf/services >> /etc/services " etc. (see INSTALL document carefully) (3) At root user, start arla by /usr/arla/bin/startarla. Confirm that your arla is working properly on normal user account. ( eg. % kauth user@RHIC's Password: <-- enter your AFS passwd % setenv CVSROOT /afs/rhic/phenix/PHENIX_CVS % cvs checkout staf ... etc.) (4) To make pwd work on /afs, following step is required. (added on 22Oct98) (arla-0.21 and after) | If you are using Linux 2.1 or 2.2, you may want to do enable |the getcwd syscall, which works much better than the old way |of doing getcwd. In order to do this, follow these steps: | |1. Copy /usr/arla/lib/libgetcwd.so.X (where X is the arla version) |2. Run "/sbin/ldconfig". |3. Run "LD_PRELOAD=/lib/libgetcwd.so.0 /bin/pwd". If this fails | with "/bin/pwd: can't load library '/lib/libgetcwd.so.0'" or | some other error message, report this error. |4. If the previous step went well, add this line to /etc/ld.so.preload: | /lib/libgetcwd.so.0 | |DO NOT load the file from /usr/arla/lib, since /usr probably is not |part of the root partition of your system. If you do this, your system |will probably not be able to boot, even in single user, since in most |Linux installations, init, sh, mount and other programs are dynamically |linked. (arla-0.20 and before) |If you are using Linux 2.1, you may want to copy /usr/arla/lib/getcwd.so |to /lib and add this line to your /etc/ld.so.preload: | |/lib/getcwd.so | |This enables the getcwd syscall, which works much better than the old |way of doing getcwd. Be careful though, and execute /bin/pwd as a test |before you exit your editor. If /bin/pwd fails with a message like |"/bin/pwd: can't load library '/lib/getcwd.so'", remove the line from |/etc/ld.so.preload, and report the problem. | |DO NOT load the file from /usr/arla/lib, since /usr probably is not |part of the root partition of your system. If you do this, your system |will probably not be able to boot, even in single user, since in most |Linux installations, init, sh, mount and other programs are dynamically |linked. (If you failed this procedure, single user boot does not work. You need a rescue FD and a boot FD to recover this. I did it. The rescue FD works.) (5) TIPS for @sys function (added on 22Oct98) execute "fs sysnam i386_linux2" to make compatibility with Transarc AFS client (to make @sys work on /afs/rhic cell. > In Transarc AFS on linux, the @sys is interpreted as > i386_linux2 > > In arla the sysnames are as follows on Linux i386: > > (i386_linux4 (libc4, not tested for)) > i386_linux5 (libc5) > i386_linux6 (libc6) > >If you really want the counterintuitive numbering, set your sysname >with "fs sysname". (6) TIPS for version up of Arla 1. If you upgraded the version of arla, it is strongly recommended to clear the arla cache directory (default: /usr/arla/cache). If you do not clear the cache directory, the /afs may contain no directory tree. 2. befor upgrade, it is safe to rename /etc/ld.so.preload to other file name. After the arla version up si completed, then the fine name can be restored. (NB: shared object name changed since alar 0.21) (7) TIPS for Arla 0.20 and 0.21 for old libc5 based program Since the Arla 0.20 and 0.21 does not corresponds to libc5 based program such as pgf77, such a program call will result error can't resolve symbol '__getcwd' In this case, the temporary solotions are as follows. A) Use old version of arla (0.19 or 0.18 or 0.17.1 etc.) which corresponds both libc5 and glibc based programs. Following is another solution. (I cannot guarantee that this method works always. In case of try, please try it by your own risk) B) If you really want to use arla-0.21 program, copy (overwrite) ~arla-0.19/xfs/linux/getcwd.c to ~arla-0.21/xfs/linux/getcwd.c. and make. Then the problem above is removed. (in our case, it is) (NB: File name of pre-loading shared image and confirming method changed in arla 0.21. Please read carefully ~arla-0.21/INSTALL file.) Dave's memo for Arla CCJ R&D page
02 Feb 1999 Takashi Ichihara (ichihara@bnl.gov) revision: 11 Aug 1998 change arla-0.8 to arla-0.9 revision: 03 Oct 1998 change arla-0.9 to arla-0.12