An amanda 2.4.1p1 package, split into common, server and client parts.

This commit is contained in:
bouyer 1999-02-23 17:03:41 +00:00
parent 12cb5d8840
commit 4276004875
58 changed files with 2154 additions and 0 deletions

View file

@ -0,0 +1,40 @@
# $NetBSD: Makefile,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
# FreeBSD Id: Makefile,v 1.9 1997/03/08 05:00:11 gpalmer Exp
#
DISTNAME= amanda-2.4.1p1
PKGNAME= amanda-client-2.4.1p1
CATEGORIES= misc
MASTER_SITES= ftp://ftp.cs.umd.edu/pub/amanda/
MAINTAINER= packages@netbsd.org
HOMEPAGE= http://www.amanda.org/
DEPENDS+= readline-2.2:../../devel/readline
DEPENDS+= gtar-1.12:../../archivers/gtar
DEPENDS+= amanda-common-2.4.1p1:../amanda-common
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
.include "../../mk/bsd.prefs.mk"
AMANDA_USER?= backup
AMANDA_GROUP= operator
CONFIGURE_ARGS+= --with-user=${AMANDA_USER} \
--with-group=${AMANDA_GROUP} \
--with-mmap --with-amandahosts \
--with-includes=${PREFIX}/include \
--with-libraries=${PREFIX}/lib \
--with-dump-honor-nodump \
--without-server --without-restore
.if defined(AMANDA_SMB)
CONFIGURE_ARGS+= --with-smbclient
DEPENDS+= samba-2.0.2:../../net/samba
.endif
CONFIGURE_ENV+= INSTALL_SCRIPT="${INSTALL_SCRIPT}"
.include "../../mk/bsd.pkg.mk"

View file

@ -0,0 +1,3 @@
$NetBSD: md5,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
MD5 (amanda-2.4.1p1.tar.gz) = 13f34dc97c35f85f88e54ca25b2009ed

View file

@ -0,0 +1,20 @@
$NetBSD: patch-aa,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
--- configure.orig Sat Jul 18 10:34:33 1998
+++ configure Sat Jul 18 10:35:03 1998
@@ -4204,6 +4204,7 @@
echo "$ac_t""no" 1>&6
fi
+if false; then
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -4249,6 +4250,7 @@
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
+fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2

View file

@ -0,0 +1,144 @@
--- client-src/Makefile.in.old Tue Feb 23 11:09:57 1999
+++ client-src/Makefile.in Tue Feb 23 11:11:28 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -162,12 +162,11 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
-LDADD = libamclient.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+LDADD = libamclient.$(LIB_EXTENSION)
SUFFIXES = .sh .pl
-libexec_PROGRAMS = versionsuffix @BUILD_CLIENT_PROGS_LIBEXEC@
+libexec_PROGRAMS = @BUILD_CLIENT_PROGS_LIBEXEC@
# these are used for testing only:
TEST_PROGS = getfsent
@@ -224,7 +223,7 @@
DEFS = @DEFS@ -I. -I$(srcdir) -I../config
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lamanda
libamclient_a_OBJECTS = amandates.o getfsent.o unctime.o
LTLIBRARIES = $(lib_LTLIBRARIES)
@@ -234,60 +233,50 @@
amandad_SOURCES = amandad.c
amandad_OBJECTS = amandad.o
amandad_LDADD = $(LDADD)
-amandad_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amandad_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
amandad_LDFLAGS =
calcsize_SOURCES = calcsize.c
calcsize_OBJECTS = calcsize.o
calcsize_LDADD = $(LDADD)
-calcsize_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+calcsize_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
calcsize_LDFLAGS =
killpgrp_SOURCES = killpgrp.c
killpgrp_OBJECTS = killpgrp.o
killpgrp_LDADD = $(LDADD)
-killpgrp_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+killpgrp_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
killpgrp_LDFLAGS =
rundump_SOURCES = rundump.c
rundump_OBJECTS = rundump.o
rundump_LDADD = $(LDADD)
-rundump_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+rundump_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
rundump_LDFLAGS =
runtar_SOURCES = runtar.c
runtar_OBJECTS = runtar.o
runtar_LDADD = $(LDADD)
-runtar_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+runtar_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
runtar_LDFLAGS =
selfcheck_SOURCES = selfcheck.c
selfcheck_OBJECTS = selfcheck.o
selfcheck_LDADD = $(LDADD)
-selfcheck_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+selfcheck_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
selfcheck_LDFLAGS =
sendbackup_OBJECTS = sendbackup.o sendbackup-dump.o sendbackup-gnutar.o
sendbackup_LDADD = $(LDADD)
-sendbackup_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+sendbackup_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
sendbackup_LDFLAGS =
sendsize_SOURCES = sendsize.c
sendsize_OBJECTS = sendsize.o
sendsize_LDADD = $(LDADD)
-sendsize_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+sendsize_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
sendsize_LDFLAGS =
getfsent_OBJECTS = getfsent.test.o
getfsent_LDADD = $(LDADD)
-getfsent_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+getfsent_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
getfsent_LDFLAGS =
versionsuffix_SOURCES = versionsuffix.c
versionsuffix_OBJECTS = versionsuffix.o
versionsuffix_LDADD = $(LDADD)
-versionsuffix_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+versionsuffix_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
versionsuffix_LDFLAGS =
SCRIPTS = $(libexec_SCRIPTS) $(sbin_SCRIPTS)
--- recover-src/Makefile.in.old Tue Feb 23 11:34:04 1999
+++ recover-src/Makefile.in Tue Feb 23 11:36:07 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -164,9 +164,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
LDADD = @LEXLIB@ \
- ../client-src/libamclient.$(LIB_EXTENSION) \
- ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+ ../client-src/libamclient.$(LIB_EXTENSION)
EXTRA_PROGRAMS = amrecover
@@ -189,13 +187,11 @@
DEFS = @DEFS@ -I. -I$(srcdir) -I../config
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lamanda -lamtape
amrecover_OBJECTS = amrecover.o display_commands.o extract_list.o \
help.o set_commands.o uparse.o uscan.o
amrecover_LDADD = $(LDADD)
-amrecover_DEPENDENCIES = ../client-src/libamclient.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amrecover_DEPENDENCIES = ../client-src/libamclient.$(LIB_EXTENSION)
amrecover_LDFLAGS =
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LEXLIB = @LEXLIB@

View file

@ -0,0 +1,11 @@
--- Makefile.in.old Tue Feb 23 10:37:10 1999
+++ Makefile.in Tue Feb 23 10:38:36 1999
@@ -157,7 +157,7 @@
AUTOCONF = @AUTOCONF@ --localdir=config
SUBDIRS=config \
- common-src client-src tape-src \
+ client-src tape-src \
server-src restore-src recover-src \
changer-src amplot man \
example

View file

@ -0,0 +1,16 @@
--- man/Makefile.in.old Tue Feb 23 11:12:23 1999
+++ man/Makefile.in Tue Feb 23 11:12:46 1999
@@ -158,12 +158,7 @@
transform = s,x,x,;
-man_MANS = amadmin.8 amanda.8 amcheck.8 \
- amcheckdb.8 amcleanup.8 amdump.8 \
- amflush.8 amlabel.8 amoverview.8 \
- amplot.8 amrecover.8 amrestore.8 \
- amrmtape.8 amtape.8 amtoc.8 \
- amverify.8 amstatus.8 amreport.8
+man_MANS = amrecover.8
EXTRA_DIST = amplot.8 amrestore.8 amtape.8
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs

View file

@ -0,0 +1 @@
The Advanced Maryland Automatic Network Disk Archiver

View file

@ -0,0 +1,67 @@
This is an alpha-test release of Amanda, the Advanced Maryland Automatic
Network Disk Archiver. Amanda is a backup system designed to archive many
computers on a network to a single large-capacity tape drive. This release
is currently in daily use at the University of Maryland at College Park
Computer Science Department, backing up all the disks on all the
workstations in the department: currently over 70 gigabytes of data across
more than 400 filesystems on more than 146 workstations and servers, using
a single 5 Gigabyte Exabyte EXB-8500. Here are some features of Amanda:
* written in C, freely distributable.
* built on top of standard backup software: BSD Unix dump/restore, and
later GNU Tar and others.
* will back up multiple machines in parallel to a holding disk, blasting
finished dumps one by one to tape as fast as we can write files to
tape. For example, a ~2 Gb 8mm tape on a ~240K/s interface to a host
with a large holding disk can be filled by Amanda in under 4 hours.
* does simple tape management: will not overwrite the wrong tape.
* supports tape changers via a generic interface. Easily customizable to
any type of tape carousel, robot, or stacker that can be controlled via
the unix command line.
* supports Kerberos 4 security, including encrypted dumps. The Kerberos
support is available as a separate add-on package, see the file
KERBEROS.HOW-TO-GET on the ftp site, and the file docs/KERBEROS in this
package, for more details.
* for a restore, tells you what tapes you need, and finds the proper
backup image on the tape for you.
* recovers gracefully from errors, including down or hung machines.
* reports results, including all errors in detail, in email to operators.
* will dynamically adjust backup schedule to keep within constraints: no
more juggling by hand when adding disks and computers to network.
* includes a pre-run checker program, that conducts sanity checks on both
the tape server host and all the client hosts (in parallel), and will
send an e-mail report of any problems that could cause the backups to
fail.
* can compress dumps before sending over net, with either compress or gzip.
* can optionally syncronize with external backups, for those large
timesharing computers where you want to do full dumps when the system
is down in single-user mode (since BSD dump is not reliable on active
filesystems): Amanda will still do your daily dumps.
* lots of other options; Amanda is very configurable.
Amanda requires a host that is mostly idle at night, with a large capacity
tape drive (e.g. an EXABYTE or DAT tape). This becomes the "tape server
host". All the computers you are going to dump are the "backup client
hosts". The server host can also be a client host.
Amanda works best with one or more large "holding disk" partition on the
server host available to it for buffering dumps before writing to tape.
The holding disk allows Amanda to run backups in parallel to the disk, only
writing them to tape when the backup is finished. Note that the holding
disk is not required: without it Amanda will run backups sequentially to
the tape drive. Running it this way kills the great performance, but still
allows you to take advantage of Amanda's other features.
As a rule of thumb, for best performance the holding disk should be larger
than the dump output from your largest disk partitions. For example, if
you are backing up some full gigabyte disks that compress down to 500 MB,
then you'll want 500 MB on your holding disk. On the other hand, if those
gigabyte drives are partitioned into 500 MB filesystems, they'll probably
compress down to 250 MB and you'll only need that much on your holding
disk. Amanda will perform better with larger holding disks. We use 800 MB
for our holding disk.
Actually, Amanda will still work if you have full dumps that are larger
than the holding disk: Amanda will send those dumps directly to tape one at
a time. If you have many such dumps you will be limited by the dump speed
of those machines.

View file

@ -0,0 +1,14 @@
@comment $NetBSD: PLIST,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
lib/libamclient.a
lib/libamclient-2.4.1p1.so.0.0
libexec/amandad
libexec/calcsize
libexec/killpgrp
libexec/patch-system
libexec/rundump
libexec/runtar
libexec/selfcheck
libexec/sendbackup
libexec/sendsize
man/man8/amrecover.8
sbin/amrecover

View file

@ -0,0 +1,33 @@
# $NetBSD: Makefile,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
# FreeBSD Id: Makefile,v 1.9 1997/03/08 05:00:11 gpalmer Exp
#
DISTNAME= amanda-2.4.1p1
PKGNAME= amanda-common-2.4.1p1
CATEGORIES= misc
MASTER_SITES= ftp://ftp.cs.umd.edu/pub/amanda/
MAINTAINER= packages@netbsd.org
HOMEPAGE= http://www.amanda.org/
DEPENDS+= addnerd-1.6:../../sysutils/addnerd
AMANDA_USER?= backup
AMANDA_GROUP= operator
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-user=${AMANDA_USER} \
--with-group=${AMANDA_GROUP} \
--with-mmap --with-amandahosts \
--with-includes=${PREFIX}/include \
--with-libraries=${PREFIX}/lib \
--with-dump-honor-nodump \
--without-server --without-restore --without-client
CONFIGURE_ENV+= INSTALL_SCRIPT="${INSTALL_SCRIPT}"
pre-install:
@${SETENV} ${MAKE_ENV} addnerd -g ${AMANDA_GROUP} ${AMANDA_USER}
.include "../../mk/bsd.pkg.mk"

View file

@ -0,0 +1,3 @@
$NetBSD: md5,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
MD5 (amanda-2.4.1p1.tar.gz) = 13f34dc97c35f85f88e54ca25b2009ed

View file

@ -0,0 +1,20 @@
$NetBSD: patch-aa,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
--- configure.orig Sat Jul 18 10:34:33 1998
+++ configure Sat Jul 18 10:35:03 1998
@@ -4204,6 +4204,7 @@
echo "$ac_t""no" 1>&6
fi
+if false; then
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -4249,6 +4250,7 @@
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
+fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2

View file

@ -0,0 +1,11 @@
--- tape-src/Makefile.in.old Tue Feb 23 11:45:50 1999
+++ tape-src/Makefile.in Tue Feb 23 11:45:21 1999
@@ -162,7 +162,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
-lib_LTLIBRARIES = @BUILD_TAPE_LTLIB@
+lib_LTLIBRARIES = libamtape.la
EXTRA_LTLIBRARIES = libamtape.la
noinst_LIBRARIES = @BUILD_TAPE_LIB@

View file

@ -0,0 +1,16 @@
--- man/Makefile.in.old Tue Feb 23 10:24:35 1999
+++ man/Makefile.in Tue Feb 23 10:25:34 1999
@@ -158,12 +158,7 @@
transform = s,x,x,;
-man_MANS = amadmin.8 amanda.8 amcheck.8 \
- amcheckdb.8 amcleanup.8 amdump.8 \
- amflush.8 amlabel.8 amoverview.8 \
- amplot.8 amrecover.8 amrestore.8 \
- amrmtape.8 amtape.8 amtoc.8 \
- amverify.8 amstatus.8 amreport.8
+man_MANS = amanda.8
EXTRA_DIST = amplot.8 amrestore.8 amtape.8
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs

View file

@ -0,0 +1 @@
The Advanced Maryland Automatic Network Disk Archiver

View file

@ -0,0 +1,67 @@
This is an alpha-test release of Amanda, the Advanced Maryland Automatic
Network Disk Archiver. Amanda is a backup system designed to archive many
computers on a network to a single large-capacity tape drive. This release
is currently in daily use at the University of Maryland at College Park
Computer Science Department, backing up all the disks on all the
workstations in the department: currently over 70 gigabytes of data across
more than 400 filesystems on more than 146 workstations and servers, using
a single 5 Gigabyte Exabyte EXB-8500. Here are some features of Amanda:
* written in C, freely distributable.
* built on top of standard backup software: BSD Unix dump/restore, and
later GNU Tar and others.
* will back up multiple machines in parallel to a holding disk, blasting
finished dumps one by one to tape as fast as we can write files to
tape. For example, a ~2 Gb 8mm tape on a ~240K/s interface to a host
with a large holding disk can be filled by Amanda in under 4 hours.
* does simple tape management: will not overwrite the wrong tape.
* supports tape changers via a generic interface. Easily customizable to
any type of tape carousel, robot, or stacker that can be controlled via
the unix command line.
* supports Kerberos 4 security, including encrypted dumps. The Kerberos
support is available as a separate add-on package, see the file
KERBEROS.HOW-TO-GET on the ftp site, and the file docs/KERBEROS in this
package, for more details.
* for a restore, tells you what tapes you need, and finds the proper
backup image on the tape for you.
* recovers gracefully from errors, including down or hung machines.
* reports results, including all errors in detail, in email to operators.
* will dynamically adjust backup schedule to keep within constraints: no
more juggling by hand when adding disks and computers to network.
* includes a pre-run checker program, that conducts sanity checks on both
the tape server host and all the client hosts (in parallel), and will
send an e-mail report of any problems that could cause the backups to
fail.
* can compress dumps before sending over net, with either compress or gzip.
* can optionally syncronize with external backups, for those large
timesharing computers where you want to do full dumps when the system
is down in single-user mode (since BSD dump is not reliable on active
filesystems): Amanda will still do your daily dumps.
* lots of other options; Amanda is very configurable.
Amanda requires a host that is mostly idle at night, with a large capacity
tape drive (e.g. an EXABYTE or DAT tape). This becomes the "tape server
host". All the computers you are going to dump are the "backup client
hosts". The server host can also be a client host.
Amanda works best with one or more large "holding disk" partition on the
server host available to it for buffering dumps before writing to tape.
The holding disk allows Amanda to run backups in parallel to the disk, only
writing them to tape when the backup is finished. Note that the holding
disk is not required: without it Amanda will run backups sequentially to
the tape drive. Running it this way kills the great performance, but still
allows you to take advantage of Amanda's other features.
As a rule of thumb, for best performance the holding disk should be larger
than the dump output from your largest disk partitions. For example, if
you are backing up some full gigabyte disks that compress down to 500 MB,
then you'll want 500 MB on your holding disk. On the other hand, if those
gigabyte drives are partitioned into 500 MB filesystems, they'll probably
compress down to 250 MB and you'll only need that much on your holding
disk. Amanda will perform better with larger holding disks. We use 800 MB
for our holding disk.
Actually, Amanda will still work if you have full dumps that are larger
than the holding disk: Amanda will send those dumps directly to tape one at
a time. If you have many such dumps you will be limited by the dump speed
of those machines.

View file

@ -0,0 +1,7 @@
@comment $NetBSD: PLIST,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
lib/libamanda.a
lib/libamanda-2.4.1p1.so.0.0
lib/libamtape.a
lib/libamtape-2.4.1p1.so.0.0
libexec/versionsuffix
man/man8/amanda.8

View file

@ -0,0 +1,53 @@
# $NetBSD: Makefile,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
# FreeBSD Id: Makefile,v 1.9 1997/03/08 05:00:11 gpalmer Exp
#
DISTNAME= amanda-2.4.1p1
PKGNAME= amanda-server-2.4.1p1
CATEGORIES= misc
MASTER_SITES= ftp://ftp.cs.umd.edu/pub/amanda/
MAINTAINER= packages@netbsd.org
HOMEPAGE= http://www.amanda.org/
DEPENDS+= readline-2.2:../../devel/readline
DEPENDS+= gnuplot-3.7:../../graphics/gnuplot
DEPENDS+= amanda-common-2.4.1p1:../amanda-common
USE_PERL5= yes
AMANDA_USER?= backup
AMANDA_GROUP= operator
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-user=${AMANDA_USER} \
--with-group=${AMANDA_GROUP} \
--with-mmap --with-amandahosts \
--with-includes=${PREFIX}/include \
--with-libraries=${PREFIX}/lib \
--with-dump-honor-nodump \
--without-client
CONFIGURE_ENV+= INSTALL_SCRIPT="${INSTALL_SCRIPT}"
post-install:
.if !defined(NOPORTDOCS)
${MKDIR} ${PREFIX}/share/doc/amanda
${MKDIR} ${PREFIX}/share/examples/amanda
for i in ${WRKDIR}/${DISTNAME}/docs/* ; do \
${INSTALL_DATA} $$i ${PREFIX}/share/doc/amanda; \
done
for i in ${WRKDIR}/${DISTNAME}/example/8.5x11.ps \
${WRKDIR}/${DISTNAME}/example/DIN-A4.ps \
${WRKDIR}/${DISTNAME}/example/DLT.ps \
${WRKDIR}/${DISTNAME}/example/EXB-8500.ps \
${WRKDIR}/${DISTNAME}/example/HP-DAT.ps \
${WRKDIR}/${DISTNAME}/example/amanda.conf \
${WRKDIR}/${DISTNAME}/example/chg-multi.conf \
${WRKDIR}/${DISTNAME}/example/chg-scsi.conf \
${WRKDIR}/${DISTNAME}/example/config.site \
${WRKDIR}/${DISTNAME}/example/disklist; do \
${INSTALL_DATA} $$i ${PREFIX}/share/examples/amanda; \
done
.endif
.include "../../mk/bsd.pkg.mk"

View file

@ -0,0 +1,3 @@
$NetBSD: md5,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
MD5 (amanda-2.4.1p1.tar.gz) = 13f34dc97c35f85f88e54ca25b2009ed

View file

@ -0,0 +1,20 @@
$NetBSD: patch-aa,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
--- configure.orig Sat Jul 18 10:34:33 1998
+++ configure Sat Jul 18 10:35:03 1998
@@ -4204,6 +4204,7 @@
echo "$ac_t""no" 1>&6
fi
+if false; then
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -4249,6 +4250,7 @@
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
+fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2

View file

@ -0,0 +1,11 @@
--- client-src/Makefile.in.old Tue Feb 23 10:34:37 1999
+++ client-src/Makefile.in Tue Feb 23 10:35:09 1999
@@ -167,7 +167,7 @@
SUFFIXES = .sh .pl
-libexec_PROGRAMS = versionsuffix @BUILD_CLIENT_PROGS_LIBEXEC@
+libexec_PROGRAMS = @BUILD_CLIENT_PROGS_LIBEXEC@
# these are used for testing only:
TEST_PROGS = getfsent

View file

@ -0,0 +1,11 @@
--- Makefile.in.old Tue Feb 23 10:37:10 1999
+++ Makefile.in Tue Feb 23 10:38:36 1999
@@ -157,7 +157,7 @@
AUTOCONF = @AUTOCONF@ --localdir=config
SUBDIRS=config \
- common-src client-src tape-src \
+ client-src \
server-src restore-src recover-src \
changer-src amplot man \
example

View file

@ -0,0 +1,15 @@
--- man/Makefile.in.old Tue Feb 23 10:43:23 1999
+++ man/Makefile.in Tue Feb 23 10:42:34 1999
@@ -158,10 +158,10 @@
transform = s,x,x,;
-man_MANS = amadmin.8 amanda.8 amcheck.8 \
+man_MANS = amadmin.8 amcheck.8 \
amcheckdb.8 amcleanup.8 amdump.8 \
amflush.8 amlabel.8 amoverview.8 \
- amplot.8 amrecover.8 amrestore.8 \
+ amplot.8 amrestore.8 \
amrmtape.8 amtape.8 amtoc.8 \
amverify.8 amstatus.8 amreport.8

View file

@ -0,0 +1,259 @@
--- changer-src/Makefile.in.old Tue Feb 23 11:55:44 1999
+++ changer-src/Makefile.in Tue Feb 23 11:57:09 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -93,7 +93,7 @@
BUILD_SERVER_PROGS_SBIN = @BUILD_SERVER_PROGS_SBIN@
BUILD_SERVER_SCRIPTS_SBIN = @BUILD_SERVER_SCRIPTS_SBIN@
BUILD_TAPE_LIB = @BUILD_TAPE_LIB@
-BUILD_TAPE_LTLIB = @BUILD_TAPE_LTLIB@
+BUILD_TAPE_LTLIB =
CAT = @CAT@
CC = @CC@
CHIO = @CHIO@
@@ -161,8 +161,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
# they cross-reference each other a bit, so need to be included twice
-LDADD = ../server-src/libamserver.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+LDADD = ../server-src/libamserver.$(LIB_EXTENSION)
SUFFIXES = .pl .sh
@@ -203,9 +202,8 @@
chg_scsi_OBJECTS = chg-scsi.o
chg_scsi_DEPENDENCIES = libscsi.a \
-../server-src/libamserver.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
-chg_scsi_LDFLAGS =
+../server-src/libamserver.$(LIB_EXTENSION)
+chg_scsi_LDFLAGS = -lamanda
SCRIPTS = $(libexec_SCRIPTS)
CFLAGS = @CFLAGS@
--- restore-src/Makefile.in.old Tue Feb 23 11:58:06 1999
+++ restore-src/Makefile.in Tue Feb 23 12:58:50 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -93,7 +93,7 @@
BUILD_SERVER_PROGS_SBIN = @BUILD_SERVER_PROGS_SBIN@
BUILD_SERVER_SCRIPTS_SBIN = @BUILD_SERVER_SCRIPTS_SBIN@
BUILD_TAPE_LIB = @BUILD_TAPE_LIB@
-BUILD_TAPE_LTLIB = @BUILD_TAPE_LTLIB@
+BUILD_TAPE_LTLIB =
CAT = @CAT@
CC = @CC@
CHIO = @CHIO@
@@ -162,8 +162,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
-LDADD = ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+LDADD =
sbin_PROGRAMS = @BUILD_RESTORE_PROGS_SBIN@
@@ -181,17 +180,15 @@
DEFS = @DEFS@ -I. -I$(srcdir) -I../config
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lamtape -lamanda
amrestore_SOURCES = amrestore.c
amrestore_OBJECTS = amrestore.o
amrestore_LDADD = $(LDADD)
-amrestore_DEPENDENCIES = ../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amrestore_DEPENDENCIES =
amrestore_LDFLAGS =
amidxtaped_OBJECTS = amidxtaped.o
amidxtaped_LDADD = $(LDADD)
-amidxtaped_DEPENDENCIES = ../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amidxtaped_DEPENDENCIES =
amidxtaped_LDFLAGS =
CFLAGS = @CFLAGS@
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
--- server-src/Makefile.in.old Tue Feb 23 13:01:08 1999
+++ server-src/Makefile.in Tue Feb 23 13:03:27 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -93,7 +93,7 @@
BUILD_SERVER_PROGS_SBIN = @BUILD_SERVER_PROGS_SBIN@
BUILD_SERVER_SCRIPTS_SBIN = @BUILD_SERVER_SCRIPTS_SBIN@
BUILD_TAPE_LIB = @BUILD_TAPE_LIB@
-BUILD_TAPE_LTLIB = @BUILD_TAPE_LTLIB@
+BUILD_TAPE_LTLIB =
CAT = @CAT@
CC = @CC@
CHIO = @CHIO@
@@ -162,9 +162,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
-LDADD = libamserver.$(LIB_EXTENSION) \
- ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+LDADD = libamserver.$(LIB_EXTENSION)
SUFFIXES = .sh .pl
@@ -234,7 +232,7 @@
DEFS = @DEFS@ -I. -I$(srcdir) -I../config
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lamtape -lamanda
libamserver_a_LIBADD =
libamserver_a_OBJECTS = amindex.o changer.o clock.o conffile.o \
diskfile.o driverio.o holding.o infofile.o logfile.o tapefile.o find.o
@@ -249,109 +247,77 @@
amadmin_SOURCES = amadmin.c
amadmin_OBJECTS = amadmin.o
amadmin_LDADD = $(LDADD)
-amadmin_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amadmin_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amadmin_LDFLAGS =
amcheck_SOURCES = amcheck.c
amcheck_OBJECTS = amcheck.o
amcheck_LDADD = $(LDADD)
-amcheck_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amcheck_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amcheck_LDFLAGS =
amflush_SOURCES = amflush.c
amflush_OBJECTS = amflush.o
amflush_LDADD = $(LDADD)
-amflush_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amflush_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amflush_LDFLAGS =
amindexd_OBJECTS = amindexd.o disk_history.o list_dir.o
amindexd_LDADD = $(LDADD)
-amindexd_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amindexd_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amindexd_LDFLAGS =
amlabel_SOURCES = amlabel.c
amlabel_OBJECTS = amlabel.o
amlabel_LDADD = $(LDADD)
-amlabel_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amlabel_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amlabel_LDFLAGS =
amtape_SOURCES = amtape.c
amtape_OBJECTS = amtape.o
amtape_LDADD = $(LDADD)
-amtape_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amtape_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amtape_LDFLAGS =
amtrmidx_SOURCES = amtrmidx.c
amtrmidx_OBJECTS = amtrmidx.o
amtrmidx_LDADD = $(LDADD)
-amtrmidx_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amtrmidx_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amtrmidx_LDFLAGS =
driver_SOURCES = driver.c
driver_OBJECTS = driver.o
driver_LDADD = $(LDADD)
-driver_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+driver_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
driver_LDFLAGS =
dumper_SOURCES = dumper.c
dumper_OBJECTS = dumper.o
dumper_LDADD = $(LDADD)
-dumper_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+dumper_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
dumper_LDFLAGS =
getconf_SOURCES = getconf.c
getconf_OBJECTS = getconf.o
getconf_LDADD = $(LDADD)
-getconf_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+getconf_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
getconf_LDFLAGS =
planner_SOURCES = planner.c
planner_OBJECTS = planner.o
planner_LDADD = $(LDADD)
-planner_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+planner_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
planner_LDFLAGS =
amreport_OBJECTS = reporter.o
amreport_LDADD = $(LDADD)
-amreport_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amreport_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amreport_LDFLAGS =
taper_SOURCES = taper.c
taper_OBJECTS = taper.o
taper_LDADD = $(LDADD)
-taper_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+taper_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
taper_LDFLAGS =
diskfile_OBJECTS = diskfile.test.o
diskfile_LDADD = $(LDADD)
-diskfile_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+diskfile_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
diskfile_LDFLAGS =
conffile_OBJECTS = conffile.test.o
conffile_LDADD = $(LDADD)
-conffile_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+conffile_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
conffile_LDFLAGS =
infofile_OBJECTS = infofile.test.o
infofile_LDADD = $(LDADD)
-infofile_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+infofile_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
infofile_LDFLAGS =
SCRIPTS = $(sbin_SCRIPTS)

View file

@ -0,0 +1,57 @@
--- changer-src/chg-scsi.c.orig Sat Sep 19 03:55:13 1998
+++ changer-src/chg-scsi.c Mon Feb 22 20:00:39 1999
@@ -527,6 +527,15 @@
{
FILE *out=NULL;
int cnt=0;
+
+ /* if we have a long timeout, sleep a long time before access.
+ * This is avoid lots of error messages for drives which need a lot of time
+ */
+ if ((timeout /2) > 1) {
+ timeout = timeout / 2;
+ sleep(timeout);
+ }
+
while ((cnt<timeout) && (NULL==(out=fopen(tapedev,"w+")))){
cnt++;
sleep(1);
@@ -634,7 +643,10 @@
/* Get the configuration parameters */
if (tape_device[0] >= '0' && tape_device[0] <= '9' && tape_device[1] == 0){
- read_config(changer_file,&chg);
+ if (read_config(changer_file,&chg) == -1) {
+ perror(changer_file);
+ exit(1);
+ }
confnum=atoi(tape_device);
use_slots = chg.conf[confnum].end-chg.conf[confnum].start+1;
slot_offset = chg.conf[confnum].start;
@@ -717,7 +729,7 @@
if (need_eject)
eject_tape(tape_device);
(void)unload(fd, drive_num, oldtarget);
- if (ask_clean(tape_device,need_sleep))
+ if (clean_slot != -1 && ask_clean(tape_device,need_sleep))
clean_tape(fd,tape_device,clean_file,drive_num,
clean_slot,maxclean,time_file);
loaded=0;
@@ -751,7 +763,7 @@
if (need_eject)
eject_tape(tape_device);
(void)unload(fd, drive_num, target);
- if (ask_clean(tape_device,need_sleep))
+ if (clean_slot != -1 && ask_clean(tape_device,need_sleep))
clean_tape(fd,tape_device,clean_file,drive_num,clean_slot,
maxclean,time_file);
}
@@ -776,7 +788,7 @@
if (need_eject)
eject_tape(tape_device);
(void)unload(fd, drive_num, target);
- if (ask_clean(tape_device,need_sleep))
+ if (clean_slot != -1 && ask_clean(tape_device,need_sleep))
clean_tape(fd,tape_device,clean_file,drive_num,clean_slot,
maxclean,time_file);
printf("%d %s\n", target, tape_device);

View file

@ -0,0 +1,21 @@
--- example/chg-scsi.conf.old Tue Feb 23 16:44:39 1999
+++ example/chg-scsi.conf Tue Feb 23 16:46:38 1999
@@ -2,6 +2,8 @@
number_configs 2
eject 1 # Tapedrives need an eject command
sleep 5 # Seconds to wait until the tape gets ready
+ # The driver first sleeps for <sleep>/2 seconds,
+ # then pool the drive every seconds.
cleanmax 10 # How many times could a cleaning tape get used
changerdev /dev/sch0
#
@@ -13,7 +15,8 @@
startuse 0 # The slots associated with the drive 0
enduse 9 #
statfile /usr/local/etc/amanda/tape5-slot # The file where the actual slot is stored
-cleancart 20 # the slot where the cleaningcartridge for drive 0 is located
+cleancart -1 # the slot where the cleaningcartridge for drive 0 is
+ # located. -1 means none.
cleanfile /usr/local/etc/amanda/tape0-clean # The file where the cleanings are recorded
usagecount /usr/local/etc/amanda/backup/totaltime

View file

@ -0,0 +1 @@
The Advanced Maryland Automatic Network Disk Archiver

View file

@ -0,0 +1,67 @@
This is an alpha-test release of Amanda, the Advanced Maryland Automatic
Network Disk Archiver. Amanda is a backup system designed to archive many
computers on a network to a single large-capacity tape drive. This release
is currently in daily use at the University of Maryland at College Park
Computer Science Department, backing up all the disks on all the
workstations in the department: currently over 70 gigabytes of data across
more than 400 filesystems on more than 146 workstations and servers, using
a single 5 Gigabyte Exabyte EXB-8500. Here are some features of Amanda:
* written in C, freely distributable.
* built on top of standard backup software: BSD Unix dump/restore, and
later GNU Tar and others.
* will back up multiple machines in parallel to a holding disk, blasting
finished dumps one by one to tape as fast as we can write files to
tape. For example, a ~2 Gb 8mm tape on a ~240K/s interface to a host
with a large holding disk can be filled by Amanda in under 4 hours.
* does simple tape management: will not overwrite the wrong tape.
* supports tape changers via a generic interface. Easily customizable to
any type of tape carousel, robot, or stacker that can be controlled via
the unix command line.
* supports Kerberos 4 security, including encrypted dumps. The Kerberos
support is available as a separate add-on package, see the file
KERBEROS.HOW-TO-GET on the ftp site, and the file docs/KERBEROS in this
package, for more details.
* for a restore, tells you what tapes you need, and finds the proper
backup image on the tape for you.
* recovers gracefully from errors, including down or hung machines.
* reports results, including all errors in detail, in email to operators.
* will dynamically adjust backup schedule to keep within constraints: no
more juggling by hand when adding disks and computers to network.
* includes a pre-run checker program, that conducts sanity checks on both
the tape server host and all the client hosts (in parallel), and will
send an e-mail report of any problems that could cause the backups to
fail.
* can compress dumps before sending over net, with either compress or gzip.
* can optionally syncronize with external backups, for those large
timesharing computers where you want to do full dumps when the system
is down in single-user mode (since BSD dump is not reliable on active
filesystems): Amanda will still do your daily dumps.
* lots of other options; Amanda is very configurable.
Amanda requires a host that is mostly idle at night, with a large capacity
tape drive (e.g. an EXABYTE or DAT tape). This becomes the "tape server
host". All the computers you are going to dump are the "backup client
hosts". The server host can also be a client host.
Amanda works best with one or more large "holding disk" partition on the
server host available to it for buffering dumps before writing to tape.
The holding disk allows Amanda to run backups in parallel to the disk, only
writing them to tape when the backup is finished. Note that the holding
disk is not required: without it Amanda will run backups sequentially to
the tape drive. Running it this way kills the great performance, but still
allows you to take advantage of Amanda's other features.
As a rule of thumb, for best performance the holding disk should be larger
than the dump output from your largest disk partitions. For example, if
you are backing up some full gigabyte disks that compress down to 500 MB,
then you'll want 500 MB on your holding disk. On the other hand, if those
gigabyte drives are partitioned into 500 MB filesystems, they'll probably
compress down to 250 MB and you'll only need that much on your holding
disk. Amanda will perform better with larger holding disks. We use 800 MB
for our holding disk.
Actually, Amanda will still work if you have full dumps that are larger
than the holding disk: Amanda will send those dumps directly to tape one at
a time. If you have many such dumps you will be limited by the dump speed
of those machines.

View file

@ -0,0 +1,85 @@
@comment $NetBSD: PLIST,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
lib/libamserver.a
lib/libamserver-2.4.1p1.so.0.0
libexec/amcat.awk
libexec/amidxtaped
libexec/amindexd
libexec/amplot.awk
libexec/amplot.g
libexec/amplot.gp
libexec/amtrmidx
libexec/chg-scsi
libexec/chg-zd-mtx
libexec/chg-chio
libexec/chg-chs
libexec/chg-manual
libexec/chg-mtx
libexec/chg-multi
libexec/chg-rth
libexec/driver
libexec/dumper
libexec/getconf
libexec/planner
libexec/taper
man/man8/amadmin.8
man/man8/amcheck.8
man/man8/amcheckdb.8
man/man8/amcleanup.8
man/man8/amdump.8
man/man8/amflush.8
man/man8/amlabel.8
man/man8/amoverview.8
man/man8/amplot.8
man/man8/amreport.8
man/man8/amrestore.8
man/man8/amrmtape.8
man/man8/amstatus.8
man/man8/amtape.8
man/man8/amtoc.8
man/man8/amverify.8
sbin/amadmin
sbin/amcheck
sbin/amcheckdb
sbin/amcleanup
sbin/amdump
sbin/amflush
sbin/amlabel
sbin/amoverview
sbin/amplot
sbin/amreport
sbin/amrestore
sbin/amrmtape
sbin/amstatus
sbin/amtape
sbin/amtoc
sbin/amverify
share/doc/amanda/FAQ
share/doc/amanda/INDEXING
share/doc/amanda/INSTALL
share/doc/amanda/INTERNALS
share/doc/amanda/KERBEROS
share/doc/amanda/LABEL.PRINTING
share/doc/amanda/MULTITAPE
share/doc/amanda/RESTORE
share/doc/amanda/SAMBA
share/doc/amanda/SECURITY
share/doc/amanda/SYSTEM.NOTES
share/doc/amanda/TAPE.CHANGERS
share/doc/amanda/TAPETYPES
share/doc/amanda/UPGRADE
share/doc/amanda/WHATS.NEW
share/doc/amanda/WISHLIST
share/doc/amanda/YEAR2000
share/doc/amanda/ZFTAPE
share/examples/amanda/8.5x11.ps
share/examples/amanda/DIN-A4.ps
share/examples/amanda/DLT.ps
share/examples/amanda/EXB-8500.ps
share/examples/amanda/HP-DAT.ps
share/examples/amanda/amanda.conf
share/examples/amanda/chg-multi.conf
share/examples/amanda/chg-scsi.conf
share/examples/amanda/config.site
share/examples/amanda/disklist
@dirrm share/doc/amanda
@dirrm share/examples/amanda

View file

@ -0,0 +1,40 @@
# $NetBSD: Makefile,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
# FreeBSD Id: Makefile,v 1.9 1997/03/08 05:00:11 gpalmer Exp
#
DISTNAME= amanda-2.4.1p1
PKGNAME= amanda-client-2.4.1p1
CATEGORIES= misc
MASTER_SITES= ftp://ftp.cs.umd.edu/pub/amanda/
MAINTAINER= packages@netbsd.org
HOMEPAGE= http://www.amanda.org/
DEPENDS+= readline-2.2:../../devel/readline
DEPENDS+= gtar-1.12:../../archivers/gtar
DEPENDS+= amanda-common-2.4.1p1:../amanda-common
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
.include "../../mk/bsd.prefs.mk"
AMANDA_USER?= backup
AMANDA_GROUP= operator
CONFIGURE_ARGS+= --with-user=${AMANDA_USER} \
--with-group=${AMANDA_GROUP} \
--with-mmap --with-amandahosts \
--with-includes=${PREFIX}/include \
--with-libraries=${PREFIX}/lib \
--with-dump-honor-nodump \
--without-server --without-restore
.if defined(AMANDA_SMB)
CONFIGURE_ARGS+= --with-smbclient
DEPENDS+= samba-2.0.2:../../net/samba
.endif
CONFIGURE_ENV+= INSTALL_SCRIPT="${INSTALL_SCRIPT}"
.include "../../mk/bsd.pkg.mk"

View file

@ -0,0 +1,3 @@
$NetBSD: md5,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
MD5 (amanda-2.4.1p1.tar.gz) = 13f34dc97c35f85f88e54ca25b2009ed

View file

@ -0,0 +1,20 @@
$NetBSD: patch-aa,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
--- configure.orig Sat Jul 18 10:34:33 1998
+++ configure Sat Jul 18 10:35:03 1998
@@ -4204,6 +4204,7 @@
echo "$ac_t""no" 1>&6
fi
+if false; then
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -4249,6 +4250,7 @@
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
+fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2

View file

@ -0,0 +1,144 @@
--- client-src/Makefile.in.old Tue Feb 23 11:09:57 1999
+++ client-src/Makefile.in Tue Feb 23 11:11:28 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -162,12 +162,11 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
-LDADD = libamclient.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+LDADD = libamclient.$(LIB_EXTENSION)
SUFFIXES = .sh .pl
-libexec_PROGRAMS = versionsuffix @BUILD_CLIENT_PROGS_LIBEXEC@
+libexec_PROGRAMS = @BUILD_CLIENT_PROGS_LIBEXEC@
# these are used for testing only:
TEST_PROGS = getfsent
@@ -224,7 +223,7 @@
DEFS = @DEFS@ -I. -I$(srcdir) -I../config
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lamanda
libamclient_a_OBJECTS = amandates.o getfsent.o unctime.o
LTLIBRARIES = $(lib_LTLIBRARIES)
@@ -234,60 +233,50 @@
amandad_SOURCES = amandad.c
amandad_OBJECTS = amandad.o
amandad_LDADD = $(LDADD)
-amandad_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amandad_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
amandad_LDFLAGS =
calcsize_SOURCES = calcsize.c
calcsize_OBJECTS = calcsize.o
calcsize_LDADD = $(LDADD)
-calcsize_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+calcsize_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
calcsize_LDFLAGS =
killpgrp_SOURCES = killpgrp.c
killpgrp_OBJECTS = killpgrp.o
killpgrp_LDADD = $(LDADD)
-killpgrp_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+killpgrp_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
killpgrp_LDFLAGS =
rundump_SOURCES = rundump.c
rundump_OBJECTS = rundump.o
rundump_LDADD = $(LDADD)
-rundump_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+rundump_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
rundump_LDFLAGS =
runtar_SOURCES = runtar.c
runtar_OBJECTS = runtar.o
runtar_LDADD = $(LDADD)
-runtar_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+runtar_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
runtar_LDFLAGS =
selfcheck_SOURCES = selfcheck.c
selfcheck_OBJECTS = selfcheck.o
selfcheck_LDADD = $(LDADD)
-selfcheck_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+selfcheck_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
selfcheck_LDFLAGS =
sendbackup_OBJECTS = sendbackup.o sendbackup-dump.o sendbackup-gnutar.o
sendbackup_LDADD = $(LDADD)
-sendbackup_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+sendbackup_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
sendbackup_LDFLAGS =
sendsize_SOURCES = sendsize.c
sendsize_OBJECTS = sendsize.o
sendsize_LDADD = $(LDADD)
-sendsize_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+sendsize_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
sendsize_LDFLAGS =
getfsent_OBJECTS = getfsent.test.o
getfsent_LDADD = $(LDADD)
-getfsent_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+getfsent_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
getfsent_LDFLAGS =
versionsuffix_SOURCES = versionsuffix.c
versionsuffix_OBJECTS = versionsuffix.o
versionsuffix_LDADD = $(LDADD)
-versionsuffix_DEPENDENCIES = libamclient.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+versionsuffix_DEPENDENCIES = libamclient.$(LIB_EXTENSION)
versionsuffix_LDFLAGS =
SCRIPTS = $(libexec_SCRIPTS) $(sbin_SCRIPTS)
--- recover-src/Makefile.in.old Tue Feb 23 11:34:04 1999
+++ recover-src/Makefile.in Tue Feb 23 11:36:07 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -164,9 +164,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
LDADD = @LEXLIB@ \
- ../client-src/libamclient.$(LIB_EXTENSION) \
- ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+ ../client-src/libamclient.$(LIB_EXTENSION)
EXTRA_PROGRAMS = amrecover
@@ -189,13 +187,11 @@
DEFS = @DEFS@ -I. -I$(srcdir) -I../config
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lamanda -lamtape
amrecover_OBJECTS = amrecover.o display_commands.o extract_list.o \
help.o set_commands.o uparse.o uscan.o
amrecover_LDADD = $(LDADD)
-amrecover_DEPENDENCIES = ../client-src/libamclient.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amrecover_DEPENDENCIES = ../client-src/libamclient.$(LIB_EXTENSION)
amrecover_LDFLAGS =
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LEXLIB = @LEXLIB@

View file

@ -0,0 +1,11 @@
--- Makefile.in.old Tue Feb 23 10:37:10 1999
+++ Makefile.in Tue Feb 23 10:38:36 1999
@@ -157,7 +157,7 @@
AUTOCONF = @AUTOCONF@ --localdir=config
SUBDIRS=config \
- common-src client-src tape-src \
+ client-src tape-src \
server-src restore-src recover-src \
changer-src amplot man \
example

View file

@ -0,0 +1,16 @@
--- man/Makefile.in.old Tue Feb 23 11:12:23 1999
+++ man/Makefile.in Tue Feb 23 11:12:46 1999
@@ -158,12 +158,7 @@
transform = s,x,x,;
-man_MANS = amadmin.8 amanda.8 amcheck.8 \
- amcheckdb.8 amcleanup.8 amdump.8 \
- amflush.8 amlabel.8 amoverview.8 \
- amplot.8 amrecover.8 amrestore.8 \
- amrmtape.8 amtape.8 amtoc.8 \
- amverify.8 amstatus.8 amreport.8
+man_MANS = amrecover.8
EXTRA_DIST = amplot.8 amrestore.8 amtape.8
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs

View file

@ -0,0 +1 @@
The Advanced Maryland Automatic Network Disk Archiver

View file

@ -0,0 +1,67 @@
This is an alpha-test release of Amanda, the Advanced Maryland Automatic
Network Disk Archiver. Amanda is a backup system designed to archive many
computers on a network to a single large-capacity tape drive. This release
is currently in daily use at the University of Maryland at College Park
Computer Science Department, backing up all the disks on all the
workstations in the department: currently over 70 gigabytes of data across
more than 400 filesystems on more than 146 workstations and servers, using
a single 5 Gigabyte Exabyte EXB-8500. Here are some features of Amanda:
* written in C, freely distributable.
* built on top of standard backup software: BSD Unix dump/restore, and
later GNU Tar and others.
* will back up multiple machines in parallel to a holding disk, blasting
finished dumps one by one to tape as fast as we can write files to
tape. For example, a ~2 Gb 8mm tape on a ~240K/s interface to a host
with a large holding disk can be filled by Amanda in under 4 hours.
* does simple tape management: will not overwrite the wrong tape.
* supports tape changers via a generic interface. Easily customizable to
any type of tape carousel, robot, or stacker that can be controlled via
the unix command line.
* supports Kerberos 4 security, including encrypted dumps. The Kerberos
support is available as a separate add-on package, see the file
KERBEROS.HOW-TO-GET on the ftp site, and the file docs/KERBEROS in this
package, for more details.
* for a restore, tells you what tapes you need, and finds the proper
backup image on the tape for you.
* recovers gracefully from errors, including down or hung machines.
* reports results, including all errors in detail, in email to operators.
* will dynamically adjust backup schedule to keep within constraints: no
more juggling by hand when adding disks and computers to network.
* includes a pre-run checker program, that conducts sanity checks on both
the tape server host and all the client hosts (in parallel), and will
send an e-mail report of any problems that could cause the backups to
fail.
* can compress dumps before sending over net, with either compress or gzip.
* can optionally syncronize with external backups, for those large
timesharing computers where you want to do full dumps when the system
is down in single-user mode (since BSD dump is not reliable on active
filesystems): Amanda will still do your daily dumps.
* lots of other options; Amanda is very configurable.
Amanda requires a host that is mostly idle at night, with a large capacity
tape drive (e.g. an EXABYTE or DAT tape). This becomes the "tape server
host". All the computers you are going to dump are the "backup client
hosts". The server host can also be a client host.
Amanda works best with one or more large "holding disk" partition on the
server host available to it for buffering dumps before writing to tape.
The holding disk allows Amanda to run backups in parallel to the disk, only
writing them to tape when the backup is finished. Note that the holding
disk is not required: without it Amanda will run backups sequentially to
the tape drive. Running it this way kills the great performance, but still
allows you to take advantage of Amanda's other features.
As a rule of thumb, for best performance the holding disk should be larger
than the dump output from your largest disk partitions. For example, if
you are backing up some full gigabyte disks that compress down to 500 MB,
then you'll want 500 MB on your holding disk. On the other hand, if those
gigabyte drives are partitioned into 500 MB filesystems, they'll probably
compress down to 250 MB and you'll only need that much on your holding
disk. Amanda will perform better with larger holding disks. We use 800 MB
for our holding disk.
Actually, Amanda will still work if you have full dumps that are larger
than the holding disk: Amanda will send those dumps directly to tape one at
a time. If you have many such dumps you will be limited by the dump speed
of those machines.

View file

@ -0,0 +1,14 @@
@comment $NetBSD: PLIST,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
lib/libamclient.a
lib/libamclient-2.4.1p1.so.0.0
libexec/amandad
libexec/calcsize
libexec/killpgrp
libexec/patch-system
libexec/rundump
libexec/runtar
libexec/selfcheck
libexec/sendbackup
libexec/sendsize
man/man8/amrecover.8
sbin/amrecover

View file

@ -0,0 +1,33 @@
# $NetBSD: Makefile,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
# FreeBSD Id: Makefile,v 1.9 1997/03/08 05:00:11 gpalmer Exp
#
DISTNAME= amanda-2.4.1p1
PKGNAME= amanda-common-2.4.1p1
CATEGORIES= misc
MASTER_SITES= ftp://ftp.cs.umd.edu/pub/amanda/
MAINTAINER= packages@netbsd.org
HOMEPAGE= http://www.amanda.org/
DEPENDS+= addnerd-1.6:../../sysutils/addnerd
AMANDA_USER?= backup
AMANDA_GROUP= operator
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-user=${AMANDA_USER} \
--with-group=${AMANDA_GROUP} \
--with-mmap --with-amandahosts \
--with-includes=${PREFIX}/include \
--with-libraries=${PREFIX}/lib \
--with-dump-honor-nodump \
--without-server --without-restore --without-client
CONFIGURE_ENV+= INSTALL_SCRIPT="${INSTALL_SCRIPT}"
pre-install:
@${SETENV} ${MAKE_ENV} addnerd -g ${AMANDA_GROUP} ${AMANDA_USER}
.include "../../mk/bsd.pkg.mk"

View file

@ -0,0 +1,3 @@
$NetBSD: md5,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
MD5 (amanda-2.4.1p1.tar.gz) = 13f34dc97c35f85f88e54ca25b2009ed

View file

@ -0,0 +1,20 @@
$NetBSD: patch-aa,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
--- configure.orig Sat Jul 18 10:34:33 1998
+++ configure Sat Jul 18 10:35:03 1998
@@ -4204,6 +4204,7 @@
echo "$ac_t""no" 1>&6
fi
+if false; then
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -4249,6 +4250,7 @@
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
+fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2

View file

@ -0,0 +1,11 @@
--- tape-src/Makefile.in.old Tue Feb 23 11:45:50 1999
+++ tape-src/Makefile.in Tue Feb 23 11:45:21 1999
@@ -162,7 +162,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
-lib_LTLIBRARIES = @BUILD_TAPE_LTLIB@
+lib_LTLIBRARIES = libamtape.la
EXTRA_LTLIBRARIES = libamtape.la
noinst_LIBRARIES = @BUILD_TAPE_LIB@

View file

@ -0,0 +1,16 @@
--- man/Makefile.in.old Tue Feb 23 10:24:35 1999
+++ man/Makefile.in Tue Feb 23 10:25:34 1999
@@ -158,12 +158,7 @@
transform = s,x,x,;
-man_MANS = amadmin.8 amanda.8 amcheck.8 \
- amcheckdb.8 amcleanup.8 amdump.8 \
- amflush.8 amlabel.8 amoverview.8 \
- amplot.8 amrecover.8 amrestore.8 \
- amrmtape.8 amtape.8 amtoc.8 \
- amverify.8 amstatus.8 amreport.8
+man_MANS = amanda.8
EXTRA_DIST = amplot.8 amrestore.8 amtape.8
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs

View file

@ -0,0 +1 @@
The Advanced Maryland Automatic Network Disk Archiver

View file

@ -0,0 +1,67 @@
This is an alpha-test release of Amanda, the Advanced Maryland Automatic
Network Disk Archiver. Amanda is a backup system designed to archive many
computers on a network to a single large-capacity tape drive. This release
is currently in daily use at the University of Maryland at College Park
Computer Science Department, backing up all the disks on all the
workstations in the department: currently over 70 gigabytes of data across
more than 400 filesystems on more than 146 workstations and servers, using
a single 5 Gigabyte Exabyte EXB-8500. Here are some features of Amanda:
* written in C, freely distributable.
* built on top of standard backup software: BSD Unix dump/restore, and
later GNU Tar and others.
* will back up multiple machines in parallel to a holding disk, blasting
finished dumps one by one to tape as fast as we can write files to
tape. For example, a ~2 Gb 8mm tape on a ~240K/s interface to a host
with a large holding disk can be filled by Amanda in under 4 hours.
* does simple tape management: will not overwrite the wrong tape.
* supports tape changers via a generic interface. Easily customizable to
any type of tape carousel, robot, or stacker that can be controlled via
the unix command line.
* supports Kerberos 4 security, including encrypted dumps. The Kerberos
support is available as a separate add-on package, see the file
KERBEROS.HOW-TO-GET on the ftp site, and the file docs/KERBEROS in this
package, for more details.
* for a restore, tells you what tapes you need, and finds the proper
backup image on the tape for you.
* recovers gracefully from errors, including down or hung machines.
* reports results, including all errors in detail, in email to operators.
* will dynamically adjust backup schedule to keep within constraints: no
more juggling by hand when adding disks and computers to network.
* includes a pre-run checker program, that conducts sanity checks on both
the tape server host and all the client hosts (in parallel), and will
send an e-mail report of any problems that could cause the backups to
fail.
* can compress dumps before sending over net, with either compress or gzip.
* can optionally syncronize with external backups, for those large
timesharing computers where you want to do full dumps when the system
is down in single-user mode (since BSD dump is not reliable on active
filesystems): Amanda will still do your daily dumps.
* lots of other options; Amanda is very configurable.
Amanda requires a host that is mostly idle at night, with a large capacity
tape drive (e.g. an EXABYTE or DAT tape). This becomes the "tape server
host". All the computers you are going to dump are the "backup client
hosts". The server host can also be a client host.
Amanda works best with one or more large "holding disk" partition on the
server host available to it for buffering dumps before writing to tape.
The holding disk allows Amanda to run backups in parallel to the disk, only
writing them to tape when the backup is finished. Note that the holding
disk is not required: without it Amanda will run backups sequentially to
the tape drive. Running it this way kills the great performance, but still
allows you to take advantage of Amanda's other features.
As a rule of thumb, for best performance the holding disk should be larger
than the dump output from your largest disk partitions. For example, if
you are backing up some full gigabyte disks that compress down to 500 MB,
then you'll want 500 MB on your holding disk. On the other hand, if those
gigabyte drives are partitioned into 500 MB filesystems, they'll probably
compress down to 250 MB and you'll only need that much on your holding
disk. Amanda will perform better with larger holding disks. We use 800 MB
for our holding disk.
Actually, Amanda will still work if you have full dumps that are larger
than the holding disk: Amanda will send those dumps directly to tape one at
a time. If you have many such dumps you will be limited by the dump speed
of those machines.

View file

@ -0,0 +1,7 @@
@comment $NetBSD: PLIST,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
lib/libamanda.a
lib/libamanda-2.4.1p1.so.0.0
lib/libamtape.a
lib/libamtape-2.4.1p1.so.0.0
libexec/versionsuffix
man/man8/amanda.8

View file

@ -0,0 +1,53 @@
# $NetBSD: Makefile,v 1.1.1.1 1999/02/23 17:03:41 bouyer Exp $
# FreeBSD Id: Makefile,v 1.9 1997/03/08 05:00:11 gpalmer Exp
#
DISTNAME= amanda-2.4.1p1
PKGNAME= amanda-server-2.4.1p1
CATEGORIES= misc
MASTER_SITES= ftp://ftp.cs.umd.edu/pub/amanda/
MAINTAINER= packages@netbsd.org
HOMEPAGE= http://www.amanda.org/
DEPENDS+= readline-2.2:../../devel/readline
DEPENDS+= gnuplot-3.7:../../graphics/gnuplot
DEPENDS+= amanda-common-2.4.1p1:../amanda-common
USE_PERL5= yes
AMANDA_USER?= backup
AMANDA_GROUP= operator
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-user=${AMANDA_USER} \
--with-group=${AMANDA_GROUP} \
--with-mmap --with-amandahosts \
--with-includes=${PREFIX}/include \
--with-libraries=${PREFIX}/lib \
--with-dump-honor-nodump \
--without-client
CONFIGURE_ENV+= INSTALL_SCRIPT="${INSTALL_SCRIPT}"
post-install:
.if !defined(NOPORTDOCS)
${MKDIR} ${PREFIX}/share/doc/amanda
${MKDIR} ${PREFIX}/share/examples/amanda
for i in ${WRKDIR}/${DISTNAME}/docs/* ; do \
${INSTALL_DATA} $$i ${PREFIX}/share/doc/amanda; \
done
for i in ${WRKDIR}/${DISTNAME}/example/8.5x11.ps \
${WRKDIR}/${DISTNAME}/example/DIN-A4.ps \
${WRKDIR}/${DISTNAME}/example/DLT.ps \
${WRKDIR}/${DISTNAME}/example/EXB-8500.ps \
${WRKDIR}/${DISTNAME}/example/HP-DAT.ps \
${WRKDIR}/${DISTNAME}/example/amanda.conf \
${WRKDIR}/${DISTNAME}/example/chg-multi.conf \
${WRKDIR}/${DISTNAME}/example/chg-scsi.conf \
${WRKDIR}/${DISTNAME}/example/config.site \
${WRKDIR}/${DISTNAME}/example/disklist; do \
${INSTALL_DATA} $$i ${PREFIX}/share/examples/amanda; \
done
.endif
.include "../../mk/bsd.pkg.mk"

View file

@ -0,0 +1,3 @@
$NetBSD: md5,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
MD5 (amanda-2.4.1p1.tar.gz) = 13f34dc97c35f85f88e54ca25b2009ed

View file

@ -0,0 +1,20 @@
$NetBSD: patch-aa,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
--- configure.orig Sat Jul 18 10:34:33 1998
+++ configure Sat Jul 18 10:35:03 1998
@@ -4204,6 +4204,7 @@
echo "$ac_t""no" 1>&6
fi
+if false; then
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -4249,6 +4250,7 @@
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
+fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2

View file

@ -0,0 +1,11 @@
--- client-src/Makefile.in.old Tue Feb 23 10:34:37 1999
+++ client-src/Makefile.in Tue Feb 23 10:35:09 1999
@@ -167,7 +167,7 @@
SUFFIXES = .sh .pl
-libexec_PROGRAMS = versionsuffix @BUILD_CLIENT_PROGS_LIBEXEC@
+libexec_PROGRAMS = @BUILD_CLIENT_PROGS_LIBEXEC@
# these are used for testing only:
TEST_PROGS = getfsent

View file

@ -0,0 +1,11 @@
--- Makefile.in.old Tue Feb 23 10:37:10 1999
+++ Makefile.in Tue Feb 23 10:38:36 1999
@@ -157,7 +157,7 @@
AUTOCONF = @AUTOCONF@ --localdir=config
SUBDIRS=config \
- common-src client-src tape-src \
+ client-src \
server-src restore-src recover-src \
changer-src amplot man \
example

View file

@ -0,0 +1,15 @@
--- man/Makefile.in.old Tue Feb 23 10:43:23 1999
+++ man/Makefile.in Tue Feb 23 10:42:34 1999
@@ -158,10 +158,10 @@
transform = s,x,x,;
-man_MANS = amadmin.8 amanda.8 amcheck.8 \
+man_MANS = amadmin.8 amcheck.8 \
amcheckdb.8 amcleanup.8 amdump.8 \
amflush.8 amlabel.8 amoverview.8 \
- amplot.8 amrecover.8 amrestore.8 \
+ amplot.8 amrestore.8 \
amrmtape.8 amtape.8 amtoc.8 \
amverify.8 amstatus.8 amreport.8

View file

@ -0,0 +1,259 @@
--- changer-src/Makefile.in.old Tue Feb 23 11:55:44 1999
+++ changer-src/Makefile.in Tue Feb 23 11:57:09 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -93,7 +93,7 @@
BUILD_SERVER_PROGS_SBIN = @BUILD_SERVER_PROGS_SBIN@
BUILD_SERVER_SCRIPTS_SBIN = @BUILD_SERVER_SCRIPTS_SBIN@
BUILD_TAPE_LIB = @BUILD_TAPE_LIB@
-BUILD_TAPE_LTLIB = @BUILD_TAPE_LTLIB@
+BUILD_TAPE_LTLIB =
CAT = @CAT@
CC = @CC@
CHIO = @CHIO@
@@ -161,8 +161,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
# they cross-reference each other a bit, so need to be included twice
-LDADD = ../server-src/libamserver.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+LDADD = ../server-src/libamserver.$(LIB_EXTENSION)
SUFFIXES = .pl .sh
@@ -203,9 +202,8 @@
chg_scsi_OBJECTS = chg-scsi.o
chg_scsi_DEPENDENCIES = libscsi.a \
-../server-src/libamserver.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
-chg_scsi_LDFLAGS =
+../server-src/libamserver.$(LIB_EXTENSION)
+chg_scsi_LDFLAGS = -lamanda
SCRIPTS = $(libexec_SCRIPTS)
CFLAGS = @CFLAGS@
--- restore-src/Makefile.in.old Tue Feb 23 11:58:06 1999
+++ restore-src/Makefile.in Tue Feb 23 12:58:50 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -93,7 +93,7 @@
BUILD_SERVER_PROGS_SBIN = @BUILD_SERVER_PROGS_SBIN@
BUILD_SERVER_SCRIPTS_SBIN = @BUILD_SERVER_SCRIPTS_SBIN@
BUILD_TAPE_LIB = @BUILD_TAPE_LIB@
-BUILD_TAPE_LTLIB = @BUILD_TAPE_LTLIB@
+BUILD_TAPE_LTLIB =
CAT = @CAT@
CC = @CC@
CHIO = @CHIO@
@@ -162,8 +162,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
-LDADD = ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+LDADD =
sbin_PROGRAMS = @BUILD_RESTORE_PROGS_SBIN@
@@ -181,17 +180,15 @@
DEFS = @DEFS@ -I. -I$(srcdir) -I../config
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lamtape -lamanda
amrestore_SOURCES = amrestore.c
amrestore_OBJECTS = amrestore.o
amrestore_LDADD = $(LDADD)
-amrestore_DEPENDENCIES = ../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amrestore_DEPENDENCIES =
amrestore_LDFLAGS =
amidxtaped_OBJECTS = amidxtaped.o
amidxtaped_LDADD = $(LDADD)
-amidxtaped_DEPENDENCIES = ../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amidxtaped_DEPENDENCIES =
amidxtaped_LDFLAGS =
CFLAGS = @CFLAGS@
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
--- server-src/Makefile.in.old Tue Feb 23 13:01:08 1999
+++ server-src/Makefile.in Tue Feb 23 13:03:27 1999
@@ -83,7 +83,7 @@
BUILD_CLIENT_SCRIPTS_LIBEXEC = @BUILD_CLIENT_SCRIPTS_LIBEXEC@
BUILD_CLIENT_SCRIPTS_SBIN = @BUILD_CLIENT_SCRIPTS_SBIN@
BUILD_COMMON_LIB = @BUILD_COMMON_LIB@
-BUILD_COMMON_LTLIB = @BUILD_COMMON_LTLIB@
+BUILD_COMMON_LTLIB =
BUILD_RECOVER_PROGS_SBIN = @BUILD_RECOVER_PROGS_SBIN@
BUILD_RESTORE_PROGS_LIBEXEC = @BUILD_RESTORE_PROGS_LIBEXEC@
BUILD_RESTORE_PROGS_SBIN = @BUILD_RESTORE_PROGS_SBIN@
@@ -93,7 +93,7 @@
BUILD_SERVER_PROGS_SBIN = @BUILD_SERVER_PROGS_SBIN@
BUILD_SERVER_SCRIPTS_SBIN = @BUILD_SERVER_SCRIPTS_SBIN@
BUILD_TAPE_LIB = @BUILD_TAPE_LIB@
-BUILD_TAPE_LTLIB = @BUILD_TAPE_LTLIB@
+BUILD_TAPE_LTLIB =
CAT = @CAT@
CC = @CC@
CHIO = @CHIO@
@@ -162,9 +162,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(AMANDA_CFLAGS)
-LDADD = libamserver.$(LIB_EXTENSION) \
- ../tape-src/libamtape.$(LIB_EXTENSION) \
- ../common-src/libamanda.$(LIB_EXTENSION)
+LDADD = libamserver.$(LIB_EXTENSION)
SUFFIXES = .sh .pl
@@ -234,7 +232,7 @@
DEFS = @DEFS@ -I. -I$(srcdir) -I../config
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
+LIBS = @LIBS@ -lamtape -lamanda
libamserver_a_LIBADD =
libamserver_a_OBJECTS = amindex.o changer.o clock.o conffile.o \
diskfile.o driverio.o holding.o infofile.o logfile.o tapefile.o find.o
@@ -249,109 +247,77 @@
amadmin_SOURCES = amadmin.c
amadmin_OBJECTS = amadmin.o
amadmin_LDADD = $(LDADD)
-amadmin_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amadmin_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amadmin_LDFLAGS =
amcheck_SOURCES = amcheck.c
amcheck_OBJECTS = amcheck.o
amcheck_LDADD = $(LDADD)
-amcheck_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amcheck_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amcheck_LDFLAGS =
amflush_SOURCES = amflush.c
amflush_OBJECTS = amflush.o
amflush_LDADD = $(LDADD)
-amflush_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amflush_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amflush_LDFLAGS =
amindexd_OBJECTS = amindexd.o disk_history.o list_dir.o
amindexd_LDADD = $(LDADD)
-amindexd_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amindexd_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amindexd_LDFLAGS =
amlabel_SOURCES = amlabel.c
amlabel_OBJECTS = amlabel.o
amlabel_LDADD = $(LDADD)
-amlabel_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amlabel_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amlabel_LDFLAGS =
amtape_SOURCES = amtape.c
amtape_OBJECTS = amtape.o
amtape_LDADD = $(LDADD)
-amtape_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amtape_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amtape_LDFLAGS =
amtrmidx_SOURCES = amtrmidx.c
amtrmidx_OBJECTS = amtrmidx.o
amtrmidx_LDADD = $(LDADD)
-amtrmidx_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amtrmidx_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amtrmidx_LDFLAGS =
driver_SOURCES = driver.c
driver_OBJECTS = driver.o
driver_LDADD = $(LDADD)
-driver_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+driver_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
driver_LDFLAGS =
dumper_SOURCES = dumper.c
dumper_OBJECTS = dumper.o
dumper_LDADD = $(LDADD)
-dumper_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+dumper_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
dumper_LDFLAGS =
getconf_SOURCES = getconf.c
getconf_OBJECTS = getconf.o
getconf_LDADD = $(LDADD)
-getconf_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+getconf_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
getconf_LDFLAGS =
planner_SOURCES = planner.c
planner_OBJECTS = planner.o
planner_LDADD = $(LDADD)
-planner_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+planner_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
planner_LDFLAGS =
amreport_OBJECTS = reporter.o
amreport_LDADD = $(LDADD)
-amreport_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+amreport_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
amreport_LDFLAGS =
taper_SOURCES = taper.c
taper_OBJECTS = taper.o
taper_LDADD = $(LDADD)
-taper_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+taper_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
taper_LDFLAGS =
diskfile_OBJECTS = diskfile.test.o
diskfile_LDADD = $(LDADD)
-diskfile_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+diskfile_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
diskfile_LDFLAGS =
conffile_OBJECTS = conffile.test.o
conffile_LDADD = $(LDADD)
-conffile_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+conffile_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
conffile_LDFLAGS =
infofile_OBJECTS = infofile.test.o
infofile_LDADD = $(LDADD)
-infofile_DEPENDENCIES = libamserver.$(LIB_EXTENSION) \
-../tape-src/libamtape.$(LIB_EXTENSION) \
-../common-src/libamanda.$(LIB_EXTENSION)
+infofile_DEPENDENCIES = libamserver.$(LIB_EXTENSION)
infofile_LDFLAGS =
SCRIPTS = $(sbin_SCRIPTS)

View file

@ -0,0 +1,57 @@
--- changer-src/chg-scsi.c.orig Sat Sep 19 03:55:13 1998
+++ changer-src/chg-scsi.c Mon Feb 22 20:00:39 1999
@@ -527,6 +527,15 @@
{
FILE *out=NULL;
int cnt=0;
+
+ /* if we have a long timeout, sleep a long time before access.
+ * This is avoid lots of error messages for drives which need a lot of time
+ */
+ if ((timeout /2) > 1) {
+ timeout = timeout / 2;
+ sleep(timeout);
+ }
+
while ((cnt<timeout) && (NULL==(out=fopen(tapedev,"w+")))){
cnt++;
sleep(1);
@@ -634,7 +643,10 @@
/* Get the configuration parameters */
if (tape_device[0] >= '0' && tape_device[0] <= '9' && tape_device[1] == 0){
- read_config(changer_file,&chg);
+ if (read_config(changer_file,&chg) == -1) {
+ perror(changer_file);
+ exit(1);
+ }
confnum=atoi(tape_device);
use_slots = chg.conf[confnum].end-chg.conf[confnum].start+1;
slot_offset = chg.conf[confnum].start;
@@ -717,7 +729,7 @@
if (need_eject)
eject_tape(tape_device);
(void)unload(fd, drive_num, oldtarget);
- if (ask_clean(tape_device,need_sleep))
+ if (clean_slot != -1 && ask_clean(tape_device,need_sleep))
clean_tape(fd,tape_device,clean_file,drive_num,
clean_slot,maxclean,time_file);
loaded=0;
@@ -751,7 +763,7 @@
if (need_eject)
eject_tape(tape_device);
(void)unload(fd, drive_num, target);
- if (ask_clean(tape_device,need_sleep))
+ if (clean_slot != -1 && ask_clean(tape_device,need_sleep))
clean_tape(fd,tape_device,clean_file,drive_num,clean_slot,
maxclean,time_file);
}
@@ -776,7 +788,7 @@
if (need_eject)
eject_tape(tape_device);
(void)unload(fd, drive_num, target);
- if (ask_clean(tape_device,need_sleep))
+ if (clean_slot != -1 && ask_clean(tape_device,need_sleep))
clean_tape(fd,tape_device,clean_file,drive_num,clean_slot,
maxclean,time_file);
printf("%d %s\n", target, tape_device);

View file

@ -0,0 +1,21 @@
--- example/chg-scsi.conf.old Tue Feb 23 16:44:39 1999
+++ example/chg-scsi.conf Tue Feb 23 16:46:38 1999
@@ -2,6 +2,8 @@
number_configs 2
eject 1 # Tapedrives need an eject command
sleep 5 # Seconds to wait until the tape gets ready
+ # The driver first sleeps for <sleep>/2 seconds,
+ # then pool the drive every seconds.
cleanmax 10 # How many times could a cleaning tape get used
changerdev /dev/sch0
#
@@ -13,7 +15,8 @@
startuse 0 # The slots associated with the drive 0
enduse 9 #
statfile /usr/local/etc/amanda/tape5-slot # The file where the actual slot is stored
-cleancart 20 # the slot where the cleaningcartridge for drive 0 is located
+cleancart -1 # the slot where the cleaningcartridge for drive 0 is
+ # located. -1 means none.
cleanfile /usr/local/etc/amanda/tape0-clean # The file where the cleanings are recorded
usagecount /usr/local/etc/amanda/backup/totaltime

View file

@ -0,0 +1 @@
The Advanced Maryland Automatic Network Disk Archiver

View file

@ -0,0 +1,67 @@
This is an alpha-test release of Amanda, the Advanced Maryland Automatic
Network Disk Archiver. Amanda is a backup system designed to archive many
computers on a network to a single large-capacity tape drive. This release
is currently in daily use at the University of Maryland at College Park
Computer Science Department, backing up all the disks on all the
workstations in the department: currently over 70 gigabytes of data across
more than 400 filesystems on more than 146 workstations and servers, using
a single 5 Gigabyte Exabyte EXB-8500. Here are some features of Amanda:
* written in C, freely distributable.
* built on top of standard backup software: BSD Unix dump/restore, and
later GNU Tar and others.
* will back up multiple machines in parallel to a holding disk, blasting
finished dumps one by one to tape as fast as we can write files to
tape. For example, a ~2 Gb 8mm tape on a ~240K/s interface to a host
with a large holding disk can be filled by Amanda in under 4 hours.
* does simple tape management: will not overwrite the wrong tape.
* supports tape changers via a generic interface. Easily customizable to
any type of tape carousel, robot, or stacker that can be controlled via
the unix command line.
* supports Kerberos 4 security, including encrypted dumps. The Kerberos
support is available as a separate add-on package, see the file
KERBEROS.HOW-TO-GET on the ftp site, and the file docs/KERBEROS in this
package, for more details.
* for a restore, tells you what tapes you need, and finds the proper
backup image on the tape for you.
* recovers gracefully from errors, including down or hung machines.
* reports results, including all errors in detail, in email to operators.
* will dynamically adjust backup schedule to keep within constraints: no
more juggling by hand when adding disks and computers to network.
* includes a pre-run checker program, that conducts sanity checks on both
the tape server host and all the client hosts (in parallel), and will
send an e-mail report of any problems that could cause the backups to
fail.
* can compress dumps before sending over net, with either compress or gzip.
* can optionally syncronize with external backups, for those large
timesharing computers where you want to do full dumps when the system
is down in single-user mode (since BSD dump is not reliable on active
filesystems): Amanda will still do your daily dumps.
* lots of other options; Amanda is very configurable.
Amanda requires a host that is mostly idle at night, with a large capacity
tape drive (e.g. an EXABYTE or DAT tape). This becomes the "tape server
host". All the computers you are going to dump are the "backup client
hosts". The server host can also be a client host.
Amanda works best with one or more large "holding disk" partition on the
server host available to it for buffering dumps before writing to tape.
The holding disk allows Amanda to run backups in parallel to the disk, only
writing them to tape when the backup is finished. Note that the holding
disk is not required: without it Amanda will run backups sequentially to
the tape drive. Running it this way kills the great performance, but still
allows you to take advantage of Amanda's other features.
As a rule of thumb, for best performance the holding disk should be larger
than the dump output from your largest disk partitions. For example, if
you are backing up some full gigabyte disks that compress down to 500 MB,
then you'll want 500 MB on your holding disk. On the other hand, if those
gigabyte drives are partitioned into 500 MB filesystems, they'll probably
compress down to 250 MB and you'll only need that much on your holding
disk. Amanda will perform better with larger holding disks. We use 800 MB
for our holding disk.
Actually, Amanda will still work if you have full dumps that are larger
than the holding disk: Amanda will send those dumps directly to tape one at
a time. If you have many such dumps you will be limited by the dump speed
of those machines.

View file

@ -0,0 +1,85 @@
@comment $NetBSD: PLIST,v 1.1.1.1 1999/02/23 17:03:42 bouyer Exp $
lib/libamserver.a
lib/libamserver-2.4.1p1.so.0.0
libexec/amcat.awk
libexec/amidxtaped
libexec/amindexd
libexec/amplot.awk
libexec/amplot.g
libexec/amplot.gp
libexec/amtrmidx
libexec/chg-scsi
libexec/chg-zd-mtx
libexec/chg-chio
libexec/chg-chs
libexec/chg-manual
libexec/chg-mtx
libexec/chg-multi
libexec/chg-rth
libexec/driver
libexec/dumper
libexec/getconf
libexec/planner
libexec/taper
man/man8/amadmin.8
man/man8/amcheck.8
man/man8/amcheckdb.8
man/man8/amcleanup.8
man/man8/amdump.8
man/man8/amflush.8
man/man8/amlabel.8
man/man8/amoverview.8
man/man8/amplot.8
man/man8/amreport.8
man/man8/amrestore.8
man/man8/amrmtape.8
man/man8/amstatus.8
man/man8/amtape.8
man/man8/amtoc.8
man/man8/amverify.8
sbin/amadmin
sbin/amcheck
sbin/amcheckdb
sbin/amcleanup
sbin/amdump
sbin/amflush
sbin/amlabel
sbin/amoverview
sbin/amplot
sbin/amreport
sbin/amrestore
sbin/amrmtape
sbin/amstatus
sbin/amtape
sbin/amtoc
sbin/amverify
share/doc/amanda/FAQ
share/doc/amanda/INDEXING
share/doc/amanda/INSTALL
share/doc/amanda/INTERNALS
share/doc/amanda/KERBEROS
share/doc/amanda/LABEL.PRINTING
share/doc/amanda/MULTITAPE
share/doc/amanda/RESTORE
share/doc/amanda/SAMBA
share/doc/amanda/SECURITY
share/doc/amanda/SYSTEM.NOTES
share/doc/amanda/TAPE.CHANGERS
share/doc/amanda/TAPETYPES
share/doc/amanda/UPGRADE
share/doc/amanda/WHATS.NEW
share/doc/amanda/WISHLIST
share/doc/amanda/YEAR2000
share/doc/amanda/ZFTAPE
share/examples/amanda/8.5x11.ps
share/examples/amanda/DIN-A4.ps
share/examples/amanda/DLT.ps
share/examples/amanda/EXB-8500.ps
share/examples/amanda/HP-DAT.ps
share/examples/amanda/amanda.conf
share/examples/amanda/chg-multi.conf
share/examples/amanda/chg-scsi.conf
share/examples/amanda/config.site
share/examples/amanda/disklist
@dirrm share/doc/amanda
@dirrm share/examples/amanda