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.
(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)
(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