NSLU2-Linux
view · edit · print · history

HowTo.AddAmandaClient History

Hide minor edits - Show changes to markup

August 24, 2006, at 03:42 PM by Marc O'Brien --
Changed lines 3-4 from:

Amanda (The Advanced Maryland Automatic Network Disk Archiver)

to:

Amanda www.amanda.org (The Advanced Maryland Automatic Network Disk Archiver)

August 24, 2006, at 03:41 PM by Marc O'Brien --
Changed line 132 from:

Time-HiRes?-1.65\\

to:

time-hires-1.65\\

Changed line 174 from:

lsof - 4.77.dfsg.1-1 - LiSt? Open Files - a diagnostic tool.\\

to:

lsof - 4.77.dfsg.1-1 - list Open Files - a diagnostic tool.\\

Changed line 179 from:

ncursesw - 5.5-1 - NCurses? libraries with wide char support.\\

to:
 ncursesw - 5.5-1 - ncurses libraries with wide char support.\\
Changed line 184 from:

ntpclient - 2003_194-3 - Using RFC1305? (NTP), retrieves a remote date and time\\

to:

ntpclient - 2003_194-3 - Using rfc1305 (NTP), retrieves a remote date and time\\

Changed line 196 from:

tar - 1.15.1-1 - heavyweight version of the Tape ARchiver?\\

to:
 tar - 1.15.1-1 - heavyweight version of the tape archiver\\
August 24, 2006, at 03:33 PM by Marc O'Brien --
Changed lines 63-65 from:
  1. ln -s /share/hdd/conf/opt/Amanda/lib/libamclient-2.5.0p2.so /lib/libamclient-2.5.0p2.so
    # ln -s /share/hdd/conf/opt/Amanda/lib/libamanda-2.5.0p2.so /lib/libamanda-2.5.0p2.so
to:
 # ln -s /share/hdd/conf/opt/Amanda/lib/libamclient-2.5.0p2.so /lib/libamclient-2.5.0p2.so
# ln -s /share/hdd/conf/opt/Amanda/lib/libamanda-2.5.0p2.so /lib/libamanda-2.5.0p2.so
Changed lines 68-69 from:
  1. ln -s /share/hdd/data/amanda /tmp/amanda
to:
 # ln -s /share/hdd/data/amanda /tmp/amanda
August 24, 2006, at 03:30 PM by Marc O'Brien --
Added lines 59-60:

n.b. Amanda's home directory /opt/Amanda is a link to /share/hdd/conf/opt/Amanda

Changed lines 122-123 from:

===============================

to:

===============================

Added line 137:
Changed lines 139-140 from:

=======================

to:

=======================

August 24, 2006, at 03:21 PM by mobriensgulacuk -- Add an Amanda network backup client
Added lines 1-200:

Amanda backup client

Amanda (The Advanced Maryland Automatic Network Disk Archiver)

Amanda is an excellent open source client/server automated network backup solution. Which I believe will allow more serious use of the slug as a NAS system (the alternative I've used to date is to write individual users directories to DVD-RW).

This may be of most use to people who have already installed an Amanda server within their environment.

My slug is an NFS NAS file server, with SSH logins, SFTP, GNU gcc compilation toolchain, and most of the standard linux core utilities (see below for full list, not all are necessary).

Amanda client and server versions: 2.5.0p2
Server details: Solaris 9, Sun Blade 1000 with Quantum DLT-V4 160/320 GB tape drive
client details: Linux <client name> 2.4.22-xfs #1 Thu Feb 3 22:51:32 CST 2005 armv5b unknown unknown GNU/Linux

unslung version: 3.18beta

You'll need to create an amanda user (same user as on your server) on your slug with membership of group root

Download and untar the amanda distribution on to your slug

Then it is fairly standard unix/linux compilation procedure

as amandauser:

bash-2.05b$ ./configure <See configuration options below>
bash-2.05b$ make

Then as root:

bash-2.05b$ make install

I had lots of path problems, so once you have amandauser setup with PATH and LD_LIBRARY_PATH and your installing as root, run a root bash shell and then source amandauser's .bashrc

The main compilation problem was (apparently) common-src/genversion.c truncating lines when producing common-src/version.c.

    size_t len = strlen(string) + 1;

    new_len = strlen(var)
              + SIZEOF("=\\\"")
              + strlen(val)
              + SIZEOF("\\\"")
              + 1;

    new_len = strlen(var)
              + SIZEOF("=")
              + strlen(number)
              + 1;
    v_len = SIZEOF("Amanda-") + strlen(v) + 1;

Changing +1 to +3 created version.c correctly and allowed compilation.

make gives yacc errors with amrecover so build without

./configure --prefix=/share/hdd/conf/opt/Amanda --with-user=amandauser --with-group=root --without-server --without-amrecover --with-includes=/opt/armeb/armv5b-softfloat-linux/sys-include LDFLAGS=-L/share/hdd/data/armeb/armv5b-softfloat-linux/lib

Runtime libs not found so link the libraries to /lib

  1. ln -s /share/hdd/conf/opt/Amanda/lib/libamclient-2.5.0p2.so /lib/libamclient-2.5.0p2.so
    # ln -s /share/hdd/conf/opt/Amanda/lib/libamanda-2.5.0p2.so /lib/libamanda-2.5.0p2.so

amcheck gave 0kb available in /tmp/amanda error so give quick fix.

  1. ln -s /share/hdd/data/amanda /tmp/amanda

Configuration

Client configuration file entries
=================================

xinetd fails silently so use inetd (used on both the server and the client)

/etc/inetd.conf

amanda dgram udp wait amandauser /share/hdd/conf/opt/Amanda/libexec/amandad amandad

/opt/Amanda/.amandahosts

server.full.domain.name amandauser amdump

/etc/services (already contained amanda entries)

amanda 10080/udp # amanda backup services
amandaidx 10082/tcp # amanda backup services
amidxtape 10083/tcp # amanda backup services

Also make sure /etc/hosts has an entry specifying server.full.domain.name

Finally

add the disks you wish to backup to your servers configuration files

/opt/Amanda/etc/amanda/<configuration>/disklist

client.full.domain.name /dev/sdba1 user-tar

and allow the client to connect to the server by adding to the servers

/opt/Amanda/.amandahosts

client.full.domain.name amandauser amandad amindexd amidxtaped

Then check by running amcheck on the server

/opt/Amanda/sbin/amcheck <configuration>

Then run amdump on the server

/opt/Amanda/sbin/amdump <configuration>

N.B.

This took several weeks to get the packages to compile and install and to work out the .amandahosts service entries, the silent failures, problems when the Fully Qualified Domain Name isn't quite what you'd expected it to be, etc. BUT it does work, it backs up, and it restores (running amrecover on the server). So if at first you don't succeed, carry on until your eyeballs bleed :)

Compiled and installed packages
===============================

dump-0.4b41
bison-2.1
flex-2.5.4
diffutils-2.8.1
dump-0.4b41
perl-5.6.1
DB_File-1.810
Time-HiRes?-1.65
texinfo-4.8
gperf-3.0.1
indent-2.2.9
Installed ipkg packages
=======================

autoconf - 2.59-2 - Creating scripts to configure source code packages using tem plates
automake - 1.9.6-1 - Creates GNU standards-compliant Makefiles from template file
bash - 2.05b-5 -
bzip2 - 1.0.3-6 - Very high-quality data compression program
coreutils - 5.2.1-5 -
cpio - 2.5-r2 -
crosstool-native - 0.28-rc37-5 - Bootstrap toolchain including GCC 3.3.5, GLIBC 2.2.5, BINUTILS 2.15.94.0.2, and LINUX 2.4.22 headers.
crosstool-native-arch-bin - 0.28-rc37-5 - Bootstrap toolchain including GCC 3.3. 5, GLIBC 2.2.5, BINUTILS 2.15.94.0.2, and LINUX 2.4.22 headers.
crosstool-native-arch-inc - 0.28-rc37-5 - Bootstrap toolchain including GCC 3.3. 5, GLIBC 2.2.5, BINUTILS 2.15.94.0.2, and LINUX 2.4.22 headers.
crosstool-native-arch-lib - 0.28-rc37-5 - Bootstrap toolchain including GCC 3.3. 5, GLIBC 2.2.5, BINUTILS 2.15.94.0.2, and LINUX 2.4.22 headers.
crosstool-native-bin - 0.28-rc37-5 - Bootstrap toolchain including GCC 3.3.5, GL IBC 2.2.5, BINUTILS 2.15.94.0.2, and LINUX 2.4.22 headers.
crosstool-native-inc - 0.28-rc37-5 - Bootstrap toolchain including GCC 3.3.5, GL IBC 2.2.5, BINUTILS 2.15.94.0.2, and LINUX 2.4.22 headers.
crosstool-native-lib - 0.28-rc37-5 - Bootstrap toolchain including GCC 3.3.5, GL IBC 2.2.5, BINUTILS 2.15.94.0.2, and LINUX 2.4.22 headers.
findutils - 4.2.27-1 - File finding utilities
gawk - 3.1.5-1 - Gnu AWK interpreter
gdb - 6.3-2 - gdb is the standard GNU debugger
groff - 1.19.1-5 - front-end for the groff document formatting system
ipkg - 0.99.138-r0 -
less - 394-1 - Less file browser
libc6-unslung - 2.2.5-r4 -
libgcc - 3.4.3-r5 -
libipkg - 0.99.138-r0 -
libstdc++ - 5.0.7-4 - Standard C++ library, needed for dynamically linked C++ pr ograms
lsof - 4.77.dfsg.1-1 - LiSt? Open Files - a diagnostic tool.
m4 - 1.4.1-2 - gnu macro processor and compiler front end
make - 3.81-1 - examines files and runs commands necessary for compilation
man - 1.5p-4 - unix manual page reader
ncurses - 5.4-3 -
ncursesw - 5.5-1 - NCurses? libraries with wide char support.
net-tools - 1.60-2 - Network Config and Debug tools (route, arp, netstat etc.)
nfs-utils - 1.0.6-3 -
nmap - 4.10-1 - Nmap is a feature-rich portscanner
nslu2-linksys-libs - 2.3r25-r2 -
ntpclient - 2003_194-3 - Using RFC1305? (NTP), retrieves a remote date and time
openssh - 3.8p1-3 -
openssl - 0.9.7d-3 -
patch - 2.5.4-3 - applies a diff to produce a patched file
pcre - 5.0-5 - Perl-compatible regular expression library
portmap - 4-3 -
readline - 5.1-1 - The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
rsync - 2.6.3-7 -
sed - 4.1.4-2 - Stream editor.
slingbox - 1.00-r4 -
stunnel - 4.07-7 - SSL encryption wrapper for all kinds of servers
tar - 1.15.1-1 - heavyweight version of the Tape ARchiver?
tcpdump - 3.9.4-1 - tcpdump dumps the traffic on a network
termcap - 1.3.1-2 - Terminal emulation library
unslung-standard-rootfs - 2.3r25-r41 -
wget - 1.9.1-r1 -
xinetd - 2.3.14-4 - Highly configurable, modular and secure inetd
zlib - 1.2.2-2 -

view · edit · print · history · Last edited by Marc O'Brien.
Based on work by Marc O'Brien.
Originally by mobriensgulacuk.
Page last modified on August 24, 2006, at 03:42 PM