Installing the TSM client on an Ubuntu machine

IBM presents TSM clients for a variety of architectures, but Ubuntu is not one of them (yet),  The community at large has come up with procedures to get around this;  I am compiling some of them here for your edification.

 

Version Combinations

I keep coming back to this doc and updating it; I'm going to note client / OS version mixes for which I've had reports of success, just to maintain a sense of continuity.

Ubuntu 11.10, client 6.2.1

Ubuntu 12.04, client 6.3.0

 

 

 

TSM and ecrytpfs

Some versions of ubuntu offer more or less transparent encryption of your home directory.  This has several implications for backups:

  1. As with any encryption system, you must keep track of the keys.  Transparency here is not an advantage.  If you haven't typed the encryption password for your homedir in two years, you won't be able to type it when you set about restoring to a brand new machine.
  2. ecryptfs has an extra level of indirection in its function.  /home/user_a is a mount made when user_a logs in, by PAM.   The actual directory where the encrypted files (the 'lower' files, in ecryptfs speak) rest is /home/.ecryptfs/user_a.   This means that TSM WILL NOT SEE any files in /home/user_a, by default.

You need to decide, in this configuration, wether you want to back up the encrypted files, or decrypted.  

 

Backing up encrypted ('lower') files.

If you back up the encrypted files, you need not change anything, but you will need to carefully manage your keys.  Further, when you look to restore a file you think of as /home/user_a/blotsmo, you're going to have to remember to shift to /home/.ecryptfs/user_a/blotsmo instead.    You'll be reminded, though:  when you ask TSM to restore '/home/user_a/blotsmo', you'll get a friendly message saying TSM never heard of that file. 

 

Backing up decrypted ('upper') files.

If you want to back up the decrypted files, then you will need to add a stanza to your dsm.sys file, asserting

virtualmountpoint /home/user_a

with the appropriate user substituted.  This will tell TSM to pay attention to that filesystem even though it is of a type TSM doesn't recognize (the ecryptfs type).   The lower files will still be getting backed up in /home/.ecryptfs. 

 

 

 

 

Installation sketch

Credits to the "ADSM list", archives available at

http://www.adsm.org/

among other places.

 

  1. Get the client package for the version you have in mind.  In general, I recommend the most recent version.

    ftp://ftp.software.ibm.com/storage/tivoli-storage-management/maintenance/client

    is the place to start.  Put it in a convenient working directory.
  2. Install some ancillary necessary software.

    apt-get install ksh libstdc++5 alien
  3. Unpack the archive.

    tar xvf [ archive name ]
  4. Run 'alien' on the RPMs;  this will create directories for each that house the package contents and some pregenerated debian metadata:

    # alien -g TIVsm-API.i386.rpm
    # alien -g TIVsm-BA.i386.rpm



  5. Change some directory names:


    # mv TIVsm-API-5.5.1/debian TIVsm-API-5.5.1/DEBIAN
    # mv TIVsm-BA-5.5.1/debian TIVsm-BA-5.5.1/DEBIAN

    ... Do this for the API (or API64) , BA, gskssl, gskcrypt packages at least.


  6. edit the control files in each of the package directories:


    • remove blank line after "Maintainer:" line
    • in "Architecture:" line change "i386" to "amd64"
    • delete "${shlibs:Depends}" in "Depends:" line
    • joing two "Description:" lines into one line
    • insert line "Version: 5.5.1"
    • delete last two lines " ." and " (Converted..."
    • append an empty line as last line
  7. Create the .deb files.

    # dpkg -b TIVsm-API-5.5.1
    # dpkg -b TIVsm-BA-5.5.1
  8. Install the .deb files

    # dpkg -i TIVsm-API-5.5.1.deb
    # dpkg -i TIVsm-BA-5.5.1.deb
  9. Add the TSM libraries to your linker config path, and rescan.

    # 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

    # ldconfig
  10. Make a link so the client knows where to find the language catalogs

    # ln -s /opt/tivoli/tsm/client/lang/EN_US  /opt/tivoli/tsm/client/ba/bin/EN_US
  11. Now you should be ready to set up TSM config files and proceed normally.