Feb 01

Installing BackupExec Agent for Linux hosts in a 64-bit Fedora 14 system

Tue, 02/01/2011 - 18:20 — peter

The Problem

You got to backup your linux servers to tape. The windows-centric environment you live in uses symantec backupexec (BUE) and it works really well for windows servers. You got a spiffy Fedora 14 box with some CORAID storage attached to it and you need to make it backup to BUE. The linux install package fails, symantec support only recognize RHEL and SUSE as worthy linux distributions (although they used to also recognize Ubuntu), what do you do?

Fear not, I got the solution for you below as that just happened to me recently. Just to be clear, I am talking about the infamous ELF error you see like the code snippet that follows:

./RALUS64/installralus: ./perl/Linux/bin/perl: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

The Solution

This error happens because the perl installer that ships with BUE is linked against 32-bit libstdc++ as we can see below.

# root@localhost /usr/local/src/bue/perl/Linux/bin
ldd perl|grep libc
        libcrypt.so.1 => /lib32/libcrypt.so.1 (0xf76c7000)
        libc.so.6 => /lib32/libc.so.6 (0xf7550000)

This is actually not the only problem you will face, as further down the installation, the RALUS64 package will require libstdc++.so.5. We might as well address this now with the following command:

yum install compat-libstdc++-33

Now let's get the RALUS64 package and manually install it. How? Easy, just enter whatever directory you used to unpack your BackupExec install package - in my case, /usr/local/src/bue and follow along below:

cd <whatever-path-you-used-to-unpack-bue> # in my case, this is /usr/local/src/bue
tar -zvxf RALUS64/pkgs/Linux/VRTSralus.tar.gz

This should leave 2 new files on your current directory: VRTSralus-13.0.4164-0.x86_64.deb and VRTSralus-13.0.4164-0.x86_64.rpm. Now let's get that rpm deployed.

rpm -Uvh VRTSralus-13.0.4164-0.x86_64.rpm

If you got some error about missing libstdc++.so.5, then you haven't been paying attention... Scroll back up and see how to install the compat-libstdc++-33 package, then come back when you are done. It's ok, I will wait...

Back? Good. Let's get going then! You can see a bunch of files were plopped on /opt/VRTSralus, include beremote, but that is not all you need... no chkconfig yet and a few other things are missing. Since the version of perl that ships with BackupExec is 32-bit and won't run on your 64-bit fedora box. But we can fix this! We have the technology! Just make sure you indeed DO have the technology. Below are the perl packages I already had on my box, yours may vary, but I think you need at least perl and perl-CPAN.

# root@localhost(pts/0) ~
rpm -qa|grep perl
perl-Digest-SHA-5.47-140.fc14.x86_64
perl-ExtUtils-MakeMaker-6.56-140.fc14.noarch
perl-Compress-Raw-Bzip2-2.030-1.fc14.x86_64
perl-threads-shared-1.32-140.fc14.x86_64
perl-DBD-MySQL-4.017-1.fc14.x86_64
perl-Test-Harness-3.17-140.fc14.noarch
perl-SGMLSpm-1.03ii-22.fc14.noarch
perl-HTML-Tagset-3.20-5.fc14.noarch
perl-threads-1.81-1.fc14.x86_64
perl-IO-Compress-2.030-1.fc14.noarch
perl-DBI-1.613-1.fc14.x86_64
perl-Pod-Escapes-1.04-140.fc14.noarch
perl-Pod-Simple-3.13-140.fc14.noarch
perl-URI-1.54-2.fc14.noarch
perl-ExtUtils-ParseXS-2.2100-140.fc14.noarch
perl-HTML-Parser-3.68-1.fc14.x86_64
perl-Compress-Raw-Zlib-2.030-1.fc14.x86_64
perl-libwww-perl-5.837-2.fc14.noarch
perl-libs-5.12.2-140.fc14.x86_64
perl-5.12.2-140.fc14.x86_64
perl-devel-5.12.2-140.fc14.x86_64
perl-XML-Parser-2.36-9.fc14.x86_64
perl-CPAN-1.9402-140.fc14.noarch
perl-Module-Pluggable-3.90-140.fc14.noarch

Now we gotta pull files from 3 different locations to make the installer work. From the top of the folder you unpacked BackupExec (remember, that is /usr/local/src/bue/ for me), do the following to get a working 64-bit version of perl:

cd perl/Linux
mv bin bin-original # let's not do anything destructive, right?
mv lib lib-original
ln -s /usr/bin
mkdir lib
cd lib
for i in `ls /usr/lib64/perl5/`; do ln -s /usr/lib64/perl5/$i; done
for i in `ls /usr/share/perl5/`; do ln -s /usr/share/perl5/$i; done
cd ../../.. #getting back to the root of the install folder

Now let's finally run the installer...

cd RALUS64
./installralus

Go through the motions of the install process, setup your hostname, the backup server IP and once you are done, do the following to make sure the service starts now and upon reboot.

chkconfig VRTSralus.init on        # makes sure the service starts upon reboot
service VRTSralus.init start            # starts the service now

And that is partially how I fixed it for my employer! The default port BUE uses conflicts with webmin and we also did some further networking tweaking that was particular to our environment once we got a backup done with the steps outlined above...

Easy Peasy!
-PCP