Linux ADSM Mini-Howto by Thomas Koenig, Thomas.Koenig@ciw.uni-karlsruhe.de $Date: 1996/01/03 14:29:28 $ This document describes how to install and use a client for the com- mercial ADSM backup system for Linux. ______________________________________________________________________ Table of Contents: 1. Introduction 2. Installing the iBCS module 3. Installing the ADSM client 4. Running the client 5. Known Problems ______________________________________________________________________ 1. Introduction ADSM is a network-based backup system, sold by IBM, in use at many organizations. There are clients for a large variety of systems (different UNIX brands, Windows, Novell, Mac, Windows NT). Unfortunately, at the time of this writing, there is no native Linux version. You will have to use the SCO binary, and install the iBCS2-emulator for running ADSM. This description is for ADSM v2r1. 2. Installing the iBCS module The iBCS2 module is available from ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2. Get the most recent version by getting the file ibcs-1.2-950721.tar.gz, unpacking it and applying the patches ibcs-1.2-950808.patch1 and ibcs-1.2-950828.patch2. If you run 1.2.13, you can then type "make" and install the iBCS modlue with "insmod". To compile the iBCS module under kernel version 1.3.37, you have to change all occurrences in the source of "current->sigaction" to "current->sig->action" before compiling. To compile the iBCS module under kernel version 1.3.45, compile your kernel with "-DCONFIG_MODVERSIONS" enabled, and add "-DCONFIG_MODVERSIONS -D__NO_VERSIONS__" to the CFLAGS variable in iBCSemul/Makefile. If you don't have them already, create the needed device files by executing # ln -s /dev/null /dev/XOR # ln -s /dev/null /dev/X0R # mknod /dev/socksys c 30 0 # mknod /dev/spx c 30 1 3. Installing the ADSM client The SCO binary is supplied as three tar files, or disks. Change to the root directory, set your umask according to your policies, and unpack them from there (as root). In your Directory /tmp, you will find an installation script; execute that. You will then have to hand-edit /usr/adsm/dsm.sys and /usr/adsm/dsm.opt. In dsm.sys, important lines to specify are: Servername The name of the server TCPServeraddress The fully qualified host name of the server NODename Your own hostname In dsm.opt, you will have to specify Server As before Followsymbolic Wether or not to follow symbolic links (not a good idea, in general) SUbdir Wether to back up subdirectories (you usually want that) domain The file systems to back up You will then have to create a SCO-compatible /etc/mnttab from your /etc/fstab. You can use the following Perl script, fstab2mnttab, for this. ______________________________________________________________________ #!/usr/bin/perl $mnttab_struct = "a32 a32 I L"; open(MTAB, "/etc/mtab") || die "Cannot open /etc/mtab: $!\n"; open(MNTTAB, ">/etc/mnttab") || die "Cannot open /etc/mnttab: $!\n"; while() { next if /pid/; chop; /^(\S*)\s(\S*)\s(\S*)\s.*$/; $device = $1; $mountpt = $2; $fstype = $3; if($fstype ne "nfs" && $fstype ne "proc") { $mnttab_rec = pack($mnttab_struct, $device, $mountpt, 0x9d2f, time()); syswrite(MNTTAB, $mnttab_rec, 72); print "Made entry for: $device $mountpt $fstype\n"; } } close(MNTTAB); exit 0; ______________________________________________________________________ You do not need to install any shared libraries for these clients; everything is linked statically. 4. Running the client There are two clients, dsm, which is an X11 interface, and dsmc, a command-line interface. Your computer centre will tell you how to run it. Some startup script at boot, for example dsmc schedule -quiet 2>&1 >/dev/null & will probably be required. 5. Known Problems Unfortunately, SCO can only deal with hostnames no longer than eight characters. If your hostname is longer, or fully qualified, you may need to specify your hostname on the NODename line in /usr/adsm/dsm.sys. If you use the DISPLAY variable, you will have to supply the fully qualified host name (i.e. DISPLAY=host.full.do.main:0 instead of DISPLAY=host:0).