Skip to content

Instantly share code, notes, and snippets.

@davfre
Last active August 29, 2022 18:42
Show Gist options
  • Save davfre/5775613 to your computer and use it in GitHub Desktop.
Save davfre/5775613 to your computer and use it in GitHub Desktop.
Installation procedure for the IBM Tivoli 6.4.0 client for Ubuntu 12.10.

The procedure below documents how to install the IBM Tivoli client on the Ubuntu linux distribution. The steps involve unpacking the distributed RPMs, removing and renaming a few files in the resulting folders, and editing and adding a few configuration text files, followed by packaging .deb files for installation.

Adapted from http://adsm.org/forum/showthread.php?21143-How-To-Install-TSM-Client-552-on-Ubuntu-10.04-amd64

Current versions: IBM Tivoli 6.4.0 Ubuntu 12.10

##1. install dependencies


sudo apt-get install ksh ia32-libs libstdc++6 alien

##2. Download the IBM Tivoli RPM

wget http://service.boulder.ibm.com/storage/tivoli-storage-management/maintenance/client/v6r4/Linux/LinuxX86/BA/v640/6.4.0.0-TIV-TSMBAC-LinuxX86.tar

##3. Unpack the tar archive

tar -xvf 6.4.0.0-TIV-TSMBAC-LinuxX86.tar
cd 6.4.0.0-TIV-TSMBAC-LinuxX86

##4 Unpack rpms

alien -g TIVsm-API64.x86_64.rpm                                                                                                                        
alien -g TIVsm-BA.x86_64.rpm                                                                                                                             
alien -g gskcrypt64-8.0.14.14.linux.x86_64.rpm
alien -g gskssl64-8.0.14.14.linux.x86_64.rpm

##5 Remove a few files and rename a folder inside each of the packages

for DIRNAME in gskcrypt64-8.0 gskssl64-8.80 TIVsm-API64-6.4.0 TIVsm-BA-6.4.0
do
	rm $DIR/debian/postinst $DIR/debian/compat
	mv $DIR/debian $DIR/DEBIAN
done

##6 Edit control files inside packages

In each of the four folders gskcrypt64-8.0 gskssl64-8.80 TIVsm-API64-6.4.0 TIVsm-BA-6.4.0 edit the file [FOLDERNAME]/DEBIAN/control


  • remove blank line after "Maintainer:" line
  • delete "${shlibsepends}" in "Depends:" line
    
* join two "Description:" lines into one line
    
* insert line "Version: 6.4.0"
- delete last two lines " ." and " (Converted... "
    
* append an empty line as last line


They should look as follows

gskcrypt64-8.0/DEBIAN/control

Source: gskcrypt64
Section: alien
Priority: extra
Maintainer: whoareyou
Package: gskcrypt64
Architecture: amd64
Depends: 
Description: IBM GSKit Cryptography Runtime IBM GSKit Cryptography Runtime
Version: 8.0.14.14

gskssl64-8.0/DEBIAN/control

Source: gskssl64         
Section: alien
Priority: extra
Maintainer: whoareyou
Package: gskssl64
Architecture: amd64
Depends:
Description: IBM GSKit SSL Runtime With Acme Toolkit
Version: 8.0.14.14

TIVsm-API64-6.4.0/DEBIAN/control

Source: tivsm-api64
Section: alien
Priority: extra
Maintainer: whoareyou
Package: tivsm-api64
Architecture: amd64
Depends:
Description: the API IBM Tivoli Storage Manager API.
Version:6.4.0

TIVsm-BA-6.4.0/DEBIAN/control

Source: tivsm-ba
Section: alien
Priority: extra
Maintainer: your name <your email>
Package: tivsm-ba
Architecture: amd64
Depends:
Description: the Backup Archive Client IBM Tivoli Storage Manager Client.
Version: 6.4.0

###7. Make .deb packages

dpkg -b gskcrypt64-8.0
	
    dpkg -b gskssl64-8.0
dpkg -b TIVsm-API64-6.4.0

    dpkg -b TIVsm-BA-6.4.0

###8. Install the tivoli distribution

sudo dpkg -i gskcrypt64-8.0.deb
sudo dpkg -i gskssl64-8.0.deb
sudo dpkg -i TIVsm-API64-6.4.0.deb
  
sudo dpkg -i TIVsm-BA-5.5.2.deb

###9. Create symbolic links to tell the loader where the files are located:

echo "/opt/tivoli/tsm/client/api/bin" > /etc/ld.so.conf.d/tsm.conf
echo "/opt/tivoli/tsm/client/api/bin64" >> /etc/ld.so.conf.d/tsm.conf
echo "/usr/local/ibm/gsk8_64/lib64" >> /etc/ld.so.conf.d/tsm.conf

run sudo ldconfig

###10. create /etc/ld.so.conf.d/tsm-api.conf with this one line:


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

###11. create/modify TSM configuration files


/opt/tivoli/tsm/client/ba/bin/dsm.opt

ServerName TSMServer

Domain ALL-LOCAL

DateFormat 3  


/opt/tivoli/tsm/client/ba/bin/dsm.sys

ServerName TSMServer
  
CommMethod TCPip
  
TcpPort 1500
  
TcpServerAddress tsmserver.your.domain.com
  
NodeName registered-name-for-this-system
  
PasswordAccess generate
  
Compression On
  
ErrorLogName /var/log/dsmerror.log
	 
ErrorLogRetention 5 D
  
SchedLogName /var/log/dsmsched.log
  
SchedLogRetention 5 D
  
* InclExcl /opt/tivoli/tsm/client/ba/bin/dsm.inclexcl  
  • set the TcpServerAddress to the fully qualified name of the TSM Server
    
* set the NodeName to the node name as registered with the TSM Server
    
* save and exit

###12. run an incremental backup


    dsmc incremental


###13. create upstart script


vim /etc/init/dsm-sched.conf


[file contents below]

# This service starts the TSM "dsm sched" backup process                                                                                                                           	                    
    # and respawns it when the dsmc process gets                                                                                                                                      
# killed or dies.                                                                                                                                                                  
                                                                                                                                                                               
#Description “start the Tivoli Storage Manager scheduler”                                                                                                                          
                                                                                                                                                                               
start on runlevel 2                                                                                                                                                                
start on runlevel 3                                                                                                                                                                
start on runlevel 4                                                                                                                                                                
start on runlevel 5                                                                                                                                                                
                                                                                                                                                                               
stop on runlevel 0                                                                                                                                                                 
stop on runlevel 1                                                                                                                                                                 
stop on runlevel 6                                                                                                                                                                 
                                                                                                                                                                               
respawn                                                                                                                                                                            

#exec /usr/bin/dsmc sched >> /tmp/dsm-sched.log 2>&1                                                                                                                   
exec /usr/bin/dsmc sched > /dev/null 2>&1                                                                                                                                         

# end of dsm-sched


###14. start the TSM scheduler


    start dsm-sched

###15. verify the scheduler picked up its schedule tail

/var/log/dsmsched.log

You are done!

@frehaman
Copy link

frehaman commented Sep 9, 2015

the steps are very clear and good presentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment