Howto: Install TSM client on Debian 3.1

Rene2003

ADSM.ORG Member
Joined
Nov 14, 2002
Messages
6
Reaction score
0
Points
0
Website
Visit site
Today I tried to install TSM client on a debian system. I've seen different howto's, but most times it didn't include all needed information. If you follow this one, you should have a working TSM client with working webclient.

I used TSM client version 5.2.7



Download the TSM client and untar.



First of all, you should grab the script that is included in the RPM.

rpm -q --scripts -p TIVsm-BA.i386.rpm > pscripts.sh



Take a look at the script file, you should remove the top line. Also remove the bottom part (uninstall part). Don't run this script jet! Save it.



Convert the .RPM's to .DEB using:

alien -d TIVsm-BA.i386.rpm

alien -d TIVsm-API.i386.rpm



Now install this:

dpkg -i tivsm-api_5.3.0-1_i386.deb tivsm-ba_5.3.0-1_i386.deb



Add the library path:

echo "/opt/tivoli/tsm/client/api/bin" >> /etc/ld.so.conf

ldconfig



Run the extracted script:

sh ./pscript.sh

If something fails you'll have to debug the script yourself.



For dsmc to work (command line) you'll need to install this:

apt-get libstdc++2.10-glibc2.2



For the webclient (and probably the scheduler) you'll need to install this:

wget http://ftp.de.debian.org/debian/pool/main/e/egcs1.1/libstdc++2.9-glibc2.1_2.91.66-4_i386.deb

dpkg -i libstdc++2.9-glibc2.1_2.91.66-4_i386.deb



That should be it. Works like a charm on my system :)
 
hiho,

packed all this into a script, for me it helped to do an install on more clients:
its not really tested, feel free to improve... ;)
see: zip file in atachement..

therefore you have to have these 4 file in your installation dir:
install.sh dsm.opt dsm.sys inclexcl.def

here comes their content:

install.sh

#!/bin/bash

# TODO check new version

package=5.4.0.0-TIV-TSMBAC-LinuxX86.tar

checkError()
{
if [ $? != 0 ]
then
echo "error happened. exitin"
exit
fi
}

if [ -f $package ]
then
echo "package: $package already exists in this dir"
else
echo "getting tar ball from ibm: check new version and change script!"
wget -nc ftp://ftp.software.ibm.com/storage/tivoli-storage-management/maintenance/client/v5r4/Linux/Linux86/v540/$package
checkError
fi


destDir=TIVsm-HSM-5.4.0

alien=/usr/bin/alien
debizer="$alien --script --to-deb"

# check dependencies
if [ ! -f $alien ]
then
echo "please install alien first!"
echo "exiting."
exit
fi



echo -n "extractin base..."
tar -xf $package
checkError
echo "done."


rpms=$( tar -tf $package | grep '\.rpm' | grep -v '64' )

echo "installing rpms: $rpms"

for rpm in $rpms
do
if [ -d $destDir ];
then
echo "deleting dest dir: $destDir"
rm -r $destDir
fi
echo "building debian package from '$rpm'"
deb=$(${debizer} ${rpm} | grep 'generated' | awk '{print $1}')
checkError
debs="$debs $deb"
echo "debs: $debs"
done

echo "installing debs $debs"
dpkg -i $debs

echo "copying misssing files"
tiv_bin=/opt/tivoli/tsm/client/ba/bin/
cp dsm.opt $tiv_bin
cp dsm.sys $tiv_bin
cp inclexcl.def $tiv_bin

dsm.opt
(has to be adapted)

************************************************************************
* Tivoli Storage Manager *
* *
* Sample Client User Options file for UNIX (dsm.opt.smp) *
************************************************************************

* This file contains an option you can use to specify the TSM
* server to contact if more than one is defined in your client
* system options file (dsm.sys). Copy dsm.opt.smp to dsm.opt.
* If you enter a server name for the option below, remove the
* leading asterisk (*).

************************************************************************

SErvername ADSM
DOMAIN / /var /usr /home /boot
FOLlowsymbolic no
Quiet
REPlace Prompt
SUbdir no

dsm.sys (change host,..)



************************************************************************
* Tivoli Storage Manager *
* *
* Sample Client System Options file for UNIX (dsm.sys.smp) *
************************************************************************

* This file contains the minimum options required to get started
* using TSM. Copy dsm.sys.smp to dsm.sys. In the dsm.sys file,
* enter the appropriate values for each option listed below and
* remove the leading asterisk (*) for each one.

* If your client node communicates with multiple TSM servers, be
* sure to add a stanza, beginning with the SERVERNAME option, for
* each additional server.

************************************************************************

SErvername ADSM

NODename yournode
TCPCLIENTADDRESS yournode.domain

COMMmethod TCPip
TCPPort 1500
TCPServeraddress yourserver.domain

Passwordaccess generate

TCPCLIENTPort 1501
SCHEDMODE PROMPTED
SCHEDLOGname /var/log/dsmsched.log
SCHEDLOGRetention 14 D
ERRORLOGRetention 14 D
ERRORLOGname /var/log/dsmerror.log
Mailprog /usr/bin/Mail <youremail>

COMPression No

DIRMc mc_system

Inclexcl /opt/tivoli/tsm/client/ba/bin/inclexcl.def


inclexcl.def (define your own include-exclude rules here)

EXclude /.../.netscape/cache/.../*
EXclude /var/preserve/.../*
EXclude /cdrom/.../*
EXclude /.../tmp/.../*
EXclude core
EXclude /.../dsmsched.log
EXclude *~
 
And if you are using the CAD instead of just running the Schedule all the time (I suggest the CAD over the schedule, but that is just me), don't forget to have the CAD start at boot up. I've placed this in my /etc/init.d on my RedHat systems and used chckconfig to set up the rc scripts.

I've also used this on my debian and debian-based (read Ubuntu) systems with no problems.



#!/bin/sh
#
# chkconfig: 2345 91 35
# description: Starts and stops TSM client acceptor daemon
#
. /etc/rc.d/init.d/functions
[ -f /opt/tivoli/tsm/client/ba/bin/dsmc ] || exit 0
[ -f /opt/tivoli/tsm/client/ba/bin/dsmcad ] || exit 0

export prog="dsmcad"
export DSM_DIR=/opt/tivoli/tsm/client/ba/bin
export DSM_CONFIG=/opt/tivoli/tsm/client/ba/bin/dsm.opt

start() {
echo -n "Starting $prog: "
echo
cd $DSM_DIR
daemon $DSM_DIR/dsmcad
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/dsmcad
return $RETVAL
}

stop() {
if test "x`pidof dsmcad`" != x; then
echo -n "Stopping $prog: "
killproc dsmcad
echo
fi

RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/dsmcad
return $RETVAL
}

case "$1" in
start)
start
;;
stop)
stop
;;
status)
status dsmcad
;;
restart)
stop
start
;;
condrestart)
if test "x`pidof dsmcad`" != x; then
stop
start
fi
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
exit 1
;;
esac

exit 0
 
What is the CAD? Why do you recommend it?

;edit sorry, Client Accepter Daemon, recommend it to save memory, etc while the scheduler doesn't need to run.
 
Last edited:
CAD is Client Acceptor daemon. Its a kind of crond+inetd. It has a smaller footprint than client schedule. Its purpose is to start the scheduler (and web client) when is needed.
 
Back
Top