I upgraded my amanda server from redhat 6.2 to redhat 7.1 and upgraded
amanda from 2.4.1p1 to 2.4.2p2.
I upgraded an amanda client to redhat 7.2 and replaced its copy of
the amanda programs (/usr/local/libexec and /usr/local/sbin) with
copies from the server.
Afterward I got the infamous "xinetd: amanda service was deactivated ..."
on the client during amcheck.
I used tcpdump and saw only three udp packets from the server to the client,
but watching xinetd I saw ten invocations of amandad on the client.
So I did an strace of xinetd on the client and saw
recvfrom(3, "A", 1, MSG_PEEK
Since xinetd only peeks at the packet, what if amandad was failing
to read the packet, then when it returned the packet would still
be there, xinetd would invoke amandad again, voila looping.
But why would amandad fail to read the packet? So, I did ldd on amandad
ldd /usr/local/libexec/amandad
libm.so.6 => /lib/i686/libm.so.6 (0x40027000)
libreadline.so.4.1 => not found
libtermcap.so.2 => /lib/libtermcap.so.2 (0x4004a000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4004e000)
libc.so.6 => /lib/i686/libc.so.6 (0x40064000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Ah, libreadline is missing! No, it's there, but it is
/usr/lib/libreadline.so.4.2.
The question is why does amandad depend upon libreadline.so.4.1
and not merely libreadline.so.4? Is this just some compiletime
mistake. The other libraries are only specified to their major number.
I guess I'm lazy, I'd rather not have to recompile amanda everytime
libreadline is upgraded. :-)
Thanks,
Ron
[EMAIL PROTECTED]