I assume you mean the client side programs? That is to say, inetd calls amandad on an nfs mount? If so, setting of an environment variable for your library search path might do it. If this works, the only mod you will need to do to your system is to change your xinetd.conf file. But you had to do that anyway to make amanda work... You really want to use shared libraries.
Please see ld.so(8) <-- man page
- run "ldd" on the executable to find out what libraries it's looking for. - set LD_LIBRARY_PATH=<insert path name here to libraries> - export this variable to the environment so it's not just a shell variable - run "ldd" again, to see if the library is now found. It should be.
According to redhat 9's man page on ld.so, several things are searched for the libaries in question. First, the executable itself might know precisely where the libraries are located. second the paths in LD_LIBRARY_PATH are searched, then third the /etc/ld.so.cache file is searched. You don't want to add this to the cache file as EVERY library search done by the system for every executable will search your nfs mounts.
it is not clear if xinetd will source any of the shell configs, therefore it's not likely you can just put this environment variable in your backup user's .bashrc or .cshrc. with xinetd you can use the following sample entry. Please note, this is from the xinetd man page: I haven't tested it. Please also note though: the man page states you can't have any spaces in your variable.
service amanda
{
socket_type = dgram
protocol = udp
wait = yes
user = bv-amanda
group = bv-backup
server =
/net/jetstream/jetstream1/amanda-2.4.4p2client/libexec/amandad
env =
LD_LIBRARY_PATH=/net/jetstream/jetstream1/amanda-2.4.4p2client/lib}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jason Brooks ~ (503) 641-3440 x1861
Direct ~ (503) 924-1861
Email to: [EMAIL PROTECTED]
Twiki: http://twiki.wrs.com/do/view/Main/JasonBrooksSenior Systems Administration Analyst Wind River Systems 8905 SW Nimbus ~ Suite 255 Beaverton, Or 97008
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of DK Smith
Sent: Wednesday, February 18, 2004 2:30 PM
To: [EMAIL PROTECTED]
Subject: nfs mounted executable
Hello all,
I was experimenting with a different installation strategy... That is, in order to not install amanda on every host... I am attempting to place a single amanda installation on a file server; making it available via an NFS share. The nfs-clients of the same architecture (in this case Linux RH8.0) mount this NFS share and run the amanda programs... (the tape server and the amanda clients).
The first problem I hit when running amcheck on the tape server was that of the shared libraries. (so this is quickly turning into NOT an amanda question <grin>)
amcheck: error while loading shared libraries: libamserver-2.4.4p2.so:
cannot open shared object file: No such file or directory
Maybe someone that has been down this road before can tell me, "stop now" as this is not practical, or something similar? Or is there a config option to not build shared libraries and hence another host would not look for them at the same hard-coded path (in which the particular binary was built)
thanks! DK
PS: I am not intending to back-up NFS mounted data.
