Installing RALUS client on Debian with 3.0 kernel

1. Unpack the archive provided by Symantec



  • tar xzf RALUS_RMALS_RAMS-2896.9.tar.gz



2. Stop the RALUS service if it is already installed and runnig



  • /etc/init.d/VRTSralus.init stop



3. Very important, if you are under a 64 bit Linux you have to this



  • Extract debian package :
    tar xzf RALUS64/pkgs/Linux/VRTSralus.tar.gz


  • Install debian package :
    dpkg -i VRTSralus-13.0.2896-0.x86_64.deb


  • Start installation :
    ./RALUS64/installralus



  • If you get "./installralus: line 50: ../perl/Linux/bin/perl: No such file or directory", simply edit ./RALUS64/installralus, and change line 50 :




  • from:



    • if [ $LOCAL_PERL -eq 1 ] ; then
        ../perl/$OS/bin/perl -I.. -I$PATH -I$VXIF_HOME -I../perl/$OS/lib/$PERL_VER ./installralus.pl $*
      else
        perl -I.. -I$PATH -I$VXIF_HOME ../installralus.pl $*
      fi


    •  

      to:
      #if [ $LOCAL_PERL -eq 1 ] ; then
      # ../perl/$OS/bin/perl -I.. -I$PATH -I$VXIF_HOME -I../perl/$OS/lib/$PERL_VER ./installralus.pl $*
      #else
        perl -I.. -I$PATH -I$VXIF_HOME ../installralus.pl $* 
      #fi

      C) If the installation is sucessful but VRTSralus refuses to start, launch /opt/VRTSralus/bin/beremote -log-console to see the error.


    If you get error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory you simply need to install the package :



    • Under Debian : apt-get install libstdc++5

      However the service will fail to start afterwards.




Change into ralus directory
#cd /opt/VRTSralus/bin


Make a backup of libbesocket.so
#cp libbesocket.so libbesocket.so.orig


Install objdump
apt-get install binutils binutils-multiarch


Disassemble the binary to a file
#objdump -D libbesocket.so > libbesocket.asm


Open file and search for $0x8938?


#nano libbesocket.asm
Type ctrl+w to search
Type '$0x8938' and press enter

Find the following lines and locate the hex highlighted in red in front of the jump-no-sign instruction.
In my case it happens to be 79 19?.


23840:       31 c0                   xor    %eax,%eax
23842: be 38 89 00 00 mov $0x8938,%esi
23847: e8 2c df fe ff callq 11778 <ioctl@plt>
2384c: 85 c0 test %eax,%eax
2384e: 79 19 jns 23869 <_Z10getifaddrsPP7ifaddrs+0xb9>
23850: e8 d3 df fe ff callq 11828 <__errno_location@plt>
23855: 83 38 16 cmpl $0x16,(%rax)
23858: 0f 85 40 03 00 00 jne 23b9e <_Z10getifaddrsPP7ifaddrs+0x3ee>
2385e: c7 84 24 ec 00 00 00 movl $0x20,0xec(%rsp)

Install hex editor and open the file


#apt-get install hexer
#hexer libbesocket.so

Search for the hex we found earlier


Type '/' to search
Type '\xx 79 19' and press enter

NOTE: Only change the code where the hex matches the preceeding chunks of code in the middle column earlier in that exact order. This is what my line looked like.
00023840: 31 c0 be 38 89 00 00 e8 2c df fe ff 85 c0 78 19 1..8....,.....x.


Using arrow keys move cursor into position and change value from 79 to 78


Type 'r' to edit
Type '78' and press enter
Type ':wq' and press enter to quit while saving

Now go and start the service
/etc/init.d/VRTSralus.init start


Please Register.


If you wish to add comments.
Cheers
Adam