Imported Upstream version 2.5.1p3 upstream/2.5.1p3
authorBdale Garbee <bdale@gag.com>
Tue, 20 May 2008 04:47:41 +0000 (22:47 -0600)
committerBdale Garbee <bdale@gag.com>
Tue, 20 May 2008 04:47:41 +0000 (22:47 -0600)
169 files changed:
ChangeLog
Makefile.in
NEWS
amandad-src/Makefile.in
amandad-src/amandad.c
amplot/Makefile.in
changer-src/Makefile.in
changer-src/chg-chio.pl.in
changer-src/chg-disk.sh.in
changer-src/chg-iomega.pl.in
changer-src/chg-manual.sh.in
changer-src/chg-mtx.sh.in
changer-src/chg-rait.sh.in
changer-src/chg-rth.pl.in
changer-src/chg-scsi.c
changer-src/chg-zd-mtx.sh.in
changer-src/scsi-changer-driver.c
changer-src/scsi-linux.c
changer-src/sense.c
client-src/Makefile.in
client-src/amandates.h
client-src/calcsize.c
client-src/clientconf.c
client-src/selfcheck.c
client-src/sendbackup-dump.c
client-src/sendbackup-gnutar.c
client-src/sendbackup.c
client-src/sendsize.c
common-src/Makefile.in
common-src/amanda.h
common-src/bsd-security.c
common-src/bsdtcp-security.c
common-src/clock.c
common-src/dgram.c
common-src/event.c
common-src/file.c
common-src/packet.c
common-src/packet.h
common-src/protocol.c
common-src/rsh-security.c
common-src/security-util.c
common-src/stream.c
common-src/util.c
common-src/util.h
common-src/version.c
common-src/versuff.c
config/Makefile.in
config/config.h.in
configure
configure.in
docs/Appendix.txt
docs/Makefile.am
docs/Makefile.in
docs/amadmin.8.txt
docs/amanda.8.txt
docs/amanda.conf.5.txt
docs/amcheck.8.txt
docs/amdump.8.txt
docs/amfetchdump.8.txt
docs/amflush.8.txt
docs/amgetconf.8.txt
docs/amlabel.8.txt
docs/amrecover.8.txt
docs/amreport.8.txt
docs/amtape.8.txt
docs/howto-gpg.txt [new file with mode: 0644]
docs/howto-wrapper.txt
docs/index.txt
docs/indexing.txt
docs/install.txt
docs/manpages.txt
docs/using.txt
dumper-src/Makefile.in
dumper-src/gnutar.pl.in
example/Makefile.in
man/Makefile.am
man/Makefile.in
man/amadmin.8
man/amaespipe.8
man/amanda-client.conf.5
man/amanda.8
man/amanda.conf.5
man/amcheck.8
man/amcheckdb.8
man/amcleanup.8
man/amcrypt-ossl-asym.8
man/amcrypt-ossl.8
man/amcrypt.8
man/amdd.8
man/amdump.8
man/amfetchdump.8
man/amflush.8
man/amgetconf.8
man/amlabel.8
man/ammt.8
man/amoverview.8
man/amplot.8
man/amrecover.8
man/amreport.8
man/amrestore.8
man/amrmtape.8
man/amstatus.8
man/amtape.8
man/amtapetype.8
man/amtoc.8
man/amverify.8
man/amverifyrun.8
man/xml-source/amadmin.8.xml
man/xml-source/amaespipe.8.xml
man/xml-source/amanda-client.conf.5.xml
man/xml-source/amanda.8.xml
man/xml-source/amanda.conf.5.xml
man/xml-source/amcheck.8.xml
man/xml-source/amcrypt.8.xml
man/xml-source/amdump.8.xml
man/xml-source/amfetchdump.8.xml
man/xml-source/amflush.8.xml
man/xml-source/amgetconf.8.xml
man/xml-source/amlabel.8.xml
man/xml-source/ammt.8.xml
man/xml-source/amrecover.8.xml
man/xml-source/amreport.8.xml
man/xml-source/amtape.8.xml
man/xslt/man.xsl
oldrecover-src/Makefile.in
oldrecover-src/amrecover.c
oldrecover-src/extract_list.c
recover-src/Makefile.in
recover-src/amrecover.c
recover-src/display_commands.c
recover-src/extract_list.c
recover-src/set_commands.c
restore-src/Makefile.in
restore-src/amfetchdump.c
restore-src/amidxtaped.c
restore-src/amrestore.c
restore-src/restore.c
server-src/Makefile.in
server-src/amadmin.c
server-src/amcheck.c
server-src/amcleanup.sh.in
server-src/amcleanupdisk.c
server-src/amdump.sh.in
server-src/amflush.c
server-src/amindex.c
server-src/amindex.h
server-src/amindexd.c
server-src/amlabel.c
server-src/amoverview.pl.in
server-src/amstatus.pl.in
server-src/amtape.c
server-src/amtoc.pl.in
server-src/changer.c
server-src/conffile.c
server-src/conffile.h
server-src/diskfile.c
server-src/diskfile.h
server-src/driver.c
server-src/driverio.c
server-src/dumper.c
server-src/getconf.c
server-src/planner.c
server-src/reporter.c
server-src/server_util.c
server-src/server_util.h
server-src/taper.c
server-src/taperscan.c
tape-src/Makefile.in
tape-src/output-file.c

index 2a827bdb47c2393e90e4c9aebf5729e14b152f36..e298b3c2bc1cacfac8b7ce886cf4a5602d2991f2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,447 @@
+2007-02-07  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amindexd.c: Use dbfd.
+
+2007-02-06  Jean-Louis Martineau <martineau@zmanda.com>
+       * Amanda 2.5.1p3 released.
+       * configure.in: AM_INIT_AUTOMAKE(amanda, 2.5.1p3).
+       * NEWS: Update for 2.5.1p3
+
+2007-02-06  Jean-Louis Martineau <martineau@zmanda.com>
+       * man/xml-source/amcheck.8.xml,
+         server-src/amlabel.c: Merge from zmanda.
+
+2007-02-06  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/clock.c (timesub): The result must always be positive.
+
+2007-02-05  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/chg-zd-mtx.sh.in: Fix for sed and IMPORT/EXPORT.
+
+2007-02-05  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amcheck.c: Add parentheses.
+
+2007-02-02  Jean-Louis Martineau <martineau@zmanda.com>
+       * docs/*.txt: Update from xml-docs.
+
+2007-02-02  Jean-Louis Martineau <martineau@zmanda.com>
+       * man/Makefile.am: Use http://docbook.sourceforge.net
+       * man/xml-source/amadmin.8.xml, man/xml-source/amaespipe.8.xml,
+         man/xml-source/amanda.8.xml, man/xml-source/amanda-client.conf.5.xml,
+         man/xml-source/amanda.conf.5.xml, man/xml-source/amcheck.8.xml,
+         man/xml-source/amcrypt.8.xml, man/xml-source/amdump.8.xml,
+         man/xml-source/amfetchdump.8.xml, man/xml-source/amflush.8.xml,
+         man/xml-source/amgetconf.8.xml, man/xml-source/amlabel.8.xml,
+         man/xml-source/ammt.8.xml, man/xml-source/amrecover.8.xml,
+         man/xml-source/amreport.8.xml,
+         man/xml-source/amtape.8.xml: Fix for xmllint.
+       * man/xslt/man.xsl: Remove bogus code.
+
+2007-02-01  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/chg-zd-mtx.sh.in: Support IMPORT/EXPORT slot.
+
+2007-02-01  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amdump.sh.in: Output a starttime line.
+       * server-src/amflush.c: Output a starttime line.
+       * server-src/amstatus.pl.in: parse the starttime line.
+
+2007-01-26  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amdump.sh.in: Exit with a status.
+
+2007-01-26  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/diskfile.c: Use hostnext pointer.
+
+2007-01-26  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/reporter.c: Exit with a status.
+
+2007-01-26  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amstatus.pl.in: Exit with a status.
+
+2007-01-26  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amstatus.pl.in: Detect failed dump to tape.
+
+2007-01-25  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/changer.c (changer_command): Send stderr to dbfd().
+
+2007-01-25  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/diskfile.c: Check hostname have same case.
+
+2007-01-25  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/chg-zd-mtx.sh.in: Check if MT and MTX exists.
+
+2007-01-25  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/chg-zd-mtx.sh.in: Set CHANGER environment variable.
+
+2007-01-24  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/clientconf.c: Don;t check for duplicate -o options.
+       * common-src/util.c: Check for duplicate -o options.
+       * recover-src/amrecover.c: Change precedence of option.
+
+2007-01-24  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/diskfile.c: Fix compiler warning.
+
+2007-01-23  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/security-util.c (tcpm_recv_token): Check size < 0.
+
+2007-01-23  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/diskfile.c: Check duplicate DLE with match_host and
+                                match_disk.
+
+2007-01-18  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/selfcheck.c: Improve check if /etc/dumpdates in not there.
+
+2007-01-18  Jean-Louis Martineau <martineau@zmanda.com>
+       * restore-src/amfetchdump.c: Set arg_state to ARG_GET_HOST.
+
+2007-01-18  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amcheck.c: Check tape_access.
+       * server-src/taper.c: Improve message.
+
+2007-01-16  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/getconf.c: Fix segfault in parameter parsing.
+
+2007-01-11  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/conffile.c Set default length/filemark correctly.
+       * man/xml-source/amanda.conf.5.xml: Document they are in kbytes.
+
+2007-01-10  Jean-Louis Martineau <martineau@zmanda.com>
+       * amandad-src/amandad.c (do_sendpkt): Send packet if handle != NULL.
+
+2007-01-10  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/util.c, common-src/util.h, server-src/conffile.c,
+         server-src/diskfile.c: Keep different list for exclude file and list.
+
+2007-01-10  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/taper.c (read_file): Don't count first header twice.
+
+2007-01-05  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amstatus.pl.in: Fix split-dump accounting.
+
+2007-01-04  Jean-Louis Martineau <martineau@zmanda.com>
+       * restore-src/restore.c: Use prompt_in.
+
+2007-01-04  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/chg-chio.pl.in, changer-src/chg-iomega.pl.in,
+         changer-src/chg-rth.pl.in, dumper-src/gnutar.pl.in,
+         server-src/amoverview.pl.in, server-src/amstatus.pl.in,
+         server-src/amtoc.pl.in: Clean ENV and set PATH.
+
+2006-12-27  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/driver.c: Don't repport error for many run in a day if
+                              it's amflush.
+
+2006-12-27  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/util.c (quote_string): Escape '\' character.
+
+2006-12-22  Jean-Louis Martineau <martineau@zmanda.com>
+       * recover-src/display_commands.c: Send quoted text to amindexd.
+       * recover-src/extract_list.c: Send quoted text to amindexd.
+       * recover-src/set_commands.c: Send quoted text to amindexd.
+
+2006-12-22  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/chg-disk.sh.in: LASTSLOT in a changerfile for chg-disk.
+
+2006-12-22  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/sendsize.c: Compilation fix.
+
+2006-12-18  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/packet.c (pkt_init_empty): New function.
+       * common-src/packet.h (pkt_init_empty): New prototype.
+       * amandad-src/amandad.c, common-src/protocol.c,
+         common-src/security-util.c: Use pkt_init_empty.
+
+2006-12-18  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/conffile.c: Print nothing if the list is emtpy.
+
+2006-12-14  Jean-Louis Martineau <martineau@zmanda.com>
+       * restore-src/restore.c: Fix filename for output file.
+
+2006-12-12  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/util.c: Fix printf format error.
+
+2006-12-12  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/amanda.h: Define __attribute__ for gcc >= 3.
+       * common-src/packet.c (pkt_init): Accept NULL for fmt.
+       * amandad-src/amandad.c, common-src/protocol.c,
+         common-src/security-util.c: Pass NULL to pkt_init.
+       * amandad-src/amandad.c, changer-src/chg-scsi.c,
+         changer-src/scsi-linux.c, client-src/sendbackup.c,
+         common-src/amanda.h, common-src/event.c,
+         common-src/packet.c, common-src/security-util.c,
+         common-src/stream.c, oldrecover-src/amrecover.c,
+         restore-src/restore.c, server-src/amcheck.c,
+         server-src/driver.c, server-src/driverio.c,
+         server-src/taper.c: Fix printf format error.
+
+2006-12-12  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amindexd.c: Use fgets to read index file because they
+                                are not quoted.
+
+2006-12-12  Jean-Louis Martineau <martineau@zmanda.com>
+       * configure.in: Find patch for sort program.
+       * server-src/amindexd.c: Clean the indexd file between the uncompress
+                                and sort process.
+
+2006-12-08  Jean-Louis Martineau <martineau@zmanda.com>
+       * man/xml-source/amadmin.8.xml, man/xml-source/amanda.8.xml,
+         man/xml-source/amanda.conf.5.xml, man/xml-source/amcheck.8.xml,
+         man/xml-source/amfetchdump.8.xml, man/xml-source/ammt.8.xml,
+         man/xml-source/amrecover.8.xml: Move </note> tag to beginning of line
+
+2006-12-08  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/chg-rait.sh.in: Fix typo for -reset.
+
+2006-12-07  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/util.c (lookup_keyword): Use strcasecmp.
+       * common-src/util.c (get_conftoken): Don;t convert to uppercase.
+       * server-src/getconf.c: Don;t print extra '\n' for --list.
+
+2006-12-04  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amtape.h: Remove file.
+
+2006-11-29  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/sendbackup.c: Kill dump process on error.
+
+2006-11-29  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/chg-chio.pl.in: Check tapedev is set.
+       * changer-src/chg-disk.sh.in: Check tapedev is set.
+       * changer-src/chg-iomega.pl.in: Check tapedev is set.
+       * changer-src/chg-manual.sh.in: Check tapedev is set.
+       * changer-src/chg-mtx.sh.in: Check tapedev is set.
+       * changer-src/chg-rth.pl.in: Check tapedev is set.
+       * server-src/amcheck.c: Tapedev is needed only if tpchanger is not set.
+       * server-src/amflush.c: Tapedev is needed only if tpchanger is not set.
+       * server-src/amindexd.c: Tapedev is needed only if tpchanger is not set
+       * server-src/taper.c: Tapedev is needed only if tpchanger is not set.
+
+2006-11-29  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/sendbackup.c: Ignore tar exit with status 1.
+
+2006-11-29  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amindexd.c (clean_backslash): New function use to unescape
+                                                '\' characters in index files.
+
+2006-11-29  Jean-Louis Martineau <martineau@zmanda.com>
+       * restore-src/restore.c (search_tapes): Fix prompt_out setting.
+
+2006-11-24  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/util.c (copy_file): Fix compilation error.
+
+2006-11-24  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/sendbackup-dump.c, client-src/sendbackup-gnutar.c,
+         client-src/sendsize.c,
+         server-src/amindexd.c: Patch for gcc-3.2.3 to compile the new
+                                vstralloc macro.
+
+2006-11-24  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/file.c (old_sanitise_filename): New function.
+       * common-src/amanda.h (old_sanitise_filename): Prototype.
+       * common-src/util.c (copy_file): New function.
+       * common-src/util.h (copy_file): Prototype.
+       * server-src/diskfile.c: Check that two DLE doesn't get the same
+                                sanitized filename.
+       * server-src/amindex.c (getoldindexfname): New function.
+       * server-src/amindex.h (getoldindexfname): prototype.
+       * server-src/amindexd.c: Use the old sanitized filename if the new
+                                file doesn't exist.
+       * server-src/amcheck.c: Call check_infofile.
+       * server-src/planner.c: Call check_infofile.
+       * server-src/server_util.c (check_infofile): New function, will copy
+                        the old sanitizes info file if the new doesn't exist.
+       * server-src/server_util.h (check_infofile): Prototype.
+
+2006-11-23  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/security-util.c (tcpm_recv_token): amanda protocol
+         packet can be larger than NETWORK_BLOCK_BYTES
+
+2006-11-20  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/sendsize.c: Open the amandates file after the
+                                <config>/amanda-client.conf file is loaded.
+
+2006-11-20  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/security-util.c, server-src/amcheck.c,
+       * server-src/driver.c, server-src/dumper.c,
+       * server-src/planner.c, tape-src/output-file.c: Lint cleanup.
+
+2006-11-20  Ian Turner <ian@zmanda.com>
+       * tape-src/output-file.c: Fix a compilation error related to
+         improper type casts. Thanks to Satya Ganga for noticing this
+         problem.
+
+2006-11-20  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/driver.c: Use temporary variable to scanf an OFF_T_FMT.
+       * server-src/planner.c: Use temporary variable to scanf an OFF_T_FMT.
+
+2006-11-13  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/selfcheck.c: Work for estimate calcsize and
+                                 program "DUMP".
+
+2006-11-13  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amcheck.c: Don't ouput an warning if holdingdisk 'use'
+                               is set to 0.
+
+2006-11-09  Jean-Louis Martineau <martineau@zmanda.com>
+       * Amanda 2.5.1p2 released.
+       * configure.in: AM_INIT_AUTOMAKE(amanda, 2.5.1p2).
+       * NEWS: Update for 2.5.1p2
+
+2006-11-09  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/conffile.c (getconf_byname):
+                               Parse "DEFINE:identifer:parameter" format.
+       * server-src/conffile.c (getconf_list): New function to list a DEFINE.
+       * server-src/conffile.c (lookup_holdingdisk): New function.
+       * server-src/conffile.h (getconf_list,
+                                lookup_holdingdisk): New prototype.
+       * server-src/getconf.c: accept --list argument and
+                               "DEFINE:identifer:parameter" format.
+       * man/xml-source/amgetconf.8.xml: Document.
+
+2006-11-09  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/chg-scsi.c: Don't remove '_' from "generic_changer".
+       
+2006-11-08  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/amanda.h, common-src/security-util.c,
+         common-src/util.h, configure.in,
+         oldrecover-src/amrecover.c, oldrecover-src/extract_list.c,
+         recover-src/amrecover.c, recover-src/extract_list.c,
+         restore-src/amrestore.c, server-src/conffile.c,
+         server-src/dumper.c: Fix compiler error on Tru64.
+
+2006-11-08  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/driver.c: set off_t variable to 0 before sscanf.
+       * server-src/planner.c: set off_t variable to 0 before sscanf.
+
+2006-11-07  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amstatus.pl.in: Improve error message.
+
+2006-11-07  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/security-util.c: Fix coverity bug 170.
+       * server-src/diskfile.c: Fix coverity bug 147.
+
+2006-11-07  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/conffile.c (validate_chunksize): Check chunksize is >=
+                                                     2*DISK_BLOCK_KB
+
+2006-11-06  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/amanda.h: Define OFF_T_STRTOL.
+       * configure.in: Check for strtol and strtoll.
+
+2006-11-02  Ian Turner <ian@zmanda.com>
+       * common-src/amanda.h: Use atol if atoll is missing.
+
+2006-11-02  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/security-util.c: Better message on invalid size.
+
+2006-11-02  Jean-Louis Martineau <martineau@zmanda.com>
+       * configure.in: List bsdudp as a udp transport.
+
+2006-11-01  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/diskfile.c: Don't use 0 for NULL.
+
+2006-11-01  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/clientconf.c: Define AMANDATES_FILE
+       * client-src/amandates.h: Don't define AMANDATES_FILE
+
+2006-11-01  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/conffile.c: Rename DUMPTYPE_START_T to DUMPTYPE_STARTTIME.
+       * common-src/conffile.h: Rename DUMPTYPE_START_T to DUMPTYPE_STARTTIME.
+       * server-src/amadmin.c (disklist_one): Print correct starttime.
+       * server-src/diskfile.c: Set start_t to starttime.
+       * server-src/diskfile.h (disk_t): Add starttime.
+       * common-src/conffile.c (conf_print): Add a parameter if we want
+                                             CONFTYPE_STRING enclosed in ".
+       * server-src/planner.c: Use getconf_int to get etimeout value.
+       * common-src/conffile.c (CNF_CTIMEOUT, CNF_DTIMEOUT, CNF_ETIMEOUT):
+         They are of type CONFTYPE_INT
+         (CONFTYPE_TIME are for value parsed as "hhmm"")
+       * common-src/conffile.c (getconf_byname): Use conf_print().
+       * common-src/conffile.h: Add comment.
+       * server-src/amcheck.c, server-src/dumper.c, server-src/planner.c:
+         Use getconf_int to get timeout value.
+
+2006-11-01  Jean-Louis Martineau <martineau@zmanda.com>
+       * changer-src/scsi-changer-driver.c: Add Tandberg SLR100,
+                                            more debugging.
+       * changer-src/sense.c: Add Tandberg SLR100 Tape Drive "SLR100".
+
+2006-11-01  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/amanda.h: Define dbrename if !DEBUG_CODE.
+       * restore-src/amidxtaped.c: Declare i if !DEBUG_CODE.
+
+2006-10-25  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amtape.c: Use parse_conf instead of parse_server_conf.
+       * server-src/diskfile.c: Correct hostname allocation.
+
+2006-10-25  Jean-Louis Martineau <martineau@zmanda.com>
+       Patch by Jay Fenlason
+       * common-src/rsh-security.c: Fix.
+
+2006-10-24  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/conffile.c (get_config_options): Build and argv of the
+                                                     -o arguments.
+       * common-src/conffile.h (get_config_options): Prototype.
+       * server-src/driverio.c: exec dumper/chunker/driver with the argv from
+                                get_config_options
+       * server-src/amtape.c: Accept -o argument.
+       * man/xml-source/amtape.8.xml: Document it.
+
+2006-10-24  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/taper.c: Fix allocation problem on tapedev.
+
+2006-10-20  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/taper.c (free_split_buffer): Correct free.
+
+2006-10-19  Jean-Louis Martineau <martineau@zmanda.com>
+       * man/xml-source/amanda.conf.5.xml: Fix formating.
+
+2006-10-19  Jean-Louis Martineau <martineau@zmanda.com>
+       * client-src/calcsize.c: Quote amname.
+
+2006-10-16  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/dgram.c (dgram_cat),
+         common-src/packet.c (pkt_init, pkt_cat): Works correctly with
+                                                  vsnprintf returning -1.
+
+2006-10-11  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/planner.c: Improve message for dump larger than available
+                               tape space if runtapes > 1 and splitsize == 0.
+
+2006-10-10  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/driver.c (wait_children): Don't crash if dumper->chunker
+                                              is NULL
+
+2006-10-04  Jean-Louis Martineau <martineau@zmanda.com>
+       * amandad-src/amandad.c: Call security_recvpkt() on A_SENDNACK
+                                and dup P_REQ.
+       * common-src/security-util.c: Improve message.
+
+2006-10-03  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amcleanupdisk.c: Accept -o arguments.
+       * server-src/amcleanup.sh.in: Add missing 'shift' for non-linux system.
+                                     Accept -o arguments.
+
+2006-10-03  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amoverview.pl.in: Fix parsing of time field from amadmin.
+
+2006-10-03  Jean-Louis Martineau <martineau@zmanda.com>
+       * restore-src/amidxtaped.c, restore-src/restore.c,
+         server-src/amcheck.c, server-src/amflush.c,
+         server-src/amlabel.c, server-src/taper.c,
+         server-src/taperscan.c: Check for CNF_TAPEDEV == NULL.
+
+2006-10-03  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/conffile.c: Don't set CNF_TAPEDEV to DEFAULT_TAPE_DEVICE.
+       * configure.in: Don't set DEFAULT_TAPE_DEVICE.
+
+2006-09-29  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/bsdtcp-security.c: Add logging on error.
+
+2006-09-29  Jean-Louis Martineau <martineau@zmanda.com>
+       * server-src/amoverview.pl.in: Use shellwords instead of quotewords,
+         don't add date for disk not in the disklist.
+
+2006-09-28  Jean-Louis Martineau <martineau@zmanda.com>
+       * common-src/bsd-security.c: Fix %hd printf argument format.
+       * common-src/security-util.c: Fix %hd printf argument format.
+
 2006-09-27  Jean-Louis Martineau <martineau@zmanda.com>
        * Amanda 2.5.1p1 released.
        * configure.in: AM_INIT_AUTOMAKE(amanda, 2.5.1p1).
 2006-09-27  Jean-Louis Martineau <martineau@zmanda.com>
        * Amanda 2.5.1p1 released.
        * configure.in: AM_INIT_AUTOMAKE(amanda, 2.5.1p1).
index 601f63262b9ef08e733eda09699d454f5ed9c0f2..598bac208b4c89075d23c826cfc35a62321e304f 100644 (file)
@@ -169,6 +169,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -199,6 +200,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
diff --git a/NEWS b/NEWS
index 22a4542fb01bb58bb7a070351241a846b340577e..f88b5e89767570ecdad0738ae290e21ef7283418 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,25 @@
+Changes in release 2.5.1p3
+   * Many bugs fixed
+   * amrecover improve handling of not ascii filename in index.
+   * Works with tar-1.16 and exit status of 1.
+   * Can define a LASTSLOT in a chg-disk config file.
+
+Changes in release 2.5.1p2
+
+   * Many bugs fixed
+   * amoverview is working
+   * dumptype starttime is working
+
+   * Amanda command changes
+         o amtape accept the -o arguments
+         o amgetconf --list to list all tapetype, dumptype, holdingdisk
+           or interface
+         o amgetconf can return a value of a specific tapetype, dumptype,
+           holdingdisk or interface
+
+
 Changes in release 2.5.1p1
 Changes in release 2.5.1p1
+
    * Many bugs fixed:
          o Timeout waiting for ACK
          o "illegal density" with dump
    * Many bugs fixed:
          o Timeout waiting for ACK
          o "illegal density" with dump
@@ -8,6 +29,7 @@ Changes in release 2.5.1p1
    * Some other small cleanup.
    * Remove contrib/sst.
 
    * Some other small cleanup.
    * Remove contrib/sst.
 
+
 Changes in release 2.5.1
 
    * Defects found by Coverity scan and Klocwork K7 analysis tools fixed.
 Changes in release 2.5.1
 
    * Defects found by Coverity scan and Klocwork K7 analysis tools fixed.
index 80fd348141b89af0a7db0faf0023da2b9be05edf..ed050692c246c82e0f8f6fe92a246fbad08db83b 100644 (file)
@@ -175,6 +175,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -205,6 +206,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index 25a51830134b5f380446937606e27af0a1ffa6c5..2bc6df54b98b49dc73ec4c21f240de3c67c30e66 100644 (file)
@@ -25,7 +25,7 @@
  */
 
 /*
  */
 
 /*
- * $Id: amandad.c,v 1.18.2.1 2006/09/15 17:18:06 martinea Exp $
+ * $Id: amandad.c,v 1.18.2.5 2007/01/10 16:26:57 martinea Exp $
  *
  * handle client-host side of Amanda network communications, including
  * security checks, execution of the proper service, and acking the
  *
  * handle client-host side of Amanda network communications, including
  * security checks, execution of the proper service, and acking the
@@ -615,7 +615,7 @@ protocol_accept(
                strcmp(as->arguments, arguments) == 0) {
                    dbprintf(("%s: %s %s: already running, acking req\n",
                        debug_prefix_time(NULL), service, arguments));
                strcmp(as->arguments, arguments) == 0) {
                    dbprintf(("%s: %s %s: already running, acking req\n",
                        debug_prefix_time(NULL), service, arguments));
-                   pkt_init(&pkt_out, P_ACK, "");
+                   pkt_init_empty(&pkt_out, P_ACK);
                    goto send_pkt_out_no_delete;
            }
     }
                    goto send_pkt_out_no_delete;
            }
     }
@@ -730,6 +730,7 @@ state_machine(
                pkt_type2str(pkt->type));
            do_sendpkt(as->security_handle, &nak);
            amfree(nak.body);
                pkt_type2str(pkt->type));
            do_sendpkt(as->security_handle, &nak);
            amfree(nak.body);
+           security_recvpkt(as->security_handle, protocol_recv, as, -1);
 #ifdef AMANDAD_DEBUG
            dbprintf(("%s: state_machine: %p leaving (A_SENDNAK)\n",
                debug_prefix_time(NULL), as));
 #ifdef AMANDAD_DEBUG
            dbprintf(("%s: state_machine: %p leaving (A_SENDNAK)\n",
                debug_prefix_time(NULL), as));
@@ -770,7 +771,7 @@ s_sendack(
     (void)action;      /* Quiet unused parameter warning */
     (void)pkt;         /* Quiet unused parameter warning */
 
     (void)action;      /* Quiet unused parameter warning */
     (void)pkt;         /* Quiet unused parameter warning */
 
-    pkt_init(&ack, P_ACK, "");
+    pkt_init_empty(&ack, P_ACK);
     if (do_sendpkt(as->security_handle, &ack) < 0) {
        dbprintf(("%s: error sending ACK: %s\n",
            debug_prefix_time(NULL), security_geterror(as->security_handle)));
     if (do_sendpkt(as->security_handle, &ack) < 0) {
        dbprintf(("%s: error sending ACK: %s\n",
            debug_prefix_time(NULL), security_geterror(as->security_handle)));
@@ -823,8 +824,9 @@ s_repwait(
            dbprintf(("%s: received dup P_REQ packet, ACKing it\n",
                debug_prefix_time(NULL)));
            amfree(as->rep_pkt.body);
            dbprintf(("%s: received dup P_REQ packet, ACKing it\n",
                debug_prefix_time(NULL)));
            amfree(as->rep_pkt.body);
-           pkt_init(&as->rep_pkt, P_ACK, "");
+           pkt_init_empty(&as->rep_pkt, P_ACK);
            do_sendpkt(as->security_handle, &as->rep_pkt);
            do_sendpkt(as->security_handle, &as->rep_pkt);
+           security_recvpkt(as->security_handle, protocol_recv, as, -1);
            return (A_PENDING);
        }
        /* something unexpected.  Nak it */
            return (A_PENDING);
        }
        /* something unexpected.  Nak it */
@@ -879,7 +881,7 @@ s_repwait(
            pkt_init(&as->rep_pkt, P_PREP, "%s", as->repbuf);
            do_sendpkt(as->security_handle, &as->rep_pkt);
            amfree(as->rep_pkt.body);
            pkt_init(&as->rep_pkt, P_PREP, "%s", as->repbuf);
            do_sendpkt(as->security_handle, &as->rep_pkt);
            amfree(as->rep_pkt.body);
-           pkt_init(&as->rep_pkt, P_REP, "");
+           pkt_init_empty(&as->rep_pkt, P_REP);
        }
  
        return (A_PENDING);
        }
  
        return (A_PENDING);
@@ -934,7 +936,7 @@ s_processrep(
      */
     repbuf = stralloc(as->repbuf);
     amfree(as->rep_pkt.body);
      */
     repbuf = stralloc(as->repbuf);
     amfree(as->rep_pkt.body);
-    pkt_init(&as->rep_pkt, P_REP, "");
+    pkt_init_empty(&as->rep_pkt, P_REP);
     tok = strtok(repbuf, " ");
     if (tok == NULL)
        goto error;
     tok = strtok(repbuf, " ");
     if (tok == NULL)
        goto error;
@@ -1053,7 +1055,7 @@ s_ackwait(
        if (dh->netfd == NULL)
            continue;
        if (security_stream_accept(dh->netfd) < 0) {
        if (dh->netfd == NULL)
            continue;
        if (security_stream_accept(dh->netfd) < 0) {
-           dbprintf(("%s: stream %d accept failed: %s\n",
+           dbprintf(("%s: stream %ld accept failed: %s\n",
                debug_prefix_time(NULL),
                dh - &as->data[0], security_geterror(as->security_handle)));
            security_stream_close(dh->netfd);
                debug_prefix_time(NULL),
                dh - &as->data[0], security_geterror(as->security_handle)));
            security_stream_close(dh->netfd);
@@ -1589,7 +1591,10 @@ do_sendpkt(
 {
     dbprintf(("%s: sending %s pkt:\n<<<<<\n%s>>>>>\n",
        debug_prefix_time(NULL), pkt_type2str(pkt->type), pkt->body));
 {
     dbprintf(("%s: sending %s pkt:\n<<<<<\n%s>>>>>\n",
        debug_prefix_time(NULL), pkt_type2str(pkt->type), pkt->body));
-    return security_sendpkt(handle, pkt);
+    if (handle)
+       return security_sendpkt(handle, pkt);
+    else
+       return 1;
 }
 
 #ifdef AMANDAD_DEBUG
 }
 
 #ifdef AMANDAD_DEBUG
index 49eb2beec002e60d3dcb8c7dca6f6eb3a1abae0a..ca2b1384b021cdfd99ade90951360e938e5754bb 100644 (file)
@@ -150,6 +150,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -180,6 +181,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index 19906e5f37c2ea11fdd78156d1eeed4f03012dda..b547a30469a3d1ae9cb33bf555fce361ba46c585 100644 (file)
@@ -191,6 +191,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -221,6 +222,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index bb9d5a07b4d653608f7aefac75102a7e4a4ac631..79c7a393b05e237f464854cdc92b97b58077ad5a 100644 (file)
@@ -41,6 +41,9 @@ require 5.001;
 use English;
 use Getopt::Long;
 
 use English;
 use Getopt::Long;
 
+delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
+$ENV{'PATH'} = "/usr/bin:/usr/sbin:/sbin:/bin";
+
 $| = 1;
 
 if (-d "@AMANDA_DBGDIR@") {
 $| = 1;
 
 if (-d "@AMANDA_DBGDIR@") {
@@ -68,11 +71,13 @@ if ( "@USE_VERSION_SUFFIXES@" eq "yes" ) {
 
 chomp ($tapeDevice = `$sbindir/amgetconf$SUF tapedev 2>&1`);
 die "tapedev not found in amanda.conf"
 
 chomp ($tapeDevice = `$sbindir/amgetconf$SUF tapedev 2>&1`);
 die "tapedev not found in amanda.conf"
-       if !$tapeDevice or $tapeDevice =~ m/no such parameter/;
+       if !$tapeDevice or $tapeDevice eq "" or
+           $tapeDevice =~ m/no such parameter/;
 chomp ($changerDevice = `$sbindir/amgetconf$SUF changerdev 2>&1`);
 chomp $changerDevice;
 die "changerdev not found in amanda.conf"
 chomp ($changerDevice = `$sbindir/amgetconf$SUF changerdev 2>&1`);
 chomp $changerDevice;
 die "changerdev not found in amanda.conf"
-       if !$changerDevice or $changerDevice =~ m/no such parameter/;
+       if !$changerDevice or $changerDevice eq "" or
+           $changerDevice =~ m/no such parameter/;
 
 #
 # Initialise a few global variables
 
 #
 # Initialise a few global variables
index 543d96d0a1a9a94f248e8b80d1ea5d5635f1ed9c..c4f59f700ddf86df8b17f3bdb21c956f203aac42 100644 (file)
 #                     |- ...
 #                     |- slotn
 #      where 'slot_root_dir' is the tapedev 'file:xxx' parameter and 'n'
 #                     |- ...
 #                     |- slotn
 #      where 'slot_root_dir' is the tapedev 'file:xxx' parameter and 'n'
-#      is the tapecycle parameter.
-#      
+#      is the LASTSLOT value of your changerfile config file. If LASTSLOT is
+#      not defined, the value of the tapecycle parameter is used.
+#
 #      To use this driver, just put the line 'tpchanger "chg-disk"' in your
 #      amanda.conf.
 #
 #      To use this driver, just put the line 'tpchanger "chg-disk"' in your
 #      amanda.conf.
 #
-#      Example of use:
+#      Example of use (amanda.conf):
 #      --- cut here ---
 #      tapedev  "file:/BACKUP2/slots/"
 #      rawtapedev "file:/BACKUP2/slots/"
 #      changerdev "/dev/null"
 #      --- cut here ---
 #      tapedev  "file:/BACKUP2/slots/"
 #      rawtapedev "file:/BACKUP2/slots/"
 #      changerdev "/dev/null"
+#      changerfile "chg-disk"
 #      tpchanger "chg-disk"
 #      changerfile "/usr/local/amanda/etc/changer"
 #      tapetype HARD-DISK
 #      tpchanger "chg-disk"
 #      changerfile "/usr/local/amanda/etc/changer"
 #      tapetype HARD-DISK
 #      }
 #      --- cut here ---
 #
 #      }
 #      --- cut here ---
 #
-#      The number of slot is equal to your tapecyle.
+#      Example changerfile (chg-disk.conf):
+#      --- cut here ---
+#      LASTSLOT=12
+#      --- cut here ---
+#
+#      The number of slot is equal to your LASTSLOT or tapecycle.
 #      You must create the slots and data directory.
 #
 
 #      You must create the slots and data directory.
 #
 
@@ -75,6 +82,10 @@ fi
 MYNAME=$0
 
 TAPE=`amgetconf$SUF tapedev`
 MYNAME=$0
 
 TAPE=`amgetconf$SUF tapedev`
+if test X"$TAPE" == X""; then
+    echo "<none> tapedev not specified in amanda.conf." 1>&2
+    exit 2
+fi
 SLOTDIR=`echo $TAPE | sed 's/^file://'`
 
 isinteger() {
 SLOTDIR=`echo $TAPE | sed 's/^file://'`
 
 isinteger() {
@@ -99,6 +110,14 @@ fi
 
 # need rwx access to directory of changer file
 CHANGERFILE=`amgetconf$SUF changerfile`
 
 # need rwx access to directory of changer file
 CHANGERFILE=`amgetconf$SUF changerfile`
+conf_match=`expr "$CHANGERFILE" : .\*\.conf\$`
+if [ $conf_match -ge 6 ]; then
+        CONFIGFILE=$CHANGERFILE
+        CHANGERFILE=`echo $CHANGERFILE | sed 's/.conf$//g'`
+else
+        CONFIGFILE=$CHANGERFILE.conf
+fi
+
 CFDir=`dirname ${CHANGERFILE}`
 [ -d ${CFDir} -a -r ${CFDir} -a -w ${CFDir} -a -x ${CFDir} ] ||
        { echo "$MYNAME: need 'rwx' access to '$CFDir'" 1>&2 ; exit 2 ; }
 CFDir=`dirname ${CHANGERFILE}`
 [ -d ${CFDir} -a -r ${CFDir} -a -w ${CFDir} -a -x ${CFDir} ] ||
        { echo "$MYNAME: need 'rwx' access to '$CFDir'" 1>&2 ; exit 2 ; }
@@ -125,6 +144,9 @@ isinteger $CLEANCOUNT || { CLEANCOUNT=0 ; echo 0 > $CLEANFILE ; }
 
 FIRSTSLOT=1
 LASTSLOT=`amgetconf$SUF tapecycle`
 
 FIRSTSLOT=1
 LASTSLOT=`amgetconf$SUF tapecycle`
+if test -r $CONFIGFILE; then
+    . $CONFIGFILE
+fi
 CURSLOT=0
 CLEANSLOT=$LASTSLOT
 NSLOT=`expr $LASTSLOT - $FIRSTSLOT + 1`
 CURSLOT=0
 CLEANSLOT=$LASTSLOT
 NSLOT=`expr $LASTSLOT - $FIRSTSLOT + 1`
index 7307399ad5c303ad9010c0b2d051919b9ae595af..56a13299cc856f74c3393bd999420460925dc0f2 100644 (file)
@@ -53,6 +53,9 @@ require 5.001;
 use English;
 use Getopt::Long;
 
 use English;
 use Getopt::Long;
 
+delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
+$ENV{'PATH'} = "/usr/bin:/usr/sbin:/sbin:/bin";
+
 $| = 1;
 
 if (-d "@AMANDA_DBGDIR@") {
 $| = 1;
 
 if (-d "@AMANDA_DBGDIR@") {
@@ -81,11 +84,13 @@ if ( "@USE_VERSION_SUFFIXES@" eq "yes" ) {
 
 chomp ($tapeDevice = `$sbindir/amgetconf$SUF tapedev 2>&1`);
 die "tapedev not found in amanda.conf"
 
 chomp ($tapeDevice = `$sbindir/amgetconf$SUF tapedev 2>&1`);
 die "tapedev not found in amanda.conf"
-       if !$tapeDevice or $tapeDevice =~ m/no such parameter/;
+       if !$tapeDevice or $tapeDevice eq "" or
+           $tapeDevice =~ m/no such parameter/;
 chomp ($changerDevice = `$sbindir/amgetconf$SUF changerdev 2>&1`);
 chomp $changerDevice;
 die "changerdev not found in amanda.conf"
 chomp ($changerDevice = `$sbindir/amgetconf$SUF changerdev 2>&1`);
 chomp $changerDevice;
 die "changerdev not found in amanda.conf"
-       if !$changerDevice or $changerDevice =~ m/no such parameter/;
+       if !$changerDevice or $changerDevice eq "" or
+           $changerDevice =~ m/no such parameter/;
 
 #
 # Initialise a few global variables
 
 #
 # Initialise a few global variables
index 6dcfaa9d273132d20bb1eb437e53e29ea1824c04..205decfae4c2f2742e3ca7464fe5c5a05f65bd3e 100644 (file)
@@ -64,6 +64,12 @@ MAILER=@MAILER@
 ONLINEREGEX="ONLINE|READY|sense[_ ]key[(]0x0[)]|sense key error = 0|^er=0$|, mt_erreg: 0x0|^Current Driver State: at rest$"
 REPORTTO=`amgetconf$SUF mailto`
 tape=`amgetconf$SUF tapedev`
 ONLINEREGEX="ONLINE|READY|sense[_ ]key[(]0x0[)]|sense key error = 0|^er=0$|, mt_erreg: 0x0|^Current Driver State: at rest$"
 REPORTTO=`amgetconf$SUF mailto`
 tape=`amgetconf$SUF tapedev`
+
+if [ -z "$tape" ]; then
+  echo "<none> tapedev not specified in amanda.conf."
+  exit 2
+fi
+
 ORG=`amgetconf$SUF ORG`
 
 firstslot=1
 ORG=`amgetconf$SUF ORG`
 
 firstslot=1
index 2966161da9c03652044c9b0fd5cc9a086c3d0c46..3c8086d41b1ff69465f1dd43aab4452535be667d 100644 (file)
@@ -31,9 +31,19 @@ fi
 myname=$0
 
 tape=`amgetconf$SUF tapedev`
 myname=$0
 
 tape=`amgetconf$SUF tapedev`
+if [ -z "$tape" ]; then
+  echo "<none> tapedev not specified in amanda.conf";
+  exit 2;
+fi
+
 TAPE=`amgetconf$SUF changerdev`; export TAPE # for mtx command
 TAPE=`amgetconf$SUF changerdev`; export TAPE # for mtx command
+if [ -z "$TAPE" ]; then
+  echo "<none> changerdev not specified in amanda.conf";
+  exit 2;
+fi
+
 if [ "$tape" = "/dev/null" -o "$TAPE" = "/dev/null" ]; then
 if [ "$tape" = "/dev/null" -o "$TAPE" = "/dev/null" ]; then
-  echo "Both tapedev and changerdev must be specified in config file";
+  echo "<none> Both tapedev and changerdev must be specified in config file";
   exit 2;
 fi
 
   exit 2;
 fi
 
index 878996fe4c0ca3003db86e7f8e47ec2549bf0cd8..550709dd9915274cc08c852621f6ed3deff06137 100644 (file)
@@ -126,7 +126,7 @@ mydev=""
 mysep="{"
 
 case x$1 in
 mysep="{"
 
 case x$1 in
-x-slot|x-reseti|x-eject|x-search|x-label)
+x-slot|x-reset|x-eject|x-search|x-label)
 
     #
     # read slot number and device from each
 
     #
     # read slot number and device from each
index 96c7a796a515744b2a4b214976c3c93ba3e9712b..19f3981198304bc739c8d28cf5883ada99d2f251 100644 (file)
@@ -25,6 +25,9 @@ require 5.001;
 
 use Getopt::Long;
 
 
 use Getopt::Long;
 
+delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
+$ENV{'PATH'} = "/usr/bin:/usr/sbin:/sbin:/bin";
+
 $pname = "rth-changer";
 
 $prefix="@prefix@";
 $pname = "rth-changer";
 
 $prefix="@prefix@";
@@ -51,6 +54,9 @@ if (-x "$sbindir/ammt$SUF") {
 }
 
 $tapeDevice=`$sbindir/amgetconf$SUF tapedev`;
 }
 
 $tapeDevice=`$sbindir/amgetconf$SUF tapedev`;
+die "tapedev not found in amanda.conf"
+       if !$tapeDevice or $tapeDevice eq "" or
+           $tapeDevice =~ m/no such parameter/;
 
 sub getCurrentTape {
 
 
 sub getCurrentTape {
 
index 4282269f4db5c54d5364d5926274afac35da4c74..1e679a17a720a01ba4c3a2c1eaf45bfd1ef3c37c 100644 (file)
@@ -1,4 +1,4 @@
-static char rcsid[] = "$Id: chg-scsi.c,v 1.52 2006/07/25 18:18:46 martinea Exp $";
+static char rcsid[] = "$Id: chg-scsi.c,v 1.52.2.2 2006/12/12 14:56:37 martinea Exp $";
 /*
  * 
  *
 /*
  * 
  *
@@ -200,7 +200,7 @@ dump_changer_struct(
   dbprintf (("\traw: %d\n",chg->emubarcode));
   if (chg->debuglevel != NULL)
      dbprintf(("debug level     : %s\n", chg->debuglevel));
   dbprintf (("\traw: %d\n",chg->emubarcode));
   if (chg->debuglevel != NULL)
      dbprintf(("debug level     : %s\n", chg->debuglevel));
-  dbprintf(("Tapes need sleep: %d seconds\n",chg->sleep));
+  dbprintf(("Tapes need sleep: %d seconds\n", (int)chg->sleep));
   dbprintf(("Cleancycles     : %d\n",chg->cleanmax));
   dbprintf(("Changerdevice   : %s\n",chg->device));
   if (chg->labelfile != NULL)
   dbprintf(("Cleancycles     : %d\n",chg->cleanmax));
   dbprintf(("Changerdevice   : %s\n",chg->device));
   if (chg->labelfile != NULL)
@@ -399,15 +399,17 @@ read_config(
            fprintf(stderr,"drivenum %d is bad\n", drivenum);
            drivenum = 0;
          }
            fprintf(stderr,"drivenum %d is bad\n", drivenum);
            drivenum = 0;
          }
-          p = chg->conf[drivenum].changerident;
-          while (*p != '\0')
-          {
-            if (*p == '_')
+         if (strcmp(chg->conf[drivenum].changerident,"generic_changer") != 0) {
+            p = chg->conf[drivenum].changerident;
+            while (*p != '\0')
             {
             {
-              *p=' ';
+              if (*p == '_')
+              {
+                *p=' ';
+              }
+              p++;
             }
             }
-            p++;
-          }
+         }
           break;
         case TAPEIDENT:
           chg->conf[drivenum].tapeident = stralloc(value);
           break;
         case TAPEIDENT:
           chg->conf[drivenum].tapeident = stralloc(value);
index db25d10ae4a0b6196bd23c8fc08176595ae708a8..281112cd5449f16dc734ce8768b214c31f0c9b35 100644 (file)
@@ -68,6 +68,7 @@
 #            Storage Element 7:Full :VolumeTag=SR0007
 #            Storage Element 8:Full :VolumeTag=SR0008
 #            Storage Element 9:Full :VolumeTag=SR0009
 #            Storage Element 7:Full :VolumeTag=SR0007
 #            Storage Element 8:Full :VolumeTag=SR0008
 #            Storage Element 9:Full :VolumeTag=SR0009
+#            Storage Element 10 IMPORT/EXPORT:Full :VolumeTag=SR0009
 #
 #     This says the first storage slot (element) is "1" and the last
 #     is "9".  If you allocate the entire robot to Amanda, you do not need
 #
 #     This says the first storage slot (element) is "1" and the last
 #     is "9".  If you allocate the entire robot to Amanda, you do not need
@@ -502,6 +503,14 @@ get_loaded_info() {
        s/.*Storage Element \([0-9][0-9]*\):Full/-2/p
         q
     }
        s/.*Storage Element \([0-9][0-9]*\):Full/-2/p
         q
     }
+    /^.*Storage Element '$currentslot' IMPORT\/EXPORT:Empty/ {
+       s/.*Storage Element \([0-9][0-9]*\) IMPORT\/EXPORT:Empty/\1/p
+        q
+    }
+    /^.*Storage Element '$currentslot' IMPORT\/EXPORT:Full/ {
+       s/.*Storage Element \([0-9][0-9]*\) IMPORT\/EXPORT:Full/-2/p
+        q
+    }
 }
 ' < $mtx_status 2>& 1`
                shift                           # get rid of the "x"
 }
 ' < $mtx_status 2>& 1`
                shift                           # get rid of the "x"
@@ -519,6 +528,10 @@ get_loaded_info() {
        s/.*Storage Element \([0-9][0-9]*\):Empty/\1/p
         q
     }
        s/.*Storage Element \([0-9][0-9]*\):Empty/\1/p
         q
     }
+    /^.*Storage Element \([0-9][0-9]*\) IMPORT\/EXPORT:Empty/ {
+       s/.*Storage Element \([0-9][0-9]*\) IMPORT\/EXPORT:Empty/\1/p
+        q
+    }
 }
 ' < $mtx_status 2>& 1`
                shift                           # get rid of the "x"
 }
 ' < $mtx_status 2>& 1`
                shift                           # get rid of the "x"
@@ -571,6 +584,9 @@ get_slot_list() {
 /^.*Storage Element \([0-9][0-9]*\):Full/ {
     s/.*Storage Element \([0-9][0-9]*\):Full.*/\1/p
 }
 /^.*Storage Element \([0-9][0-9]*\):Full/ {
     s/.*Storage Element \([0-9][0-9]*\):Full.*/\1/p
 }
+/^.*Storage Element \([0-9][0-9]*\) IMPORT\/EXPORT:Full/ {
+    s/.*Storage Element \([0-9][0-9]*\) IMPORT\/EXPORT:Full.*/\1/p
+}
 ' < $mtx_status 2>&1 | grep -v "^${cleanslot}\$" | sort -n`
        slot_list=`echo $slot_list`             # remove the newlines
        if [ $firstslot -lt 0 -o $lastslot -lt 0 ]; then
 ' < $mtx_status 2>&1 | grep -v "^${cleanslot}\$" | sort -n`
        slot_list=`echo $slot_list`             # remove the newlines
        if [ $firstslot -lt 0 -o $lastslot -lt 0 ]; then
@@ -667,6 +683,9 @@ elif [ $TAPE = "/dev/null" ]; then
 fi
 export TAPE                                    # for mtx command
 
 fi
 export TAPE                                    # for mtx command
 
+CHANGER=$TAPE
+export CHANGER                                 # for mtx command
+
 #### Set up the various config files.
 
 conf_match=`expr "$changerfile" : .\*\.conf\$`
 #### Set up the various config files.
 
 conf_match=`expr "$changerfile" : .\*\.conf\$`
@@ -688,6 +707,11 @@ labelfile=$changerfile-barcodes
 cleancount=`cat $cleanfile`
 accesscount=`cat $accessfile`
 
 cleancount=`cat $cleanfile`
 accesscount=`cat $accessfile`
 
+test -z "$MT" && Exit 2 "<none>" "No mt command defined"
+test ! -f "$MT" && Exit 2 "<none>" "mt command ($MT) doesn't exist"
+test -z "$MTX" && Exit 2 "<none>" "No mtx command defined"
+test ! -f "$MTX" && Exit 2 "<none>" "mtx command ($MTX) doesn't exist"
+
 #### Dig out of the config file what is needed
 
 varlist=
 #### Dig out of the config file what is needed
 
 varlist=
index 0c274af7b64b64dcb6ac621c5d122916d2a3687e..5ce1f1e3c6572bd0cd4beef8111a4d53f2a594b5 100644 (file)
@@ -1,4 +1,4 @@
-static char rcsid[] = "$Id: scsi-changer-driver.c,v 1.52 2006/07/21 00:25:50 martinea Exp $";
+static char rcsid[] = "$Id: scsi-changer-driver.c,v 1.52.2.1 2006/11/01 13:55:55 martinea Exp $";
 /*
  * Interface to control a tape robot/library connected to the SCSI bus
  *
 /*
  * Interface to control a tape robot/library connected to the SCSI bus
  *
@@ -74,6 +74,7 @@ int GenericFree(void);
 int TapeStatus(void);                   /* Is the tape loaded ? */
 int DLT4000Eject(char *Device, int type);
 int GenericEject(char *Device, int type);
 int TapeStatus(void);                   /* Is the tape loaded ? */
 int DLT4000Eject(char *Device, int type);
 int GenericEject(char *Device, int type);
+int SCSI_LogSenseClean(char *Device);           /* Does the tape need a clean */
 int GenericClean(char *Device);                 /* Does the tape need a clean */
 int GenericBarCode(int DeviceFD);               /* Do we have Barcode reader support */
 int NoBarCode(int DeviceFD);
 int GenericClean(char *Device);                 /* Does the tape need a clean */
 int GenericBarCode(int DeviceFD);               /* Do we have Barcode reader support */
 int NoBarCode(int DeviceFD);
@@ -407,7 +408,19 @@ ChangerCMD_T ChangerIO[] = {
    NoBarCode,
    GenericSearch,
    GenericSenseHandler},
    NoBarCode,
    GenericSearch,
    GenericSenseHandler},
-  {NULL, NULL, NULL,NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+  {"SLR100",
+   "Tandberg SLR100",
+   GenericMove,
+   GenericElementStatus,
+   GenericResetStatus,
+   GenericFree,
+   GenericEject,
+   SCSI_LogSenseClean,
+   GenericRewind,
+   NoBarCode,
+   GenericSearch,
+   GenericSenseHandler},
+   {NULL, NULL, NULL,NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
 };
 
 
 };
 
 
@@ -800,7 +813,9 @@ eject_tape(
   extern OpenFiles_T *pDev;
   int ret;
 
   extern OpenFiles_T *pDev;
   int ret;
 
-  DebugPrint(DEBUG_INFO,SECTION_TAPE,"##### START eject_tape\n");
+  DebugPrint(DEBUG_INFO,SECTION_TAPE,"##### START eject_tape %s\n",tapedev);
+  if (pDev[INDEX_TAPECTL].functions == NULL)
+    return(-1);
 
   /*
    * Try to read the label
 
   /*
    * Try to read the label
@@ -809,21 +824,26 @@ eject_tape(
     {
 
       if (pDev[INDEX_TAPECTL].SCSI == 1 && pDev[INDEX_TAPECTL].avail) {
     {
 
       if (pDev[INDEX_TAPECTL].SCSI == 1 && pDev[INDEX_TAPECTL].avail) {
+        DebugPrint(DEBUG_INFO,SECTION_TAPE,"##### eject_tape rewind\n");
        pDev[INDEX_TAPECTL].functions->function_rewind(INDEX_TAPECTL);
       } else {
        pDev[INDEX_TAPECTL].functions->function_rewind(INDEX_TAPECTL);
       } else {
+        DebugPrint(DEBUG_INFO,SECTION_TAPE,"##### eject_tape rewind2\n");
        pDev[INDEX_TAPE].functions->function_rewind(INDEX_TAPE);
       }
 
       if (pDev[INDEX_TAPE].devopen == 1)
        {
        pDev[INDEX_TAPE].functions->function_rewind(INDEX_TAPE);
       }
 
       if (pDev[INDEX_TAPE].devopen == 1)
        {
+          DebugPrint(DEBUG_INFO,SECTION_TAPE,"##### eject_tape close\n");
          SCSI_CloseDevice(INDEX_TAPE);
        }
 
          SCSI_CloseDevice(INDEX_TAPE);
        }
 
+      DebugPrint(DEBUG_INFO,SECTION_TAPE,"##### tape_eject tape_rdlabel\n");
       chgscsi_result = (char *)tape_rdlabel(pDev[INDEX_TAPE].dev, &chgscsi_datestamp, &chgscsi_label);
     }
 
   if (pDev[INDEX_TAPECTL].SCSI == 1 && pDev[INDEX_TAPECTL].avail == 1 && type == 1)
     {
       chgscsi_result = (char *)tape_rdlabel(pDev[INDEX_TAPE].dev, &chgscsi_datestamp, &chgscsi_label);
     }
 
   if (pDev[INDEX_TAPECTL].SCSI == 1 && pDev[INDEX_TAPECTL].avail == 1 && type == 1)
     {
+      DebugPrint(DEBUG_INFO,SECTION_TAPE,"##### tape_eject eject\n");
       ret=pDev[INDEX_TAPECTL].functions->function_eject(tapedev, type);
       DebugPrint(DEBUG_INFO,SECTION_TAPE,"##### STOP (SCSI)eject_tape [%d]\n", ret);
       return(ret);
       ret=pDev[INDEX_TAPECTL].functions->function_eject(tapedev, type);
       DebugPrint(DEBUG_INFO,SECTION_TAPE,"##### STOP (SCSI)eject_tape [%d]\n", ret);
       return(ret);
@@ -1384,7 +1404,7 @@ OpenDevice(
     char *     ident)
 {
   extern OpenFiles_T *pDev;
     char *     ident)
 {
   extern OpenFiles_T *pDev;
-  char tmpstr[15];
+  char tmpstr[16];
   ChangerCMD_T *p = (ChangerCMD_T *)&ChangerIO;
 
   if (!ConfigName)
   ChangerCMD_T *p = (ChangerCMD_T *)&ChangerIO;
 
   if (!ConfigName)
@@ -1436,6 +1456,7 @@ OpenDevice(
       /* num returned by the inquiry command */
       p = (ChangerCMD_T *)&ChangerIO;
       snprintf(&tmpstr[0], SIZEOF(tmpstr), "%s_%s","generic",pDev[0].type);
       /* num returned by the inquiry command */
       p = (ChangerCMD_T *)&ChangerIO;
       snprintf(&tmpstr[0], SIZEOF(tmpstr), "%s_%s","generic",pDev[0].type);
+      DebugPrint(DEBUG_INFO, SECTION_SCSI,"##### OpenDevice trying GENERIC Device %s\n",tmpstr);
       while(p->ident != NULL)
         {
           if (strcmp(tmpstr, p->ident) == 0)
       while(p->ident != NULL)
         {
           if (strcmp(tmpstr, p->ident) == 0)
@@ -1451,6 +1472,7 @@ OpenDevice(
     } else { /* Something failed, lets see what */
       DebugPrint(DEBUG_ERROR, SECTION_SCSI,"##### STOP OpenDevice failed\n");
     }
     } else { /* Something failed, lets see what */
       DebugPrint(DEBUG_ERROR, SECTION_SCSI,"##### STOP OpenDevice failed\n");
     }
+  pDev[ip].functions = NULL;
   DebugPrint(DEBUG_INFO, SECTION_SCSI,"##### STOP OpenDevice (nothing found) !!\n");
   return(0);
 }
   DebugPrint(DEBUG_INFO, SECTION_SCSI,"##### STOP OpenDevice (nothing found) !!\n");
   return(0);
 }
@@ -2496,6 +2518,7 @@ GenericEject(
 
       /* < 0 == fatal */
       if (ret < 0) {
 
       /* < 0 == fatal */
       if (ret < 0) {
+        DebugPrint(DEBUG_INFO, SECTION_SCSI,"GenericEject SCSI_LoadUnload failed\n");
        free(pRequestSense);
        return(-1);
        /*NOTREACHED*/
        free(pRequestSense);
        return(-1);
        /*NOTREACHED*/
@@ -2837,6 +2860,74 @@ GenericClean(
   return(ret);
 }
 
   return(ret);
 }
 
+int
+SCSI_LogSenseClean(
+    char *     Device)
+{ 
+  extern OpenFiles_T *pDev;
+  CDB_T CDB;
+  RequestSense_T *pRequestSense;
+  int ret = 0;
+  u_char *buffer;
+  size_t size = 128;
+      
+  (void)Device;        /* Quiet unused parameter warning */
+  DebugPrint(DEBUG_INFO, SECTION_TAPE,"##### START SCSI_LogSenseClean\n");
+  if (pDev[INDEX_TAPECTL].SCSI == 0)
+      {
+          DebugPrint(DEBUG_ERROR, SECTION_TAPE,"SCSILogSenseClean : can't send SCSI commands\n");
+         DebugPrint(DEBUG_ERROR, SECTION_TAPE,"##### STOP SCSI_LogSenseClean\n");
+          return(0);
+         /*NOTREACHED*/
+      }
+
+   if (NULL ==  (buffer = alloc(size))){
+          DebugPrint(DEBUG_ERROR, SECTION_TAPE,"SCSI_LogSenseClean : can't alloc buffer\n");
+         DebugPrint(DEBUG_ERROR, SECTION_TAPE,"##### STOP SCSI_LogSenseClean\n");
+          return(0);
+   }
+   if (NULL == (pRequestSense = alloc(SIZEOF(RequestSense_T)))){
+          DebugPrint(DEBUG_ERROR, SECTION_TAPE,"SCSI_LogSenseClean : can't alloc memory\n");
+         DebugPrint(DEBUG_ERROR, SECTION_TAPE,"##### STOP SCSI_LogSenseClean\n");
+          return(0);
+   }
+   
+   memset(buffer, 0, size);
+   CDB[0] = SC_COM_LOG_SENSE;
+   CDB[1] = 0;
+   CDB[2] = (u_char)(0x40 | 0x33);/* 0x40 for current values 0x33 Head Cleaning Page*/
+   CDB[3] = 0;
+   CDB[4] = 0;
+   CDB[5] = 0;
+   CDB[6] = 00;
+   MSB2(&CDB[7], size);
+   CDB[9] = 0;
+
+   if (SCSI_Run(INDEX_TAPECTL, Input, CDB, 10,
+                           buffer,
+                           size,
+                           pRequestSense,
+                           SIZEOF(RequestSense_T)) != 0)
+     {
+       DecodeSense(pRequestSense, "SCSI_LogSenseClean : ",debug_file);
+       free(pRequestSense);
+       free(buffer);
+       DebugPrint(DEBUG_ERROR, SECTION_TAPE,"##### STOP SCSI_LogSenseClean (0) Page could not be read.\n");
+       return(0);
+       /*NOTREACHED*/
+     }
+  if (1==(0x1 & buffer[8])){ /* Bit 0 of the 4th byte in the Clean Head Log Parameter, which are the bytes */
+                           /* 4 to 8 on the Log Sense Page 0x33                                          */
+    ret = 1;
+  }else {
+    ret = 0; 
+  }  
+  DebugPrint(DEBUG_INFO, SECTION_TAPE,"##### STOP SCSI_LogSenseClean (%d)\n",ret);
+  free(pRequestSense);
+  free(buffer);
+  return(ret);
+}
+
 int
 GenericResetStatus(
     int                DeviceFD)
 int
 GenericResetStatus(
     int                DeviceFD)
@@ -6021,6 +6112,7 @@ SCSI_LoadUnload(
       /*NOTREACHED*/
     }
 
       /*NOTREACHED*/
     }
 
+  dbprintf(("##### STOP SCSI_LoadUnload\n"));
   return(ret);
 }
 
   return(ret);
 }
 
@@ -6070,6 +6162,12 @@ SCSI_TestUnitReady(
   /*
    * Some sense is set
    */
   /*
    * Some sense is set
    */
+  if (pRequestSense->ErrorCode != 0){
+    DebugPrint(DEBUG_INFO, SECTION_SCSI,"###### STOP SCSI_TestUnitReady ErrorCode set\n");
+  }
+  if (pRequestSense->SenseKey != 0) {
+    DebugPrint(DEBUG_INFO, SECTION_SCSI,"###### STOP SCSI_TestUnitReady Sense Key set\n");
+  }
   DebugPrint(DEBUG_INFO, SECTION_SCSI,"###### STOP SCSI_TestUnitReady (0)\n");
   return(SCSI_SENSE);
 }
   DebugPrint(DEBUG_INFO, SECTION_SCSI,"###### STOP SCSI_TestUnitReady (0)\n");
   return(SCSI_SENSE);
 }
index 9885349fb52161ad4b355974bcbd19b92cf9d584..d8cf55d7b3e4b389efffa05d11b21509a01eec1f 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: scsi-linux.c,v 1.30 2006/07/06 11:57:28 martinea Exp $
+ * $Id: scsi-linux.c,v 1.30.2.1 2006/12/12 14:56:38 martinea Exp $
  *
  * Interface to execute SCSI commands on Linux
  *
  *
  * Interface to execute SCSI commands on Linux
  *
@@ -83,7 +83,7 @@ extern OpenFiles_T *pDev;
 void SCSI_OS_Version(void)
 {
 #ifndef lint
 void SCSI_OS_Version(void)
 {
 #ifndef lint
-   static char rcsid[] = "$Id: scsi-linux.c,v 1.30 2006/07/06 11:57:28 martinea Exp $";
+   static char rcsid[] = "$Id: scsi-linux.c,v 1.30.2.1 2006/12/12 14:56:38 martinea Exp $";
    DebugPrint(DEBUG_ERROR, SECTION_INFO, "scsi-os-layer: %s\n",rcsid);
 #endif
 }
    DebugPrint(DEBUG_ERROR, SECTION_INFO, "scsi-os-layer: %s\n",rcsid);
 #endif
 }
@@ -377,7 +377,7 @@ int SCSI_ExecuteCommand(int DeviceFD,
        (psg_header->result != 0)) 
     { 
       dbprintf(("SCSI_ExecuteCommand error read \n"));
        (psg_header->result != 0)) 
     { 
       dbprintf(("SCSI_ExecuteCommand error read \n"));
-      dbprintf(("Status %d (%d) %2X\n", status, SCSI_OFF + DataBufferLength,psg_header->result ));
+      dbprintf(("Status %zd (%lu) %2X\n", status, SCSI_OFF + DataBufferLength,psg_header->result ));
       SCSI_CloseDevice(DeviceFD);
       amfree(buffer);
       return(SCSI_ERROR);
       SCSI_CloseDevice(DeviceFD);
       amfree(buffer);
       return(SCSI_ERROR);
index e5bbc1353bcb78af388b146ed6e3b9562c8a0b87..e1e99661739ffba78ddec3e227d47cdbc1c84fa6 100644 (file)
 
        { "C1537A", "", TYPE_TAPE , UCHAR_MAX, 0x0, 0x0, SENSE_ABORT, "Nothing Found"},
 /*
 
        { "C1537A", "", TYPE_TAPE , UCHAR_MAX, 0x0, 0x0, SENSE_ABORT, "Nothing Found"},
 /*
- * Tandberg Tape
+ * Tandberg TapeLibrary 1420
  */
        { "TDS 1420", "", TYPE_TAPE, SENSE_NULL, 0x0, 0x0, SENSE_NO, "No Sense"},
        { "TDS 1420", "", TYPE_TAPE, SENSE_NULL , UCHAR_MAX, UCHAR_MAX, SENSE_RETRY, "Default for SENSE_NULL"},
  */
        { "TDS 1420", "", TYPE_TAPE, SENSE_NULL, 0x0, 0x0, SENSE_NO, "No Sense"},
        { "TDS 1420", "", TYPE_TAPE, SENSE_NULL , UCHAR_MAX, UCHAR_MAX, SENSE_RETRY, "Default for SENSE_NULL"},
        { "TDS 1420", "", TYPE_TAPE, SENSE_UNIT_ATTENTION , UCHAR_MAX, UCHAR_MAX, SENSE_RETRY, "Default for SENSE_UNIT_ATTENTION"},
 
        { "TDS 1420", "", TYPE_TAPE, UCHAR_MAX, 0x0, 0x0, SENSE_ABORT, "Nothing Found"},
        { "TDS 1420", "", TYPE_TAPE, SENSE_UNIT_ATTENTION , UCHAR_MAX, UCHAR_MAX, SENSE_RETRY, "Default for SENSE_UNIT_ATTENTION"},
 
        { "TDS 1420", "", TYPE_TAPE, UCHAR_MAX, 0x0, 0x0, SENSE_ABORT, "Nothing Found"},
+
+/*
+ * Tandberg SLR100 Tape Drive
+ */
+
+       { "SLR100", "", TYPE_TAPE,  SENSE_NULL, 0x0, 0x0, SENSE_NO, "No Sense"},
+       { "SLR100", "", TYPE_TAPE, SENSE_NULL ,0x00 ,0x01 , SENSE_ABORT ," FILEMARK_DETECTED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_NULL ,0x00 ,0x02 , SENSE_IGNORE ," END-OF-PARTITION/MEDIUM_DETECTED_ON_WRITE__LEW_PASSED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_NULL ,0x00 ,0x03 , SENSE_ABORT ," SETMARK_DETECTED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_NULL ,0x00 ,0x04 , SENSE_ABORT ," BEGINNING-OF-PARTITION/MEDIUM_DETECTED "},
+       { "SLR100", "", TYPE_TAPE,  SENSE_NULL , UCHAR_MAX, UCHAR_MAX, SENSE_RETRY, "Default for SENSE_NULL"},
+
+       { "SLR100", "", TYPE_TAPE , SENSE_RECOVERED_ERROR, 0x0, 0x0, SENSE_IGNORE, "Recovered Error"},
+       { "SLR100", "", TYPE_TAPE , SENSE_RECOVERED_ERROR, 0x00, 0x17, SENSE_IGNORE, "Cleaning Requested"},
+       { "SLR100", "", TYPE_TAPE , SENSE_RECOVERED_ERROR, 0x03, 0x02, SENSE_IGNORE, "Excessive Write Errors"},
+       { "SLR100", "", TYPE_TAPE,  SENSE_RECOVERED_ERROR ,0x0C ,0x05 , SENSE_ABORT ," DATA_EXPANSION_OCCURRED_DURING_COMPRESSION "},
+       { "SLR100", "", TYPE_TAPE , SENSE_RECOVERED_ERROR, 0x5B, 0x02, SENSE_IGNORE, "Log Counter at Maximum"},
+       { "SLR100", "", TYPE_TAPE,  SENSE_RECOVERED_ERROR , UCHAR_MAX, UCHAR_MAX, SENSE_RETRY, "Default for SENSE_RECOVERED_ERROR"},
+
+       { "SLR100", "", TYPE_TAPE , SENSE_NOT_READY, 0x0, 0x0, SENSE_IGNORE, "Not Ready"},
+       { "SLR100", "", TYPE_TAPE, SENSE_NOT_READY ,0x04 ,0x00 , SENSE_ABORT ," LOGICAL_UNIT_NOT_READY_CAUSE_NOT_REPORTABLE "},
+       { "SLR100", "", TYPE_TAPE, SENSE_NOT_READY ,0x04 ,0x01 , SENSE_RETRY ," LOGICAL_UNIT_IS_IN_THE_PROCESS_OF_BECOMMING_READY "},
+       { "SLR100", "", TYPE_TAPE, SENSE_NOT_READY ,0x04 ,0x02 , SENSE_ABORT ," LOGICAL-UNIT_NOT_READY_INITIALIZING_COMMAND_REQUIRED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_NOT_READY ,0x30 ,0x03 , SENSE_ABORT ," CLEANING_CARTRIDGE_INSTALLED "},
+       { "SLR100", "", TYPE_TAPE ,SENSE_NOT_READY, 0x3A, 0x0, SENSE_TAPE_NOT_ONLINE, "No Tape online"},
+       { "SLR100", "", TYPE_TAPE, SENSE_NOT_READY ,0x53 ,0x02 , SENSE_ABORT ," MEDIUM_REMOVAL_PREVENTED "},
+       { "SLR100", "", TYPE_TAPE,  SENSE_NOT_READY , UCHAR_MAX, UCHAR_MAX, SENSE_RETRY, "Default for SENSE_NOT_READY"},
+
+       { "SLR100", "", TYPE_TAPE ,SENSE_MEDIUM_ERROR, 0x0, 0x0, SENSE_ABORT, "Medium Error"},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x00 ,0x02 , SENSE_ABORT ," END-OF-PARTITION/MEDIUM_DETECTED_ON_READ__PHYSICAL_END_REACHED "},
+       { "SLR100", "", TYPE_TAPE ,SENSE_MEDIUM_ERROR, 0x03, 0x02, SENSE_IGNORE, "Excessive Write Errors(SERVO)"},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x09 ,0x00 , SENSE_ABORT ," TRACK_FOLLOWING_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x11 ,0x00 , SENSE_IGNORE ," UNRECOVERED_READ_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x11 ,0x01 , SENSE_IGNORE ," READ_RETRIES_EXHAUSTED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x11 ,0x0D , SENSE_ABORT ," DECOMPRESSION_CRC_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x11 ,0x0E , SENSE_ABORT ," CANNOT_DECOMPRESS_USING_THE_DECLARED_ALGORITHM "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x15 ,0x01 , SENSE_ABORT ," MECHANICAL_POSITIONING_ERROR__ILLEGAL_HEAD_POSITION "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x30 ,0x01 , SENSE_ABORT ," CANNOT_READ_MEDIUM_-_UNKNOWN_FORMAT "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x30 ,0x02 , SENSE_ABORT ," CANNOT_READ_MEDIUM__INCOMPATIBLE_FORMAT "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x30 ,0x07 , SENSE_ABORT ," CLEANING_FAILURE "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x50 ,0x01 , SENSE_IGNORE ," WRITE_APPEND_POSITION_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x51 ,0x00 , SENSE_ABORT ," ERASE_FAILURE "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x52 ,0x00 , SENSE_ABORT ," CARTRIDGE_FAULT__BAD_CARTRIDGE "},
+       { "SLR100", "", TYPE_TAPE, SENSE_MEDIUM_ERROR ,0x52 ,0x00 , SENSE_IGNORE ," CARTRIDGE_FAULT__REFERENCE_BURST_SEEK_FAILURE "},
+       { "SLR100", "", TYPE_TAPE,  SENSE_MEDIUM_ERROR , UCHAR_MAX, UCHAR_MAX, SENSE_ABORT, "Default for SENSE_MEDIUM_ERROR"},
+
+       { "SLR100", "", TYPE_TAPE ,SENSE_HARDWARE_ERROR, 0x0, 0x0, SENSE_ABORT, "Hardware Error"},
+       { "SLR100", "", TYPE_TAPE, SENSE_HARDWARE_ERROR ,0x09 ,0x01 , SENSE_ABORT ," TRACKING_SERVO_FAILURE "},
+       { "SLR100", "", TYPE_TAPE, SENSE_HARDWARE_ERROR ,0x40 ,0x80 , SENSE_ABORT ," DIAGNOSTIC_FAILURE__BUFFER_PARITY_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_HARDWARE_ERROR ,0x40 ,0x81 , SENSE_ABORT ," DIAGNOSTIC_FAILURE__WRITE_CHIP_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_HARDWARE_ERROR ,0x40 ,0xA0 , SENSE_ABORT ," DIAGNOSTIC_FAILURE__MULTIPLE_ERRORS "},
+       { "SLR100", "", TYPE_TAPE, SENSE_HARDWARE_ERROR ,0x44 ,0x00 , SENSE_ABORT ," INTERNAL_TARGET_FAILURE "},
+       { "SLR100", "", TYPE_TAPE, SENSE_HARDWARE_ERROR , UCHAR_MAX, UCHAR_MAX, SENSE_ABORT, "Default for SENSE_HARDWARE_ERROR"},
+
+       { "SLR100", "", TYPE_TAPE ,SENSE_ILLEGAL_REQUEST, 0x0, 0x0, SENSE_ABORT, "Illegal Request"},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x1A ,0x00 , SENSE_ABORT ," PARAMETER_LIST_LENGTH_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x20 ,0x00 , SENSE_ABORT ," INVALID_COMMAND_OPERATION_CODE "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x24 ,0x00 , SENSE_ABORT ," INVALID_FIELD_IN_CDB "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x25 ,0x00 , SENSE_ABORT ," LOGICAL_UNIT_NOT_SUPPORTED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x26 ,0x00 , SENSE_ABORT ," INVALID_FIELD_IN_PARAMETER_LIST "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x2C ,0x00 , SENSE_ABORT ," COMMAND_SEQUENCE_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x30 ,0x00 , SENSE_ABORT ," INCOMPATIBLE_MEDIUM_INSTALLED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x30 ,0x06 , SENSE_ABORT ," CANNOT_FORMAT_MEDIUM__INCOMPATIBLE_MEDIUM "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x3D ,0x00 , SENSE_ABORT ," INVALID_BITS_IN_IDENTIFY_MESSAGE "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x43 ,0x00 , SENSE_ABORT ," MESSAGE_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST ,0x50 ,0x00 , SENSE_ABORT ," WRITE_APPEND_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ILLEGAL_REQUEST , UCHAR_MAX, UCHAR_MAX, SENSE_ABORT, "Default for SENSE_ILLEGAL_REQUEST"},
+
+       { "SLR100", "", TYPE_TAPE ,SENSE_UNIT_ATTENTION, 0x0, 0x0, SENSE_RETRY, "Unit Attention"},
+       { "SLR100", "", TYPE_TAPE, SENSE_UNIT_ATTENTION ,0x28 ,0x00 , SENSE_RETRY ," NOT_READY_TO_READY_TRANSITION__MEDIUM_MAY_HAVE_CHANGED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_UNIT_ATTENTION ,0x29 ,0x00 , SENSE_RETRY ," POWER_ON_/_RESET_OCCURRED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_UNIT_ATTENTION ,0x2A ,0x01 , SENSE_RETRY ," MODE_PARAMETERS_CHANGED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_UNIT_ATTENTION ,0x2A ,0x02 , SENSE_RETRY ," LOG_PARAMETERS_CHANGED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_UNIT_ATTENTION ,0x3F ,0x01 , SENSE_RETRY ," MICROCODE_HAS_BEEN_CHANGED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_UNIT_ATTENTION ,0x5B ,0x01 , SENSE_RETRY ," THRESHOLD_CONDITION_MET "},
+       { "SLR100", "", TYPE_TAPE, SENSE_UNIT_ATTENTION ,0x82 ,0x83 , SENSE_RETRY ," CLEANING_CARTRIDGE_EJECTED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_UNIT_ATTENTION, UCHAR_MAX, UCHAR_MAX, SENSE_ABORT, "Default for SENSE_UNIT_ATTENTION"},
+
+       { "SLR100", "", TYPE_TAPE, SENSE_ABORTED_COMMAND ,0x47 ,0x00 , SENSE_RETRY ," SCSI_PARITY_ERROR "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ABORTED_COMMAND ,0x48 ,0x00 , SENSE_ABORT ," INITIATOR_DETECTED_ERROR_MESSAGE_RECEIVED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ABORTED_COMMAND ,0x4E ,0x00 , SENSE_ABORT ," OVERLAPPED_COMMANDS_ATTEMPTED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_ABORTED_COMMAND ,0x53 ,0x00 , SENSE_ABORT ," MEDIA_LOAD_OR_EJECT_FAILED "},
+
+       { "SLR100", "", TYPE_TAPE, SENSE_CHG_ELEMENT_STATUS ,0x1D ,0x00 , SENSE_IGNORE ," MISCOMPARE_DURING_VERIFY_OPERATION "},
+
+       { "SLR100", "", TYPE_TAPE, SENSE_DATA_PROTECT ,0x27 ,0x05 , SENSE_ABORT ," PERMANENT_WRITE_PROTECTED_(CARTRIDGE_END_OF_LIFE) "},
+       { "SLR100", "", TYPE_TAPE, SENSE_DATA_PROTECT ,0x27 ,0x00 , SENSE_RETRY ," WRITE_PROTECTED "},
+
+       { "SLR100", "", TYPE_TAPE, SENSE_VOLUME_OVERFLOW ,0x00 ,0x02 , SENSE_IGNORE ," END-OF-PARTITION/MEDIUM_DETECTED_ON_WRITE__PHYSICAL_END_REACHED "},
+
+       { "SLR100", "", TYPE_TAPE, SENSE_BLANK_CHECK ,0x00 ,0x05 , SENSE_ABORT ," END-OF-DATA_DETECTED "},
+       { "SLR100", "", TYPE_TAPE, SENSE_BLANK_CHECK ,0x14 ,0x00 , SENSE_ABORT ," RECORDED_ENTITY_NOT_FOUND "},
+
+       { "SLR100", "", TYPE_TAPE , UCHAR_MAX, 0x0, 0x0, SENSE_ABORT, "Nothing Found"},
+
 /*
  * DLT 8000 Tape
  */
 /*
  * DLT 8000 Tape
  */
index f30f2aca84d6443eef7c2c0cb43c7b5df666e7a3..173d5c80b16a46130cccf244a5bc4815b855eca3 100644 (file)
@@ -257,6 +257,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -287,6 +288,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index 7cc0f5d982b08553f82f79ed293d92ba09d2769f..51cd23eaaf6aa745285de5ddc8667fb99b634a4f 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amandates.h,v 1.5 2006/07/25 18:35:21 martinea Exp $
+ * $Id: amandates.h,v 1.5.2.1 2006/11/01 15:31:06 martinea Exp $
  *
  * interface for amandates file
  */
  *
  * interface for amandates file
  */
 #define DUMP_LEVELS    10      /* XXX should be in amanda.h */
 #define EPOCH          ((time_t)0)
 
 #define DUMP_LEVELS    10      /* XXX should be in amanda.h */
 #define EPOCH          ((time_t)0)
 
-#ifndef AMANDATES_FILE
-#define AMANDATES_FILE "/etc/amandates"
-#endif
-
 typedef struct amandates_s {
     struct amandates_s *next;
     char *name;                                /* filesystem name */
 typedef struct amandates_s {
     struct amandates_s *next;
     char *name;                                /* filesystem name */
index 662dfd0807c6415b3f6fe18bc31804c72978c4a1..c6518b94aaa64c720b30535c3a420a82584c5fb0 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: calcsize.c,v 1.44 2006/07/25 18:27:56 martinea Exp $
+ * $Id: calcsize.c,v 1.44.2.1 2006/10/19 18:47:25 martinea Exp $
  *
  * traverse directory tree to get backup size estimates
  *
  *
  * traverse directory tree to get backup size estimates
  *
@@ -156,7 +156,9 @@ main(
     return 0;
 #else
     int i;
     return 0;
 #else
     int i;
-    char *dirname=NULL, *amname=NULL, *filename=NULL, *qfilename = NULL;
+    char *dirname=NULL;
+    char *amname=NULL, *qamname = NULL;
+    char *filename=NULL, *qfilename = NULL;
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
 
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
 
@@ -225,6 +227,7 @@ main(
 
     if (argc > 0) {
        amname = *argv;
 
     if (argc > 0) {
        amname = *argv;
+       qamname = quote_string(amname);
        argc--, argv++;
     } else {
        error("missing <name>");
        argc--, argv++;
     } else {
        error("missing <name>");
@@ -333,10 +336,10 @@ main(
        }
 
        dbprintf(("calcsize: %s %d SIZE " OFF_T_FMT "\n",
        }
 
        dbprintf(("calcsize: %s %d SIZE " OFF_T_FMT "\n",
-              amname, dumplevel[i],
+              qamname, dumplevel[i],
               (OFF_T_FMT_TYPE)final_size(i, dirname)));
        fprintf(stderr, "%s %d SIZE " OFF_T_FMT "\n",
               (OFF_T_FMT_TYPE)final_size(i, dirname)));
        fprintf(stderr, "%s %d SIZE " OFF_T_FMT "\n",
-              amname, dumplevel[i],
+              qamname, dumplevel[i],
               (OFF_T_FMT_TYPE)final_size(i, dirname));
        fflush(stderr);
 
               (OFF_T_FMT_TYPE)final_size(i, dirname));
        fflush(stderr);
 
index e2a22465ca4ca297c4805ce2add45601ad14d477..bdb63c403fa39b4a1cede39ce7bf0e41becb39f3 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: clientconf.c,v 1.17 2006/07/25 19:36:48 martinea Exp $
+ * $Id: clientconf.c,v 1.17.2.2 2007/01/24 18:33:29 martinea Exp $
  *
  * read configuration file
  */
  *
  * read configuration file
  */
 #include "clientconf.h"
 #include "clock.h"
 
 #include "clientconf.h"
 #include "clock.h"
 
+#ifndef AMANDATES_FILE
+#define AMANDATES_FILE "/etc/amandates"
+#endif
+
 /* configuration parameters */
 static char *cln_config_dir = NULL;
 
 /* configuration parameters */
 static char *cln_config_dir = NULL;
 
@@ -295,7 +299,7 @@ init_defaults(void)
 #else
     conf_init_string(&client_conf[CLN_GNUTAR_LIST_DIR], NULL);
 #endif
 #else
     conf_init_string(&client_conf[CLN_GNUTAR_LIST_DIR], NULL);
 #endif
-    conf_init_string(&client_conf[CLN_AMANDATES], "/etc/amandates");
+    conf_init_string(&client_conf[CLN_AMANDATES], AMANDATES_FILE);
     /* defaults for internal variables */
 
     conf_line_num = got_parserror = 0;
     /* defaults for internal variables */
 
     conf_line_num = got_parserror = 0;
@@ -604,9 +608,6 @@ add_client_conf(
     nb_option = 0;
     for(command_option = client_options; command_option->name != NULL;
                                                        command_option++) {
     nb_option = 0;
     for(command_option = client_options; command_option->name != NULL;
                                                        command_option++) {
-       if(strcasecmp(command_option->name, kt->keyword) == 0) {
-           return -1;
-       }
        nb_option++;
     }
 
        nb_option++;
     }
 
index 8d8ae757edb5460c31a9e051917c95e475578345..2230bc5a54cfc3179aeab263e7c851289834ec45 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /* 
  *                        University of Maryland at College Park
  */
 /* 
- * $Id: selfcheck.c,v 1.95 2006/08/29 11:21:00 martinea Exp $
+ * $Id: selfcheck.c,v 1.95.2.2 2007/01/19 01:03:34 martinea Exp $
  *
  * do self-check and send back any error messages
  */
  *
  * do self-check and send back any error messages
  */
@@ -75,6 +75,7 @@ static void check_options(char *program, char *calcprog, char *disk, char *amdev
 static void check_disk(char *program, char *calcprog, char *disk, char *amdevice, int level, char *optstr);
 static void check_overall(void);
 static void check_access(char *filename, int mode);
 static void check_disk(char *program, char *calcprog, char *disk, char *amdevice, int level, char *optstr);
 static void check_overall(void);
 static void check_access(char *filename, int mode);
+static int check_file_exist(char *filename);
 static void check_file(char *filename, int mode);
 static void check_dir(char *dirname, int mode);
 static void check_suid(char *filename);
 static void check_file(char *filename, int mode);
 static void check_dir(char *dirname, int mode);
 static void check_suid(char *filename);
@@ -681,7 +682,7 @@ check_disk(
        amode = F_OK;
        amfree(device);
        device = amname_to_dirname(amdevice);
        amode = F_OK;
        amfree(device);
        device = amname_to_dirname(amdevice);
-    } else if (strcmp(program, "DUMP") == 0) {
+    } else if (strcmp(myprogram, "DUMP") == 0) {
        if(amdevice[0] == '/' && amdevice[1] == '/') {
            err = vstralloc("The DUMP program cannot handle samba shares,",
                            " use GNUTAR: ",
        if(amdevice[0] == '/' && amdevice[1] == '/') {
            err = vstralloc("The DUMP program cannot handle samba shares,",
                            " use GNUTAR: ",
@@ -945,20 +946,32 @@ check_overall(void)
        }
     }
 
        }
     }
 
-    ifneed_compress_path )
+    if (need_compress_path )
        check_file(COMPRESS_PATH, X_OK);
 
        check_file(COMPRESS_PATH, X_OK);
 
-    if( need_dump || need_xfsdump )
-       check_file("/etc/dumpdates",
+    if (need_dump || need_xfsdump ) {
+       if (check_file_exist("/etc/dumpdates")) {
+           check_file("/etc/dumpdates",
 #ifdef USE_RUNDUMP
 #ifdef USE_RUNDUMP
-                  F_OK
+                      F_OK
 #else
 #else
-                  R_OK|W_OK
+                      R_OK|W_OK
 #endif
 #endif
-                  );
+                     );
+       } else {
+#ifndef USE_RUNDUMP
+           if (access("/etc", R_OK|W_OK) == -1) {
+               printf("ERROR [dump will not be able to create the /etc/dumpdates file: %s]\n", strerror(errno));
+           }
+#endif
+       }
+    }
 
 
-    if (need_vdump)
-        check_file("/etc/vdumpdates", F_OK);
+    if (need_vdump) {
+       if (check_file_exist("/etc/vdumpdates")) {
+            check_file("/etc/vdumpdates", F_OK);
+       }
+    }
 
     check_access("/dev/null", R_OK|W_OK);
     check_space(AMANDA_TMPDIR, (off_t)64);     /* for amandad i/o */
 
     check_access("/dev/null", R_OK|W_OK);
     check_space(AMANDA_TMPDIR, (off_t)64);     /* for amandad i/o */
@@ -1016,6 +1029,20 @@ check_access(
     amfree(quoted);
 }
 
     amfree(quoted);
 }
 
+static int
+check_file_exist(
+    char *filename)
+{
+    struct stat stat_buf;
+
+    if (stat(filename, &stat_buf) != 0) {
+       if(errno == ENOENT) {
+           return 0;
+       }
+    }
+    return 1;
+}
+
 static void
 check_file(
     char *     filename,
 static void
 check_file(
     char *     filename,
index a568fc8b372e2feb359681b74bc10f01542438e3..0e10dc702224320282e8304fee284c136f47fbcb 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: sendbackup-dump.c,v 1.90.2.1 2006/09/23 19:19:47 martinea Exp $
+ * $Id: sendbackup-dump.c,v 1.90.2.2 2006/11/24 18:10:38 martinea Exp $
  *
  * send backup data using BSD dump
  */
  *
  * send backup data using BSD dump
  */
@@ -375,12 +375,15 @@ start_backup(
 #define RESTORE "restore"
 #endif
 
 #define RESTORE "restore"
 #endif
 
+#ifdef HAVE_HONOR_NODUMP
+#  define PARAM_HONOR_NODUMP "h"
+#else
+#  define PARAM_HONOR_NODUMP ""
+#endif
        dumpkeys = vstralloc(level_str,
                             options->no_record ? "" : "u",
                             "s",
        dumpkeys = vstralloc(level_str,
                             options->no_record ? "" : "u",
                             "s",
-#ifdef HAVE_HONOR_NODUMP
-                            "h",
-#endif
+                            PARAM_HONOR_NODUMP,
                             "f",
                             NULL);
 
                             "f",
                             NULL);
 
index b1bda6d060cbd4b6dbe29366ef1b2a8e0324f898..0ef79374d6a6fa7b8b553fcb1d6448ac188f18d3 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: sendbackup-gnutar.c,v 1.98 2006/07/25 18:35:21 martinea Exp $
+ * $Id: sendbackup-gnutar.c,v 1.98.2.1 2006/11/24 18:10:38 martinea Exp $
  *
  * send backup data using GNU tar
  */
  *
  * send backup data using GNU tar
  */
@@ -360,12 +360,13 @@ start_backup(
     cur_dumptime = time(0);
     cur_level = level;
     cur_disk = stralloc(disk);
     cur_dumptime = time(0);
     cur_level = level;
     cur_disk = stralloc(disk);
-    indexcmd = vstralloc(
 #ifdef GNUTAR
 #ifdef GNUTAR
-                        GNUTAR,
+#  define PROGRAM_GNUTAR GNUTAR
 #else
 #else
-                        "tar",
+#  define PROGRAM_GNUTAR "tar"
 #endif
 #endif
+    indexcmd = vstralloc(
+                        PROGRAM_GNUTAR,
                         " -tf", " -",
                         " 2>/dev/null",
                         " | sed", " -e",
                         " -tf", " -",
                         " 2>/dev/null",
                         " | sed", " -e",
index 5af8dcef5be8ceb048dc46eadbf892721c37a11d..737d4f89a0965ee529ee93135128abd838ad6f1c 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: sendbackup.c,v 1.88 2006/07/25 18:27:56 martinea Exp $
+ * $Id: sendbackup.c,v 1.88.2.3 2006/12/12 14:56:38 martinea Exp $
  *
  * common code for the sendbackup-* programs.
  */
  *
  * common code for the sendbackup-* programs.
  */
@@ -440,7 +440,7 @@ main(
     fflush(stdout);
     if (freopen("/dev/null", "w", stdout) == NULL) {
        dbprintf(("%s: error redirecting stdout to /dev/null: %s\n",
     fflush(stdout);
     if (freopen("/dev/null", "w", stdout) == NULL) {
        dbprintf(("%s: error redirecting stdout to /dev/null: %s\n",
-           debug_prefix_time(NULL), mesgfd, strerror(errno)));
+           debug_prefix_time(NULL), strerror(errno)));
         exit(1);
     }
 
         exit(1);
     }
 
@@ -549,9 +549,10 @@ check_status(
     amwait_t   w)
 {
     char *thiserr = NULL;
     amwait_t   w)
 {
     char *thiserr = NULL;
-    char *str;
+    char *str, *strX;
     int ret, sig, rc;
     char number[NUM_STR_SIZE];
     int ret, sig, rc;
     char number[NUM_STR_SIZE];
+    char numberpid[NUM_STR_SIZE];
 
     str = childstr(pid);
 
 
     str = childstr(pid);
 
@@ -570,54 +571,62 @@ check_status(
         * but the failure is noted.
         */
        if(ret != 0) {
         * but the failure is noted.
         */
        if(ret != 0) {
-           fprintf(stderr, "? %s returned %d\n", str, ret);
+           fprintf(stderr, "? index %s returned %d\n", str, ret);
            rc = 0;
        }
            rc = 0;
        }
-    }
-
-#ifndef HAVE_GZIP
-    if(pid == comppid) {
+       indexpid = -1;
+       strX = "index ";
+    } else if(pid == comppid) {
        /*
         * compress returns 2 sometimes, but it is ok.
         */
        /*
         * compress returns 2 sometimes, but it is ok.
         */
+#ifndef HAVE_GZIP
        if(ret == 2) {
            rc = 0;
        }
        if(ret == 2) {
            rc = 0;
        }
-    }
 #endif
 #endif
-
-#ifdef DUMP_RETURNS_1
-    if(pid == dumppid && tarpid == -1) {
+       comppid = -1;
+       strX = "compress ";
+    } else if(pid == dumppid && tarpid == -1) {
         /*
         * Ultrix dump returns 1 sometimes, but it is ok.
         */
         /*
         * Ultrix dump returns 1 sometimes, but it is ok.
         */
+#ifdef DUMP_RETURNS_1
         if(ret == 1) {
            rc = 0;
        }
         if(ret == 1) {
            rc = 0;
        }
-    }
 #endif
 #endif
-
-#ifdef IGNORE_TAR_ERRORS
-    if(pid == tarpid) {
+       dumppid = -1;
+       strX = "dump ";
+    } else if(pid == tarpid) {
+       if (ret == 1) {
+           rc = 0;
+       }
        /*
         * tar bitches about active filesystems, but we do not care.
         */
        /*
         * tar bitches about active filesystems, but we do not care.
         */
+#ifdef IGNORE_TAR_ERRORS
         if(ret == 2) {
            rc = 0;
        }
         if(ret == 2) {
            rc = 0;
        }
-    }
 #endif
 #endif
+       dumppid = tarpid = -1;
+       strX = "dump ";
+    } else {
+       strX = "unknown ";
+    }
 
     if(rc == 0) {
        return 0;                               /* normal exit */
     }
 
 
     if(rc == 0) {
        return 0;                               /* normal exit */
     }
 
+    snprintf(numberpid, SIZEOF(number), "%d", (int)pid);
     if(ret == 0) {
        snprintf(number, SIZEOF(number), "%d", sig);
     if(ret == 0) {
        snprintf(number, SIZEOF(number), "%d", sig);
-       thiserr = vstralloc(str, " got signal ", number, NULL);
+       thiserr = vstralloc(strX, "(", numberpid, ") ", str, " got signal ", number, NULL);
     } else {
        snprintf(number, SIZEOF(number), "%d", ret);
     } else {
        snprintf(number, SIZEOF(number), "%d", ret);
-       thiserr = vstralloc(str, " returned ", number, NULL);
+       thiserr = vstralloc(strX, "(", numberpid, ") ", str, " returned ", number, NULL);
     }
 
     if(errorstr) {
     }
 
     if(errorstr) {
@@ -733,10 +742,47 @@ parse_backup_messages(
        /*NOTREACHED*/
     }
 
        /*NOTREACHED*/
     }
 
-    while((wpid = wait(&retstat)) != -1) {
+    while((wpid = waitpid((pid_t)-1, &retstat, WNOHANG)) > 0) {
        if(check_status(wpid, retstat)) goterror = 1;
     }
 
        if(check_status(wpid, retstat)) goterror = 1;
     }
 
+    if (dumppid != -1) {
+       sleep(5);
+       while((wpid = waitpid((pid_t)-1, &retstat, WNOHANG)) > 0) {
+           if(check_status(wpid, retstat)) goterror = 1;
+       }
+    }
+    if (dumppid != -1) {
+       dbprintf(("%s: Sending SIGHUP to dump process %d\n",
+                 debug_prefix_time(NULL), (int)dumppid));
+       if(dumppid != -1) {
+           if(kill(dumppid, SIGHUP) == -1) {
+               dbprintf(("%s: Can't send SIGHUP to %d: %s\n",
+                         debug_prefix_time(NULL), (int)dumppid,
+                         strerror(errno)));
+           }
+       }
+       sleep(5);
+       while((wpid = waitpid((pid_t)-1, &retstat, WNOHANG)) > 0) {
+           if(check_status(wpid, retstat)) goterror = 1;
+       }
+    }
+    if (dumppid != -1) {
+       dbprintf(("%s: Sending SIGKILL to dump process %d\n",
+                 debug_prefix_time(NULL), (int)dumppid));
+       if(dumppid != -1) {
+           if(kill(dumppid, SIGKILL) == -1) {
+               dbprintf(("%s: Can't send SIGKILL to %d: %s\n",
+                         debug_prefix_time(NULL), (int)dumppid,
+                         strerror(errno)));
+           }
+       }
+       sleep(5);
+       while((wpid = waitpid((pid_t)-1, &retstat, WNOHANG)) > 0) {
+           if(check_status(wpid, retstat)) goterror = 1;
+       }
+    }
+
     if(errorstr) {
        error("error [%s]", errorstr);
        /*NOTREACHED*/
     if(errorstr) {
        error("error [%s]", errorstr);
        /*NOTREACHED*/
index abd30d3ac86d2247a1c44cedabbf317fb293a7bb..e99071c24f9747a25d079fd2ee4374e9c2463656 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
  * file named AUTHORS, in the root directory of this distribution.
  */
 /* 
- * $Id: sendsize.c,v 1.171.2.1 2006/09/22 11:51:32 martinea Exp $
+ * $Id: sendsize.c,v 1.171.2.4 2006/12/22 14:42:42 martinea Exp $
  *
  * send estimated backup sizes using dump
  */
  *
  * send estimated backup sizes using dump
  */
@@ -140,6 +140,7 @@ main(
     char *qamdevice = NULL;
     char *conffile;
     char *amandates_file;
     char *qamdevice = NULL;
     char *conffile;
     char *amandates_file;
+    int   amandates_read = 0;
 #if defined(USE_DBMALLOC)
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
 #if defined(USE_DBMALLOC)
     unsigned long malloc_hist_1, malloc_size_1;
     unsigned long malloc_hist_2, malloc_size_2;
@@ -181,10 +182,6 @@ main(
 
     /* handle all service requests */
 
 
     /* handle all service requests */
 
-    amandates_file = client_getconf_str(CLN_AMANDATES);
-    if(!start_amandates(amandates_file, 0))
-        error("error [opening %s: %s]", amandates_file, strerror(errno));
-
     for(; (line = agets(stdin)) != NULL; free(line)) {
        if (line[0] == '\0')
            continue;
     for(; (line = agets(stdin)) != NULL; free(line)) {
        if (line[0] == '\0')
            continue;
@@ -226,6 +223,14 @@ main(
            continue;
        }
 
            continue;
        }
 
+       if (amandates_read == 0) {
+           amandates_file = client_getconf_str(CLN_AMANDATES);
+           if(!start_amandates(amandates_file, 0))
+               error("error [opening %s: %s]", amandates_file,
+                     strerror(errno));
+           amandates_read = 1;
+       }
+
        s = line;
        ch = *s++;
 
        s = line;
        ch = *s++;
 
@@ -1054,7 +1059,7 @@ getsize_dump(
     char *qdisk = quote_string(disk);
     char *qdevice;
     char *config;
     char *qdisk = quote_string(disk);
     char *qdevice;
     char *config;
-#ifdef DUMP
+#if defined(DUMP) || defined(VDUMP) || defined(VXDUMP) || defined(XFSDUMP)
     int is_rundump = 1;
 #endif
 
     int is_rundump = 1;
 #endif
 
@@ -1173,13 +1178,19 @@ getsize_dump(
        dbprintf(("%s: running \"%s%s %s - %s\"\n",
                  debug_prefix_time(NULL), cmd, name, dumpkeys, qdevice));
 # else                                                 /* } { */
        dbprintf(("%s: running \"%s%s %s - %s\"\n",
                  debug_prefix_time(NULL), cmd, name, dumpkeys, qdevice));
 # else                                                 /* } { */
+#  ifdef HAVE_DUMP_ESTIMATE
+#    define PARAM_DUMP_ESTIMATE HAVE_DUMP_ESTIMATE
+#  else
+#    define PARAM_DUMP_ESTIMATE ""
+#  endif
+#  ifdef HAVE_HONOR_NODUMP
+#    define PARAM_HONOR_NODUMP "h"
+#  else
+#    define PARAM_HONOR_NODUMP ""
+#  endif
        dumpkeys = vstralloc(level_str,
        dumpkeys = vstralloc(level_str,
-#  ifdef HAVE_DUMP_ESTIMATE                            /* { */
-                            HAVE_DUMP_ESTIMATE,
-#  endif                                               /* } */
-#  ifdef HAVE_HONOR_NODUMP                             /* { */
-                            "h",
-#  endif                                               /* } */
+                            PARAM_DUMP_ESTIMATE,
+                            PARAM_DUMP_ESTIMATE,
                             "s", "f", NULL);
 
 #  ifdef HAVE_DUMP_ESTIMATE
                             "s", "f", NULL);
 
 #  ifdef HAVE_DUMP_ESTIMATE
index 4672c53f92ee1cb293e6de682862b68e3183cb52..ac25aee6ba0c68da4048a08bc2024e9cbecc0cab 100644 (file)
@@ -206,6 +206,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -236,6 +237,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index ccea1758adfdc7577902b03dc76e730112c0a5a3..62971d5b844d7c6d183f71942d98d83f8a6f2147 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amanda.h,v 1.131 2006/07/25 18:27:56 martinea Exp $
+ * $Id: amanda.h,v 1.131.2.5 2006/12/12 14:56:38 martinea Exp $
  *
  * the central header file included by all amanda sources
  */
  *
  * the central header file included by all amanda sources
  */
@@ -374,7 +374,7 @@ extern int errno;
  * for printf-like functions).  Only do this in gcc 2.7 or later ...
  * it may work on earlier stuff, but why chance it.
  */
  * for printf-like functions).  Only do this in gcc 2.7 or later ...
  * it may work on earlier stuff, but why chance it.
  */
-#if !defined(__GNUC__) || __GNUC__ < 2 || __GNUC_MINOR__ < 7 || defined(S_SPLINT_S) || defined(LINT) || defined(__lint)
+#if !defined(__GNUC__) || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) || defined(S_SPLINT_S) || defined(LINT) || defined(__lint)
 #undef __attribute__
 #define __attribute__(__x)
 #endif
 #undef __attribute__
 #define __attribute__(__x)
 #endif
@@ -428,6 +428,7 @@ extern char *debug_prefix_time(char *);
 #else                                                                  /* }{ */
 #   define dbopen(a)
 #   define dbreopen(a,b)
 #else                                                                  /* }{ */
 #   define dbopen(a)
 #   define dbreopen(a,b)
+#   define dbrename(a,b)
 #   define dbclose()
 #   define dbprintf(p)
 #   define dbfd()      (-1)
 #   define dbclose()
 #   define dbprintf(p)
 #   define dbfd()      (-1)
@@ -852,6 +853,7 @@ extern int    amfunlock(int fd, char *resource);
 extern int    mkpdir(char *file, mode_t mode, uid_t uid, gid_t gid);
 extern int    rmpdir(char *file, char *topdir);
 extern char  *sanitise_filename(char *inp);
 extern int    mkpdir(char *file, mode_t mode, uid_t uid, gid_t gid);
 extern int    rmpdir(char *file, char *topdir);
 extern char  *sanitise_filename(char *inp);
+extern char  *old_sanitise_filename(char *inp);
 
 /* from old bsd-security.c */
 extern int debug;
 
 /* from old bsd-security.c */
 extern int debug;
@@ -1338,11 +1340,19 @@ extern ssize_t writev(int fd, const struct iovec *iov, int iovcnt);
 #endif
 
 #if SIZEOF_OFF_T > SIZEOF_LONG
 #endif
 
 #if SIZEOF_OFF_T > SIZEOF_LONG
-#  define        OFF_T_FMT       "%lld"
-#  define        OFF_T_RFMT       "lld"
+#  define        OFF_T_FMT       LL_FMT
+#  define        OFF_T_RFMT      LL_RFMT
 #  define        OFF_T_FMT_TYPE  long long
 #  define        OFF_T_FMT_TYPE  long long
-#  define        OFF_T_ATOI     (off_t)atoll
-#  define        OFF_T_STRTOL   (off_t)strtoll
+#  ifdef HAVE_ATOLL
+#    define      OFF_T_ATOI     (off_t)atoll
+#  else
+#    define      OFF_T_ATOI      (off_t)atol
+#  endif
+#  ifdef HAVE_STRTOLL
+#    define      OFF_T_STRTOL   (off_t)strtoll
+#  else
+#    define      OFF_T_STRTOL      (off_t)strtol
+#  endif
 #else
 #  if SIZEOF_OFF_T == SIZEOF_LONG
 #    define        OFF_T_FMT       "%ld"
 #else
 #  if SIZEOF_OFF_T == SIZEOF_LONG
 #    define        OFF_T_FMT       "%ld"
index 2d0766d6cacfcdc06769f2521221e776c6e38249..303c4d040f598b922a73baad0391f8348faa1931 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: bsd-security.c,v 1.75 2006/07/19 17:41:14 martinea Exp $
+ * $Id: bsd-security.c,v 1.75.2.1 2006/09/28 18:46:08 martinea Exp $
  *
  * "BSD" security module
  */
  *
  * "BSD" security module
  */
@@ -360,7 +360,7 @@ bsd_stream_client(
        STREAM_BUFSIZE, STREAM_BUFSIZE, &bs->port, 0);
     if (bs->fd < 0) {
        security_seterror(&bh->sech,
        STREAM_BUFSIZE, STREAM_BUFSIZE, &bs->port, 0);
     if (bs->fd < 0) {
        security_seterror(&bh->sech,
-           "can't connect stream to %s port %hd: %s", bh->hostname,
+           "can't connect stream to %s port %d: %s", bh->hostname,
            id, strerror(errno));
        amfree(bs);
        return (NULL);
            id, strerror(errno));
        amfree(bs);
        return (NULL);
index 99d20b8c490c04c07622026a633d9446dad9527b..78b8ae1c4baaed60f126cf5919962d49cc03356c 100644 (file)
@@ -25,7 +25,7 @@
  */
 
 /*
  */
 
 /*
- * $Id: bsdtcp-security.c,v 1.7.2.1 2006/09/12 14:30:47 martinea Exp $
+ * $Id: bsdtcp-security.c,v 1.7.2.2 2006/09/29 11:28:55 martinea Exp $
  *
  * bsdtcp-security.c - security and transport over bsdtcp or a bsdtcp-like command.
  *
  *
  * bsdtcp-security.c - security and transport over bsdtcp or a bsdtcp-like command.
  *
@@ -195,11 +195,17 @@ bsdtcp_accept(
     struct hostent *he;
 
     len = sizeof(sin);
     struct hostent *he;
 
     len = sizeof(sin);
-    if (getpeername(in, (struct sockaddr *)&sin, &len) < 0)
+    if (getpeername(in, (struct sockaddr *)&sin, &len) < 0) {
+       dbprintf(("%s: getpeername returned: %s\n", debug_prefix_time(NULL),
+                 strerror(errno)));
        return;
        return;
+    }
     he = gethostbyaddr((void *)&sin.sin_addr, sizeof(sin.sin_addr), AF_INET);
     he = gethostbyaddr((void *)&sin.sin_addr, sizeof(sin.sin_addr), AF_INET);
-    if (he == NULL)
+    if (he == NULL) {
+       dbprintf(("%s: he returned NULL: h_errno = %d\n",
+                 debug_prefix_time(NULL), h_errno));
        return;
        return;
+    }
 
     rc = sec_tcp_conn_get(he->h_name, 0);
     rc->recv_security_ok = &bsd_recv_security_ok;
 
     rc = sec_tcp_conn_get(he->h_name, 0);
     rc->recv_security_ok = &bsd_recv_security_ok;
index 905c68e603a50d6048e4253089e735a1ea7f1021..8f6d6699bd4ac2cfc88cfc3f581cbf7cd8d43447 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: clock.c,v 1.7 2006/07/27 18:12:10 martinea Exp $
+ * $Id: clock.c,v 1.7.2.1 2007/02/06 12:44:03 martinea Exp $
  *
  * timing functions
  */
  *
  * timing functions
  */
@@ -158,7 +158,12 @@ timesub(
        end.tv_usec += 1000000;
     }
     diff.tv_usec = end.tv_usec - start.tv_usec;
        end.tv_usec += 1000000;
     }
     diff.tv_usec = end.tv_usec - start.tv_usec;
-    diff.tv_sec = end.tv_sec - start.tv_sec;
+
+    if (end.tv_sec > start.tv_sec)
+       diff.tv_sec = end.tv_sec - start.tv_sec;
+    else
+       diff.tv_sec = 0;
+
     return diff;
 }
 
     return diff;
 }
 
index 2008fc999f139afedee8f979f44c624eb872cee9..a4c4ba378f773ae129e6a40525091e8fd8980aeb 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /* 
  *                        University of Maryland at College Park
  */
 /* 
- * $Id: dgram.c,v 1.32.2.3 2006/09/20 12:48:54 martinea Exp $
+ * $Id: dgram.c,v 1.32.2.4 2006/10/16 18:23:53 martinea Exp $
  *
  * library routines to marshall/send, recv/unmarshall UDP packets
  */
  *
  * library routines to marshall/send, recv/unmarshall UDP packets
  */
@@ -397,15 +397,15 @@ printf_arglist_function1(int dgram_cat, dgram_t *, dgram, const char *, fmt)
     arglist_start(argp, fmt);
     len = vsnprintf(dgram->cur, (size_t)bufsize, fmt, argp);
     arglist_end(argp);
     arglist_start(argp, fmt);
     len = vsnprintf(dgram->cur, (size_t)bufsize, fmt, argp);
     arglist_end(argp);
-    if((ssize_t)len > bufsize) {
+    if(len < 0) {
+       return -1;
+    } else if((ssize_t)len > bufsize) {
        dgram->len = sizeof(dgram->data);
        dgram->cur = dgram->data + dgram->len;
        return -1;
     }
     else {
        dgram->len = sizeof(dgram->data);
        dgram->cur = dgram->data + dgram->len;
        return -1;
     }
     else {
-       arglist_start(argp, fmt);
-       dgram->len += vsnprintf(dgram->cur, (size_t)bufsize, fmt, argp);
-       arglist_end(argp);
+       dgram->len += len;
        dgram->cur = dgram->data + dgram->len;
     }
     return 0;
        dgram->cur = dgram->data + dgram->len;
     }
     return 0;
index 4ebdfef3c44092c2fe512679c253b770d2ed0c14..94ae1ac7aeb0efe946972c46b0235bfdde22833c 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: event.c,v 1.24 2006/06/16 10:55:05 martinea Exp $
+ * $Id: event.c,v 1.24.2.1 2006/12/12 14:56:38 martinea Exp $
  *
  * Event handler.  Serializes different kinds of events to allow for
  * a uniform interface, central state storage, and centralized
  *
  * Event handler.  Serializes different kinds of events to allow for
  * a uniform interface, central state storage, and centralized
@@ -114,18 +114,18 @@ event_register(
     if ((type == EV_READFD) || (type == EV_WRITEFD)) {
        /* make sure we aren't given a high fd that will overflow a fd_set */
        if (data >= FD_SETSIZE) {
     if ((type == EV_READFD) || (type == EV_WRITEFD)) {
        /* make sure we aren't given a high fd that will overflow a fd_set */
        if (data >= FD_SETSIZE) {
-           error("event_register: Invalid file descriptor %d", data);
+           error("event_register: Invalid file descriptor %lu", data);
            /*NOTREACHED*/
        }
 #if !defined(__lint) /* Global checking knows that these are never called */
     } else if (type == EV_SIG) {
        /* make sure signals are within range */
        if (data >= NSIG) {
            /*NOTREACHED*/
        }
 #if !defined(__lint) /* Global checking knows that these are never called */
     } else if (type == EV_SIG) {
        /* make sure signals are within range */
        if (data >= NSIG) {
-           error("event_register: Invalid signal %d", data);
+           error("event_register: Invalid signal %lu", data);
            /*NOTREACHED*/
        }
        if (sigtable[data].handle != NULL) { 
            /*NOTREACHED*/
        }
        if (sigtable[data].handle != NULL) { 
-           error("event_register: signal %d already registered", data);
+           error("event_register: signal %lu already registered", data);
            /*NOTREACHED*/
        }
     } else if (type >= EV_DEAD) {
            /*NOTREACHED*/
        }
     } else if (type >= EV_DEAD) {
index a03197e2793cae42613368103f79bf9485a98cfa..62cf171bab4da3dc2c53ce53c4a3dece1ddabc62 100644 (file)
@@ -23,7 +23,7 @@
  * Author: AMANDA core development group.
  */
 /*
  * Author: AMANDA core development group.
  */
 /*
- * $Id: file.c,v 1.40 2006/07/19 17:41:15 martinea Exp $
+ * $Id: file.c,v 1.40.2.1 2006/11/24 18:05:05 martinea Exp $
  *
  * file and directory bashing routines
  */
  *
  * file and directory bashing routines
  */
@@ -400,6 +400,35 @@ sanitise_filename(
     return buf;
 }
 
     return buf;
 }
 
+/* duplicate '_' */
+char *
+old_sanitise_filename(
+    char *     inp)
+{
+    char *buf;
+    size_t buf_size;
+    char *s, *d;
+    int ch;
+
+    buf_size = 2*strlen(inp) + 1;              /* worst case */
+    buf = alloc(buf_size);
+    d = buf;
+    s = inp;
+    while((ch = *s++) != '\0') {
+       if(ch == '_') {
+           *d++ = (char)ch;
+       }
+       if(ch == '/') {
+           ch = '_';   /* convert "bad" to "_" */
+       }
+       *d++ = (char)ch;
+    }
+    assert(d < buf + buf_size);
+    *d = '\0';
+
+    return buf;
+}
+
 /*
  *=====================================================================
  * Get the next line of input from a stdio file.
 /*
  *=====================================================================
  * Get the next line of input from a stdio file.
index e8e20d4b42e935837a06672c0ab27da91092ddea..2b2fdf98534ca5f7da7c7c1394211b06b56d1069 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: packet.c,v 1.8.2.1 2006/09/22 11:02:12 martinea Exp $
+ * $Id: packet.c,v 1.8.2.4 2006/12/18 20:43:50 martinea Exp $
  *
  * Routines for modifying the amanda protocol packet type
  */
  *
  * Routines for modifying the amanda protocol packet type
  */
@@ -50,6 +50,20 @@ static const struct {
 /*
  * Initialize a packet
  */
 /*
  * Initialize a packet
  */
+void pkt_init_empty(
+    pkt_t *pkt,
+    pktype_t type)
+{
+    assert(pkt != NULL);
+    assert(strcmp(pkt_type2str(type), "BOGUS") != 0);
+
+    pkt->type = type;
+    pkt->packet_size = 1000;
+    pkt->body = alloc(pkt->packet_size);
+    pkt->body[0] = '\0';
+    pkt->size = strlen(pkt->body);
+}
+
 printf_arglist_function2(void pkt_init, pkt_t *, pkt, pktype_t, type,
     const char *, fmt)
 {
 printf_arglist_function2(void pkt_init, pkt_t *, pkt, pktype_t, type,
     const char *, fmt)
 {
@@ -67,7 +81,7 @@ printf_arglist_function2(void pkt_init, pkt_t *, pkt, pktype_t, type,
        arglist_start(argp, fmt);
        len = vsnprintf(pkt->body, pkt->packet_size, fmt, argp);
        arglist_end(argp);
        arglist_start(argp, fmt);
        len = vsnprintf(pkt->body, pkt->packet_size, fmt, argp);
        arglist_end(argp);
-       if (len < (int)(pkt->packet_size - 1))
+       if (len > -1 && len < (int)(pkt->packet_size - 1))
            break;
        pkt->packet_size *= 2;
        amfree(pkt->body);
            break;
        pkt->packet_size *= 2;
        amfree(pkt->body);
@@ -95,7 +109,7 @@ printf_arglist_function1(void pkt_cat, pkt_t *, pkt, const char *, fmt)
        arglist_start(argp, fmt);
         lenX = vsnprintf(pkt->body + len, pkt->packet_size - len, fmt,argp);
        arglist_end(argp);
        arglist_start(argp, fmt);
         lenX = vsnprintf(pkt->body + len, pkt->packet_size - len, fmt,argp);
        arglist_end(argp);
-       if (lenX < (int)(pkt->packet_size - len - 1))
+       if (lenX > -1 && lenX < (int)(pkt->packet_size - len - 1))
            break;
        pkt->packet_size *= 2;
        pktbody = alloc(pkt->packet_size);
            break;
        pkt->packet_size *= 2;
        pktbody = alloc(pkt->packet_size);
index f508b3fd6324cc14c37b42229356db9451c37a77..9983a495817f951572473cee1269a30e79ffdfde 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: packet.h,v 1.8 2006/05/25 01:47:12 johnfranks Exp $
+ * $Id: packet.h,v 1.8.2.1 2006/12/18 20:43:51 martinea Exp $
  *
  * interfaces for modifying amanda protocol packet type
  */
  *
  * interfaces for modifying amanda protocol packet type
  */
@@ -42,6 +42,7 @@ typedef struct {
 /*
  * Initialize a packet
  */
 /*
  * Initialize a packet
  */
+void pkt_init_empty(pkt_t *pkt, pktype_t type);
 void pkt_init(pkt_t *, pktype_t, const char *, ...)
     __attribute__ ((format (printf, 3, 4)));
 
 void pkt_init(pkt_t *, pktype_t, const char *, ...)
     __attribute__ ((format (printf, 3, 4)));
 
index c997f3c27c79a33269f250b6c98d8b52a8d0dd10..077e34e178b498a3f8e05f9244a21b1edd559735 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: protocol.c,v 1.45 2006/05/25 17:07:31 martinea Exp $
+ * $Id: protocol.c,v 1.45.2.2 2006/12/18 20:43:51 martinea Exp $
  *
  * implements amanda protocol
  */
  *
  * implements amanda protocol
  */
@@ -607,7 +607,7 @@ s_repwait(
        return (PA_PENDING);
 
     if(pkt->type == P_REP) {
        return (PA_PENDING);
 
     if(pkt->type == P_REP) {
-       pkt_init(&ack, P_ACK, "");
+       pkt_init_empty(&ack, P_ACK);
        if (security_sendpkt(p->security_handle, &ack) < 0) {
            /* XXX should retry */
            amfree(ack.body);
        if (security_sendpkt(p->security_handle, &ack) < 0) {
            /* XXX should retry */
            amfree(ack.body);
index 9761f81b4bbaa6fa6c6d3f985fb40ae801a55109..4c626ac54fc18c6a631157e3ffdab51e42759bb1 100644 (file)
@@ -25,7 +25,7 @@
  */
 
 /*
  */
 
 /*
- * $Id: rsh-security.c,v 1.31 2006/08/21 20:17:10 martinea Exp $
+ * $Id: rsh-security.c,v 1.31.2.1 2006/10/25 19:13:11 martinea Exp $
  *
  * rsh-security.c - security and transport over rsh or a rsh-like command.
  *
  *
  * rsh-security.c - security and transport over rsh or a rsh-like command.
  *
@@ -140,6 +140,8 @@ rsh_connect(
     rh->hostname = NULL;
     rh->rs = NULL;
     rh->ev_timeout = NULL;
     rh->hostname = NULL;
     rh->rs = NULL;
     rh->ev_timeout = NULL;
+    rh->rc = NULL;
+
 
     if ((he = gethostbyname(hostname)) == NULL) {
        security_seterror(&rh->sech,
 
     if ((he = gethostbyname(hostname)) == NULL) {
        security_seterror(&rh->sech,
index 531ec867b19e033466a53405b8a4c719d44a58f9..a55bafbbe22ed8c326b3faa8ccf50d864774e3ea 100644 (file)
@@ -25,7 +25,7 @@
  */
 
 /*
  */
 
 /*
- * $Id: security-util.c,v 1.25 2006/07/22 12:04:47 martinea Exp $
+ * $Id: security-util.c,v 1.25.2.10 2007/01/24 00:35:14 martinea Exp $
  *
  * sec-security.c - security and transport over sec or a sec-like command.
  *
  *
  * sec-security.c - security and transport over sec or a sec-like command.
  *
@@ -511,17 +511,51 @@ tcpm_recv_token(
     }
 
     *size = (ssize_t)ntohl(netint[0]);
     }
 
     *size = (ssize_t)ntohl(netint[0]);
-    if (*size > NETWORK_BLOCK_BYTES) {
-       *errmsg = newvstralloc(*errmsg, "tcpm_recv_token: invalid size",
+    *handle = (int)ntohl(netint[1]);
+    /* amanda protocol packet can be above NETWORK_BLOCK_BYTES */
+    if (*size > 128*NETWORK_BLOCK_BYTES || *size < 0) {
+       if (isprint((*size        ) & 0xFF) &&
+           isprint((*size   >> 8 ) & 0xFF) &&
+           isprint((*size   >> 16) & 0xFF) &&
+           isprint((*size   >> 24) & 0xFF) &&
+           isprint((*handle      ) & 0xFF) &&
+           isprint((*handle >> 8 ) & 0xFF) &&
+           isprint((*handle >> 16) & 0xFF) &&
+           isprint((*handle >> 24) & 0xFF)) {
+           char s[101];
+           int i;
+           s[0] = (*size   >> 24) & 0xFF;
+           s[1] = (*size   >> 16) & 0xFF;
+           s[2] = (*size   >>  8) & 0xFF;
+           s[3] = (*size        ) & 0xFF;
+           s[4] = (*handle >> 24) & 0xFF;
+           s[5] = (*handle >> 16) & 0xFF;
+           s[6] = (*handle >> 8 ) & 0xFF;
+           s[7] = (*handle      ) & 0xFF;
+           i = 8; s[i] = ' ';
+           while(i<100 && isprint(s[i]) && s[i] != '\n') {
+               switch(net_read(fd, &s[i], 1, 0)) {
+               case -1: s[i] = '\0'; break;
+               case  0: s[i] = '\0'; break;
+               default: dbprintf(("read: %c\n", s[i])); i++; s[i]=' ';break;
+               }
+           }
+           s[i] = '\0';
+           *errmsg = newvstralloc(*errmsg, "tcpm_recv_token: invalid size: ",
+                                  s, NULL);
+           dbprintf(("%s: tcpm_recv_token: invalid size: %s\n",
+                     debug_prefix_time(NULL), s));
+       } else {
+           *errmsg = newvstralloc(*errmsg, "tcpm_recv_token: invalid size",
                                   NULL);
                                   NULL);
-       dbprintf(("%s: tcpm_recv_token: invalid size %d\n",
-                  debug_prefix_time(NULL), *size));
+           dbprintf(("%s: tcpm_recv_token: invalid size %zd\n",
+                     debug_prefix_time(NULL), *size));
+       }
        *size = -1;
        return -1;
     }
     amfree(*buf);
     *buf = alloc((size_t)*size);
        *size = -1;
        return -1;
     }
     amfree(*buf);
     *buf = alloc((size_t)*size);
-    *handle = (int)ntohl(netint[1]);
 
     if(*size == 0) {
        secprintf(("%s: tcpm_recv_token: read EOF from %d\n",
 
     if(*size == 0) {
        secprintf(("%s: tcpm_recv_token: read EOF from %d\n",
@@ -548,7 +582,7 @@ tcpm_recv_token(
        break;
     }
 
        break;
     }
 
-    secprintf(("%s: tcpm_recv_token: read %ld bytes from %d\n",
+    secprintf(("%s: tcpm_recv_token: read %zd bytes from %d\n",
               debug_prefix_time(NULL), *size, *handle));
     return((*size));
 }
               debug_prefix_time(NULL), *size, *handle));
     return((*size));
 }
@@ -599,7 +633,7 @@ tcpma_stream_client(
 
     if (id <= 0) {
        security_seterror(&rh->sech,
 
     if (id <= 0) {
        security_seterror(&rh->sech,
-           "%hd: invalid security stream id", id);
+           "%d: invalid security stream id", id);
        return (NULL);
     }
 
        return (NULL);
     }
 
@@ -619,7 +653,7 @@ tcpma_stream_client(
        rh->rc = rs->rc;
     }
 
        rh->rc = rs->rc;
     }
 
-    secprintf(("%s: sec: stream_client: connected to stream %hd\n",
+    secprintf(("%s: sec: stream_client: connected to stream %d\n",
               debug_prefix_time(NULL), id));
 
     return (rs);
               debug_prefix_time(NULL), id));
 
     return (rs);
@@ -661,8 +695,6 @@ tcpma_stream_server(
        return (NULL);
     }
     assert(strcmp(rh->hostname, rs->rc->hostname) == 0);
        return (NULL);
     }
     assert(strcmp(rh->hostname, rs->rc->hostname) == 0);
-    //amfree(rh->hostname);
-    //rh->hostname = stralloc(rs->rc->hostname);
     /*
      * so as not to conflict with the amanda server's handle numbers,
      * we start at 500000 and work down
     /*
      * so as not to conflict with the amanda server's handle numbers,
      * we start at 500000 and work down
@@ -1177,7 +1209,6 @@ udp_recvpkt_callback(
        SIZEOF(rh->udp->peer.sin_addr)) != 0 ||
        rh->peer.sin_port != rh->udp->peer.sin_port) {
        amfree(rh->udp->handle);
        SIZEOF(rh->udp->peer.sin_addr)) != 0 ||
        rh->peer.sin_port != rh->udp->peer.sin_port) {
        amfree(rh->udp->handle);
-       //rh->udp->handle = NULL;
        return;
     }
 
        return;
     }
 
@@ -1237,8 +1268,8 @@ udp_inithandle(
     /*
      * Save the hostname and port info
      */
     /*
      * Save the hostname and port info
      */
-    secprintf(("%s: udp_inithandle port %hd handle %s sequence %d\n",
-              debug_prefix_time(NULL), ntohs(port),
+    secprintf(("%s: udp_inithandle port %u handle %s sequence %d\n",
+              debug_prefix_time(NULL), (unsigned int)ntohs(port),
               handle, sequence));
     assert(he != NULL);
 
               handle, sequence));
     assert(he != NULL);
 
@@ -1266,7 +1297,7 @@ udp_inithandle(
     if (strncasecmp(rh->hostname, he->h_name, strlen(rh->hostname)) != 0) {
     secprintf(("%s: udp: cc\n", debug_prefix_time(NULL)));
        security_seterror(&rh->sech,
     if (strncasecmp(rh->hostname, he->h_name, strlen(rh->hostname)) != 0) {
     secprintf(("%s: udp: cc\n", debug_prefix_time(NULL)));
        security_seterror(&rh->sech,
-                         "%s: did not resolve to itself, it resolv to",
+                         "%s: did not resolve to itself, it resolv to %s",
                          rh->hostname, he->h_name);
        return (-1);
     }
                          rh->hostname, he->h_name);
        return (-1);
     }
@@ -1644,7 +1675,7 @@ stream_read_sync_callback(
        return;
     }
     secprintf((
        return;
     }
     secprintf((
-            "%s: sec: stream_read_callback_sync: read %ld bytes from %s:%d\n",
+            "%s: sec: stream_read_callback_sync: read %zd bytes from %s:%d\n",
             debug_prefix_time(NULL),
         rs->rc->pktlen, rs->rc->hostname, rs->handle));
 }
             debug_prefix_time(NULL),
         rs->rc->pktlen, rs->rc->hostname, rs->handle));
 }
@@ -1695,7 +1726,7 @@ stream_read_callback(
        (*rs->fn)(rs->arg, NULL, rs->rc->pktlen);
        return;
     }
        (*rs->fn)(rs->arg, NULL, rs->rc->pktlen);
        return;
     }
-    secprintf(("%s: sec: stream_read_callback: read %ld bytes from %s:%d\n",
+    secprintf(("%s: sec: stream_read_callback: read %zd bytes from %s:%d\n",
               debug_prefix_time(NULL),
        rs->rc->pktlen, rs->rc->hostname, rs->handle));
     (*rs->fn)(rs->arg, rs->rc->pkt, rs->rc->pktlen);
               debug_prefix_time(NULL),
        rs->rc->pktlen, rs->rc->hostname, rs->handle));
     (*rs->fn)(rs->arg, rs->rc->pkt, rs->rc->pktlen);
@@ -1736,7 +1767,8 @@ sec_tcp_conn_read_callback(
        /* delete our 'accept' reference */
        if (rc->accept_fn != NULL) {
            if(rc->refcnt != 1) {
        /* delete our 'accept' reference */
        if (rc->accept_fn != NULL) {
            if(rc->refcnt != 1) {
-               dbprintf(("STRANGE, rc->refcnt should be 1"));
+               dbprintf(("STRANGE, rc->refcnt should be 1, it is %d\n",
+                         rc->refcnt));
                rc->refcnt=1;
            }
            rc->accept_fn = NULL;
                rc->refcnt=1;
            }
            rc->accept_fn = NULL;
@@ -1875,7 +1907,7 @@ str2pkthdr(
     if ((tok = strtok(NULL, " ")) == NULL)
        goto parse_error;
     amfree(pkt->body);
     if ((tok = strtok(NULL, " ")) == NULL)
        goto parse_error;
     amfree(pkt->body);
-    pkt_init(pkt, pkt_str2type(tok), "");
+    pkt_init_empty(pkt, pkt_str2type(tok));
     if (pkt->type == (pktype_t)-1)    
        goto parse_error;
 
     if (pkt->type == (pktype_t)-1)    
        goto parse_error;
 
@@ -2379,7 +2411,8 @@ check_security(
     if (ntohs(addr->sin_port) >= IPPORT_RESERVED) {
        char number[NUM_STR_SIZE];
 
     if (ntohs(addr->sin_port) >= IPPORT_RESERVED) {
        char number[NUM_STR_SIZE];
 
-       snprintf(number, SIZEOF(number), "%hd", (short)ntohs(addr->sin_port));
+       snprintf(number, SIZEOF(number), "%u",
+                (unsigned int)ntohs(addr->sin_port));
        *errstr = vstralloc("[",
                            "host ", remotehost, ": ",
                            "port ", number, " not secure",
        *errstr = vstralloc("[",
                            "host ", remotehost, ": ",
                            "port ", number, " not secure",
index 5d29b19ebd3323236e79b4bb2dbf301aafe30972..8ec116f6eebdf34907b0637740c50737ebd3ca86 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: stream.c,v 1.39 2006/08/24 01:57:15 paddy_s Exp $
+ * $Id: stream.c,v 1.39.2.1 2006/12/12 14:56:38 martinea Exp $
  *
  * functions for managing stream sockets
  */
  *
  * functions for managing stream sockets
  */
@@ -442,12 +442,12 @@ try_socksize(
        size -= 1024;
     }
     if(size > 1024) {
        size -= 1024;
     }
     if(size > 1024) {
-       dbprintf(("%s: try_socksize: %s buffer size is %d\n",
+       dbprintf(("%s: try_socksize: %s buffer size is %zu\n",
                  debug_prefix(NULL),
                  (which == SO_SNDBUF) ? "send" : "receive",
                  size));
     } else {
                  debug_prefix(NULL),
                  (which == SO_SNDBUF) ? "send" : "receive",
                  size));
     } else {
-       dbprintf(("%s: try_socksize: could not allocate %s buffer of %d\n",
+       dbprintf(("%s: try_socksize: could not allocate %s buffer of %zu\n",
                  debug_prefix(NULL),
                  (which == SO_SNDBUF) ? "send" : "receive",
                  origsize));
                  debug_prefix(NULL),
                  (which == SO_SNDBUF) ? "send" : "receive",
                  origsize));
index 3564d6b195b87da5d9c6bdf83c7df6ae4b49057f..d168b6f1c3143a7956f24c347baf01bcb23a1232 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: util.c,v 1.42.2.4 2006/09/21 11:12:21 martinea Exp $
+ * $Id: util.c,v 1.42.2.13 2007/01/24 18:33:29 martinea Exp $
  */
 
 #include "amanda.h"
  */
 
 #include "amanda.h"
@@ -293,7 +293,7 @@ connect_port(
     if (connect(s, (struct sockaddr *)svaddr,
                (socklen_t)sizeof(*svaddr)) == -1 && !nonblock) {
        save_errno = errno;
     if (connect(s, (struct sockaddr *)svaddr,
                (socklen_t)sizeof(*svaddr)) == -1 && !nonblock) {
        save_errno = errno;
-       dbprintf(("%s: connect_portrange: connect from %s.%d failed\n",
+       dbprintf(("%s: connect_portrange: connect from %s.%d failed: %s\n",
                  debug_prefix_time(NULL),
                  inet_ntoa(addrp->sin_addr),
                  ntohs(addrp->sin_port),
                  debug_prefix_time(NULL),
                  inet_ntoa(addrp->sin_addr),
                  ntohs(addrp->sin_port),
@@ -498,6 +498,11 @@ quote_string(
                 *(s++) = 'f';
                str++;
                continue;
                 *(s++) = 'f';
                str++;
                continue;
+           } else if (*str == '\\') {
+                *(s++) = '\\';
+                *(s++) = '\\';
+               str++;
+               continue;
            }
             if (*str == '"')
                 *(s++) = '\\';
            }
             if (*str == '"')
                 *(s++) = '\\';
@@ -1271,7 +1276,7 @@ lookup_keyword(
     /* switch to binary search if performance warrants */
 
     for(kwp = keytable; kwp->keyword != NULL; kwp++) {
     /* switch to binary search if performance warrants */
 
     for(kwp = keytable; kwp->keyword != NULL; kwp++) {
-       if (strcmp(kwp->keyword, str) == 0) break;
+       if (strcasecmp(kwp->keyword, str) == 0) break;
     }
     return kwp->token;
 }
     }
     return kwp->token;
 }
@@ -1371,7 +1376,6 @@ get_conftoken(
            buf = tkbuf;
            token_overflow = 0;
            do {
            buf = tkbuf;
            token_overflow = 0;
            do {
-               if (islower(ch)) ch = toupper(ch);
                if (buf < tkbuf+sizeof(tkbuf)-1) {
                    *buf++ = (char)ch;
                } else {
                if (buf < tkbuf+sizeof(tkbuf)-1) {
                    *buf++ = (char)ch;
                } else {
@@ -1750,9 +1754,9 @@ copy_val_t(
            break;
 
        case CONFTYPE_EXINCLUDE:
            break;
 
        case CONFTYPE_EXINCLUDE:
-           valdst->v.exinclude.type = valsrc->v.exinclude.type;
            valdst->v.exinclude.optional = valsrc->v.exinclude.optional;
            valdst->v.exinclude.optional = valsrc->v.exinclude.optional;
-           valdst->v.exinclude.sl = duplicate_sl(valsrc->v.exinclude.sl);
+           valdst->v.exinclude.sl_list = duplicate_sl(valsrc->v.exinclude.sl_list);
+           valdst->v.exinclude.sl_file = duplicate_sl(valsrc->v.exinclude.sl_file);
            break;
        }
     }
            break;
        }
     }
@@ -1792,7 +1796,8 @@ free_val_t(
            break;
 
        case CONFTYPE_EXINCLUDE:
            break;
 
        case CONFTYPE_EXINCLUDE:
-           free_sl(val->v.exinclude.sl);
+           free_sl(val->v.exinclude.sl_list);
+           free_sl(val->v.exinclude.sl_file);
            break;
     }
     val->seen = 0;
            break;
     }
     val->seen = 0;
@@ -1815,11 +1820,9 @@ static char buffer_conf_print[1025];
 
 char *
 conf_print(
 
 char *
 conf_print(
-    val_t *val)
+    val_t *val,
+    int    str_need_quote)
 {
 {
-    struct tm *stm;
-    int pos;
-
     buffer_conf_print[0] = '\0';
     switch(val->type) {
     case CONFTYPE_INT:
     buffer_conf_print[0] = '\0';
     switch(val->type) {
     case CONFTYPE_INT:
@@ -1857,26 +1860,31 @@ conf_print(
        break;
 
     case CONFTYPE_STRING:
        break;
 
     case CONFTYPE_STRING:
-       buffer_conf_print[0] = '"';
-       if(val->v.s) {
-           strncpy(&buffer_conf_print[1], val->v.s,
-                       SIZEOF(buffer_conf_print) - 1);
-           buffer_conf_print[SIZEOF(buffer_conf_print) - 2] = '\0';
-           buffer_conf_print[strlen(buffer_conf_print)] = '"';
+       if(str_need_quote) {
+           buffer_conf_print[0] = '"';
+           if(val->v.s) {
+               strncpy(&buffer_conf_print[1], val->v.s,
+                       SIZEOF(buffer_conf_print) - 1);
+               buffer_conf_print[SIZEOF(buffer_conf_print) - 2] = '\0';
+               buffer_conf_print[strlen(buffer_conf_print)] = '"';
+           } else {
+               buffer_conf_print[1] = '"';
+               buffer_conf_print[2] = '\0';
+           }
        } else {
        } else {
-           buffer_conf_print[1] = '"';
-           buffer_conf_print[2] = '\0';
+           if(val->v.s) {
+               strncpy(&buffer_conf_print[0], val->v.s,
+                       SIZEOF(buffer_conf_print));
+               buffer_conf_print[SIZEOF(buffer_conf_print) - 1] = '\0';
+           } else {
+               buffer_conf_print[0] = '\0';
+           }
        }
        break;
 
     case CONFTYPE_TIME:
        }
        break;
 
     case CONFTYPE_TIME:
-       stm = localtime(&val->v.t);
-       if (stm) {
-           snprintf(buffer_conf_print, SIZEOF(buffer_conf_print),
-                    "%d%02d%02d", stm->tm_hour, stm->tm_min, stm->tm_sec);
-       } else {
-           strcpy(buffer_conf_print, "00000");
-       }
+       snprintf(buffer_conf_print, SIZEOF(buffer_conf_print),
+                "%2d%02d", (int)val->v.t/100, (int)val->v.t % 100);
        break;
 
     case CONFTYPE_SL:
        break;
 
     case CONFTYPE_SL:
@@ -1884,15 +1892,7 @@ conf_print(
        break;
 
     case CONFTYPE_EXINCLUDE:
        break;
 
     case CONFTYPE_EXINCLUDE:
-       buffer_conf_print[0] = '\0';
-       if(val->v.exinclude.type == 0)
-           strncpy(buffer_conf_print, "LIST ", SIZEOF(buffer_conf_print));
-       else
-           strncpy(buffer_conf_print, "FILE ", SIZEOF(buffer_conf_print));
-       pos = 5;
-       if(val->v.exinclude.optional == 1)
-           strncpy(&buffer_conf_print[pos], "OPTIONAL ", SIZEOF(buffer_conf_print));
-       pos += 9;
+       strcpy(buffer_conf_print, "ERROR: use print_conf_exinclude");
        break;
 
     case CONFTYPE_BOOL:
        break;
 
     case CONFTYPE_BOOL:
@@ -2034,6 +2034,54 @@ conf_print(
     return buffer_conf_print;
 }
 
     return buffer_conf_print;
 }
 
+char *
+conf_print_exinclude(
+    val_t *val,
+    int    str_need_quote,
+    int    file)
+{
+    int    pos;
+    sl_t  *sl;
+    sle_t *excl;
+
+    (void)str_need_quote;
+    buffer_conf_print[0] = '\0';
+    if (val->type != CONFTYPE_EXINCLUDE) {
+       strcpy(buffer_conf_print, "ERROR: conf_print_exinclude called for type != CONFTYPE_EXINCLUDE");
+       return buffer_conf_print;
+    }
+
+    if (file == 0) {
+       sl = val->v.exinclude.sl_list;
+       strncpy(buffer_conf_print, "LIST ", SIZEOF(buffer_conf_print));
+       pos = 5;
+    } else {
+       sl = val->v.exinclude.sl_file;
+       strncpy(buffer_conf_print, "FILE ", SIZEOF(buffer_conf_print));
+       pos = 5;
+    }
+
+    if(val->v.exinclude.optional == 1) {
+       strncpy(&buffer_conf_print[pos], "OPTIONAL ", SIZEOF(buffer_conf_print)-pos);
+       pos += 9;
+    }
+
+    if( sl != NULL) {
+       for(excl = sl->first; excl != NULL; excl = excl->next) {
+           if (pos + 3 + strlen(excl->name) < SIZEOF(buffer_conf_print)) {
+               buffer_conf_print[pos++] = ' ';
+               buffer_conf_print[pos++] = '"';
+               strcpy(&buffer_conf_print[pos], excl->name);
+               pos += strlen(excl->name);
+               buffer_conf_print[pos++] = '"';
+           }
+       }
+    }
+
+    buffer_conf_print[SIZEOF(buffer_conf_print) - 1] = '\0';
+    return buffer_conf_print;
+}
+
 void
 conf_init_string(
     val_t *val,
 void
 conf_init_string(
     val_t *val,
@@ -2228,9 +2276,9 @@ conf_init_exinclude(
 {
     val->seen = 0;
     val->type = CONFTYPE_EXINCLUDE;
 {
     val->seen = 0;
     val->type = CONFTYPE_EXINCLUDE;
-    val->v.exinclude.type = 0;
     val->v.exinclude.optional = 0;
     val->v.exinclude.optional = 0;
-    val->v.exinclude.sl = NULL;
+    val->v.exinclude.sl_list = NULL;
+    val->v.exinclude.sl_file = NULL;
 }
 
 void
 }
 
 void
@@ -2590,6 +2638,7 @@ command_overwrite(
     keytab_t        *kt;
     char            *myprefix;
     command_option_t *command_option;
     keytab_t        *kt;
     char            *myprefix;
     command_option_t *command_option;
+    int                      duplicate;
 
     if(!command_options) return;
 
 
     if(!command_options) return;
 
@@ -2602,10 +2651,15 @@ command_overwrite(
            /* NOTREACHED */
        }
 
            /* NOTREACHED */
        }
 
-        for(command_option = command_options; command_option->name != NULL;
+       for(command_option = command_options; command_option->name != NULL;
                                                            command_option++) {
            myprefix = stralloc2(prefix, kt->keyword);
            if(strcasecmp(myprefix, command_option->name) == 0) {
                                                            command_option++) {
            myprefix = stralloc2(prefix, kt->keyword);
            if(strcasecmp(myprefix, command_option->name) == 0) {
+               duplicate = 0;
+               if (command_option->used == 0 &&
+                   valarray[np->parm].seen == -2) {
+                   duplicate = 1;
+               }
                command_option->used = 1;
                valarray[np->parm].seen = -2;
                if(np->type == CONFTYPE_STRING &&
                command_option->used = 1;
                valarray[np->parm].seen = -2;
                if(np->type == CONFTYPE_STRING &&
@@ -2623,8 +2677,12 @@ command_overwrite(
                amfree(conf_line);
                conf_line = conf_char = NULL;
 
                amfree(conf_line);
                conf_line = conf_char = NULL;
 
-               if(np->validate)
+               if (np->validate)
                    np->validate(np, &valarray[np->parm]);
                    np->validate(np, &valarray[np->parm]);
+               if (duplicate == 1) {
+                   fprintf(stderr,"Duplicate %s option, using %s\n",
+                           command_option->name, command_option->value);
+               }
            }
            amfree(myprefix);
        }
            }
            amfree(myprefix);
        }
@@ -2643,6 +2701,64 @@ free_new_argv(
 }
 
 
 }
 
 
+int copy_file(
+    char  *dst,
+    char  *src,
+    char **errmsg)
+{
+    int     infd, outfd;
+    int     save_errno;
+    ssize_t nb;
+    char    buf[32768];
+    char   *quoted;
+
+    if ((infd = open(src, O_RDONLY)) == -1) {
+       save_errno = errno;
+       quoted = quote_string(src);
+       *errmsg = vstralloc("Can't open file ", quoted, " for reading: %s",
+                           strerror(save_errno));
+       amfree(quoted);
+       return -1;
+    }
+
+    if ((outfd = open(dst, O_WRONLY|O_CREAT, 0600)) == -1) {
+       save_errno = errno;
+       quoted = quote_string(dst);
+       *errmsg = vstralloc("Can't open file ", quoted, " for writting: %s",
+                           strerror(save_errno));
+       amfree(quoted);
+       close(infd);
+       return -1;
+    }
+
+    while((nb=read(infd, &buf, SIZEOF(buf))) > 0) {
+       if(fullwrite(outfd,&buf,(size_t)nb) < nb) {
+           save_errno = errno;
+           quoted = quote_string(dst);
+           *errmsg = vstralloc("Error writing to \"", quoted, "\":",
+                               strerror(save_errno));
+           amfree(quoted);
+           close(infd);
+           close(outfd);
+           return -1;
+       }
+    }
+
+    if (nb < 0) {
+       save_errno = errno;
+       quoted = quote_string(src);
+       *errmsg = vstralloc("Error reading from \"", quoted, "\":",
+                           strerror(save_errno));
+       amfree(quoted);
+       close(infd);
+       close(outfd);
+       return -1;
+    }
+
+    close(infd);
+    close(outfd);
+    return 0;
+}
 #ifndef HAVE_LIBREADLINE
 /*
  * simple readline() replacements
 #ifndef HAVE_LIBREADLINE
 /*
  * simple readline() replacements
index 029def0a99f7c97063925f8475680fb8f82c7e4f..2ce672b21089fcdf2a582efd1b204fd980dac009 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: util.h,v 1.17.2.1 2006/09/21 11:12:21 martinea Exp $
+ * $Id: util.h,v 1.17.2.5 2007/01/10 16:18:46 martinea Exp $
  */
 #ifndef UTIL_H
 #define        UTIL_H
  */
 #ifndef UTIL_H
 #define        UTIL_H
@@ -40,7 +40,7 @@ typedef enum {
     CONFTYPE_REAL,
     CONFTYPE_STRING,
     CONFTYPE_IDENT,
     CONFTYPE_REAL,
     CONFTYPE_STRING,
     CONFTYPE_IDENT,
-    CONFTYPE_TIME,
+    CONFTYPE_TIME,     /* hhmm */
     CONFTYPE_SIZE,
     CONFTYPE_SL,
     CONFTYPE_BOOL,
     CONFTYPE_SIZE,
     CONFTYPE_SL,
     CONFTYPE_BOOL,
@@ -52,7 +52,7 @@ typedef enum {
     CONFTYPE_TAPERALGO,
     CONFTYPE_PRIORITY,
     CONFTYPE_RATE,
     CONFTYPE_TAPERALGO,
     CONFTYPE_PRIORITY,
     CONFTYPE_RATE,
-    CONFTYPE_EXINCLUDE,
+    CONFTYPE_EXINCLUDE
 } conftype_t;
 
 /* Compression types */
 } conftype_t;
 
 /* Compression types */
@@ -70,7 +70,7 @@ typedef enum {
 typedef enum {
     ENCRYPT_NONE,               /* No encryption */
     ENCRYPT_CUST,               /* Custom encryption on client */
 typedef enum {
     ENCRYPT_NONE,               /* No encryption */
     ENCRYPT_CUST,               /* Custom encryption on client */
-    ENCRYPT_SERV_CUST,          /* Custom encryption on server */
+    ENCRYPT_SERV_CUST           /* Custom encryption on server */
 } encrypt_t;
 
 /* holdingdisk types */
 } encrypt_t;
 
 /* holdingdisk types */
@@ -217,8 +217,8 @@ typedef struct {
 } command_option_t;
 
 typedef struct exinclude_s {
 } command_option_t;
 
 typedef struct exinclude_s {
-    int  type;  /* 0=list   1=file */
-    sl_t *sl;
+    sl_t *sl_list;
+    sl_t *sl_file;
     int  optional;
 } exinclude_t;
 
     int  optional;
 } exinclude_t;
 
@@ -287,7 +287,8 @@ void read_real(t_conf_var *, val_t *);
 void read_time(t_conf_var *, val_t *);
 void copy_val_t(val_t *, val_t *);
 void free_val_t(val_t *);
 void read_time(t_conf_var *, val_t *);
 void copy_val_t(val_t *, val_t *);
 void free_val_t(val_t *);
-char *conf_print(val_t *);
+char *conf_print(val_t *, int);
+char *conf_print_exinclude(val_t *, int, int);
 void conf_init_string(val_t *, char *);
 void conf_init_ident(val_t *, char *);
 void conf_init_int(val_t *, int);
 void conf_init_string(val_t *, char *);
 void conf_init_ident(val_t *, char *);
 void conf_init_int(val_t *, int);
@@ -362,6 +363,7 @@ char *      sanitize_string(const char *str);
 char * strquotedstr(void);
 ssize_t        hexdump(const char *buffer, size_t bytes);
 void   dump_sockaddr(struct sockaddr_in *      sa);
 char * strquotedstr(void);
 ssize_t        hexdump(const char *buffer, size_t bytes);
 void   dump_sockaddr(struct sockaddr_in *      sa);
+int     copy_file(char *dst, char *src, char **errmsg);
 
 /*
  *   validate_email return 0 if the following characters are present
 
 /*
  *   validate_email return 0 if the following characters are present
index 534a6f4fc5ba95ed8b14ddb9f562112e428ad489..b86565a2a1d54e3100d0996aaa2e6e8fc290e5ed 100644 (file)
@@ -1,8 +1,8 @@
 /* version.c - generated by genversion.c - DO NOT EDIT! */
 const char * const version_info[] = {
 /* version.c - generated by genversion.c - DO NOT EDIT! */
 const char * const version_info[] = {
-  "build: VERSION=\"Amanda-2.5.1p1\"\n",
-  "       BUILT_DATE=\"Wed Sep 27 11:11:29 EDT 2006\"\n",
-  "       BUILT_MACH=\"Linux modemcable197.174-201-24.mc.videotron.ca 2.6.17-1.2187_FC5 #1 SMP Mon Sep 11 01:16:59 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux\"\n",
+  "build: VERSION=\"Amanda-2.5.1p3\"\n",
+  "       BUILT_DATE=\"Wed Feb 7 10:30:00 EST 2007\"\n",
+  "       BUILT_MACH=\"Linux modemcable161.224-131-66.mc.videotron.ca 2.6.18-1.2257.fc5 #1 SMP Fri Dec 15 16:07:14 EST 2006 x86_64 x86_64 x86_64 GNU/Linux\"\n",
   "       CC=\"gcc\"\n",
   "       CONFIGURE_COMMAND=\"'./configure' '--prefix=/home/martinea/linux' '--with-configdir=/home/martinea/etc/amanda' '--with-gnutar-listdir=/var/gnutar-lists' '--with-bsd-security' '--with-ssh-security' '--with-rsh-security' '--with-krb4-security' '--without-krb5-security' '--with-user=martinea' '--with-group=martinea' '--mandir=/home/martinea/man'\"\n",
   "paths: bindir=\"/home/martinea/linux/bin\"\n",
   "       CC=\"gcc\"\n",
   "       CONFIGURE_COMMAND=\"'./configure' '--prefix=/home/martinea/linux' '--with-configdir=/home/martinea/etc/amanda' '--with-gnutar-listdir=/var/gnutar-lists' '--with-bsd-security' '--with-ssh-security' '--with-rsh-security' '--with-krb4-security' '--without-krb5-security' '--with-user=martinea' '--with-group=martinea' '--mandir=/home/martinea/man'\"\n",
   "paths: bindir=\"/home/martinea/linux/bin\"\n",
@@ -18,9 +18,9 @@ const char * const version_info[] = {
   "       COMPRESS_PATH=\"/usr/bin/gzip\"\n",
   "       UNCOMPRESS_PATH=\"/usr/bin/gzip\" LPRCMD=\"/usr/bin/lpr\"\n",
   "       MAILER=\"/usr/bin/Mail\" listed_incr_dir=\"/var/gnutar-lists\"\n",
   "       COMPRESS_PATH=\"/usr/bin/gzip\"\n",
   "       UNCOMPRESS_PATH=\"/usr/bin/gzip\" LPRCMD=\"/usr/bin/lpr\"\n",
   "       MAILER=\"/usr/bin/Mail\" listed_incr_dir=\"/var/gnutar-lists\"\n",
-  "defs:  DEFAULT_SERVER=\"modemcable197.174-201-24.mc.videotron.ca\"\n",
+  "defs:  DEFAULT_SERVER=\"modemcable161.224-131-66.mc.videotron.ca\"\n",
   "       DEFAULT_CONFIG=\"DailySet1\"\n",
   "       DEFAULT_CONFIG=\"DailySet1\"\n",
-  "       DEFAULT_TAPE_SERVER=\"modemcable197.174-201-24.mc.videotron.ca\"\n",
+  "       DEFAULT_TAPE_SERVER=\"modemcable161.224-131-66.mc.videotron.ca\"\n",
   "       HAVE_MMAP HAVE_SYSVSHM LOCKING=POSIX_FCNTL SETPGRP_VOID\n",
   "       DEBUG_CODE AMANDA_DEBUG_DAYS=4 BSD_SECURITY RSH_SECURITY\n",
   "       USE_AMANDAHOSTS CLIENT_LOGIN=\"martinea\" FORCE_USERID\n",
   "       HAVE_MMAP HAVE_SYSVSHM LOCKING=POSIX_FCNTL SETPGRP_VOID\n",
   "       DEBUG_CODE AMANDA_DEBUG_DAYS=4 BSD_SECURITY RSH_SECURITY\n",
   "       USE_AMANDAHOSTS CLIENT_LOGIN=\"martinea\" FORCE_USERID\n",
index 7f40f856db230180f6fa72c1ed9f6d30e8bbb8cb..c120d2e2ed68911aca5b1649dcf366d314427372 100644 (file)
 const int   VERSION_MAJOR   = 2;
 const int   VERSION_MINOR   = 5;
 const int   VERSION_PATCH   = 1;
 const int   VERSION_MAJOR   = 2;
 const int   VERSION_MINOR   = 5;
 const int   VERSION_PATCH   = 1;
-const char *const VERSION_COMMENT = "p1";
+const char *const VERSION_COMMENT = "p3";
 
 const char *
 versionsuffix(void)
 {
 #ifdef USE_VERSION_SUFFIXES
 
 const char *
 versionsuffix(void)
 {
 #ifdef USE_VERSION_SUFFIXES
-    return "-2.5.1p1";
+    return "-2.5.1p3";
 #else
     return "";
 #endif
 #else
     return "";
 #endif
@@ -49,5 +49,5 @@ versionsuffix(void)
 const char *
 version(void)
 {
 const char *
 version(void)
 {
-    return "2.5.1p1";
+    return "2.5.1p3";
 }
 }
index 31f35774835def2e498aa266fa901de4403c7956..d9780d62d14b11e3a643e2fec0321d8b20dbec20 100644 (file)
@@ -136,6 +136,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -166,6 +167,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index 7433932bdca5e4002a0fb73fd0ca9d50081f05a9..04a7ba9fe8a17da89b3d8a03f3606cbe62b3c37d 100644 (file)
 /* Define to 1 if you have the `strstr' function. */
 #undef HAVE_STRSTR
 
 /* Define to 1 if you have the `strstr' function. */
 #undef HAVE_STRSTR
 
+/* Define to 1 if you have the `strtol' function. */
+#undef HAVE_STRTOL
+
+/* Define to 1 if you have the `strtoll' function. */
+#undef HAVE_STRTOLL
+
+/* Define if strtoll is declared. */
+#undef HAVE_STRTOLL_DECL
+
+/* Define if strtol is declared. */
+#undef HAVE_STRTOL_DECL
+
 /* Define if the database header declares struct datum. */
 #undef HAVE_STRUCT_DATUM
 
 /* Define if the database header declares struct datum. */
 #undef HAVE_STRUCT_DATUM
 
 /* Format for a long long printf. */
 #undef LL_FMT
 
 /* Format for a long long printf. */
 #undef LL_FMT
 
+/* Format for a long long printf. */
+#undef LL_RFMT
+
 /* A comma-separated list of two integers, determining the minimum and maximum
    reserved TCP port numbers sockets should be bound to. (mainly for
    amrecover) */
 /* A comma-separated list of two integers, determining the minimum and maximum
    reserved TCP port numbers sockets should be bound to. (mainly for
    amrecover) */
 /* The size of a `void*', as computed by sizeof. */
 #undef SIZEOF_VOIDP
 
 /* The size of a `void*', as computed by sizeof. */
 #undef SIZEOF_VOIDP
 
+/* Define to the exact path to the sort program. */
+#undef SORT_PATH
+
 /* Define if SSH transport should be enabled. */
 #undef SSH_SECURITY
 
 /* Define if SSH transport should be enabled. */
 #undef SSH_SECURITY
 
index fa38cd04c7f3736a66ccb623bc3edc1e0950c63b..323dcaad2a005c8e017634773c23ca6d2b5afb7b 100755 (executable)
--- a/configure
+++ b/configure
@@ -463,7 +463,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CONFIGURE_COMMAND INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar SNAPSHOT_STAMP VERSION_MAJOR VERSION_MINOR VERSION_PATCH VERSION_COMMENT VERSION_SUFFIX CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE GREP EGREP AMLINT AMLINTFLAGS DUMPER_DIR CONFIG_DIR USE_VERSION_SUFFIXES CLIENT_SCRIPTS_OPT DEFAULT_SERVER CLIENT_LOGIN SETUID_GROUP BINARY_OWNER DEFAULT_CONFIG DEFAULT_TAPE_SERVER DEFAULT_TAPE_DEVICE DEFAULT_RAW_TAPE_DEVICE DEFAULT_CHANGER_DEVICE GNUTAR_LISTED_INCREMENTAL_DIRX GNUTAR_LISTED_INCREMENTAL_DIR MAXTAPEBLOCKSIZE AMANDA_TMPDIR AMANDA_DBGDIR AMANDA_DEBUG_DAYS SERVICE_SUFFIX MT_FILE_FLAG CPP AR AWK_VAR_ASSIGNMENT_OPT YACC CAT COMPRESS DD GETCONF GNUPLOT GNUTAR SAMBA_CLIENT GZIP MAILER MT CHIO CHS MTX MCUTIL PRINT PCAT PERL DUMP RESTORE XFSDUMP XFSRESTORE VXDUMP VXRESTORE VDUMP VRESTORE AMPLOT_COMPRESS AMPLOT_CAT_GZIP AMPLOT_CAT_COMPRESS AMPLOT_CAT_PACK LL_FMT LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBTOOL_DEPS LEX LEXLIB LEX_OUTPUT_ROOT READLINE_LIBS DB_EXT ALLOCA LIBOBJS ac_n ac_c WANT_CLIENT_TRUE WANT_CLIENT_FALSE WANT_SAMBA_TRUE WANT_SAMBA_FALSE WANT_RESTORE_TRUE WANT_RESTORE_FALSE WANT_SERVER_TRUE WANT_SERVER_FALSE WANT_RECOVER_TRUE WANT_RECOVER_FALSE WANT_TAPE_TRUE WANT_TAPE_FALSE WANT_AMPLOT_TRUE WANT_AMPLOT_FALSE WANT_CHG_SCSI_TRUE WANT_CHG_SCSI_FALSE WANT_CHIO_SCSI_TRUE WANT_CHIO_SCSI_FALSE WANT_RUNTIME_PSEUDO_RELOC_TRUE WANT_RUNTIME_PSEUDO_RELOC_FALSE WANT_SETUID_CLIENT_TRUE WANT_SETUID_CLIENT_FALSE WANT_SSH_SECURITY_TRUE WANT_SSH_SECURITY_FALSE LTLIBOBJS LTALLOCA DOC_BUILD_DATE BUILD_MAN_PAGES_TRUE BUILD_MAN_PAGES_FALSE XSLTPROC HAVE_XSLTPROC_TRUE HAVE_XSLTPROC_FALSE AM_CFLAGS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CONFIGURE_COMMAND INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar SNAPSHOT_STAMP VERSION_MAJOR VERSION_MINOR VERSION_PATCH VERSION_COMMENT VERSION_SUFFIX CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE GREP EGREP AMLINT AMLINTFLAGS DUMPER_DIR CONFIG_DIR USE_VERSION_SUFFIXES CLIENT_SCRIPTS_OPT DEFAULT_SERVER CLIENT_LOGIN SETUID_GROUP BINARY_OWNER DEFAULT_CONFIG DEFAULT_TAPE_SERVER DEFAULT_TAPE_DEVICE DEFAULT_RAW_TAPE_DEVICE DEFAULT_CHANGER_DEVICE GNUTAR_LISTED_INCREMENTAL_DIRX GNUTAR_LISTED_INCREMENTAL_DIR MAXTAPEBLOCKSIZE AMANDA_TMPDIR AMANDA_DBGDIR AMANDA_DEBUG_DAYS SERVICE_SUFFIX MT_FILE_FLAG CPP AR AWK_VAR_ASSIGNMENT_OPT YACC CAT COMPRESS DD GETCONF GNUPLOT GNUTAR SAMBA_CLIENT GZIP SORT MAILER MT CHIO CHS MTX MCUTIL PRINT PCAT PERL DUMP RESTORE XFSDUMP XFSRESTORE VXDUMP VXRESTORE VDUMP VRESTORE AMPLOT_COMPRESS AMPLOT_CAT_GZIP AMPLOT_CAT_COMPRESS AMPLOT_CAT_PACK LL_FMT LL_RFMT LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBTOOL_DEPS LEX LEXLIB LEX_OUTPUT_ROOT READLINE_LIBS DB_EXT ALLOCA LIBOBJS ac_n ac_c WANT_CLIENT_TRUE WANT_CLIENT_FALSE WANT_SAMBA_TRUE WANT_SAMBA_FALSE WANT_RESTORE_TRUE WANT_RESTORE_FALSE WANT_SERVER_TRUE WANT_SERVER_FALSE WANT_RECOVER_TRUE WANT_RECOVER_FALSE WANT_TAPE_TRUE WANT_TAPE_FALSE WANT_AMPLOT_TRUE WANT_AMPLOT_FALSE WANT_CHG_SCSI_TRUE WANT_CHG_SCSI_FALSE WANT_CHIO_SCSI_TRUE WANT_CHIO_SCSI_FALSE WANT_RUNTIME_PSEUDO_RELOC_TRUE WANT_RUNTIME_PSEUDO_RELOC_FALSE WANT_SETUID_CLIENT_TRUE WANT_SETUID_CLIENT_FALSE WANT_SSH_SECURITY_TRUE WANT_SSH_SECURITY_FALSE LTLIBOBJS LTALLOCA DOC_BUILD_DATE BUILD_MAN_PAGES_TRUE BUILD_MAN_PAGES_FALSE XSLTPROC HAVE_XSLTPROC_TRUE HAVE_XSLTPROC_FALSE AM_CFLAGS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -1077,11 +1077,13 @@ Optional Packages:
   --without-bsd-security do not use BSD rsh/rlogin style security
   --without-amandahosts  use .rhosts instead of .amandahosts
   --with-dbmalloc=DIR  Location of dbmalloc libs and headers
   --without-bsd-security do not use BSD rsh/rlogin style security
   --without-amandahosts  use .rhosts instead of .amandahosts
   --with-dbmalloc=DIR  Location of dbmalloc libs and headers
+  --with-ipv6             If IPv6 must be enabled (Default)
+  --without-ipv6          If IPv6 must be disable
   --with-krb4-security=DIR   Location of Kerberos software [/usr/kerberos /usr/cygnus /usr /opt/kerberos]
   --with-rsh-security use rsh as a transport
   --with-ssh-security use ssh as a transport
   --with-bsdtcp-security use tcp as a transport
   --with-krb4-security=DIR   Location of Kerberos software [/usr/kerberos /usr/cygnus /usr /opt/kerberos]
   --with-rsh-security use rsh as a transport
   --with-ssh-security use ssh as a transport
   --with-bsdtcp-security use tcp as a transport
-  --with-bsdudp-security use tcp as a transport
+  --with-bsdudp-security use udp as a transport
     --with-server-principal=ARG    server host principal  ["amanda"]
     --with-server-instance=ARG     server host instance   ["amanda"]
     --with-server-keyfile=ARG      server host key file   ["/.amanda"]
     --with-server-principal=ARG    server host principal  ["amanda"]
     --with-server-instance=ARG     server host instance   ["amanda"]
     --with-server-keyfile=ARG      server host key file   ["/.amanda"]
@@ -1965,7 +1967,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=amanda
 
 # Define the identity of the package.
  PACKAGE=amanda
- VERSION=2.5.1p1
+ VERSION=2.5.1p3
 
 
 cat >>confdefs.h <<_ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4427,39 +4429,6 @@ echo "$as_me: error: *** You must supply an argument to the --with-tape-device o
          ;;
        esac
 
          ;;
        esac
 
-else
-
-       if test -z "$DEFAULT_TAPE_DEVICE"; then
-           echo "$as_me:$LINENO: checking for non-rewinding tape device" >&5
-echo $ECHO_N "checking for non-rewinding tape device... $ECHO_C" >&6
-                                                                   tape_dev=
-           nr_tape_dev=
-           if test -d /dev/rmt; then
-
-
-               for num in 9 8 7 6 5 4 3 2 1 0; do
-                   td=/dev/rmt/${num}b
-                   ntd=/dev/rmt/${num}bn
-                   if test -r $td -a -r $ntd; then
-                       tape_dev=$td
-                       nr_tape_dev=$ntd
-                   fi
-               done
-           else
-                               for num in 9 8 7 6 5 4 3 2 1 0; do
-                   td=/dev/rst${num}
-                   ntd=/dev/nrst${num}
-                   if test -r $td -a -r $ntd; then
-                       tape_dev=$td
-                       nr_tape_dev=$ntd
-                   fi
-               done
-           fi
-           DEFAULT_TAPE_DEVICE=$nr_tape_dev
-           echo "$as_me:$LINENO: result: $DEFAULT_TAPE_DEVICE" >&5
-echo "${ECHO_T}$DEFAULT_TAPE_DEVICE" >&6
-       fi
-
 
 fi;
 
 
 fi;
 
@@ -4899,6 +4868,24 @@ echo "$as_me: WARNING: *** dbmalloc library not found - no malloc debugging supp
 esac
 
 
 esac
 
 
+# Check whether --with-ipv6 or --without-ipv6 was given.
+if test "${with_ipv6+set}" = set; then
+  withval="$with_ipv6"
+
+       case "$withval" in
+       y | ye | yes) amanda_ipv6=true;;
+       n | no) amanda_ipv6=false;;
+       *)
+           { { echo "$as_me:$LINENO: error: *** You must not supply an argument to --with-ipv6 option." >&5
+echo "$as_me: error: *** You must not supply an argument to --with-ipv6 option." >&2;}
+   { (exit 1); exit 1; }; }
+         ;;
+       esac
+
+
+fi;
+
+
 : ${KRB4_SPOTS="/usr/kerberos /usr/cygnus /usr /opt/kerberos"}
 
 
 : ${KRB4_SPOTS="/usr/kerberos /usr/cygnus /usr /opt/kerberos"}
 
 
@@ -5950,6 +5937,7 @@ _ACEOF
 
                        NEED_SETUID_CLIENT=false
                        NEED_RUNTIME_PSEUDO_RELOC=true
 
                        NEED_SETUID_CLIENT=false
                        NEED_RUNTIME_PSEUDO_RELOC=true
+                       BROKEN_IPV6=true
                        ;;
   *)
                        cat <<END
                        ;;
   *)
                        cat <<END
@@ -9993,6 +9981,65 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
 _ACEOF
 
 
+for ac_prog in sort
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_SORT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $SORT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_SORT="$SORT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $LOCSYSPATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_SORT="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+SORT=$ac_cv_path_SORT
+
+if test -n "$SORT"; then
+  echo "$as_me:$LINENO: result: $SORT" >&5
+echo "${ECHO_T}$SORT" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$SORT" && break
+done
+
+if test -z "$SORT"; then
+    if $NO_SERVER_MODE; then
+       SORT="NONE"
+    else
+       { { echo "$as_me:$LINENO: error: Set SORT to the path of the sort program." >&5
+echo "$as_me: error: Set SORT to the path of the sort program." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define SORT_PATH "$SORT"
+_ACEOF
+
+
 for ac_prog in Mail mailx mail
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 for ac_prog in Mail mailx mail
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -11041,7 +11088,7 @@ echo $ECHO_N "checking printf format modifier for 64-bit integers... $ECHO_C" >&
 if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: assuming target platform uses ll" >&5
 echo "${ECHO_T}assuming target platform uses ll" >&6
 if test "$cross_compiling" = yes; then
   echo "$as_me:$LINENO: result: assuming target platform uses ll" >&5
 echo "${ECHO_T}assuming target platform uses ll" >&6
-       LL_FMT="%lld"
+       LL_FMT="%lld"; LL_RFMT="lld"
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -11074,7 +11121,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   (exit $ac_status); }; }; then
   echo "$as_me:$LINENO: result: ll" >&5
 echo "${ECHO_T}ll" >&6
   (exit $ac_status); }; }; then
   echo "$as_me:$LINENO: result: ll" >&5
 echo "${ECHO_T}ll" >&6
-       LL_FMT="%lld"
+       LL_FMT="%lld"; LL_RFMT="lld"
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
@@ -11083,7 +11130,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ( exit $ac_status )
 echo "$as_me:$LINENO: result: l" >&5
 echo "${ECHO_T}l" >&6
 ( exit $ac_status )
 echo "$as_me:$LINENO: result: l" >&5
 echo "${ECHO_T}l" >&6
-       LL_FMT="%ld"
+       LL_FMT="%ld"; LL_RFMT="ld"
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
@@ -11093,6 +11140,12 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
 _ACEOF
 
 
+cat >>confdefs.h <<_ACEOF
+#define LL_RFMT "$LL_RFMT"
+_ACEOF
+
+
+
 
 GZIP=
 
 
 GZIP=
 
@@ -15012,7 +15065,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 15015 "configure"' > conftest.$ac_ext
+  echo '#line 15068 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -16118,7 +16171,7 @@ fi
 
 
 # Provide some information about the compiler.
 
 
 # Provide some information about the compiler.
-echo "$as_me:16121:" \
+echo "$as_me:16174:" \
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -17220,11 +17273,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17223: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17276: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17227: \$? = $ac_status" >&5
+   echo "$as_me:17280: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -17482,11 +17535,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17485: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17538: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17489: \$? = $ac_status" >&5
+   echo "$as_me:17542: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -17544,11 +17597,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17547: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17600: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:17551: \$? = $ac_status" >&5
+   echo "$as_me:17604: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -19792,7 +19845,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 19795 "configure"
+#line 19848 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -19890,7 +19943,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 19893 "configure"
+#line 19946 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -22149,11 +22202,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:22152: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:22205: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:22156: \$? = $ac_status" >&5
+   echo "$as_me:22209: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -22211,11 +22264,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:22214: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:22267: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:22218: \$? = $ac_status" >&5
+   echo "$as_me:22271: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -23588,7 +23641,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 23591 "configure"
+#line 23644 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -23686,7 +23739,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 23689 "configure"
+#line 23742 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -24571,11 +24624,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24574: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24627: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:24578: \$? = $ac_status" >&5
+   echo "$as_me:24631: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -24633,11 +24686,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:24636: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24689: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:24640: \$? = $ac_status" >&5
+   echo "$as_me:24693: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -26767,11 +26820,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:26770: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:26823: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:26774: \$? = $ac_status" >&5
+   echo "$as_me:26827: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -27029,11 +27082,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:27032: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:27085: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:27036: \$? = $ac_status" >&5
+   echo "$as_me:27089: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -27091,11 +27144,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:27094: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:27147: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:27098: \$? = $ac_status" >&5
+   echo "$as_me:27151: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -29339,7 +29392,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 29342 "configure"
+#line 29395 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -29437,7 +29490,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 29440 "configure"
+#line 29493 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
 fi
 
 
 fi
 
 
+ice_have_strtol=no
+
+for ac_func in strtol
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+ ice_have_strtol=yes
+fi
+done
+
+if test "${ice_have_strtol}" = yes; then
+echo "$as_me:$LINENO: checking for strtol declaration in stdlib.h" >&5
+echo $ECHO_N "checking for strtol declaration in stdlib.h... $ECHO_C" >&6
+if test "${ice_cv_have_strtol_decl+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ice_cv_have_strtol_decl=no
+ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*'
+ice_re_word='(^|[^a-zA-Z0-9_])'
+for header in stdlib.h; do
+# Check for ordinary declaration
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$header>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "${ice_re_word}strtol[        ]*\(" >/dev/null 2>&1; then
+  ice_cv_have_strtol_decl=yes
+fi
+rm -f conftest*
+
+if test "$ice_cv_have_strtol_decl" = yes; then
+       break
+fi
+# Check for "fixed" declaration like "getpid _PARAMS((int))"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$header>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "${ice_re_word}strtol[        ]*$ice_re_params\(\(" >/dev/null 2>&1; then
+  ice_cv_have_strtol_decl=yes
+fi
+rm -f conftest*
+
+if test "$ice_cv_have_strtol_decl" = yes; then
+       break
+fi
+done
+
+fi
+
+echo "$as_me:$LINENO: result: $ice_cv_have_strtol_decl" >&5
+echo "${ECHO_T}$ice_cv_have_strtol_decl" >&6
+if test "$ice_cv_have_strtol_decl" = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRTOL_DECL 1
+_ACEOF
+
+fi
+fi
+
+
+ice_have_strtoll=no
+
+for ac_func in strtoll
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+ ice_have_strtoll=yes
+fi
+done
+
+if test "${ice_have_strtoll}" = yes; then
+echo "$as_me:$LINENO: checking for strtoll declaration in stdlib.h" >&5
+echo $ECHO_N "checking for strtoll declaration in stdlib.h... $ECHO_C" >&6
+if test "${ice_cv_have_strtoll_decl+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ice_cv_have_strtoll_decl=no
+ice_re_params='[a-zA-Z_][a-zA-Z0-9_]*'
+ice_re_word='(^|[^a-zA-Z0-9_])'
+for header in stdlib.h; do
+# Check for ordinary declaration
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$header>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "${ice_re_word}strtoll[       ]*\(" >/dev/null 2>&1; then
+  ice_cv_have_strtoll_decl=yes
+fi
+rm -f conftest*
+
+if test "$ice_cv_have_strtoll_decl" = yes; then
+       break
+fi
+# Check for "fixed" declaration like "getpid _PARAMS((int))"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$header>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "${ice_re_word}strtoll[       ]*$ice_re_params\(\(" >/dev/null 2>&1; then
+  ice_cv_have_strtoll_decl=yes
+fi
+rm -f conftest*
+
+if test "$ice_cv_have_strtoll_decl" = yes; then
+       break
+fi
+done
+
+fi
+
+echo "$as_me:$LINENO: result: $ice_cv_have_strtoll_decl" >&5
+echo "${ECHO_T}$ice_cv_have_strtoll_decl" >&6
+if test "$ice_cv_have_strtoll_decl" = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRTOLL_DECL 1
+_ACEOF
+
+fi
+fi
+
+
 for ac_func in basename
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 for ac_func in basename
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -56316,6 +56705,7 @@ s,@GNUPLOT@,$GNUPLOT,;t t
 s,@GNUTAR@,$GNUTAR,;t t
 s,@SAMBA_CLIENT@,$SAMBA_CLIENT,;t t
 s,@GZIP@,$GZIP,;t t
 s,@GNUTAR@,$GNUTAR,;t t
 s,@SAMBA_CLIENT@,$SAMBA_CLIENT,;t t
 s,@GZIP@,$GZIP,;t t
+s,@SORT@,$SORT,;t t
 s,@MAILER@,$MAILER,;t t
 s,@MT@,$MT,;t t
 s,@CHIO@,$CHIO,;t t
 s,@MAILER@,$MAILER,;t t
 s,@MT@,$MT,;t t
 s,@CHIO@,$CHIO,;t t
@@ -56338,6 +56728,7 @@ s,@AMPLOT_CAT_GZIP@,$AMPLOT_CAT_GZIP,;t t
 s,@AMPLOT_CAT_COMPRESS@,$AMPLOT_CAT_COMPRESS,;t t
 s,@AMPLOT_CAT_PACK@,$AMPLOT_CAT_PACK,;t t
 s,@LL_FMT@,$LL_FMT,;t t
 s,@AMPLOT_CAT_COMPRESS@,$AMPLOT_CAT_COMPRESS,;t t
 s,@AMPLOT_CAT_PACK@,$AMPLOT_CAT_PACK,;t t
 s,@LL_FMT@,$LL_FMT,;t t
+s,@LL_RFMT@,$LL_RFMT,;t t
 s,@LN_S@,$LN_S,;t t
 s,@ECHO@,$ECHO,;t t
 s,@ac_ct_AR@,$ac_ct_AR,;t t
 s,@LN_S@,$LN_S,;t t
 s,@ECHO@,$ECHO,;t t
 s,@ac_ct_AR@,$ac_ct_AR,;t t
index accaccaa5e3388532b3e963596fdf20047bbb97f..778ad2a87fa0611b3037baaab092cdf6baadca07 100644 (file)
@@ -13,7 +13,7 @@ AC_DEFINE_UNQUOTED(CONFIGURE_COMMAND,"$CONFIGURE_COMMAND",
          [Saves the original ./configure command line arguments])
 AC_SUBST(CONFIGURE_COMMAND)
 
          [Saves the original ./configure command line arguments])
 AC_SUBST(CONFIGURE_COMMAND)
 
-AM_INIT_AUTOMAKE(amanda, 2.5.1p1)
+AM_INIT_AUTOMAKE(amanda, 2.5.1p3)
 AM_CONFIG_HEADER(config/config.h)
 
 AC_PREREQ(2.57)                dnl Minimum Autoconf version required.
 AM_CONFIG_HEADER(config/config.h)
 
 AC_PREREQ(2.57)                dnl Minimum Autoconf version required.
@@ -556,49 +556,6 @@ AC_ARG_WITH(tape-device,
        *) DEFAULT_TAPE_DEVICE="$withval"
          ;;
        esac
        *) DEFAULT_TAPE_DEVICE="$withval"
          ;;
        esac
-    ],
-    [
-       if test -z "$DEFAULT_TAPE_DEVICE"; then
-           AC_MSG_CHECKING(for non-rewinding tape device)
-           dnl Check for the /dev/rmt directory and use what's in there.
-           dnl Otherwise look for tape devices in /dev.  For the devices
-           dnl in /dev/rmt, we want to use the Berkeley behavior of
-           dnl reading the first record of the next tape file after 0
-           dnl bytes are returned upon reading to the next tape mark,
-           dnl instead of returning an error.  Look for devices that have
-           dnl a 'b' in their name.
-           tape_dev=
-           nr_tape_dev=
-           if test -d /dev/rmt; then
-
-               dnl See if we can find two devices, one being the norewind
-               dnl version of the other.  Devices in this directory are
-               dnl normally a digit followed by some characters.  We also
-               dnl want the Berkely behavior, since Amanda needs it for
-               dnl amrestore.
-
-               for num in 9 8 7 6 5 4 3 2 1 0; do
-                   td=/dev/rmt/${num}b
-                   ntd=/dev/rmt/${num}bn
-                   if test -r $td -a -r $ntd; then
-                       tape_dev=$td
-                       nr_tape_dev=$ntd
-                   fi
-               done
-           else
-               dnl Look for tape devices in /dev.
-               for num in 9 8 7 6 5 4 3 2 1 0; do
-                   td=/dev/rst${num}
-                   ntd=/dev/nrst${num}
-                   if test -r $td -a -r $ntd; then
-                       tape_dev=$td
-                       nr_tape_dev=$ntd
-                   fi
-               done
-           fi
-           DEFAULT_TAPE_DEVICE=$nr_tape_dev
-           AC_MSG_RESULT($DEFAULT_TAPE_DEVICE)
-       fi
     ]
 )
 
     ]
 )
 
@@ -621,7 +578,7 @@ AC_ARG_WITH(ftape-raw-device,
     [
        if test -z "$DEFAULT_RAW_TAPE_DEVICE"; then
            AC_MSG_CHECKING(for raw ftape device)
     [
        if test -z "$DEFAULT_RAW_TAPE_DEVICE"; then
            AC_MSG_CHECKING(for raw ftape device)
-           dnl Look for tape devices in /dev.  
+           dnl Look for tape devices in /dev.
            raw_tape_dev=/dev/null
                dnl Look for tape devices in /dev.
                for num in 3 2 1 0 ; do
            raw_tape_dev=/dev/null
                dnl Look for tape devices in /dev.
                for num in 3 2 1 0 ; do
@@ -849,6 +806,22 @@ n | no)
     ;;
 esac
 
     ;;
 esac
 
+AC_ARG_WITH(ipv6,
+    AS_HELP_STRING([--with-ipv6],
+                  [If IPv6 must be enabled (Default)])
+AS_HELP_STRING([--without-ipv6],
+              [If IPv6 must be disable]),
+    [
+       case "$withval" in
+       y | ye | yes) amanda_ipv6=true;;
+       n | no) amanda_ipv6=false;;
+       *)
+           AC_MSG_ERROR([*** You must not supply an argument to --with-ipv6 option.])
+         ;;
+       esac
+    ]
+)
+
 dnl Specify --with-krb4-security if Kerberos software is in somewhere
 dnl other than the listed KRB4_SPOTS.  We only compile kerberos support in
 dnl if the right files are there.
 dnl Specify --with-krb4-security if Kerberos software is in somewhere
 dnl other than the listed KRB4_SPOTS.  We only compile kerberos support in
 dnl if the right files are there.
@@ -963,7 +936,7 @@ y |  ye | yes) AC_DEFINE(BSDTCP_SECURITY,1,[Define if BSDTCP transport should be
 esac
 
 AC_ARG_WITH(bsdudp-security,
 esac
 
 AC_ARG_WITH(bsdudp-security,
-    [  --with-bsdudp-security use tcp as a transport],
+    [  --with-bsdudp-security use udp as a transport],
     BSDUDP_SECURITY=$withval,
     : ${BSDUDP_SECURITY=yes}
 )
     BSDUDP_SECURITY=$withval,
     : ${BSDUDP_SECURITY=yes}
 )
@@ -1521,6 +1494,7 @@ case "$target" in
                        AC_DEFINE(DONT_SUID_ROOT,1,[Define on Cygwin. ])
                        NEED_SETUID_CLIENT=false
                        NEED_RUNTIME_PSEUDO_RELOC=true
                        AC_DEFINE(DONT_SUID_ROOT,1,[Define on Cygwin. ])
                        NEED_SETUID_CLIENT=false
                        NEED_RUNTIME_PSEUDO_RELOC=true
+                       BROKEN_IPV6=true
                        ;;
   *)
                        cat <<END
                        ;;
   *)
                        cat <<END
@@ -1661,6 +1635,16 @@ AC_DEFINE_UNQUOTED(COMPRESS_BEST_OPT,"$COMPRESS_BEST_OPT",[Define as the command
 AC_DEFINE_UNQUOTED(UNCOMPRESS_PATH,"$UNCOMPRESS_PATH",[Define as the exact path to the gzip or compress command. ])
 AC_DEFINE_UNQUOTED(UNCOMPRESS_OPT,"$UNCOMPRESS_OPT",[Define as any optional arguments to get UNCOMPRESS_PATH to uncompress. ])
 
 AC_DEFINE_UNQUOTED(UNCOMPRESS_PATH,"$UNCOMPRESS_PATH",[Define as the exact path to the gzip or compress command. ])
 AC_DEFINE_UNQUOTED(UNCOMPRESS_OPT,"$UNCOMPRESS_OPT",[Define as any optional arguments to get UNCOMPRESS_PATH to uncompress. ])
 
+AC_PATH_PROGS(SORT,sort,,$LOCSYSPATH)
+if test -z "$SORT"; then
+    if $NO_SERVER_MODE; then
+       SORT="NONE"
+    else
+       AC_MSG_ERROR([Set SORT to the path of the sort program.])
+    fi
+fi
+AC_DEFINE_UNQUOTED(SORT_PATH,"$SORT",[Define to the exact path to the sort program. ])
+
 AC_PATH_PROGS(MAILER,Mail mailx mail)
 if test -z "$MAILER"; then
     if $NO_SERVER_MODE; then
 AC_PATH_PROGS(MAILER,Mail mailx mail)
 if test -z "$MAILER"; then
     if $NO_SERVER_MODE; then
@@ -1866,14 +1850,17 @@ main() {
 } 
 ],
        [AC_MSG_RESULT(ll)
 } 
 ],
        [AC_MSG_RESULT(ll)
-       LL_FMT="%lld"],
+       LL_FMT="%lld"; LL_RFMT="lld"],
        [AC_MSG_RESULT(l)
        [AC_MSG_RESULT(l)
-       LL_FMT="%ld"],
+       LL_FMT="%ld"; LL_RFMT="ld"],
        [AC_MSG_RESULT(assuming target platform uses ll)
        [AC_MSG_RESULT(assuming target platform uses ll)
-       LL_FMT="%lld"])
+       LL_FMT="%lld"; LL_RFMT="lld"])
 AC_DEFINE_UNQUOTED(LL_FMT,"$LL_FMT",
   [Format for a long long printf. ])
 AC_DEFINE_UNQUOTED(LL_FMT,"$LL_FMT",
   [Format for a long long printf. ])
+AC_DEFINE_UNQUOTED(LL_RFMT,"$LL_RFMT",
+  [Format for a long long printf. ])
 AC_SUBST(LL_FMT)
 AC_SUBST(LL_FMT)
+AC_SUBST(LL_RFMT)
 
 dnl Empty GZIP so that make dist works.
 GZIP=
 
 dnl Empty GZIP so that make dist works.
 GZIP=
@@ -2728,6 +2715,8 @@ ICE_CHECK_DECL(atof,stdlib.h)
 ICE_CHECK_DECL(atoi,stdlib.h)
 ICE_CHECK_DECL(atol,stdlib.h)
 ICE_CHECK_DECL(atoll,stdlib.h)
 ICE_CHECK_DECL(atoi,stdlib.h)
 ICE_CHECK_DECL(atol,stdlib.h)
 ICE_CHECK_DECL(atoll,stdlib.h)
+ICE_CHECK_DECL(strtol,stdlib.h)
+ICE_CHECK_DECL(strtoll,stdlib.h)
 AC_CHECK_FUNCS(basename)
 ICE_CHECK_DECL(bind,sys/types.h sys/socket.h)
 ICE_CHECK_DECL(bcopy,string.h strings.h stdlib.h)
 AC_CHECK_FUNCS(basename)
 ICE_CHECK_DECL(bind,sys/types.h sys/socket.h)
 ICE_CHECK_DECL(bcopy,string.h strings.h stdlib.h)
index 1d32508f0a8ca91b4b41171cd7e5b01f16a517f3..62d4433b02eef89b99567b048cdae6fff11e4afb 100644 (file)
@@ -13,69 +13,69 @@ Table of Contents
   36._The_Amanda_Manual_Pages.
 
 
   36._The_Amanda_Manual_Pages.
 
 
-        amadmin - administrative interface to control Amanda backups
+        amadmin \14 administrative interface to control Amanda backups
 
 
-        amaespipe - wrapper program for aespipe
+        amaespipe \14 wrapper program for aespipe
 
 
-        amanda - Advanced Maryland Automatic Network Disk Archiver
+        amanda \14 Advanced Maryland Automatic Network Disk Archiver
 
 
-        amanda.conf - Main configuration file for Amanda, the Advanced Maryland
+        amanda.conf \14 Main configuration file for Amanda, the Advanced Maryland
         Automatic Network Disk Archiver
 
         Automatic Network Disk Archiver
 
-        amanda-client.conf - Client configuration file for Amanda, the Advanced
+        amanda-client.conf \14 Client configuration file for Amanda, the Advanced
         Maryland Automatic Network Disk Archiver
 
         Maryland Automatic Network Disk Archiver
 
-        amcheck - run Amanda self-checks
+        amcheck \14 run Amanda self-checks
 
 
-        amcheckdb - check Amanda database for tape consistency
+        amcheckdb \14 check Amanda database for tape consistency
 
 
-        amcleanup - run the Amanda cleanup process after a failure
+        amcleanup \14 run the Amanda cleanup process after a failure
 
 
-        amcrypt - reference crypt program for Amanda symmetric data encryption
+        amcrypt \14 reference crypt program for Amanda symmetric data encryption
 
 
-        amcrypt-ossl - crypt program for Amanda symmetric data encryption using
+        amcrypt-ossl \14 crypt program for Amanda symmetric data encryption using
         OpenSSL
 
         OpenSSL
 
-        amcrypt-ossl-asym - crypt program for Amanda asymmetric data encryption
+        amcrypt-ossl-asym \14 crypt program for Amanda asymmetric data encryption
         using OpenSSL
 
         using OpenSSL
 
-        amdd - Amanda version of dd
+        amdd \14 Amanda version of dd
 
 
-        amdump - back up all disks in an Amanda configuration
+        amdump \14 back up all disks in an Amanda configuration
 
 
-        amfetchdump - extract backup images from multiple Amanda tapes.
+        amfetchdump \14 extract backup images from multiple Amanda tapes.
 
 
-        amflush - flush Amanda backup files from holding disk to tape
+        amflush \14 flush Amanda backup files from holding disk to tape
 
 
-        amgetconf - look up amanda.conf variables
+        amgetconf \14 look up amanda.conf variables
 
 
-        amlabel - label an Amanda tape
+        amlabel \14 label an Amanda tape
 
 
-        ammt - Amanda version of mt
+        ammt \14 Amanda version of mt
 
 
-        amoverview - display file systems processed by Amanda over time
+        amoverview \14 display file systems processed by Amanda over time
 
 
-        amplot - visualize the behavior of Amanda
+        amplot \14 visualize the behavior of Amanda
 
 
-        amrecover - Amanda index database browser
+        amrecover \14 Amanda index database browser
 
 
-        amreport - generate a formatted output of statistics for an Amanda run
+        amreport \14 generate a formatted output of statistics for an Amanda run
 
 
-        amrestore - extract backup images from an Amanda tape
+        amrestore \14 extract backup images from an Amanda tape
 
 
-        amrmtape - remove a tape from the Amanda database
+        amrmtape \14 remove a tape from the Amanda database
 
 
-        amstatus - display the state of an Amanda run
+        amstatus \14 display the state of an Amanda run
 
 
-        amtape - user interface to Amanda tape changer controls
+        amtape \14 user interface to Amanda tape changer controls
 
 
-        amtapetype - generate a tapetype definition.
+        amtapetype \14 generate a tapetype definition.
 
 
-        amtoc - generate TOC (Table Of Contents) for an Amanda run
+        amtoc \14 generate TOC (Table Of Contents) for an Amanda run
 
 
-        amverify - check an Amanda tape for errors
+        amverify \14 check an Amanda tape for errors
 
 
-        amverifyrun - check the tapes written by the last Amanda run
+        amverifyrun \14 check the tapes written by the last Amanda run
 
 
   37._Web_Ressources
 
 
   37._Web_Ressources
index d4bbf4189287556b8efbbb25febace886a38037f..ac505ffc79db487039b0f4942b839a92a422e633 100644 (file)
@@ -41,6 +41,7 @@ pkgdata_DATA = \
        howto-auth.txt \
        howto-cygwin.txt \
        howto-filedriver.txt \
        howto-auth.txt \
        howto-cygwin.txt \
        howto-filedriver.txt \
+       howto-gpg.txt \
        howto-wrapper.txt \
        howtos.txt \
        index.txt \
        howto-wrapper.txt \
        howtos.txt \
        index.txt \
index 594471340bf54ff685711d47ea8aed5e9120e616..cd6e41e9fccd948491dee35cc5c7ba217b1d3051 100644 (file)
@@ -144,6 +144,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -174,6 +175,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
@@ -305,6 +307,7 @@ pkgdata_DATA = \
        howto-auth.txt \
        howto-cygwin.txt \
        howto-filedriver.txt \
        howto-auth.txt \
        howto-cygwin.txt \
        howto-filedriver.txt \
+       howto-gpg.txt \
        howto-wrapper.txt \
        howtos.txt \
        index.txt \
        howto-wrapper.txt \
        howtos.txt \
        index.txt \
index d99a9ec8608d04ba5e7538e513fa4534781e57ba..00a9b629fab2475f3a9d879ec90a8d3681e0b47d 100644 (file)
@@ -10,7 +10,7 @@ amadmin \14 administrative interface to control Amanda backups
 
 Synopsis
 
 
 Synopsis
 
-amadmin config command [command options] [ -o | configoption ]*
+amadmin config command [command_options...] [-oconfigoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
@@ -66,7 +66,14 @@ DISK EXPRESSION" section of amanda(8) for a description.
       Display all backups currently on tape or in the holding disk. The tape
       label or holding disk filename, file number, and status are displayed.
       The --sort option changes the sort order using the following flags:
       Display all backups currently on tape or in the holding disk. The tape
       label or holding disk filename, file number, and status are displayed.
       The --sort option changes the sort order using the following flags:
-      hhost name kdisk name ddump date lbackup level p dump part btape label
+
+        h: host name
+        k: disk name
+        d: dump date
+        l: backup level
+        p: dump part
+        b: tape label
+
       An uppercase letter reverses the sort order for that key. The default
       sort order is hkdlpb.
 
       An uppercase letter reverses the sort order for that key. The default
       sort order is hkdlpb.
 
@@ -144,16 +151,16 @@ had some type of error.
 
   $ amadmin daily find machine-c /var
   date        host      disk lv tape or file                 file part  status
 
   $ amadmin daily find machine-c /var
   date        host      disk lv tape or file                 file part  status
-  2000\-11\-09  machine\-c /var  0 000110                       9   --  OK
-  2000\-11\-08  machine\-c /var  2 000109                       2   --  OK
-  2000\-11\-07  machine\-c /var  2 /amanda/20001107/machine-c._var.2  0 OK
-  2000\-11\-06  machine\-c /var  2 000107                       2   --  OK
-  2000\-11\-05  machine\-c /var  2 000106                       3   --  OK
-  2000\-11\-04  machine\-c /var  2 000105                       2   --  OK
-  2000\-11\-03  machine\-c /var  2 000104                       2   --  OK
-  2000\-11\-02  machine\-c /var  2 000103                       2   --  OK
-  2000\-11\-01  machine\-c /var  1 000102                       5   --  OK
-  2000\-10\-31  machine\-c /var  1 000101                       3   --  OK
+  2000-11-09  machine-c /var  0 000110                       9   --  OK
+  2000-11-08  machine-c /var  2 000109                       2   --  OK
+  2000-11-07  machine-c /var  2 /amanda/20001107/machine-c._var.2  0 OK
+  2000-11-06  machine-c /var  2 000107                       2   --  OK
+  2000-11-05  machine-c /var  2 000106                       3   --  OK
+  2000-11-04  machine-c /var  2 000105                       2   --  OK
+  2000-11-03  machine-c /var  2 000104                       2   --  OK
+  2000-11-02  machine-c /var  2 000103                       2   --  OK
+  2000-11-01  machine-c /var  1 000102                       5   --  OK
+  2000-10-31  machine-c /var  1 000101                       3   --  OK
 
 Forget about the /workspace disk on machine-d. If you do not also remove the
 disk from the disklist file, Amanda will treat it as a new disk during the next
 
 Forget about the /workspace disk on machine-d. If you do not also remove the
 disk from the disklist file, Amanda will treat it as a new disk during the next
index 5d143b812fc4eeba2df43a1114ba44bb039f85ab..8117a38fddec95980fdf23f7a6e4ee93c4819ce0 100644 (file)
@@ -278,7 +278,6 @@ The supported drivers are:
 
         tapedev tape:/dev/rmt/0mn
 
 
         tapedev tape:/dev/rmt/0mn
 
-      .
 
   null
       This driver throws away anything written to it and returns EOF for any
 
   null
       This driver throws away anything written to it and returns EOF for any
@@ -402,27 +401,29 @@ $  anchor at right
 ?  match exactly one character except the separator
 *  match zero or more characters except the separator
 ** match zero or more characters including the separator
 ?  match exactly one character except the separator
 *  match zero or more characters except the separator
 ** match zero or more characters including the separator
+
 Some examples:
 
 Some examples:
 
-EXPRESSION     WILL MATCH           WILL NOT MATCH
-hosta          hosta                hostb
-               hoSTA.dOMAIna.ORG 
-               foo.hosta.org 
-host           host                 hosta
-host?          hosta                host
-               hostb 
-ho*na          hoina                ho.aina.org
-ho**na         hoina 
-               ho.aina.org 
-^hosta         hosta                foo.hosta.org
-sda*           /dev/sda1 
-               /dev/sda12 
-/opt/          opt (disk)           opt (host)
-.opt.          opt (host)           opt (disk)
-/              /                    any other disk
-/usr           /usr 
-               /usr/opt 
-/usr$          /usr                 /usr/opt
+EXPRESSION WILL MATCH        WILL NOT MATCH
+hosta      hosta             hostb
+           hoSTA.dOMAIna.ORG  
+           foo.hosta.org      
+host       host              hosta
+host?      hosta             host
+           hostb              
+ho*na      hoina             ho.aina.org
+ho**na     hoina              
+           ho.aina.org        
+^hosta     hosta             foo.hosta.org
+sda*       /dev/sda1          
+           /dev/sda12         
+/opt       opt (disk)        opt (host)
+.opt.      opt (host)        opt (disk)
+/          /                 any other disk
+/usr       /usr               
+           /usr/opt           
+/usr$      /usr              /usr/opt
+
 
 DATESTAMP EXPRESSION
 
 
 DATESTAMP EXPRESSION
 
index f19acc4e9f9e51b91aaa28d2e8475752928cc7f4..7ddef200d079c9c9a9c4e9934154db81dd0db1f9 100644 (file)
@@ -74,6 +74,346 @@ PARAMETERS
 
 
 
 
 
 
+  org string
+      Default: daily. A descriptive name for the configuration. This string
+      appears in the Subject line of mail reports. Each Amanda configuration
+      should have a different string to keep mail reports distinct.
+
+  mailto string
+      Default: operators. A space separated list of recipients for mail
+      reports.
+
+  dumpcycle int
+      Default: 10 days. The number of days in the backup cycle. Each disk will
+      get a full backup at least this often. Setting this to zero tries to do a
+      full backup each run.
+
+      Note
+
+      This parameter may also be set in a specific dumptype (see below). This
+      value sets the default for all dumptypes so must appear in amanda.conf
+      before any dumptypes are defined.
+
+  runspercycle int
+      Default: same as dumpcycle. The number of amdump runs in dumpcycle days.
+      A value of 0 means the same value as dumpcycle. A value of -1 means guess
+      the number of runs from the tapelist file, which is the number of tapes
+      used in the last dumpcycle days / runtapes.
+
+  tapecycle int
+      Default: 15 tapes. Typically tapes are used by Amanda in an ordered
+      rotation. The tapecycle parameter defines the size of that rotation. The
+      number of tapes in rotation must be larger than the number of tapes
+      required for a complete dump cycle (see the dumpcycle parameter).
+      This is calculated by multiplying the number of amdump runs per dump
+      cycle (runspercycle parameter) times the number of tapes used per run
+      (runtapes parameter). Typically two to four times this calculated number
+      of tapes are in rotation. While Amanda is always willing to use a new
+      tape in its rotation, it refuses to reuse a tape until at least
+      'tapecycle -1' number of other tapes have been used.
+      It is considered good administrative practice to set the tapecycle
+      parameter slightly lower than the actual number of tapes in rotation.
+      This allows the administrator to more easily cope with damaged or
+      misplaced tapes or schedule adjustments that call for slight adjustments
+      in the rotation order.
+
+  usetimestamps bool
+      Default: No. By default, Amanda can only track at most one run per
+      calendar day. When this option is enabled, however, Amanda can track as
+      many runs as you care to make.
+      WARNING: This option is not backward-compatible. Do not enable it if you
+      intend to downgrade your server installation to Amanda community edition
+      2.5.0
+
+  label_new_tapes string
+      Default: not set. When set, this directive will cause Amanda to
+      automatically write an Amanda tape label to any blank tape she
+      encounters. This option is DANGEROUS because when set, Amanda will ERASE
+      any non-Amanda tapes you may have, and may also ERASE any near-failing
+      tapes. Use with caution.
+      When using this directive, specify the template for new tape labels. The
+      template should contain some number of contiguous '%' characters, which
+      will be replaced with a generated number. Be sure to specify enough '%'
+      characters that you do not run out of tape labels. Example:
+      label_new_tapes "DailySet1-%%%"
+
+  dumpuser string
+      Default: amanda. The login name Amanda uses to run the backups. The
+      backup client hosts must allow access from the tape server host as this
+      user via .rhosts or .amandahosts, depending on how the Amanda software
+      was built.
+
+  printer string
+      Printer to use when doing tape labels. See the lbl-templ tapetype option.
+
+  tapedev string
+      Default: null:. The path name of the non-rewinding tape device. Non-
+      rewinding tape device names often have an 'n' in the name, e.g. /dev/rmt/
+      0mn, however this is operating system specific and you should consult
+      that documentation for detailed naming information.
+      If a tape changer is configured (see the tpchanger option), this option
+      might not be used.
+      If the null output driver is selected (see the section OUTPUT DRIVERS in
+      the amanda(8) manpage for more information), programs such as amdump will
+      run normally but all images will be thrown away. This should only be used
+      for debugging and testing, and probably only with the record option set
+      to no.
+
+  rawtapedev string
+      Default: null:. The path name of the raw tape device. This is only used
+      if Amanda is compiled for Linux machines with floppy tapes and is needed
+      for QIC volume table operations.
+
+  tpchanger string
+      Default: none. The name of the tape changer. If a tape changer is not
+      configured, this option is not used and should be commented out of the
+      configuration file.
+      If a tape changer is configured, choose one of the changer scripts (e.g.
+      chg-scsi) and enter that here.
+
+  changerdev string
+      Default: /dev/null. A tape changer configuration parameter. Usage depends
+      on the particular changer defined with the tpchanger option.
+
+  changerfile string
+      Default: /usr/adm/amanda/log/changer-status. A tape changer configuration
+      parameter. Usage depends on the particular changer defined with the
+      tpchanger option.
+
+  runtapes int
+      Default: 1. The maximum number of tapes used in a single run. If a tape
+      changer is not configured, this option is not used and should be
+      commented out of the configuration file.
+      If a tape changer is configured, this may be set larger than one to let
+      Amanda write to more than one tape.
+      Note that this is an upper bound on the number of tapes, and Amanda may
+      use less.
+      Also note that as of this release, Amanda does not support true tape
+      overflow. When it reaches the end of one tape, the backup image Amanda
+      was processing starts over again on the next tape.
+
+  maxdumpsize int
+      Default: runtapes*tape_length. Maximum number of bytes the planner will
+      schedule for a run.
+
+  taperalgo [first|firstfit|largest|largestfit|smallest|last]
+      Default: first. The algorithm used to choose which dump image to send to
+      the taper.
+
+
+        first
+            First in, first out.
+
+        firstfit
+            The first dump image that will fit on the current tape.
+
+        largest
+            The largest dump image.
+
+        largestfit
+            The largest dump image that will fit on the current tape.
+
+        smallest
+            The smallest dump image.
+
+        last
+            Last in, first out.
+
+
+  labelstr string
+      Default: .*. The tape label constraint regular expression. All tape
+      labels generated (see amlabel(8)) and used by this configuration must
+      match the regular expression. If multiple configurations are run from the
+      same tape server host, it is helpful to set their labels to different
+      strings (for example, "DAILY[0-9][0-9]*" vs. "ARCHIVE[0-9][0-9]*") to
+      avoid overwriting each other's tapes.
+
+  tapetype string
+      Default: EXABYTE. The type of tape drive associated with tapedev or
+      tpchanger. This refers to one of the defined tapetypes in the config file
+      (see below), which specify various tape parameters, like the length,
+      filemark size, and speed of the tape media and device.
+      First character of a tapetype string must be an alphabetic character
+
+  ctimeout int
+      Default: 30 seconds. Maximum amount of time that amcheck will wait for
+      each client host.
+
+  dtimeout int
+      Default: 1800 seconds. Amount of idle time per disk on a given client
+      that a dumper running from within amdump will wait before it fails with a
+      data timeout error.
+
+  etimeout int
+      Default: 300 seconds. Amount of time per disk on a given client that the
+      planner step of amdump will wait to get the dump size estimates. For
+      instance, with the default of 300 seconds and four disks on client A,
+      planner will wait up to 20 minutes for that machine. A negative value
+      will be interpreted as a total amount of time to wait per client instead
+      of per disk.
+
+  netusage int
+      Default: 300 Kbps. The maximum network bandwidth allocated to Amanda, in
+      Kbytes per second. See also the interface section.
+
+  inparallel int
+      Default: 10. The maximum number of backups that Amanda will attempt to
+      run in parallel. Amanda will stay within the constraints of network
+      bandwidth and holding disk space available, so it doesn't hurt to set
+      this number a bit high. Some contention can occur with larger numbers of
+      backups, but this effect is relatively small on most systems.
+
+  displayunit "k|m|g|t"
+      Default: "k". The unit used to print many numbers, k=kilo, m=mega,
+      g=giga, t=tera.
+
+  dumporder string
+      Default: tttTTTTTTT. The priority order of each dumper:
+
+        s: smallest size
+        S: largest size
+        t: smallest time
+        T: largest time
+        b: smallest bandwidth
+        B: largest bandwidth
+
+
+  maxdumps int
+      Default: 1. The maximum number of backups from a single host that Amanda
+      will attempt to run in parallel. See also the inparallel option.
+      Note that this parameter may also be set in a specific dumptype (see
+      below). This value sets the default for all dumptypes so must appear in
+      amanda.conf before any dumptypes are defined.
+
+  bumpsize int
+      Default: 10 Mbytes. The minimum savings required to trigger an automatic
+      bump from one incremental level to the next, expressed as size. If Amanda
+      determines that the next higher backup level will be this much smaller
+      than the current level, it will do the next level. The value of this
+      parameter is used only if the parameter bumppercent is set to 0.
+      The global setting of this parameter can be overwritten inside of a
+      dumptype-definition.
+      See also the options bumppercent, bumpmult and bumpdays.
+
+  bumppercent int
+      Default: 0 percent. The minimum savings required to trigger an automatic
+      bump from one incremental level to the next, expressed as percentage of
+      the current size of the DLE (size of current level 0). If Amanda
+      determines that the next higher backup level will be this much smaller
+      than the current level, it will do the next level.
+      If this parameter is set to 0, the value of the parameter bumpsize is
+      used to trigger bumping.
+      The global setting of this parameter can be overwritten inside of a
+      dumptype-definition.
+      See also the options bumpsize, bumpmult and bumpdays.
+
+  bumpmult float
+      Default: 1.5. The bump size multiplier. Amanda multiplies bumpsize by
+      this factor for each level. This prevents active filesystems from bumping
+      too much by making it harder to bump to the next level. For example, with
+      the default bumpsize and bumpmult set to 2.0, the bump threshold will be
+      10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level
+      three, and so on.
+      The global setting of this parameter can be overwritten inside of a
+      dumptype-definition.
+
+  bumpdays int
+      Default: 2 days. To insure redundancy in the dumps, Amanda keeps
+      filesystems at the same incremental level for at least bumpdays days,
+      even if the other bump threshold criteria are met.
+      The global setting of this parameter can be overwritten inside of a
+      dumptype-definition.
+
+  diskfile string
+      Default: disklist. The file name for the disklist file holding client
+      hosts, disks and other client dumping information.
+
+  infofile string
+      Default: /usr/adm/amanda/curinfo. The file or directory name for the
+      historical information database. If Amanda was configured to use DBM
+      databases, this is the base file name for them. If it was configured to
+      use text formated databases (the default), this is the base directory and
+      within here will be a directory per client, then a directory per disk,
+      then a text file of data.
+
+  logdir string
+      Default: /usr/adm/amanda. The directory for the amdump and log files.
+
+  indexdir string
+      Default /usr/adm/amanda/index. The directory where index files (backup
+      image catalogues) are stored. Index files are only generated for
+      filesystems whose dumptype has the index option enabled.
+
+  tapelist string
+      Default: tapelist. The file name for the active tapelist file. Amanda
+      maintains this file with information about the active set of tapes.
+
+  tapebufs int
+      Default: 20. The number of buffers used by the taper process run by
+      amdump and amflush to hold data as it is read from the network or disk
+      before it is written to tape. Each buffer is a little larger than 32
+      KBytes and is held in a shared memory region.
+
+  reserve number
+      Default: 100. The part of holding-disk space that should be reserved for
+      incremental backups if no tape is available, expressed as a percentage of
+      the available holding-disk space (0-100). By default, when there is no
+      tape to write to, degraded mode (incremental) backups will be performed
+      to the holding disk. If full backups should also be allowed in this case,
+      the amount of holding disk space reserved for incrementals should be
+      lowered.
+
+  autoflush bool
+      Default: off. Whether an amdump run will flush the dumps from holding
+      disk to tape.
+
+  amrecover_do_fsf bool
+      Default: on. Amrecover will call amrestore with the -f flag for faster
+      positioning of the tape.
+
+  amrecover_check_label bool
+      Default: on. Amrecover will call amrestore with the -l flag to check the
+      label.
+
+  amrecover_changer string
+      Default: ''. Amrecover will use the changer if you use 'settape <string>'
+      and that string is the same as the amrecover_changer setting.
+
+  columnspec string
+      Defines the width of columns amreport should use. String is a comma (',')
+      separated list of triples. Each triple consists of three parts which are
+      separated by a equal sign ('=') and a colon (':') (see the example).
+      These three parts specify:
+
+        1. the name of the column, which may be:
+
+               Compress (compression ratio)
+               Disk (client disk name)
+               DumpRate (dump rate in KBytes/sec)
+               DumpTime (total dump time in hours:minutes)
+               HostName (client host name)
+               Level (dump level)
+               OrigKB (original image size in KBytes)
+               OutKB (output image size in KBytes)
+               TapeRate (tape writing rate in KBytes/sec)
+               TapeTime (total tape time in hours:minutes)
+               
+
+        2. the amount of space to display before the column (used to get
+           whitespace between columns).
+        3. the width of the column itself. If set to a negative value, the
+           width will be calculated on demand to fit the largest entry in this
+           column.
+
+      Here is an example:
+
+        columnspec "Disk=1:18,HostName=0:10,OutKB=1:7"
+
+      The above will display the disk information in 18 characters and put one
+      space before it. The hostname column will be 10 characters wide with no
+      space to the left. The output KBytes column is seven characters wide with
+      one space before it.
+
   includefile string
       Default: none. The name of an Amanda configuration file to include within
       the current file. Useful for sharing dumptypes, tapetypes and interface
   includefile string
       Default: none. The name of an Amanda configuration file to include within
       the current file. Useful for sharing dumptypes, tapetypes and interface
@@ -112,15 +452,17 @@ The options and values are:
       chunk will not exceed the specified value. However, even though dump
       images are split in the holding disk, they are concatenated as they are
       written to tape, so each dump image still corresponds to a single
       chunk will not exceed the specified value. However, even though dump
       images are split in the holding disk, they are concatenated as they are
       written to tape, so each dump image still corresponds to a single
-      continuous tape section. If 0 is specified, Amanda will create holding
-      disk chunks as large as ((INT_MAX/1024)-64) Kbytes. Each holding disk
-      chunk includes a 32 Kbyte header, so the minimum chunk size is 64 Kbytes
-      (but that would be really silly). Operating systems that are limited to a
-      maximum file size of 2 Gbytes actually cannot handle files that large.
-      They must be at least one byte less than 2 Gbytes. Since Amanda works
-      with 32 Kbyte blocks, and to handle the final read at the end of the
-      chunk, the chunk size should be at least 64 Kbytes (2 * 32 Kbytes)
-      smaller than the maximum file size, e.g. 2047 Mbytes.
+      continuous tape section.
+      If 0 is specified, Amanda will create holding disk chunks as large as (
+      (INT_MAX/1024)-64) Kbytes.
+      Each holding disk chunk includes a 32 Kbyte header, so the minimum chunk
+      size is 64 Kbytes (but that would be really silly).
+      Operating systems that are limited to a maximum file size of 2 Gbytes
+      actually cannot handle files that large. They must be at least one byte
+      less than 2 Gbytes. Since Amanda works with 32 Kbyte blocks, and to
+      handle the final read at the end of the chunk, the chunk size should be
+      at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum file size,
+      e.g. 2047 Mbytes.
 
 
 DUMPTYPE SECTION
 
 
 DUMPTYPE SECTION
@@ -228,17 +570,26 @@ The dumptype options and values are:
       for reference)
       So the compress options line may be one of:
 
       for reference)
       So the compress options line may be one of:
 
-      * compress none
-      * compress [client] fast
-      * compress [client] best
-      * compress client custom
-        Specify client_custom_compress "PROG"
-        PROG must not contain white space and it must accept -d for uncompress.
-      * compress server fast
-      * compress server best
-      * compress server custom
-        Specify server_custom_compress "PROG"
-        PROG must not contain white space and it must accept -d for uncompress.
+
+        compress none
+
+        compress client fast
+
+        compress client best
+
+        compress client custom
+            Specify client_custom_compress "PROG"
+            PROG must not contain white space and it must accept -d for
+            uncompress.
+
+        compress server fast
+
+        compress server best
+
+        compress server custom
+            Specify server_custom_compress "PROG"
+            PROG must not contain white space and it must accept -d for
+            uncompress.
 
       Note that some tape devices do compression and this option has nothing to
       do with whether that is used. If hardware compression is used (usually
 
       Note that some tape devices do compression and this option has nothing to
       do with whether that is used. If hardware compression is used (usually
@@ -256,34 +607,47 @@ The dumptype options and values are:
       host as it goes from the network into the holding disk or to tape.
       So the encrypt options line may be one of:
 
       host as it goes from the network into the holding disk or to tape.
       So the encrypt options line may be one of:
 
-      * encrypt none
-      * encrypt client
-        Specify client_encrypt "PROG"
-        PROG must not contain white space.
-        Specify client_decrypt_option "decryption-parameter" Default: "-d"
-        decryption-parameter must not contain white space.
-        (See dumptype server-encrypt-fast in example/amanda.conf for reference)
-      * encrypt server
-        Specify server_encrypt "PROG"
-        PROG must not contain white space.
-        Specify server_decrypt_option "decryption-parameter" Default: "-d"
-        decryption-parameter must not contain white space.
-        (See dumptype client-encrypt-nocomp in example/amanda.conf for
-        reference)
 
 
+        encrypt none
+
+        encrypt client
+            Specify client_encrypt "PROG"
+            PROG must not contain white space.
+            Specify client_decrypt_option "decryption-parameter" Default: "-d"
+            decryption-parameter must not contain white space.
+            (See dumptype server-encrypt-fast in example/amanda.conf for
+            reference)
+
+        encrypt server
+            Specify server_encrypt "PROG"
+            PROG must not contain white space.
+            Specify server_decrypt_option "decryption-parameter" Default: "-d"
+            decryption-parameter must not contain white space.
+            (See dumptype client-encrypt-nocomp in example/amanda.conf for
+            reference)
+
+      Note that current logic assumes compression then encryption during backup
+      (thus decrypt then uncompress during restore). So specifying client-
+      encryption AND server-compression is not supported. amcrypt which is a
+      wrapper of aespipe is provided as a reference symmetric encryption
+      program.
 
   estimate client|calcsize|server
       Default: client. Determine the way Amanda does it's estimate.
 
 
   estimate client|calcsize|server
       Default: client. Determine the way Amanda does it's estimate.
 
-      * client:
-        Use the same program as the dumping program, this is the most accurate
-        way to do estimates, but it can take a long time.
-      * calcsize:
-        Use a faster program to do estimates, but the result is less accurate.
-      * server:
-        Use only statistics from the previous run to give an estimate, it takes
-        only a few seconds but the result is not accurate if your disk usage
-        changes from day to day.
+
+        client
+            Use the same program as the dumping program, this is the most
+            accurate way to do estimates, but it can take a long time.
+
+        calcsize
+            Use a faster program to do estimates, but the result is less
+            accurate.
+
+        server
+            Use only statistics from the previous run to give an estimate, it
+            takes only a few seconds but the result is not accurate if your
+            disk usage changes from day to day.
 
 
   exclude [ list|file ][[optional][ append ][ string ]+]
 
 
   exclude [ list|file ][[optional][ append ][ string ]+]
@@ -309,7 +673,7 @@ The dumptype options and values are:
       the actual file used would be /var/.amanda.excludes for a backup of /var,
       /usr/local/.amanda.excludes for a backup of /usr/local, and so on.
 
       the actual file used would be /var/.amanda.excludes for a backup of /var,
       /usr/local/.amanda.excludes for a backup of /usr/local, and so on.
 
-  holdingdisk [ never|auto|required] ]
+  holdingdisk [ never|auto|required ]
       Default: auto. Whether a holding disk should be used for these backups or
       whether they should go directly to tape. If the holding disk is a portion
       of another file system that Amanda is backing up, that file system should
       Default: auto. Whether a holding disk should be used for these backups or
       whether they should go directly to tape. If the holding disk is a portion
       of another file system that Amanda is backing up, that file system should
@@ -530,9 +894,9 @@ The tapetype options and values are:
       Default: none. A comment string describing this set of tape information.
 
   filemark int
       Default: none. A comment string describing this set of tape information.
 
   filemark int
-      Default: 1000 bytes. How large a file mark (tape mark) is, measured in
-      bytes. If the size is only known in some linear measurement (e.g.
-      inches), convert it to bytes using the device density.
+      Default: 1 kbytes. How large a file mark (tape mark) is, measured in
+      kbytes. If the size is only known in some linear measurement (e.g.
+      inches), convert it to kbytes using the device density.
 
   length int
       Default: 2000 kbytes. How much data will fit on a tape.
 
   length int
       Default: 2000 kbytes. How much data will fit on a tape.
@@ -543,11 +907,11 @@ The tapetype options and values are:
       exceptions).
 
   blocksize int
       exceptions).
 
   blocksize int
-      Default: 32. How much data will be written in each tape record expressed
-      in KiloBytes. The tape record size (= blocksize) can not be reduced below
-      the default 32 KBytes. The parameter blocksize can only be raised if
-      Amanda was compiled with the configure option --with-maxtapeblocksize=N
-      set with "N" greater than 32 during configure.
+      Default: 32 kbytes. How much data will be written in each tape record
+      expressed in KiloBytes. The tape record size (= blocksize) can not be
+      reduced below the default 32 KBytes. The parameter blocksize can only be
+      raised if Amanda was compiled with the configure option --with-
+      maxtapeblocksize=N set with "N" greater than 32 during configure.
 
   file-pad boolean
       Default: true. If true, every record, including the last one in the file,
 
   file-pad boolean
       Default: true. If true, every record, including the last one in the file,
index 7ce680a3e73592cf3867cb5a288e3e362f70c86e..64fb2fb82397c8c5aff6963d916a43bb3e566434 100644 (file)
@@ -10,8 +10,8 @@ amcheck \14 run Amanda self-checks
 
 Synopsis
 
 
 Synopsis
 
-amcheck [-am] [-w] [-sclt] [ -M | address ]* config [ host | [disk]*]* [ -o |
-configoption ]*
+amcheck [-am] [-w] [-sclt] [-M address] config [ host [disk...] ...] [ -
+o configoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
index 6a0b299f2b5f8a2ef87e02c7bc185fe5db03573f..36c8636f3e9539787bb8be8dd4cbd0d420777093 100644 (file)
@@ -10,7 +10,7 @@ amdump \14 back up all disks in an Amanda configuration
 
 Synopsis
 
 
 Synopsis
 
-amdump config [ host | [disk]*]* [ -o | configoption ]*
+amdump config [ host [disk...] ...] [ -o configoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
index 639c09d20406336ed1cf4ce1289ecdad0068f71b..34c15f500d10599b406c37fa48d4ff55b3369404 100644 (file)
@@ -11,8 +11,8 @@ amfetchdump \14 extract backup images from multiple Amanda tapes.
 Synopsis
 
 amfetchdump [-pcClawns] [-d device] [-O directory] [-i logfile] [-b blocksize]
 Synopsis
 
 amfetchdump [-pcClawns] [-d device] [-O directory] [-i logfile] [-b blocksize]
-config hostname [ disk [ date [ level [ hostname [...] ] ] ] ] [ -o |
-configoption ]*
+config hostname [ disk [ date [ level [ hostname [...] ] ] ] ] [ -
+o configoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
index 8135968ed099dd88bb72d6e40a6d9f61da738af2..556a4e947e156eab921ac287a7a918f364fdf38d 100644 (file)
@@ -10,8 +10,8 @@ amflush \14 flush Amanda backup files from holding disk to tape
 
 Synopsis
 
 
 Synopsis
 
-amflush [-b] [-f] [-s] [ -D | datestamp ]* config [ host | [disk]*]* [ -o |
-configoption ]*
+amflush [-b] [-f] [-s] [-D datestamp] config [ host [disk...] ...] [ -
+o configoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
index b6ea3f6daf0a080ed978ca5019ce418b8fe63d4a..a38cbc0828e9f6e221847f300050accd698a51df 100644 (file)
@@ -10,7 +10,7 @@ amgetconf \14 look up amanda.conf variables
 
 Synopsis
 
 
 Synopsis
 
-amgetconf [config] parameter [ -o | configoption ]*
+amgetconf [config] [--list] parameter [ -o configoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
@@ -36,6 +36,40 @@ OPTIONS
 
 
 
 
 
 
+  --list
+      The parameter must be 'tapetype', 'dumptype, 'holdingdisk' or
+      'interface'. It will output, one by line, the list of identifier for the
+      parameter.
+
+
+        --list tapetype
+            Output the list of tapetype, one by line.
+
+        --list dumptype
+            Output the list of dumptype, one by line.
+
+        --list holdingdisk
+            Output the list of holdingdisk, one by line.
+
+        --list interface
+            Output the list of interface, one by line.
+
+
+  parameter
+      It could be one of the below format:
+
+
+        runtapes
+
+        DUMPTYPE:no-compress:compress
+
+        TAPETYPE:HP-DAT:length
+
+        INTERFACE:local:use
+
+        HOLDINGDISK:hd1:use
+
+
   -o configoption
       See the "CONFIGURATION OVERWRITE" section in amanda(8).
 
   -o configoption
       See the "CONFIGURATION OVERWRITE" section in amanda(8).
 
index 51709a08b2b200409d59921cba6cbd4fc046bc27..1600f29e2c7df82ad70b45add162381b9d517c9b 100644 (file)
@@ -10,7 +10,7 @@ amlabel \14 label an Amanda tape
 
 Synopsis
 
 
 Synopsis
 
-amlabel [-f ] config label [ slot | slot ] [ -o | configoption ]*
+amlabel [-f ] config label [slot slot] [ -o configoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
index 0833bc8301edbc7bd044e6127b239ec1794f203c..a32faf702747f249aa683ceb54ea3dd1e01c75f1 100644 (file)
@@ -10,8 +10,8 @@ amrecover \14 Amanda index database browser
 
 Synopsis
 
 
 Synopsis
 
-amrecover [[-C ] | config ] [ -s | index-server ] [ -t | tape-server ] [ -d |
-tape-device ] [ -o | clientconfigoption ]*
+amrecover [-C config] [-s index-server] [-t tape-server] [-d tape-device] [ -
+o configoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
@@ -92,7 +92,7 @@ be extracted from the backup system. The following commands are available:
 
 
 
 
 
 
-  setdisk diskname [mountpoint]
+  setdiskdiskname [mountpoint]
       Specifies which disk to consider (default: the disk holding the working
       directory where amrecover is started). It can only be set after the host
       is set with sethost. Diskname is the device name specified in the
       Specifies which disk to consider (default: the disk holding the working
       directory where amrecover is started). It can only be set after the host
       is set with sethost. Diskname is the device name specified in the
@@ -100,13 +100,13 @@ be extracted from the backup system. The following commands are available:
       host. If mountpoint is not specified, all pathnames will be relative to
       the (unknown) mount point instead of full pathnames.
 
       host. If mountpoint is not specified, all pathnames will be relative to
       the (unknown) mount point instead of full pathnames.
 
-  listhost [diskdevice]
+  listhost[diskdevice]
       List all host
 
       List all host
 
-  listdisk [diskdevice]
+  listdisk[diskdevice]
       List all diskname
 
       List all diskname
 
-  settape [[server]:][tapedev|default]
+  settape[[server]:][tapedev|default]
       Specifies the host to use as the tape server, and which of its tape
       devices to use. If the server is omitted, but the colon is not, the
       server name reverts to the configure-time default. If the tape device is
       Specifies the host to use as the tape server, and which of its tape
       devices to use. If the server is omitted, but the colon is not, the
       server name reverts to the configure-time default. If the tape device is
@@ -132,7 +132,7 @@ be extracted from the backup system. The following commands are available:
 
 
 
 
 
 
-  setmode mode
+  setmodemode
       Set the extraction mode for Samba shares. If mode is smb, shares are sent
       to the Samba server to be restored back onto the PC. If mode is tar, they
       are extracted on the local machine the same way tar volumes are
       Set the extraction mode for Samba shares. If mode is smb, shares are sent
       to the Samba server to be restored back onto the PC. If mode is tar, they
       are extracted on the local machine the same way tar volumes are
@@ -156,14 +156,14 @@ be extracted from the backup system. The following commands are available:
       otherwise they are relative to the current backup working directory. The
       dir can be a shell style wildcards.
 
       otherwise they are relative to the current backup working directory. The
       dir can be a shell style wildcards.
 
-  cdx dir
+  cdxdir
       Like the cd command but allow regular expression.
 
   lpwd
       Display the amrecover working directory. Files will be restored under
       this directory, relative to the backed up filesystem.
 
       Like the cd command but allow regular expression.
 
   lpwd
       Display the amrecover working directory. Files will be restored under
       this directory, relative to the backed up filesystem.
 
-  lcd path
+  lcdpath
       Change the amrecover working directory to path.
 
   ls
       Change the amrecover working directory to path.
 
   ls
@@ -171,23 +171,23 @@ be extracted from the backup system. The following commands are available:
       description of the setdate command for how the view of the directory is
       built up. The backup date is shown for each file.
 
       description of the setdate command for how the view of the directory is
       built up. The backup date is shown for each file.
 
-  add item1 item2 ...
+  additem1 item2 ...
       Add the specified files or directories to the restore list. Each item may
       have shell style wildcards.
 
       Add the specified files or directories to the restore list. Each item may
       have shell style wildcards.
 
-  addx item1 item2 ...
+  addxitem1 item2 ...
       Add the specified files or directories to the restore list. Each item may
       be a regular expression.
 
       Add the specified files or directories to the restore list. Each item may
       be a regular expression.
 
-  delete item1 item2 ...
+  deleteitem1 item2 ...
       Delete the specified files or directories from the restore list. Each
       item may have shell style wildcards.
 
       Delete the specified files or directories from the restore list. Each
       item may have shell style wildcards.
 
-  deletex item1 item2 ...
+  deletexitem1 item2 ...
       Delete the specified files or directories from the restore list. Each
       item may be a regular expression.
 
       Delete the specified files or directories from the restore list. Each
       item may be a regular expression.
 
-  list file
+  listfile
       Display the contents of the restore list. If a file name is specified,
       the restore list is written to that file. This can be used to manually
       extract the files from the Amanda tapes with amrestore.
       Display the contents of the restore list. If a file name is specified,
       the restore list is written to that file. This can be used to manually
       extract the files from the Amanda tapes with amrestore.
index cb176caa89369b25fc9f8f4370ff5c0f3f6f2c75..d7bd98ef43955a564d15f881c00e31f4d942c8e6 100644 (file)
@@ -10,8 +10,8 @@ amreport \14 generate a formatted output of statistics for an Amanda run
 
 Synopsis
 
 
 Synopsis
 
-amreport [config] [-i] [ -M | address ] [ -l | logfile ] [ -f | outputfile ]
-[ -p | postscriptfile ] [ -o | configoption ]*
+amreport [config] [-i] [-M address] [-l logfile] [-f outputfile] [-
+p postscriptfile] [ -o configoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
index b8f930e4595b6e24902992480cae58cc99e0d048..3405b7bc2f19d4293d1992fff8beb79821097832 100644 (file)
@@ -10,7 +10,7 @@ amtape \14 user interface to Amanda tape changer controls
 
 Synopsis
 
 
 Synopsis
 
-amtape config command [ command options ]
+amtape config command [command_options...] [-oconfigoption]...
 
 DESCRIPTION
 
 
 DESCRIPTION
 
@@ -90,6 +90,9 @@ COMMANDS
       Eject any tape in the drive and put it away. Advance current to the next
       tape, but do not load it.
 
       Eject any tape in the drive and put it away. Advance current to the next
       tape, but do not load it.
 
+  -o configoption
+      See the "CONFIGURATION OVERWRITE" section in amanda(8).
+
 This is useful with non-gravity stackers to unload the last tape used and set
 up Amanda for the next run. If you just use eject, the current tape will be
 mounted again in the next run, where it will be rejected as being still in use,
 This is useful with non-gravity stackers to unload the last tape used and set
 up Amanda for the next run. If you just use eject, the current tape will be
 mounted again in the next run, where it will be rejected as being still in use,
diff --git a/docs/howto-gpg.txt b/docs/howto-gpg.txt
new file mode 100644 (file)
index 0000000..1c8163c
--- /dev/null
@@ -0,0 +1,281 @@
+
+Chapter 16. How to do Amanda-server-side gpg-encrypted backups.
+Prev  Part III. HOWTOs                                     Next
+
+-------------------------------------------------------------------------------
+
+Chapter 16. How to do Amanda-server-side gpg-encrypted backups.
+
+
+Stefan G. Weichinger
+
+Original text
+AMANDA Core Team
+<sgw@amanda.org>
+Table of Contents
+
+
+  Setup
+
+  Test
+
+  Plans
+
+
+Note
+
+Refer to http://www.amanda.org/docs/howto-gpg.html for the current version of
+this document.
+
+Note
+
+THIS IS *NOT* YET INTENDED FOR PRODUCTION SERVERS !!!
+Bruce Fletcher asked for a "simple" encryption method to be used with Amanda-
+server. gpg-amanda http://security.uchicago.edu/tools/gpg-amanda/ seems to
+create problems at restore-time, as it uses a wrapper for gzip.
+My solution uses a wrapper for GNU-tar instead, so there are several
+disadvantages avoided.
+
+Note
+
+This is based on a Amanda-vtape-setup with the Amanda-release 2.4.5. As this is
+still in the testing-stage, I have coded the home-dir of the Amanda-user into
+my scripts (/var/lib/amanda). This should be done with variables later, I agree
+...
+What you need:
+
+* aespipe http://loop-aes.sourceforge.net/aespipe/aespipe-v2.3b.tar.bz2 and the
+  bz2aespipe-wrapper that comes with it. It gets patched as described later.
+* the wrapper-script /usr/local/libexec/amgtar, as listed down below,
+* GNU-PG http://www.gnupg.org/(en)/download/index.html. This should be part of
+  most current operating systems already.
+* Amanda ;)
+
+
+Setup
+
+
+* Configure and compile aespipe:
+
+    tar -xjf aespipe-v2.3b.tar.bz2
+    cd aespipe-v2.3b
+    ./configure
+    make
+    make install
+
+* Generate and store the gpg-key for the Amanda-user:
+
+    # taken from the aespipe-README
+    head -c 2925 /dev/random | uuencode -m - | head -n 66 | tail -n 65 | \
+    gpg --symmetric -a > /var/lib/amanda/.gnupg/am_key.gpg
+
+  This will ask for a passphrase. Remember this passphrase as you will need it
+  in the next step.
+  Store the passphrase inside the home-directory of the Amanda-user and protect
+  it with proper permissions:
+
+    echo my_secret_passphrase > ~amanda/.am_passphrase
+    chown amanda:disk ~amanda/.am_passphrase
+    chmod 700 ~amanda/.am_passphrase
+
+  We need this file because we don't want to have to enter the passphrase
+  manually everytime we run amdump. We have to patch bz2aespipe to read the
+  passphrase from a file. I have called that file ~amanda/.am_passphrase.
+  It should NOT ;) look like this:
+
+    # cat ~amanda/.am_passphrase
+    my_secret_passphrase
+
+
+  Note
+
+  Store the key and the passphrase in some other place as well, without these
+  information you can't access any tapes that have been encrypted with it (this
+  is exactly why we are doing all this, isn't it? ;) ).
+* Create the wrapper for GNU-tar:
+  Example 16.1. /usr/local/libexec/amgtar
+
+    #!/bin/sh
+    #
+    # Original wrapper by Paul Bijnens
+    #
+    # crippled by Stefan G. Weichinger
+    # to enable gpg-encrypted dumps via aespipe
+
+    GTAR=/bin/tar
+    AM_AESPIPE=/usr/local/bin/amaespipe
+    AM_PASSPHRASE=/var/lib/amanda/.am_passphrase
+    LOG=/dev/null
+    LOG_ENABLED=1
+
+    if [ "$LOG_ENABLED" = "1" ]
+    then
+    LOG=/var/log/amanda/amgtar.debug
+    date >> $LOG
+    echo "$@" >> $LOG
+    fi
+
+    if [ "$3" = "/dev/null" ]
+    then
+       echo "Estimate only" >> $LOG
+       $GTAR "$@"
+    else
+       echo "Real backup" >> $LOG
+       $GTAR --use-compress-program="$AM_AESPIPE" "$@" 3< $AM_PASSPHRASE
+    fi
+
+    rc=$?
+    exit $rc
+
+
+* Copy the wrapper-script bz2aespipe, which comes with the aespipe-tarball, to
+  /usr/local/bin/amaespipe and edit it this way:
+  Example 16.2. /usr/local/bin/amaespipe
+
+    #! /bin/sh
+
+    # FILE FORMAT
+    # 10 bytes: constant string 'bz2aespipe'
+    # 10 bytes: itercountk digits
+    # 1 byte: '0' = AES128, '1' = AES192, '2' = AES256
+    # 1 byte: '0' = SHA256, '1' = SHA384, '2' = SHA512, '3' = RMD160
+    # 24 bytes: random seed string
+    # remaining bytes are bzip2 compressed and aespipe encrypted
+
+    # These definitions are only used when encrypting.
+    # Decryption will autodetect these definitions from archive.
+    ENCRYPTION=AES256
+    HASHFUNC=SHA256
+    ITERCOUNTK=100
+    WAITSECONDS=1
+    GPGKEY="/var/lib/amanda/.gnupg/am_key.gpg"
+    FDNUMBER=3
+
+    if test x$1 = x-d ; then
+        # decrypt
+        n=`head -c 10 - | tr -d -c 0-9a-zA-Z`
+        if test x${n} != xbz2aespipe ; then
+            echo "bz2aespipe: wrong magic - aborted" >/dev/tty
+            exit 1
+        fi
+        itercountk=`head -c 10 - | tr -d -c 0-9`
+        if test x${itercountk} = x ; then itercountk=0; fi
+        n=`head -c 1 - | tr -d -c 0-9`
+        encryption=AES128
+        if test x${n} = x1 ; then encryption=AES192; fi
+        if test x${n} = x2 ; then encryption=AES256; fi
+        n=`head -c 1 - | tr -d -c 0-9`
+        hashfunc=SHA256
+        if test x${n} = x1 ; then hashfunc=SHA384; fi
+        if test x${n} = x2 ; then hashfunc=SHA512; fi
+        if test x${n} = x3 ; then hashfunc=RMD160; fi
+        seedstr=`head -c 24 - | tr -d -c 0-9a-zA-Z+/`
+        #aespipe -K ${GPGKEY} -p ${FDNUMBER} -e ${encryption} -H ${hashfunc} -
+    S "${seedstr}" -C ${itercountk} -d | bzip2 -d -q
+        aespipe -K ${GPGKEY} -p ${FDNUMBER} -e ${encryption} -H ${hashfunc} -
+    S "${seedstr}" -C ${itercountk} -d
+    else
+        # encrypt
+        echo -n bz2aespipe
+        echo ${ITERCOUNTK} | awk '{printf "%10u", $1;}'
+        n=`echo ${ENCRYPTION} | tr -d -c 0-9`
+        aesstr=0
+        if test x${n} = x192 ; then aesstr=1; fi
+        if test x${n} = x256 ; then aesstr=2; fi
+        n=`echo ${HASHFUNC} | tr -d -c 0-9`
+        hashstr=0
+        if test x${n} = x384 ; then hashstr=1; fi
+        if test x${n} = x512 ; then hashstr=2; fi
+        if test x${n} = x160 ; then hashstr=3; fi
+        seedstr=`head -c 18 /dev/urandom | uuencode -m - | head -n 2 | tail -
+    n 1`
+        echo -n ${aesstr}${hashstr}${seedstr}
+        #bzip2 | aespipe -K ${GPGKEY} -p ${FDNUMBER} -e ${ENCRYPTION} -H $
+    {HASHFUNC} -S ${seedstr} -C ${ITERCOUNTK} -w ${WAITSECONDS}
+        aespipe -K ${GPGKEY} -p ${FDNUMBER} -e ${ENCRYPTION} -H ${HASHFUNC} -
+    S ${seedstr} -C ${ITERCOUNTK} -w ${WAITSECONDS}
+    fi
+    exit 0
+
+
+  or apply this small patch
+  Example 16.3. bz2aespipe.patch
+
+    @@ -15,3 +15,5 @@
+     ITERCOUNTK=100
+    -WAITSECONDS=10
+    +WAITSECONDS=1
+    +GPGKEY="/var/lib/amanda/.gnupg/am_key.gpg"
+    +FDNUMBER=3
+
+    @@ -36,3 +38,4 @@
+         seedstr=`head -c 24 - | tr -d -c 0-9a-zA-Z+/`
+    -    aespipe -e ${encryption} -H ${hashfunc} -S "${seedstr}" -C $
+    {itercountk} -d | bzip2 -d -q
+    +    #aespipe -K ${GPGKEY} -p ${FDNUMBER} -e ${encryption} -H ${hashfunc} -
+    S "${seedstr}" -C ${itercountk} -d | bzip2 -d -q
+    +    aespipe -K ${GPGKEY} -p ${FDNUMBER} -e ${encryption} -H ${hashfunc} -
+    S "${seedstr}" -C ${itercountk} -d
+     else
+    @@ -52,3 +55,4 @@
+         echo -n ${aesstr}${hashstr}${seedstr}
+    -    bzip2 | aespipe -e ${ENCRYPTION} -H ${HASHFUNC} -S ${seedstr} -C $
+    {ITERCOUNTK} -T -w ${WAITSECONDS}
+    +    #bzip2 | aespipe -K ${GPGKEY} -p ${FDNUMBER} -e ${ENCRYPTION} -H $
+    {HASHFUNC} -S ${seedstr} -C ${ITERCOUNTK} -w ${WAITSECONDS}
+    +    aespipe -K ${GPGKEY} -p ${FDNUMBER} -e ${ENCRYPTION} -H ${HASHFUNC} -
+    S ${seedstr} -C ${ITERCOUNTK} -w ${WAITSECONDS}
+     fi
+
+
+  Things I have changed:
+
+  o Decreased WAITSECONDS: No need to wait for 10 seconds to read the
+    passphrase.
+  o Removed bzip2 from the pipes: Amanda triggers GNU-zip-compression by
+    itself, no need to do this twice (slows down things, blows up size).
+  o Added options -K and -p: This enables aespipe to use the generated gpg-key
+    and tells it the number of the file-descriptor to read the passphrase from.
+
+
+  Note
+
+  You may set various parameters inside bz2aespipe. You may also call
+  bz2aespipe with various command-line-parameters to choose the encryption-
+  algorithm, hash-function etc. . For a start I have chosen to call bz2aespipe
+  without command-line-options.
+* Reconfigure and recompile Amanda (yes, I'm sorry ...):
+  As described in How_to_use_a_wrapper you have to run configure again with the
+  option --with-gnutar=/usr/local/libexec/amgtar, after that recompile and
+  reinstall Amanda. These steps are described in the mentioned document.
+
+
+Test
+
+Still to come ...
+
+Plans
+
+There are several wishes:
+
+* Ability to switch encryption inside a dumptype. This HOWTO describes a method
+  that enables/disables encryption for the whole installation. You might remove
+  the amgtar-wrapper and simply link to plain GNU-tar again to disable
+  encryption, but be aware that you also disable decryption with this step. You
+  will hit problems when you then try to restore encrypted tapes.
+* Ability to switch encryption-parameters inside a dumptype. Choice of
+  algorithm, hash-functions etc. I don't know if it makes sense to put it into
+  a dumptype or if it would be enough to configure it once inside amaespipe (I
+  assume the latter).
+* All this leads to the need to code this into Amanda itself: new dumptype-
+  options and corresponding calls to GNU-tar etc. inside client-src/sendbackup-
+  gnutar.c.
+
+This is it so far. Release early, release often. Feel free to contact me with
+your thoughts on this paper.
+-------------------------------------------------------------------------------
+
+Prev                               Up                                    Next
+Chapter 15. How to use a wrapper  Home  Chapter 17. How to use different auth
+                                                                  with Amanda
+
index bb8641e0c9339acb6b5b6099fa82b10e30935032..15ecd962c573798325392409321993c8d5670348 100644 (file)
@@ -261,6 +261,7 @@ Example 15.1.
       /usr/local/bin/gtar "$@"
   fi
 
       /usr/local/bin/gtar "$@"
   fi
 
+
 Here is an example script in perl:
 Example 15.2. 
 
 Here is an example script in perl:
 Example 15.2. 
 
@@ -293,6 +294,7 @@ Example 15.2.
 
   exit $rc;
 
 
   exit $rc;
 
+
 -------------------------------------------------------------------------------
 
 Prev                    Up                                            Next
 -------------------------------------------------------------------------------
 
 Prev                    Up                                            Next
index edd1a52926ad1eeddabe532a240962d0d4fe0e00..0c84738a1c3f5e8d175943aa743ea4e26de58b2a 100644 (file)
@@ -13,9 +13,15 @@ Edited by
 
 Stefan G. Weichinger
 
 
 Stefan G. Weichinger
 
+AMANDA Core Team
+<sgw@amanda.org>
+
+Edited by
+
 
 Amanda Core Team
 
 
 Amanda Core Team
 
+AMANDA Core Team
 -------------------------------------------------------------------------------
 Table of Contents
 
 -------------------------------------------------------------------------------
 Table of Contents
 
@@ -781,71 +787,71 @@ Table of Contents
         36._The_Amanda_Manual_Pages.
 
 
         36._The_Amanda_Manual_Pages.
 
 
-              amadmin - administrative interface to control Amanda backups
+              amadmin \14 administrative interface to control Amanda backups
 
 
-              amaespipe - wrapper program for aespipe
+              amaespipe \14 wrapper program for aespipe
 
 
-              amanda - Advanced Maryland Automatic Network Disk Archiver
+              amanda \14 Advanced Maryland Automatic Network Disk Archiver
 
 
-              amanda.conf - Main configuration file for Amanda, the Advanced
+              amanda.conf \14 Main configuration file for Amanda, the Advanced
               Maryland Automatic Network Disk Archiver
 
               Maryland Automatic Network Disk Archiver
 
-              amanda-client.conf - Client configuration file for Amanda, the
+              amanda-client.conf \14 Client configuration file for Amanda, the
               Advanced Maryland Automatic Network Disk Archiver
 
               Advanced Maryland Automatic Network Disk Archiver
 
-              amcheck - run Amanda self-checks
+              amcheck \14 run Amanda self-checks
 
 
-              amcheckdb - check Amanda database for tape consistency
+              amcheckdb \14 check Amanda database for tape consistency
 
 
-              amcleanup - run the Amanda cleanup process after a failure
+              amcleanup \14 run the Amanda cleanup process after a failure
 
 
-              amcrypt - reference crypt program for Amanda symmetric data
+              amcrypt \14 reference crypt program for Amanda symmetric data
               encryption
 
               encryption
 
-              amcrypt-ossl - crypt program for Amanda symmetric data encryption
+              amcrypt-ossl \14 crypt program for Amanda symmetric data encryption
               using OpenSSL
 
               using OpenSSL
 
-              amcrypt-ossl-asym - crypt program for Amanda asymmetric data
+              amcrypt-ossl-asym \14 crypt program for Amanda asymmetric data
               encryption using OpenSSL
 
               encryption using OpenSSL
 
-              amdd - Amanda version of dd
+              amdd \14 Amanda version of dd
 
 
-              amdump - back up all disks in an Amanda configuration
+              amdump \14 back up all disks in an Amanda configuration
 
 
-              amfetchdump - extract backup images from multiple Amanda tapes.
+              amfetchdump \14 extract backup images from multiple Amanda tapes.
 
 
-              amflush - flush Amanda backup files from holding disk to tape
+              amflush \14 flush Amanda backup files from holding disk to tape
 
 
-              amgetconf - look up amanda.conf variables
+              amgetconf \14 look up amanda.conf variables
 
 
-              amlabel - label an Amanda tape
+              amlabel \14 label an Amanda tape
 
 
-              ammt - Amanda version of mt
+              ammt \14 Amanda version of mt
 
 
-              amoverview - display file systems processed by Amanda over time
+              amoverview \14 display file systems processed by Amanda over time
 
 
-              amplot - visualize the behavior of Amanda
+              amplot \14 visualize the behavior of Amanda
 
 
-              amrecover - Amanda index database browser
+              amrecover \14 Amanda index database browser
 
 
-              amreport - generate a formatted output of statistics for an
+              amreport \14 generate a formatted output of statistics for an
               Amanda run
 
               Amanda run
 
-              amrestore - extract backup images from an Amanda tape
+              amrestore \14 extract backup images from an Amanda tape
 
 
-              amrmtape - remove a tape from the Amanda database
+              amrmtape \14 remove a tape from the Amanda database
 
 
-              amstatus - display the state of an Amanda run
+              amstatus \14 display the state of an Amanda run
 
 
-              amtape - user interface to Amanda tape changer controls
+              amtape \14 user interface to Amanda tape changer controls
 
 
-              amtapetype - generate a tapetype definition.
+              amtapetype \14 generate a tapetype definition.
 
 
-              amtoc - generate TOC (Table Of Contents) for an Amanda run
+              amtoc \14 generate TOC (Table Of Contents) for an Amanda run
 
 
-              amverify - check an Amanda tape for errors
+              amverify \14 check an Amanda tape for errors
 
 
-              amverifyrun - check the tapes written by the last Amanda run
+              amverifyrun \14 check the tapes written by the last Amanda run
 
 
         37._Web_Ressources
 
 
         37._Web_Ressources
index fd022634909202929cfb518f9f20a0dda660a9d9..5239e907aaa23c7f3afb85b593d5b6559d7c2833 100644 (file)
@@ -135,6 +135,7 @@ Table 4.1. Protocol between amindexd and amrecover
 |___________________|dumps_aren't.___________________________________________|
 
 
 |___________________|dumps_aren't.___________________________________________|
 
 
+
  Installation Notes
 
 
  Installation Notes
 
 
index 46ae52610f774492d201681a0fe32b866316b7a0..5b9e2af8770f57e34f93f25486dec8ab4e628d13 100644 (file)
@@ -233,6 +233,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
     0 16 * * 1-5 /usr/local/sbin/amcheck -m confname
     45 0 * * 2-6 /usr/local/sbin/amdump confname
 
     0 16 * * 1-5 /usr/local/sbin/amcheck -m confname
     45 0 * * 2-6 /usr/local/sbin/amdump confname
 
+
   This is for SunOS 4.x, which has a per-user crontab; most other systems also
   require a userid on each cron line. See your cron(8) for details. With these
   cron lines, Amanda will check that the correct tape is in the drive every
   This is for SunOS 4.x, which has a per-user crontab; most other systems also
   require a userid on each cron line. See your cron(8) for details. With these
   cron lines, Amanda will check that the correct tape is in the drive every
@@ -245,6 +246,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
     amandaidx  10082/tcp
     amidxtape  10083/tcp
 
     amandaidx  10082/tcp
     amidxtape  10083/tcp
 
+
   You may choose a different port number if you like, but it must match that in
   the services file on the client hosts too.
   If you are running NIS (aka YP), you have to enter the Amanda service into
   You may choose a different port number if you like, but it must match that in
   the services file on the client hosts too.
   If you are running NIS (aka YP), you have to enter the Amanda service into
@@ -261,6 +263,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
        amandaidx stream tcp nowait $USER $AMINDEXD_PATH amindexd
        amidxtape stream tcp nowait $USER $AMIDXTAPED_PATH amidxtaped
 
        amandaidx stream tcp nowait $USER $AMINDEXD_PATH amindexd
        amidxtape stream tcp nowait $USER $AMIDXTAPED_PATH amidxtaped
 
+
     where $AMINDEXD_PATH and $AMIDXTAPED_PATH are the complete paths to where
     the amindexd and amidxtaped executables (usually libexec_dir/amindexd and
     libexec_dir/amidxtaped), and USER is the Amanda user.
     where $AMINDEXD_PATH and $AMIDXTAPED_PATH are the complete paths to where
     the amindexd and amidxtaped executables (usually libexec_dir/amindexd and
     libexec_dir/amidxtaped), and USER is the Amanda user.
@@ -281,6 +284,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
                groups                  = yes
                server                  = $AMINDEXD_PATH/amindexd }
 
                groups                  = yes
                server                  = $AMINDEXD_PATH/amindexd }
 
+
     Example 2.5. /etc/xinetd.d/amidxtape
 
       service amidxtape
     Example 2.5. /etc/xinetd.d/amidxtape
 
       service amidxtape
@@ -293,6 +297,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
                groups                  = yes
                server                  = $AMIDXTAPED_PATH/amidxtaped }
 
                groups                  = yes
                server                  = $AMIDXTAPED_PATH/amidxtaped }
 
+
   o If your tape server uses Dan Bernstein's daemontools http://cr.yp.to/
     daemontools.html) instead of (x)inetd, you have to create amandaidx and
     amidxtape services by hand.
   o If your tape server uses Dan Bernstein's daemontools http://cr.yp.to/
     daemontools.html) instead of (x)inetd, you have to create amandaidx and
     amidxtape services by hand.
@@ -310,6 +315,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
         /usr/local/bin/tcpserver -DHRl0 0 10082 \
         /usr/local/libexec/amindexd >/dev/null 2>/dev/null
 
         /usr/local/bin/tcpserver -DHRl0 0 10082 \
         /usr/local/libexec/amindexd >/dev/null 2>/dev/null
 
+
       Example 2.7. /etc/amanda/supervise/amidxtape/run
 
         #!/bin/sh
       Example 2.7. /etc/amanda/supervise/amidxtape/run
 
         #!/bin/sh
@@ -317,6 +323,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
         /usr/local/bin/tcpserver -DHRl0 0 10083 \
         /usr/local/libexec/amidxtaped >/dev/null 2>/dev/null
 
         /usr/local/bin/tcpserver -DHRl0 0 10083 \
         /usr/local/libexec/amidxtaped >/dev/null 2>/dev/null
 
+
     # Link service directories into your svscan directory:
 
         cd /service
     # Link service directories into your svscan directory:
 
         cd /service
@@ -351,6 +358,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
     amandaidx  10082/tcp
     amidxtape  10083/tcp
 
     amandaidx  10082/tcp
     amidxtape  10083/tcp
 
+
   You may choose a different port number if you like, but it must match that in
   the services file on the tape server host too.
   If you are running NIS (aka YP), you have to enter the Amanda service into
   You may choose a different port number if you like, but it must match that in
   the services file on the tape server host too.
   If you are running NIS (aka YP), you have to enter the Amanda service into
@@ -368,6 +376,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
 
       amanda dgram udp wait USER AMANDAD_PATH amandad
 
 
       amanda dgram udp wait USER AMANDAD_PATH amandad
 
+
     You may use the `patch-system' script, from client-src, in order to modify
     this file. Run it with a `-h' argument for usage.
   o If your Amanda client uses xinetd, you have to add the following file to
     You may use the `patch-system' script, from client-src, in order to modify
     this file. Run it with a `-h' argument for usage.
   o If your Amanda client uses xinetd, you have to add the following file to
@@ -386,6 +395,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
       server                   = $AMANDAD_PATH/amandad
       }
 
       server                   = $AMANDAD_PATH/amandad
       }
 
+
   o If your Amanda client uses Dan Bernstein's daemontools (http://cr.yp.to/
     daemontools.html) instead of (x)inetd, you have to create the amanda
     service by hand. You will need also an UDP super-server (netcat in this
   o If your Amanda client uses Dan Bernstein's daemontools (http://cr.yp.to/
     daemontools.html) instead of (x)inetd, you have to create the amanda
     service by hand. You will need also an UDP super-server (netcat in this
@@ -404,6 +414,7 @@ Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
           -e /usr/local/libexec/amandad >/dev/null 2>/dev/null
 
 
           -e /usr/local/libexec/amandad >/dev/null 2>/dev/null
 
 
+
       Note
 
       The netcat-binary used in this run-file might also be called /usr/bin/nc
       Note
 
       The netcat-binary used in this run-file might also be called /usr/bin/nc
index 27b70072265ed138424e1ef227b52e747949e2c1..d68c5665836c1604fece92b640f2785e0077d89a 100644 (file)
@@ -9,69 +9,69 @@ Chapter 36. The Amanda Manual Pages.
 Table of Contents
 
 
 Table of Contents
 
 
-  amadmin - administrative interface to control Amanda backups
+  amadmin \14 administrative interface to control Amanda backups
 
 
-  amaespipe - wrapper program for aespipe
+  amaespipe \14 wrapper program for aespipe
 
 
-  amanda - Advanced Maryland Automatic Network Disk Archiver
+  amanda \14 Advanced Maryland Automatic Network Disk Archiver
 
 
-  amanda.conf - Main configuration file for Amanda, the Advanced Maryland
+  amanda.conf \14 Main configuration file for Amanda, the Advanced Maryland
   Automatic Network Disk Archiver
 
   Automatic Network Disk Archiver
 
-  amanda-client.conf - Client configuration file for Amanda, the Advanced
+  amanda-client.conf \14 Client configuration file for Amanda, the Advanced
   Maryland Automatic Network Disk Archiver
 
   Maryland Automatic Network Disk Archiver
 
-  amcheck - run Amanda self-checks
+  amcheck \14 run Amanda self-checks
 
 
-  amcheckdb - check Amanda database for tape consistency
+  amcheckdb \14 check Amanda database for tape consistency
 
 
-  amcleanup - run the Amanda cleanup process after a failure
+  amcleanup \14 run the Amanda cleanup process after a failure
 
 
-  amcrypt - reference crypt program for Amanda symmetric data encryption
+  amcrypt \14 reference crypt program for Amanda symmetric data encryption
 
 
-  amcrypt-ossl - crypt program for Amanda symmetric data encryption using
+  amcrypt-ossl \14 crypt program for Amanda symmetric data encryption using
   OpenSSL
 
   OpenSSL
 
-  amcrypt-ossl-asym - crypt program for Amanda asymmetric data encryption using
+  amcrypt-ossl-asym \14 crypt program for Amanda asymmetric data encryption using
   OpenSSL
 
   OpenSSL
 
-  amdd - Amanda version of dd
+  amdd \14 Amanda version of dd
 
 
-  amdump - back up all disks in an Amanda configuration
+  amdump \14 back up all disks in an Amanda configuration
 
 
-  amfetchdump - extract backup images from multiple Amanda tapes.
+  amfetchdump \14 extract backup images from multiple Amanda tapes.
 
 
-  amflush - flush Amanda backup files from holding disk to tape
+  amflush \14 flush Amanda backup files from holding disk to tape
 
 
-  amgetconf - look up amanda.conf variables
+  amgetconf \14 look up amanda.conf variables
 
 
-  amlabel - label an Amanda tape
+  amlabel \14 label an Amanda tape
 
 
-  ammt - Amanda version of mt
+  ammt \14 Amanda version of mt
 
 
-  amoverview - display file systems processed by Amanda over time
+  amoverview \14 display file systems processed by Amanda over time
 
 
-  amplot - visualize the behavior of Amanda
+  amplot \14 visualize the behavior of Amanda
 
 
-  amrecover - Amanda index database browser
+  amrecover \14 Amanda index database browser
 
 
-  amreport - generate a formatted output of statistics for an Amanda run
+  amreport \14 generate a formatted output of statistics for an Amanda run
 
 
-  amrestore - extract backup images from an Amanda tape
+  amrestore \14 extract backup images from an Amanda tape
 
 
-  amrmtape - remove a tape from the Amanda database
+  amrmtape \14 remove a tape from the Amanda database
 
 
-  amstatus - display the state of an Amanda run
+  amstatus \14 display the state of an Amanda run
 
 
-  amtape - user interface to Amanda tape changer controls
+  amtape \14 user interface to Amanda tape changer controls
 
 
-  amtapetype - generate a tapetype definition.
+  amtapetype \14 generate a tapetype definition.
 
 
-  amtoc - generate TOC (Table Of Contents) for an Amanda run
+  amtoc \14 generate TOC (Table Of Contents) for an Amanda run
 
 
-  amverify - check an Amanda tape for errors
+  amverify \14 check an Amanda tape for errors
 
 
-  amverifyrun - check the tapes written by the last Amanda run
+  amverifyrun \14 check the tapes written by the last Amanda run
 
 
 Note
 
 
 Note
index 81750940cb1e1efed56485ec58544f092fecb583..874eea381b26cd387b5e1393dcd07d7356562d3b 100644 (file)
@@ -988,6 +988,7 @@ Example 18.1. A C Program to Check the Amanda Service Numbers
        
        
 
        
        
 
+
 Run it on both the tape server and client and make sure the port numbers match:
 
        
 Run it on both the tape server and client and make sure the port numbers match:
 
        
index 9a52d5df82fd172cba40833c487c5532a13e460d..ec8872630fed3170610c58d3970a3dbd481e4113 100644 (file)
@@ -141,6 +141,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -171,6 +172,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index b5c7e6a80a909487a4bea936c6611f4aaff2738b..dde998219a8ca22d2112832bd9d9a8ad5f0fd8eb 100644 (file)
@@ -6,6 +6,9 @@ eval '(exit $?0)' && eval 'exec @PERL@ -S $0 ${1+"$@"}'
        & eval 'exec @PERL@ -S $0 $argv:q'
                if 0;
 
        & eval 'exec @PERL@ -S $0 $argv:q'
                if 0;
 
+delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
+$ENV{'PATH'} = "/usr/bin:/usr/sbin:/sbin:/bin";
+
 $debug=1;
 push(@INC, "@DUMPER_DIR@");
 
 $debug=1;
 push(@INC, "@DUMPER_DIR@");
 
index 4321fe4348894d714d0a29468b9cb32d25b5042c..1a117f8662347b9937c4d4698f8b327541bb54d2 100644 (file)
@@ -140,6 +140,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -170,6 +171,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index bfe2c2e9dd4642ebd6baaa3b7a0086f1f5850904..b590c4e3bb58c7f8709f988f8833b137fdb7ca39 100644 (file)
@@ -86,7 +86,7 @@ xml-source/%.proc.xml: $(SRCMANPAGEDIR)/%.xml $(srcdir)/xslt/expand-sambadoc.xsl
        $(XSLTPROC) --path $(srcdir)/xslt/ --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ $(srcdir)/xslt/expand-sambadoc.xsl $<
 
 %: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl
        $(XSLTPROC) --path $(srcdir)/xslt/ --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ $(srcdir)/xslt/expand-sambadoc.xsl $<
 
 %: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl
-       $(XSLTPROC) --path $(srcdir)/xslt/ --output $@ man.xsl $<
+       $(XSLTPROC) --path $(srcdir)/xslt/ --output $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
 
 else    # !HAVE_XSLTPROC
 
 
 else    # !HAVE_XSLTPROC
 
index 7f6f5a6d6fd4767667359f715ebdd5cd1a19569a..b47ea9fe04bc6b8b371575eb5a95915a00c9e421 100644 (file)
@@ -141,6 +141,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -171,6 +172,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
@@ -589,7 +591,7 @@ uninstall-man: uninstall-man5 uninstall-man8
 @BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_TRUE@     $(XSLTPROC) --path $(srcdir)/xslt/ --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ $(srcdir)/xslt/expand-sambadoc.xsl $<
 
 @BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_TRUE@%: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl
 @BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_TRUE@     $(XSLTPROC) --path $(srcdir)/xslt/ --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ $(srcdir)/xslt/expand-sambadoc.xsl $<
 
 @BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_TRUE@%: xml-source/%.proc.xml $(srcdir)/xslt/man.xsl
-@BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_TRUE@     $(XSLTPROC) --path $(srcdir)/xslt/ --output $@ man.xsl $<
+@BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_TRUE@     $(XSLTPROC) --path $(srcdir)/xslt/ --output $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
 
 @BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_FALSE@xml-source/%.proc.xml: $(SRCMANPAGEDIR)/%.xml $(srcdir)/xslt/expand-sambadoc.xsl
 @BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_FALSE@    @echo WARNING: $@ can not be generated: xsltproc is not available.
 
 @BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_FALSE@xml-source/%.proc.xml: $(SRCMANPAGEDIR)/%.xml $(srcdir)/xslt/expand-sambadoc.xsl
 @BUILD_MAN_PAGES_TRUE@@HAVE_XSLTPROC_FALSE@    @echo WARNING: $@ can not be generated: xsltproc is not available.
index 6680037cd0cc7fb6497c0978a4faf59d49591216..28707f81189712ec0f013013378f12205f41cdc9 100644 (file)
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMADMIN" 8 "" "" ""
+.\"     Title: amadmin
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMADMIN" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amadmin - administrative interface to control Amanda backups
+amadmin \- administrative interface to control Amanda backups
 .SH "SYNOPSIS"
 .HP 8
 .SH "SYNOPSIS"
 .HP 8
-\fBamadmin\fR \fIconfig\fR \fIcommand\fR [\fIcommand\fR\fIoptions\fR] [-o \fIconfigoption\fR]*
-
+\fBamadmin\fR \fIconfig\fR \fIcommand\fR [\fIcommand_options\fR...] [\fB\-o\ \fR\fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 \fBAmadmin\fR
 performs various administrative tasks on the
 .SH "DESCRIPTION"
 .PP
 \fBAmadmin\fR
 performs various administrative tasks on the
-\fBconfig\fR\fBAmanda\fR
+\fIconfig\fR
+\fIAmanda\fR
 configuration.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 configuration.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "COMMANDS"
 .PP
 Commands that take a
 .SH "COMMANDS"
 .PP
 Commands that take a
-\fBhostname\fR
+\fIhostname\fR
 [
 [
-\fBdisks\fR
+\fIdisks\fR
 ] parameter pair operate on all disks in the
 ] parameter pair operate on all disks in the
-\fBdisklist\fR
+\fIdisklist\fR
 for that
 for that
-\fBhostname\fR
+\fIhostname\fR
 if no disks are specified. Where
 if no disks are specified. Where
-\fBhostname\fR
+\fIhostname\fR
 is also marked as being optional, the command operates on all hosts and disks in the
 is also marked as being optional, the command operates on all hosts and disks in the
-\fBdisklist\fR. Both
-\fBhostname\fR
+\fIdisklist\fR. Both
+\fIhostname\fR
 and
 and
-\fBdisks\fR
+\fIdisks\fR
 are special expressions, see the "HOST & DISK EXPRESSION" section of
 \fBamanda\fR(8)
 for a description.
 are special expressions, see the "HOST & DISK EXPRESSION" section of
 \fBamanda\fR(8)
 for a description.
-.TP
+.PP
 \fBversion\fR
 \fBversion\fR
+.RS 4
 Show the current version and some compile time and runtime parameters. The
 Show the current version and some compile time and runtime parameters. The
-\fBconfig\fR
+\fIconfig\fR
 parameter must be present but is ignored.
 parameter must be present but is ignored.
-.TP
-\fBforce-bump\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]+
+.RE
+.PP
+\fBforce\-bump\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]+
+.RS 4
 Force the
 Force the
-\fBdisks\fR
+\fIdisks\fR
 on
 on
-\fBhostname\fR
+\fIhostname\fR
 to bump to a new incremental level during the next
 to bump to a new incremental level during the next
-\fBAmanda\fR
+\fIAmanda\fR
 run.
 run.
-.TP
-\fBforce-no-bump\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]+
+.RE
+.PP
+\fBforce\-no\-bump\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]+
+.RS 4
 Force the
 Force the
-\fBdisks\fR
+\fIdisks\fR
 on
 on
-\fBhostname\fR
+\fIhostname\fR
 to not bump to a new incremental level during the next
 to not bump to a new incremental level during the next
-\fBAmanda\fR
+\fIAmanda\fR
 run.
 run.
-.TP
-\fBunforce-bump\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]+
+.RE
+.PP
+\fBunforce\-bump\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]+
+.RS 4
 Undo a previous
 Undo a previous
-\fBforce-bump\fR
+\fBforce\-bump\fR
 or
 or
-\fBforce-no-bump\fR
+\fBforce\-no\-bump\fR
 command.
 command.
-.TP
-\fBforce\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]+
+.RE
+.PP
+\fBforce\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]+
+.RS 4
 Force the
 Force the
-\fBdisks\fR
+\fIdisks\fR
 on
 on
-\fBhostname\fR
+\fIhostname\fR
 to do a full (level 0) backup during the next
 to do a full (level 0) backup during the next
-\fBAmanda\fR
+\fIAmanda\fR
 run.
 run.
-.TP
-\fBunforce\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]+
+.RE
+.PP
+\fBunforce\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]+
+.RS 4
 Undo a previous
 \fBforce\fR
 command.
 Undo a previous
 \fBforce\fR
 command.
-.TP
-\fBreuse\fR \fBtapelabel\fR [ ... ]
+.RE
+.PP
+\fBreuse\fR \fItapelabel\fR [ ... ]
+.RS 4
 The tapes listed will be available for reuse at their point in the tape cycle.
 The tapes listed will be available for reuse at their point in the tape cycle.
-.TP
-\fBno-reuse\fR \fBtapelabel\fR [ ... ]
+.RE
+.PP
+\fBno\-reuse\fR \fItapelabel\fR [ ... ]
+.RS 4
 The tapes listed will not be reused when their turn comes up again in the tape cycle. Note that if this causes the number of reusable tapes to drop below the
 The tapes listed will not be reused when their turn comes up again in the tape cycle. Note that if this causes the number of reusable tapes to drop below the
-\fBamanda.conf\fR\fBtapecycle\fR
+\fBamanda.conf\fR
+\fItapecycle\fR
 value,
 value,
-\fBAmanda\fR
+\fIAmanda\fR
 will request new tapes until the count is satisfied again.
 will request new tapes until the count is satisfied again.
-.TP
-\fBdue\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]*
+.RE
+.PP
+\fBdue\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]*
+.RS 4
 Show when the next full dump is due.
 Show when the next full dump is due.
-.TP
-\fBfind\fR [ \fB--sort\fR \fIhkdlpb\fR ]\fB\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]*
+.RE
+.PP
+\fBfind\fR [ \fB\-\-sort\fR \fIhkdlpb\fR ] [ \fIhostname\fR [ \fIdisks\fR ]* ]*
+.RS 4
 Display all backups currently on tape or in the holding disk. The tape label or holding disk filename, file number, and status are displayed.
 .sp
 The
 Display all backups currently on tape or in the holding disk. The tape label or holding disk filename, file number, and status are displayed.
 .sp
 The
-\fB--sort\fR
+\fB\-\-sort\fR
 option changes the sort order using the following flags:
 .sp
 option changes the sort order using the following flags:
 .sp
-\fBh\fR
-host name
-\fBk\fR
-disk name
-\fBd\fR
-dump date
-\fBl\fR
-backup level
-\fBp\fR
-dump part
-\fBb\fR
-tape label
+.RS 4
+.nf
+\fIh\fR: host name
+\fIk\fR: disk name
+\fId\fR: dump date
+\fIl\fR: backup level
+\fIp\fR: dump part
+\fIb\fR: tape label
+.fi
+.RE
 .sp
 An uppercase letter reverses the sort order for that key. The default sort order is
 \fBhkdlpb\fR.
 .sp
 An uppercase letter reverses the sort order for that key. The default sort order is
 \fBhkdlpb\fR.
-.TP
-\fBdelete\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]+
+.RE
+.PP
+\fBdelete\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]+
+.RS 4
 Delete the specified
 Delete the specified
-\fBdisks\fR
+\fIdisks\fR
 on
 on
-\fBhostname\fR
+\fIhostname\fR
 from the
 from the
-\fBAmanda\fR
+\fIAmanda\fR
 database.
 .sp
 .it 1 an-trap
 database.
 .sp
 .it 1 an-trap
@@ -151,189 +163,223 @@ database.
 .br
 \fBNote\fR
 If you do not also remove the disk from the
 .br
 \fBNote\fR
 If you do not also remove the disk from the
-\fBdisklist\fR
-file, \fBAmanda\fR will treat it as a new disk during the next run..TP
+\fIdisklist\fR
+file,
+\fIAmanda\fR
+will treat it as a new disk during the next run.
+.RE
+.PP
 \fBtape\fR
 \fBtape\fR
+.RS 4
 Display the tape(s)
 Display the tape(s)
-\fBAmanda\fR
+\fIAmanda\fR
 expects to write to during the next run. See also
 \fBamcheck\fR(8).
 expects to write to during the next run. See also
 \fBamcheck\fR(8).
-.TP
+.RE
+.PP
 \fBbumpsize\fR
 \fBbumpsize\fR
+.RS 4
 Display the current bump threshold parameters, calculated for all backup levels.
 Display the current bump threshold parameters, calculated for all backup levels.
-.TP
-\fBbalance\fR [ \fB--days\fR \fI<num>\fR ]\fB\fR \fB\fR \fB\fR
+.RE
+.PP
+\fBbalance\fR [ \fB\-\-days\fR \fI<num>\fR ]
+.RS 4
 Display the distribution of full backups throughout the dump schedule.
 Display the distribution of full backups throughout the dump schedule.
-.TP
-\fBexport\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]*
+.RE
+.PP
+\fBexport\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]*
+.RS 4
 Convert records from the
 Convert records from the
-\fBAmanda\fR
+\fIAmanda\fR
 database to a text format that may be transmitted to another
 database to a text format that may be transmitted to another
-\fBAmanda\fR
+\fIAmanda\fR
 machine and
 \fBimport\fRed.
 machine and
 \fBimport\fRed.
-.TP
+.RE
+.PP
 \fBimport\fR
 \fBimport\fR
+.RS 4
 Convert
 \fBexport\fRed records read from standard input to a form
 Convert
 \fBexport\fRed records read from standard input to a form
-\fBAmanda\fR
+\fIAmanda\fR
 uses and insert them into the database on this machine.
 uses and insert them into the database on this machine.
-.TP
-\fBdisklist\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]*
+.RE
+.PP
+\fBdisklist\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]*
+.RS 4
 Display the
 Display the
-\fBdisklist\fR
+\fIdisklist\fR
 information for each of the
 information for each of the
-\fBdisks\fR
+\fIdisks\fR
 on
 on
-\fBhostname\fR
+\fIhostname\fR
 (or all hosts). Mostly used for debugging.
 (or all hosts). Mostly used for debugging.
-.TP
-\fBinfo\fR [ \fBhostname\fR [ \fBdisks\fR ]* ]*
+.RE
+.PP
+\fBinfo\fR [ \fIhostname\fR [ \fIdisks\fR ]* ]*
+.RS 4
 Display the database record for each of the
 Display the database record for each of the
-\fBdisks\fR
+\fIdisks\fR
 on
 on
-\fBhostname\fR
+\fIhostname\fR
 (or all hosts). Mostly used for debugging.
 (or all hosts). Mostly used for debugging.
-.TP
-\fB-o\fR \fIconfigoption\fR
+.RE
+.PP
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .SH "EXAMPLES"
 .PP
 Request three specific file systems on
 .SH "EXAMPLES"
 .PP
 Request three specific file systems on
-\fBmachine-a\fR
+\fImachine\-a\fR
 get a full level 0 backup during the next
 get a full level 0 backup during the next
-\fBAmanda\fR
+\fIAmanda\fR
 run.
 run.
+.sp
+.RS 4
 .nf
 .nf
-
-$ amadmin daily force machine-a / /var /usr
-amadmin: machine-a:/ is set to a forced level 0 tonight.
-amadmin: machine-a:/var is set to a forced level 0 tonight.
-amadmin: machine-a:/usr is set to a forced level 0 tonight.
+$ amadmin daily force machine\-a / /var /usr
+amadmin: machine\-a:/ is set to a forced level 0 tonight.
+amadmin: machine\-a:/var is set to a forced level 0 tonight.
+amadmin: machine\-a:/usr is set to a forced level 0 tonight.
 .fi
 .fi
+.RE
 .PP
 Request all file systems on
 .PP
 Request all file systems on
-\fBmachine-b\fR
+\fImachine\-b\fR
 get a full level 0 backup during the next
 get a full level 0 backup during the next
-\fBAmanda\fR
+\fIAmanda\fR
 run.
 run.
+.sp
+.RS 4
 .nf
 .nf
-
-$ amadmin daily force machine-b
-amadmin: machine-b:/ is set to a forced level 0 tonight.
-amadmin: machine-b:/var is set to a forced level 0 tonight.
-amadmin: machine-b:/usr is set to a forced level 0 tonight.
-amadmin: machine-b:/home is set to a forced level 0 tonight.
+$ amadmin daily force machine\-b
+amadmin: machine\-b:/ is set to a forced level 0 tonight.
+amadmin: machine\-b:/var is set to a forced level 0 tonight.
+amadmin: machine\-b:/usr is set to a forced level 0 tonight.
+amadmin: machine\-b:/home is set to a forced level 0 tonight.
 .fi
 .fi
+.RE
 .PP
 Undo the previous
 \fBforce\fR
 request for
 \fI/home\fR
 on
 .PP
 Undo the previous
 \fBforce\fR
 request for
 \fI/home\fR
 on
-\fBmachine-b\fR. The other file systems will still get a full level 0 backup.
+\fImachine\-b\fR. The other file systems will still get a full level 0 backup.
+.sp
+.RS 4
 .nf
 .nf
-
-$ amadmin daily unforce machine-b /home
-amadmin: force command for machine-b:/home cleared.
+$ amadmin daily unforce machine\-b /home
+amadmin: force command for machine\-b:/home cleared.
 .fi
 .fi
+.RE
 .PP
 Locate backup images of
 \fI/var\fR
 from
 .PP
 Locate backup images of
 \fI/var\fR
 from
-\fBmachine-c\fR. The
-\fBtape or file\fR
+\fImachine\-c\fR. The
+\fItape or file\fR
 column displays either a tape label or a filename depending on whether the image is on tape or is still in the holding disk. If the image is on tape, the
 column displays either a tape label or a filename depending on whether the image is on tape or is still in the holding disk. If the image is on tape, the
-\fBfile\fR
+\fIfile\fR
 column tells you which file on the tape has the image (file number zero is a tape label). This column shows zero and is not meaningful if the image is still in the holding disk. The
 column tells you which file on the tape has the image (file number zero is a tape label). This column shows zero and is not meaningful if the image is still in the holding disk. The
-\fBstatus\fR
+\fIstatus\fR
 column tells you whether the backup was successful or had some type of error.
 column tells you whether the backup was successful or had some type of error.
+.sp
+.RS 4
 .nf
 .nf
-
-$ amadmin daily find machine-c /var
+$ amadmin daily find machine\-c /var
 date        host      disk lv tape or file                 file part  status
 date        host      disk lv tape or file                 file part  status
-2000\-11\-09  machine\-c /var  0 000110                       9   --  OK
-2000\-11\-08  machine\-c /var  2 000109                       2   --  OK
-2000\-11\-07  machine\-c /var  2 /amanda/20001107/machine-c._var.2  0 OK
-2000\-11\-06  machine\-c /var  2 000107                       2   --  OK
-2000\-11\-05  machine\-c /var  2 000106                       3   --  OK
-2000\-11\-04  machine\-c /var  2 000105                       2   --  OK
-2000\-11\-03  machine\-c /var  2 000104                       2   --  OK
-2000\-11\-02  machine\-c /var  2 000103                       2   --  OK
-2000\-11\-01  machine\-c /var  1 000102                       5   --  OK
-2000\-10\-31  machine\-c /var  1 000101                       3   --  OK
+2000\-11\-09  machine\-c /var  0 000110                       9   \-\-  OK
+2000\-11\-08  machine\-c /var  2 000109                       2   \-\-  OK
+2000\-11\-07  machine\-c /var  2 /amanda/20001107/machine\-c._var.2  0 OK
+2000\-11\-06  machine\-c /var  2 000107                       2   \-\-  OK
+2000\-11\-05  machine\-c /var  2 000106                       3   \-\-  OK
+2000\-11\-04  machine\-c /var  2 000105                       2   \-\-  OK
+2000\-11\-03  machine\-c /var  2 000104                       2   \-\-  OK
+2000\-11\-02  machine\-c /var  2 000103                       2   \-\-  OK
+2000\-11\-01  machine\-c /var  1 000102                       5   \-\-  OK
+2000\-10\-31  machine\-c /var  1 000101                       3   \-\-  OK
 .fi
 .fi
+.RE
 .PP
 Forget about the
 \fI/workspace\fR
 disk on
 .PP
 Forget about the
 \fI/workspace\fR
 disk on
-\fBmachine-d\fR. If you do not also remove the disk from the
-\fBdisklist\fR
+\fImachine\-d\fR. If you do not also remove the disk from the
+\fIdisklist\fR
 file,
 file,
-\fBAmanda\fR
+\fIAmanda\fR
 will treat it as a new disk during the next run.
 will treat it as a new disk during the next run.
+.sp
+.RS 4
 .nf
 .nf
-
-$ amadmin daily delete machine-d /workspace
-amadmin: machine-d:/workspace deleted from database.
+$ amadmin daily delete machine\-d /workspace
+amadmin: machine\-d:/workspace deleted from database.
 amadmin: NOTE: you'll have to remove these from the disklist yourself.
 .fi
 amadmin: NOTE: you'll have to remove these from the disklist yourself.
 .fi
+.RE
 .PP
 Find the next tape
 .PP
 Find the next tape
-\fBAmanda\fR
+\fIAmanda\fR
 will use (in this case,
 123456).
 will use (in this case,
 123456).
+.sp
+.RS 4
 .nf
 .nf
-
 $ amadmin daily tape
 $ amadmin daily tape
-The next \fBAmanda\fR run should go onto tape 123456 or a new tape.
+The next \fIAmanda\fR run should go onto tape 123456 or a new tape.
 .fi
 .fi
+.RE
 .PP
 Show how well full backups are balanced across the dump cycle. The
 .PP
 Show how well full backups are balanced across the dump cycle. The
-\fBdue-date\fR
+\fIdue\-date\fR
 column is the day the backups are due for a full backup.
 column is the day the backups are due for a full backup.
-\fB#fs\fR
+\fI#fs\fR
 shows the number of filesystems doing full backups that night, and
 shows the number of filesystems doing full backups that night, and
-\fBorig KB\fR
+\fIorig KB\fR
 and
 and
-\fBout KB\fR
+\fIout KB\fR
 show the estimated total size of the backups before and after any compression, respectively.
 .PP
 The
 show the estimated total size of the backups before and after any compression, respectively.
 .PP
 The
-\fBbalance\fR
+\fIbalance\fR
 column shows how far off that night's backups are from the average size (shown at the bottom of the balance column).
 column shows how far off that night's backups are from the average size (shown at the bottom of the balance column).
-\fBAmanda\fR
-tries to keep the backups within +/- 5%, but since the amount of data on each filesystem is always changing, and
-\fBAmanda\fR
+\fIAmanda\fR
+tries to keep the backups within +/\- 5%, but since the amount of data on each filesystem is always changing, and
+\fIAmanda\fR
 will never delay backups just to rebalance the schedule, it is common for the schedule to fluctuate by larger percentages. In particular, in the case of a tape or backup failure, a bump will occur the following night, which will not be smoothed out until the next pass through the schedule.
 .PP
 The last line also shows an estimate of how many
 will never delay backups just to rebalance the schedule, it is common for the schedule to fluctuate by larger percentages. In particular, in the case of a tape or backup failure, a bump will occur the following night, which will not be smoothed out until the next pass through the schedule.
 .PP
 The last line also shows an estimate of how many
-\fBAmanda\fR
+\fIAmanda\fR
 runs will be made between full backups for a file system. In the example, a file system will probably have a full backup done every eight times
 runs will be made between full backups for a file system. In the example, a file system will probably have a full backup done every eight times
-\fBAmanda\fR
+\fIAmanda\fR
 is run (e.g. every eight days).
 is run (e.g. every eight days).
+.sp
+.RS 4
 .nf
 .nf
-
 $ amadmin daily balance
 $ amadmin daily balance
- due-date  #fs   orig KB    out KB  balance
--------------------------------------------
+ due\-date  #fs   orig KB    out KB  balance
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
 11/10 Mon   21    930389    768753    +5.1%
 11/11 Tue   29   1236272    733211    +0.2%
 11/12 Wed   31   1552381    735796    +0.6%
 11/10 Mon   21    930389    768753    +5.1%
 11/11 Tue   29   1236272    733211    +0.2%
 11/12 Wed   31   1552381    735796    +0.6%
-11/13 Thu   23   1368447    684552    -6.4%
+11/13 Thu   23   1368447    684552    \-6.4%
 11/14 Fri   32   1065603    758155    +3.6%
 11/15 Sat   14   1300535    738430    +0.9%
 11/16 Sun   31   1362696    740365    +1.2%
 11/17 Mon   30   1427936    773397    +5.7%
 11/14 Fri   32   1065603    758155    +3.6%
 11/15 Sat   14   1300535    738430    +0.9%
 11/16 Sun   31   1362696    740365    +1.2%
 11/17 Mon   30   1427936    773397    +5.7%
-11/18 Tue   11   1059191    721786    -1.3%
-11/19 Wed   19   1108737    661867    -9.5%
--------------------------------------------
+11/18 Tue   11   1059191    721786    \-1.3%
+11/19 Wed   19   1108737    661867    \-9.5%
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
 TOTAL      241  12412187   7316312   731631  (estimated 8 runs per dumpcycle)
 .fi
 TOTAL      241  12412187   7316312   731631  (estimated 8 runs per dumpcycle)
 .fi
+.RE
 .SH "FILES"
 .PP
 .SH "FILES"
 .PP
-/usr/local/etc/amanda/\fBconfig\fR/amanda.conf
+/usr/local/etc/amanda/\fIconfig\fR/amanda.conf
 .SH "AUTHOR"
 .PP
 James da Silva,
 .SH "AUTHOR"
 .PP
 James da Silva,
@@ -342,7 +388,7 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
@@ -350,4 +396,3 @@ Stefan G. Weichinger,
 \fBamdump\fR(8),
 \fBamrestore\fR(8),
 \fBamfetchdump\fR(8)
 \fBamdump\fR(8),
 \fBamrestore\fR(8),
 \fBamfetchdump\fR(8)
-
index b8d5ed12368e37f8a48da97155d7ee66b5c95f66..0df976307db5a2fda63779b1e3d3b6fff68ae7b6 100644 (file)
@@ -1,30 +1,23 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMAESPIPE" 8 "" "" ""
+.\"     Title: amaespipe
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMAESPIPE" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amaespipe - wrapper program for aespipe
+amaespipe \- wrapper program for aespipe
 .SH "SYNOPSIS"
 .HP 10
 \fBamaespipe\fR
 .SH "DESCRIPTION"
 .PP
 .SH "SYNOPSIS"
 .HP 10
 \fBamaespipe\fR
 .SH "DESCRIPTION"
 .PP
+
 \fBamaespipe\fR
 requires
 \fBaespipe\fR,
 \fBamaespipe\fR
 requires
 \fBaespipe\fR,
@@ -32,12 +25,21 @@ requires
 and
 \fBgpg\fR
 to work. Aespipe is available from
 and
 \fBgpg\fR
 to work. Aespipe is available from
-: http://loop-aes.sourceforge.net
+\fI\%http://loop\-aes.sourceforge.net\fR
 .PP
 .PP
+
 \fBamaespipe\fR
 will search for the aespipe program in the following directories: /usr/bin:/usr/local/bin:/sbin:/usr/sbin.
 \fBamaespipe\fR
 will search for the aespipe program in the following directories: /usr/bin:/usr/local/bin:/sbin:/usr/sbin.
-\fBamaespipe\fR is called by  \fBamcrypt\fR for \fBAmanda\fR data encryption.
 .PP
 .PP
+
+\fBamaespipe\fR
+is called by
+\fBamcrypt\fR
+for
+\fIAmanda\fR
+data encryption.
+.PP
+
 \fBamaespipe\fR
 is based on aespipe's bzaespipe program. It calls aespipe to encrypt data using AES256 as the encryption and SHA256 as the hash function. GPG key should be stored in $AMANDA_HOME/.gnupg/am_key.gpg.
 \fBamaespipe\fR
 \fBamaespipe\fR
 is based on aespipe's bzaespipe program. It calls aespipe to encrypt data using AES256 as the encryption and SHA256 as the hash function. GPG key should be stored in $AMANDA_HOME/.gnupg/am_key.gpg.
 \fBamaespipe\fR
@@ -51,4 +53,3 @@ autodects encryption type and hash function from the encrypted image.
 \fBaespipe\fR(1),
 \fBamcrypt\fR(8),
 \fBgpg\fR(1)
 \fBaespipe\fR(1),
 \fBamcrypt\fR(8),
 \fBgpg\fR(1)
-
index 90d23f2ba03ffda530d4cdbd4c34c91456909291..c7c3adbc5a67184ccfc1321bfbb4635770f7b2cc 100644 (file)
@@ -1,42 +1,34 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMANDA-CLIENT.CONF" 5 "" "" ""
+.\"     Title: amanda-client.conf
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMANDA\-CLIENT.CONF" "5" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amanda-client.conf - Client configuration file for Amanda, the Advanced Maryland Automatic Network Disk Archiver
+amanda\-client.conf \- Client configuration file for Amanda, the Advanced Maryland Automatic Network Disk Archiver
 .SH "DESCRIPTION"
 .PP
 .SH "DESCRIPTION"
 .PP
-\fIamanda-client.conf\fR
+\fIamanda\-client.conf\fR
 is the client configuration file for
 is the client configuration file for
-\fBAmanda\fR. This manpage lists the relevant sections and parameters of this file for quick reference.
+\fIAmanda\fR. This manpage lists the relevant sections and parameters of this file for quick reference.
 .PP
 The files
 .PP
 The files
-\fB<CONFIG_DIR>/amanda-client.conf\fR
+\fB<CONFIG_DIR>/amanda\-client.conf\fR
 and
 and
-\fB<CONFIG_DIR>/<config>/amanda-client.conf\fR
+\fB<CONFIG_DIR>/<config>/amanda\-client.conf\fR
 are loaded.
 .SH "PARAMETERS"
 .PP
 There are a number of configuration parameters that control the behavior of the
 are loaded.
 .SH "PARAMETERS"
 .PP
 There are a number of configuration parameters that control the behavior of the
-\fBAmanda\fR
+\fIAmanda\fR
 programs. All have default values, so you need not specify the parameter in
 programs. All have default values, so you need not specify the parameter in
-\fBamanda-client.conf\fR
+\fBamanda\-client.conf\fR
 if the default is suitable.
 .PP
 Lines starting with # are ignored, as are blank lines. Comments may be placed on a line with a directive by starting the comment with a #. The remainder of the line is ignored.
 if the default is suitable.
 .PP
 Lines starting with # are ignored, as are blank lines. Comments may be placed on a line with a directive by starting the comment with a #. The remainder of the line is ignored.
@@ -49,35 +41,54 @@ are treated the same.
 .PP
 Integer arguments may have one of the following (case insensitive) suffixes, some of which have a multiplier effect:
 .SS "POSSIBLE SUFFIXES"
 .PP
 Integer arguments may have one of the following (case insensitive) suffixes, some of which have a multiplier effect:
 .SS "POSSIBLE SUFFIXES"
-.TP
+.PP
 \fBb byte bytes\fR
 \fBb byte bytes\fR
+.RS 4
 Some number of bytes.
 Some number of bytes.
-.TP
+.RE
+.PP
 \fBbps\fR
 \fBbps\fR
+.RS 4
 Some number of bytes per second.
 Some number of bytes per second.
-.TP
+.RE
+.PP
 \fBk kb kbyte kbytes kilobyte kilobytes\fR
 \fBk kb kbyte kbytes kilobyte kilobytes\fR
+.RS 4
 Some number of kilobytes (bytes*1024).
 Some number of kilobytes (bytes*1024).
-.TP
+.RE
+.PP
 \fBkps kbps\fR
 \fBkps kbps\fR
+.RS 4
 Some number of kilobytes per second (bytes*1024).
 Some number of kilobytes per second (bytes*1024).
-.TP
+.RE
+.PP
 \fBm mb meg mbyte mbytes megabyte megabytes\fR
 \fBm mb meg mbyte mbytes megabyte megabytes\fR
+.RS 4
 Some number of megabytes (bytes*1024*1024).
 Some number of megabytes (bytes*1024*1024).
-.TP
+.RE
+.PP
 \fBmps mbps\fR
 \fBmps mbps\fR
+.RS 4
 Some number of megabytes per second (bytes*1024*1024).
 Some number of megabytes per second (bytes*1024*1024).
-.TP
+.RE
+.PP
 \fBg gb gbyte gbytes gigabyte gigabytes\fR
 \fBg gb gbyte gbytes gigabyte gigabytes\fR
+.RS 4
 Some number of gigabytes (bytes*1024*1024*1024).
 Some number of gigabytes (bytes*1024*1024*1024).
-.TP
+.RE
+.PP
 \fBtape tapes\fR
 \fBtape tapes\fR
+.RS 4
 Some number of tapes.
 Some number of tapes.
-.TP
+.RE
+.PP
 \fBday days\fR
 \fBday days\fR
+.RS 4
 Some number of days.
 Some number of days.
-.TP
+.RE
+.PP
 \fBweek weeks\fR
 \fBweek weeks\fR
+.RS 4
 Some number of weeks (days*7).
 .sp
 .it 1 an-trap
 Some number of weeks (days*7).
 .sp
 .it 1 an-trap
@@ -87,9 +98,8 @@ Some number of weeks (days*7).
 \fBNote\fR
 The value
 \fBinf\fR
 \fBNote\fR
 The value
 \fBinf\fR
-may be used in most places where an integer is expected
-to mean an infinite amount.
-
+may be used in most places where an integer is expected to mean an infinite amount.
+.sp
 Boolean arguments may have any of the values
 \fBy\fR,
 \fByes\fR,
 Boolean arguments may have any of the values
 \fBy\fR,
 \fByes\fR,
@@ -107,27 +117,37 @@ or
 to indicate a false state. If no argument is given,
 \fBtrue\fR
 is assumed.
 to indicate a false state. If no argument is given,
 \fBtrue\fR
 is assumed.
+.RE
 .SS "PARAMETERS"
 .SS "PARAMETERS"
-.TP
-\fBconf\fR \fB string\fR
+.PP
+\fBconf\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBSet by configure\fR. The conf use by amrecover.
-.TP
-\fBindex_server\fR \fB string\fR
+\fISet by configure\fR. The conf use by amrecover.
+.RE
+.PP
+\fBindex_server\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBSet by configure\fR. The amindexd server amrecover will connect to.
-.TP
-\fBtape_server\fR \fB string\fR
+\fISet by configure\fR. The amindexd server amrecover will connect to.
+.RE
+.PP
+\fBtape_server\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBSet by configure\fR. The amidxtaped server amrecover will connect to.
-.TP
-\fBtapedev\fR \fB string\fR
+\fISet by configure\fR. The amidxtaped server amrecover will connect to.
+.RE
+.PP
+\fBtapedev\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBSet by configure\fR. The tapedev amrecover will use.
-.TP
-\fBauth\fR \fB string\fR
+\fISet by configure\fR. The tapedev amrecover will use.
+.RE
+.PP
+\fBauth\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBbsd\fR. Type of authorization to perform between tape server and backup client hosts.
+\fIbsd\fR. Type of authorization to perform between tape server and backup client hosts.
 .sp
 \fBbsd\fR, bsd authorization with udp initial connection and one tcp connection by data stream.
 .sp
 .sp
 \fBbsd\fR, bsd authorization with udp initial connection and one tcp connection by data stream.
 .sp
@@ -136,28 +156,35 @@ Default:
 \fBbsdudp\fR, like bsd, but will use only one tcp connection for all data stream.
 .sp
 \fBkrb4\fR
 \fBbsdudp\fR, like bsd, but will use only one tcp connection for all data stream.
 .sp
 \fBkrb4\fR
-to use Kerberos-IV authorization.
+to use Kerberos\-IV authorization.
 .sp
 \fBkrb5\fR
 .sp
 \fBkrb5\fR
-to use Kerberos-V authorization.
+to use Kerberos\-V authorization.
 .sp
 \fBrsh\fR
 to use rsh authorization.
 .sp
 \fBssh\fR
 to use OpenSSH authorization.
 .sp
 \fBrsh\fR
 to use rsh authorization.
 .sp
 \fBssh\fR
 to use OpenSSH authorization.
-.TP
-\fBssh_keys\fR \fB string\fR
+.RE
+.PP
+\fBssh_keys\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBNo default\fR. The key file the ssh auth will use, it must be the private key. If this parameter is not specified, then the deafult ssh key will be used.
-.TP
-\fBgnutar_list_dir\fR \fB string\fR
+\fINo default\fR. The key file the ssh auth will use, it must be the private key. If this parameter is not specified, then the deafult ssh key will be used.
+.RE
+.PP
+\fBgnutar_list_dir\fR \fI string\fR
+.RS 4
 Default from configure
 Default from configure
-\fB--with-gnutar-listdir=DIR\fR. The directory where gnutar keep its state file.
-.TP
-\fBamandates\fR \fB string\fR
+\fI\-\-with\-gnutar\-listdir=DIR\fR. The directory where gnutar keep its state file.
+.RE
+.PP
+\fBamandates\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fB/etc/amandates\fR. The file where amanda keep the last date of each dumplevel.
+\fI/etc/amandates\fR. The file where amanda keep the last date of each dumplevel.
+.RE
 .SH "AUTHOR"
 .PP
 James da Silva,
 .SH "AUTHOR"
 .PP
 James da Silva,
@@ -165,11 +192,11 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion, major update, splitting
+\fIAmanda\fR\-documentation: XML\-conversion, major update, splitting
 .SH "SEE ALSO"
 .PP
 .SH "SEE ALSO"
 .PP
+
 \fBamanda\fR(8),
 \fBamanda.conf\fR(5),
 \fBamcrypt\fR(8),
 \fBaespipe\fR(1),
 \fBamanda\fR(8),
 \fBamanda.conf\fR(5),
 \fBamcrypt\fR(8),
 \fBaespipe\fR(1),
-
index 26e4951577697deb4d85465d11ae8ed0d09c9f65..60e88f7ad17496d44a19178ecaf23e3b3e507367 100644 (file)
@@ -1,25 +1,17 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMANDA" 8 "" "" ""
+.\"     Title: amanda
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMANDA" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amanda - Advanced Maryland Automatic Network Disk Archiver
+amanda \- Advanced Maryland Automatic Network Disk Archiver
 .SH "SYNOPSIS"
 .HP 8
 \fBamadmin\fR \fIconfig\fR \fIcommand\fR [\fIoptions\fR]
 .SH "SYNOPSIS"
 .HP 8
 \fBamadmin\fR \fIconfig\fR \fIcommand\fR [\fIoptions\fR]
@@ -52,7 +44,7 @@ amanda - Advanced Maryland Automatic Network Disk Archiver
 .br
 
 .HP 8
 .br
 
 .HP 8
-\fBamflush\fR [-f] \fIconfig\fR
+\fBamflush\fR [\-f] \fIconfig\fR
 .br
 
 .HP 10
 .br
 
 .HP 10
@@ -60,7 +52,7 @@ amanda - Advanced Maryland Automatic Network Disk Archiver
 .br
 
 .HP 8
 .br
 
 .HP 8
-\fBamlabel\fR \fIconfig\fR \fIlabel\fR [\fIslot\fR \fIslot\fR]
+\fBamlabel\fR \fIconfig\fR \fIlabel\fR [\fIslot\fR\fIslot\fR]
 .br
 
 .HP 5
 .br
 
 .HP 5
@@ -70,7 +62,7 @@ amanda - Advanced Maryland Automatic Network Disk Archiver
 .br
 
 .HP 7
 .br
 
 .HP 7
-\fBamplot\fR [\fIoptions\fR] \fIamdump-files\fR
+\fBamplot\fR [\fIoptions\fR] \fIamdump\-files\fR
 .br
 
 .HP 10
 .br
 
 .HP 10
@@ -82,11 +74,11 @@ amanda - Advanced Maryland Automatic Network Disk Archiver
 .br
 
 .HP 10
 .br
 
 .HP 10
-\fBamrestore\fR [\fIoptions\fR] \fItapedevice\fR [\fIhostname\fR [\fIdiskname\fR]]
+\fBamrestore\fR [\fIoptions\fR] \fItapedevice\fR [\fIhostname\fR[\fIdiskname\fR]]
 .br
 
 .HP 12
 .br
 
 .HP 12
-\fBamfetchdump\fR [\fIoptions\fR] \fIconfig\fR [\fIhostname\fR [\fIdiskname\fR [\fIdate\fR [level]]]]
+\fBamfetchdump\fR [\fIoptions\fR] \fIconfig\fR [\fIhostname\fR\ [\fIdiskname\fR\ [\fIdate\fR\ [level]]]]
 .HP 9
 \fBamrmtape\fR [\fIoptions\fR] \fIconfig\fR \fIlabel\fR
 .br
 .HP 9
 \fBamrmtape\fR [\fIoptions\fR] \fIconfig\fR \fIlabel\fR
 .br
@@ -113,33 +105,38 @@ amanda - Advanced Maryland Automatic Network Disk Archiver
 \fBamverifyrun\fR \fIconfig\fR
 .SH "DESCRIPTION"
 .PP
 \fBamverifyrun\fR \fIconfig\fR
 .SH "DESCRIPTION"
 .PP
-\fBAmanda\fR
+\fIAmanda\fR
 is the "Advanced Maryland Automatic Network Disk Archiver". This manual page gives an overview of the
 is the "Advanced Maryland Automatic Network Disk Archiver". This manual page gives an overview of the
-\fBAmanda\fR
+\fIAmanda\fR
 commands and configuration files for quick reference.
 .PP
 Here are all the
 commands and configuration files for quick reference.
 .PP
 Here are all the
-\fBAmanda\fR
+\fIAmanda\fR
 commands. Each one has its own manual page. See them for all the gory details.
 commands. Each one has its own manual page. See them for all the gory details.
-.TP
+.PP
 \fBamdump\fR
 \fBamdump\fR
+.RS 4
 Take care of automatic
 Take care of automatic
-\fBAmanda\fR
+\fIAmanda\fR
 backups. This is normally executed by
 \fBcron\fR
 on a computer called the
 backups. This is normally executed by
 \fBcron\fR
 on a computer called the
-\fBtape server host\fR
+\fItape server host\fR
 and requests backups of file systems located on
 and requests backups of file systems located on
-\fBbackup\fR\fBclients\fR.
+\fIbackup\fR
+\fIclients\fR.
 \fBAmdump\fR
 backs up all disks in the
 \fBAmdump\fR
 backs up all disks in the
-\fBdisklist\fR
+\fIdisklist\fR
 file (discussed below) to tape or, if there is a problem, to a special
 file (discussed below) to tape or, if there is a problem, to a special
-\fBholding\fR\fBdisk\fR. After all backups are done,
+\fIholding\fR
+\fIdisk\fR. After all backups are done,
 \fBamdump\fR
 sends mail reporting failures and successes.
 \fBamdump\fR
 sends mail reporting failures and successes.
-.TP
+.RE
+.PP
 \fBamflush\fR
 \fBamflush\fR
+.RS 4
 Flush backups from the holding disk to tape.
 \fBAmflush\fR
 is used after
 Flush backups from the holding disk to tape.
 \fBAmflush\fR
 is used after
@@ -147,146 +144,187 @@ is used after
 has reported it could not write backups to tape for some reason. When this happens, backups stay in the holding disk. Run
 \fBamflush\fR
 after the tape problem is corrected to write backups from the holding disk to tape.
 has reported it could not write backups to tape for some reason. When this happens, backups stay in the holding disk. Run
 \fBamflush\fR
 after the tape problem is corrected to write backups from the holding disk to tape.
-.TP
+.RE
+.PP
 \fBamcleanup\fR
 \fBamcleanup\fR
+.RS 4
 Clean up after an interrupted
 \fBamdump\fR. This command is only needed if
 \fBamdump\fR
 was unable to complete for some reason, usually because the tape server host crashed while
 \fBamdump\fR
 was running.
 Clean up after an interrupted
 \fBamdump\fR. This command is only needed if
 \fBamdump\fR
 was unable to complete for some reason, usually because the tape server host crashed while
 \fBamdump\fR
 was running.
-.TP
+.RE
+.PP
 \fBamrecover\fR
 \fBamrecover\fR
+.RS 4
 Provides an interactive interface to browse the
 Provides an interactive interface to browse the
-\fBAmanda\fR
+\fIAmanda\fR
 index files (backup image catalogues) and select which tapes to recover files from. It can also run
 \fBamrestore\fR
 and a restore program (e.g.
 \fBtar\fR) to actually recover the files.
 index files (backup image catalogues) and select which tapes to recover files from. It can also run
 \fBamrestore\fR
 and a restore program (e.g.
 \fBtar\fR) to actually recover the files.
-.TP
+.RE
+.PP
 \fBamrestore\fR
 \fBamrestore\fR
+.RS 4
 Read an
 Read an
-\fBAmanda\fR
+\fIAmanda\fR
 tape, searching for requested backups.
 \fBAmrestore\fR
 is suitable for everything from interactive restores of single files to a full restore of all partitions on a failed disk.
 tape, searching for requested backups.
 \fBAmrestore\fR
 is suitable for everything from interactive restores of single files to a full restore of all partitions on a failed disk.
-.TP
+.RE
+.PP
 \fBamfetchdump\fR
 \fBamfetchdump\fR
+.RS 4
 Performs
 Performs
-\fBAmanda\fR
+\fIAmanda\fR
 tape restoration, similar to
 tape restoration, similar to
-\fBamrestore\fR. Additional capabilities include "hands-off" searching of multiple tapes, automatic retrieval of specific dump files based on dump logs, and assembly of tape-spanning split dump files.
-.TP
+\fBamrestore\fR. Additional capabilities include "hands\-off" searching of multiple tapes, automatic retrieval of specific dump files based on dump logs, and assembly of tape\-spanning split dump files.
+.RE
+.PP
 \fBamlabel\fR
 \fBamlabel\fR
+.RS 4
 Write an
 Write an
-\fBAmanda\fR
+\fIAmanda\fR
 format label onto a tape. All
 format label onto a tape. All
-\fBAmanda\fR
+\fIAmanda\fR
 tapes must be labeled with
 \fBamlabel\fR.
 \fBAmdump\fR
 and
 \fBamflush\fR
 will not write to an unlabeled tape (see TAPE MANAGEMENT below).
 tapes must be labeled with
 \fBamlabel\fR.
 \fBAmdump\fR
 and
 \fBamflush\fR
 will not write to an unlabeled tape (see TAPE MANAGEMENT below).
-.TP
+.RE
+.PP
 \fBamcheck\fR
 \fBamcheck\fR
+.RS 4
 Verify the correct tape is mounted and all file systems on all backup client systems are ready to be backed up. Often run by
 \fBcron\fR
 before
 \fBamdump\fR
 to generate a mail warning that backups might fail unless corrective action is taken.
 Verify the correct tape is mounted and all file systems on all backup client systems are ready to be backed up. Often run by
 \fBcron\fR
 before
 \fBamdump\fR
 to generate a mail warning that backups might fail unless corrective action is taken.
-.TP
+.RE
+.PP
 \fBamadmin\fR
 \fBamadmin\fR
+.RS 4
 Take care of administrative tasks like finding out which tapes are needed to restore a filesystem, forcing hosts to do full backups of selected disks and looking at schedule balance information.
 Take care of administrative tasks like finding out which tapes are needed to restore a filesystem, forcing hosts to do full backups of selected disks and looking at schedule balance information.
-.TP
+.RE
+.PP
 \fBamtape\fR
 \fBamtape\fR
+.RS 4
 Take care of tape changer control operations like loading particular tapes, ejecting tapes and scanning the tape storage slots.
 Take care of tape changer control operations like loading particular tapes, ejecting tapes and scanning the tape storage slots.
-.TP
+.RE
+.PP
 \fBamverify\fR
 \fBamverify\fR
+.RS 4
 Check
 Check
-\fBAmanda\fR
+\fIAmanda\fR
 backup tapes for errors.
 backup tapes for errors.
-.TP
+.RE
+.PP
 \fBamrmtape\fR
 \fBamrmtape\fR
+.RS 4
 Delete a tape from the
 Delete a tape from the
-\fBAmanda\fR
+\fIAmanda\fR
 databases.
 databases.
-.TP
+.RE
+.PP
 \fBamstatus\fR
 \fBamstatus\fR
+.RS 4
 Report the status of a running or completed
 \fBamdump\fR.
 Report the status of a running or completed
 \fBamdump\fR.
-.TP
+.RE
+.PP
 \fBamoverview\fR
 \fBamoverview\fR
+.RS 4
 Display a chart of hosts and file systems backed up every run.
 Display a chart of hosts and file systems backed up every run.
-.TP
+.RE
+.PP
 \fBamplot\fR
 \fBamplot\fR
+.RS 4
 Generate utilization plots of
 Generate utilization plots of
-\fBAmanda\fR
+\fIAmanda\fR
 runs for performance tuning.
 runs for performance tuning.
-.TP
+.RE
+.PP
 \fBamreport\fR
 \fBamreport\fR
+.RS 4
 Generate an
 Generate an
-\fBAmanda\fR
-summary E-mail report.
-.TP
+\fIAmanda\fR
+summary E\-mail report.
+.RE
+.PP
 \fBamtoc\fR
 \fBamtoc\fR
+.RS 4
 Generate table of content files for
 Generate table of content files for
-\fBAmanda\fR
+\fIAmanda\fR
 tapes.
 tapes.
-.TP
+.RE
+.PP
 \fBamcheckdb\fR
 \fBamcheckdb\fR
+.RS 4
 Verify every tape
 Verify every tape
-\fBAmanda\fR
+\fIAmanda\fR
 knows about is consistent in the database.
 knows about is consistent in the database.
-.TP
+.RE
+.PP
 \fBamgetconf\fR
 \fBamgetconf\fR
+.RS 4
 Look up parameters in the
 Look up parameters in the
-\fBAmanda\fR
+\fIAmanda\fR
 configuration file.
 configuration file.
-.TP
+.RE
+.PP
 \fBamtapetype\fR
 \fBamtapetype\fR
+.RS 4
 Generate a tapetype definition.
 Generate a tapetype definition.
-.TP
+.RE
+.PP
 \fBamaespipe\fR
 \fBamaespipe\fR
+.RS 4
 Wrapper program from aespipe (data encryption utility)
 Wrapper program from aespipe (data encryption utility)
-.TP
+.RE
+.PP
 \fBamcrypt\fR
 \fBamcrypt\fR
+.RS 4
 Reference encryption program for Amanda symmetric data encryption
 Reference encryption program for Amanda symmetric data encryption
+.RE
 .SH "CONFIGURATION"
 .PP
 .SH "CONFIGURATION"
 .PP
-There are three user-editable files that control the behavior of
-\fBAmanda\fR.
+There are three user\-editable files that control the behavior of
+\fIAmanda\fR.
 .PP
 The first is
 \fBamanda.conf\fR, the main configuration file. It contains parameters to customize
 .PP
 The first is
 \fBamanda.conf\fR, the main configuration file. It contains parameters to customize
-\fBAmanda\fR
+\fIAmanda\fR
 for the site. Refer to the
 \fBamanda.conf\fR(5), manpage for details on
 for the site. Refer to the
 \fBamanda.conf\fR(5), manpage for details on
-\fBAmanda\fR
+\fIAmanda\fR
 configuration parameters.
 .PP
 Second is the
 configuration parameters.
 .PP
 Second is the
-\fBdisklist\fR
+\fIdisklist\fR
 file, which lists hosts and disk partitions to back up.
 .PP
 Third is the
 file, which lists hosts and disk partitions to back up.
 .PP
 Third is the
-\fBtapelist\fR
+\fItapelist\fR
 file, which lists tapes that are currently active. These files are described in more detail in the following sections.
 .PP
 All files are stored in individual configuration directories under
 \fI/usr/local/etc/amanda/\fR. A site will often have more than one configuration. For example, it might have a
 file, which lists tapes that are currently active. These files are described in more detail in the following sections.
 .PP
 All files are stored in individual configuration directories under
 \fI/usr/local/etc/amanda/\fR. A site will often have more than one configuration. For example, it might have a
-\fBnormal\fR
+\fInormal\fR
 configuration for everyday backups and an
 configuration for everyday backups and an
-\fBarchive\fR
+\fIarchive\fR
 configuration for infrequent full archival backups. The configuration files would be stored under directories
 \fI/usr/local/etc/amanda/normal/\fR
 and
 \fI/usr/local/etc/amanda/archive/\fR, respectively. Part of the job of an
 configuration for infrequent full archival backups. The configuration files would be stored under directories
 \fI/usr/local/etc/amanda/normal/\fR
 and
 \fI/usr/local/etc/amanda/archive/\fR, respectively. Part of the job of an
-\fBAmanda\fR
+\fIAmanda\fR
 administrator is to create, populate and maintain these directories.
 .PP
 All log and database files generated by
 administrator is to create, populate and maintain these directories.
 .PP
 All log and database files generated by
-\fBAmanda\fR
+\fIAmanda\fR
 go in corresponding directories somewhere. The exact location is controlled by entries in
 \fBamanda.conf\fR. A typical location would be under
 \fI/var/adm/amanda\fR. For the above example, the files might go in
 go in corresponding directories somewhere. The exact location is controlled by entries in
 \fBamanda.conf\fR. A typical location would be under
 \fI/var/adm/amanda\fR. For the above example, the files might go in
@@ -295,15 +333,15 @@ and
 \fI/var/adm/amanda/archive/\fR.
 .PP
 As log files are no longer needed (no longer contain relevant information),
 \fI/var/adm/amanda/archive/\fR.
 .PP
 As log files are no longer needed (no longer contain relevant information),
-\fBAmanda\fR
+\fIAmanda\fR
 cycles them out in various ways, depending on the type of file.
 .PP
 Detailed information about
 \fBamdump\fR
 runs are stored in files named
 cycles them out in various ways, depending on the type of file.
 .PP
 Detailed information about
 \fBamdump\fR
 runs are stored in files named
-\fBamdump.\fR\fBNN\fR
+\fBamdump.\fR\fINN\fR
 where
 where
-\fBNN\fR
+\fINN\fR
 is a sequence number, with 1 being the most recent file.
 \fBAmdump\fR
 rotates these files each run, keeping roughly the last
 is a sequence number, with 1 being the most recent file.
 \fBAmdump\fR
 rotates these files each run, keeping roughly the last
@@ -313,20 +351,20 @@ rotates these files each run, keeping roughly the last
 The file used by
 \fBamreport\fR
 to generate the mail summary is named
 The file used by
 \fBamreport\fR
 to generate the mail summary is named
-\fBlog.\fR\fBYYYYMMDD.NN\fR
+\fBlog.\fR\fIYYYYMMDD.NN\fR
 where
 where
-\fBYYYYMMDD\fR
+\fIYYYYMMDD\fR
 is the datestamp of the start of the
 \fBamdump\fR
 run and
 is the datestamp of the start of the
 \fBamdump\fR
 run and
-\fBNN\fR
+\fINN\fR
 is a sequence number started at 0. At the end of each
 \fBamdump\fR
 run, log files for runs whose tapes have been reused are renamed into a subdirectory of the main log directory (see the
 \fBlogdir\fR
 parameter below) named
 \fBoldlog\fR. It is up to the
 is a sequence number started at 0. At the end of each
 \fBamdump\fR
 run, log files for runs whose tapes have been reused are renamed into a subdirectory of the main log directory (see the
 \fBlogdir\fR
 parameter below) named
 \fBoldlog\fR. It is up to the
-\fBAmanda\fR
+\fIAmanda\fR
 administrator to remove them from this directory when desired.
 .PP
 Index (backup image catalogue) files older than the full dump matching the oldest backup image for a given client and disk are removed by
 administrator to remove them from this directory when desired.
 .PP
 Index (backup image catalogue) files older than the full dump matching the oldest backup image for a given client and disk are removed by
@@ -335,30 +373,35 @@ at the end of each run.
 .SH "DISKLIST FILE"
 .PP
 The
 .SH "DISKLIST FILE"
 .PP
 The
-\fBdisklist\fR
+\fIdisklist\fR
 file determines which disks will be backed up by
 file determines which disks will be backed up by
-\fBAmanda\fR. The file usually contains one line per disk:
+\fIAmanda\fR. The file usually contains one line per disk:
+.sp
+.RS 4
 .nf
 .nf
-
-\fBhostname diskname\fR [\fBdiskdevice\fR] \fBdumptype\fR [\fBspindle\fR [\fBinterface\fR] ]
+\fIhostname diskname\fR [\fIdiskdevice\fR] \fIdumptype\fR [\fIspindle\fR [\fIinterface\fR] ]
 .fi
 .fi
+.RE
 .PP
 All pairs [
 .PP
 All pairs [
-\fBhostname diskname\fR
+\fIhostname diskname\fR
 ] must be unique.
 .PP
 Lines starting with # are ignored, as are blank lines. The fields have the following meanings:
 ] must be unique.
 .PP
 Lines starting with # are ignored, as are blank lines. The fields have the following meanings:
-.TP
-\fBhostname\fR
+.PP
+\fIhostname\fR
+.RS 4
 The name of the host to be backed up. If
 \fBdiskdevice\fR
 refers to a PC share, this is the host
 The name of the host to be backed up. If
 \fBdiskdevice\fR
 refers to a PC share, this is the host
-\fBAmanda\fR
+\fIAmanda\fR
 will run the Samba
 \fBsmbclient\fR
 program on to back up the share.
 will run the Samba
 \fBsmbclient\fR
 program on to back up the share.
-.TP
-\fBdiskname\fR
+.RE
+.PP
+\fIdiskname\fR
+.RS 4
 The name of the disk (a label). In most case, you set your
 \fBdiskname\fR
 to the
 The name of the disk (a label). In most case, you set your
 \fBdiskname\fR
 to the
@@ -371,18 +414,20 @@ If you want multiple entries with the same
 for each entry. It's the
 \fBdiskname\fR
 that you use on the commandline for any
 for each entry. It's the
 \fBdiskname\fR
 that you use on the commandline for any
-\fBAmanda\fR
+\fIAmanda\fR
 command. Look at the example/disklist file for example.
 command. Look at the example/disklist file for example.
-.TP
-\fBdiskdevice\fR
+.RE
+.PP
+\fIdiskdevice\fR
+.RS 4
 Default: same as diskname. The name of the disk device to be backed up. It may be a full device name, a device name without the
 \fI/dev/\fR
 prefix, e.g.
 Default: same as diskname. The name of the disk device to be backed up. It may be a full device name, a device name without the
 \fI/dev/\fR
 prefix, e.g.
-\fBsd0a\fR, or a mount point such as
+\fIsd0a\fR, or a mount point such as
 \fI/usr\fR.
 .sp
 It may also refer to a PC share by starting the name with two (forward) slashes, e.g.
 \fI/usr\fR.
 .sp
 It may also refer to a PC share by starting the name with two (forward) slashes, e.g.
-\fI//some-pc/home\fR. In this case, the
+\fI//some\-pc/home\fR. In this case, the
 \fBprogram\fR
 option in the associated
 \fBdumptype\fR
 \fBprogram\fR
 option in the associated
 \fBdumptype\fR
@@ -392,35 +437,42 @@ must be entered as
 in the
 \fBdumptype\fR
 that triggers the use of Samba.
 in the
 \fBdumptype\fR
 that triggers the use of Samba.
-.TP
-\fBdumptype\fR
+.RE
+.PP
+\fIdumptype\fR
+.RS 4
 Refers to a
 \fBdumptype\fR
 defined in the
 \fBamanda.conf\fR
 file.
 Refers to a
 \fBdumptype\fR
 defined in the
 \fBamanda.conf\fR
 file.
-\fBDumptype\fRs specify backup related parameters, such as whether to compress the backups, whether to record backup results in
+\fIDumptype\fRs specify backup related parameters, such as whether to compress the backups, whether to record backup results in
 \fI/etc/dumpdates\fR, the disk's relative priority, etc.
 \fI/etc/dumpdates\fR, the disk's relative priority, etc.
-.TP
-\fBspindle\fR
+.RE
+.PP
+\fIspindle\fR
+.RS 4
 Default:
 Default:
-\fB-1\fR. A number used to balance backup load on a host.
-\fBAmanda\fR
-will not run multiple backups at the same time on the same spindle, unless the spindle number is -1, which means there is no spindle restriction.
-.TP
-\fBinterface\fR
+\fB\-1\fR. A number used to balance backup load on a host.
+\fIAmanda\fR
+will not run multiple backups at the same time on the same spindle, unless the spindle number is \-1, which means there is no spindle restriction.
+.RE
+.PP
+\fIinterface\fR
+.RS 4
 Default:
 Default:
-\fBlocal\fR. The name of a network interface definition in the
+\fIlocal\fR. The name of a network interface definition in the
 \fBamanda.conf\fR
 file, used to balance network load.
 \fBamanda.conf\fR
 file, used to balance network load.
+.RE
 .PP
 Instead of naming a
 .PP
 Instead of naming a
-\fBdumptype\fR, it is possible to define one in-line, enclosing
+\fBdumptype\fR, it is possible to define one in\-line, enclosing
 \fBdumptype\fR
 options within curly braces, one per line, just like a
 \fBdumptype\fR
 definition in
 \fBdumptype\fR
 options within curly braces, one per line, just like a
 \fBdumptype\fR
 definition in
-\fBamanda.conf\fR. Since pre-existing
+\fBamanda.conf\fR. Since pre\-existing
 \fBdumptype\fRs are valid option names, this syntax may be used to customize
 \fBdumptype\fRs for particular disks.
 .PP
 \fBdumptype\fRs are valid option names, this syntax may be used to customize
 \fBdumptype\fRs for particular disks.
 .PP
@@ -431,40 +483,41 @@ follow the left curly bracket.
 For instance, if a
 \fBdumptype\fR
 named
 For instance, if a
 \fBdumptype\fR
 named
-\fBnormal\fR
+\fInormal\fR
 is used for most disks, but use of the holding disk needs to be disabled for the file system that holds it, this would work instead of defining a new dumptype:
 is used for most disks, but use of the holding disk needs to be disabled for the file system that holds it, this would work instead of defining a new dumptype:
+.sp
+.RS 4
 .nf
 .nf
-
-\fBhostname diskname\fR [ \fBdiskdevice\fR ] {
+\fIhostname diskname\fR [ \fIdiskdevice\fR ] {
   normal
   holdingdisk never
   normal
   holdingdisk never
-} [ \fBspindle\fR [ \fBinterface\fR ] ]
+} [ \fIspindle\fR [ \fIinterface\fR ] ]
 .fi
 .fi
+.RE
 .SH "TAPE MANAGEMENT"
 .PP
 The
 .SH "TAPE MANAGEMENT"
 .PP
 The
-\fBtapelist\fR
+\fItapelist\fR
 file contains the list of tapes in active use. This file is maintained entirely by
 file contains the list of tapes in active use. This file is maintained entirely by
-\fBAmanda\fR
+\fIAmanda\fR
 and should not be created or edited during normal operation. It contains lines of the form:
 .PP
 and should not be created or edited during normal operation. It contains lines of the form:
 .PP
-
-.sp
+.RS 4
 .nf
 YYYYMMDD label flags
 .fi
 .nf
 YYYYMMDD label flags
 .fi
-
+.RE
 .PP
 Where
 .PP
 Where
-\fBYYYYMMDD\fR
+\fIYYYYMMDD\fR
 is the date the tape was written,
 is the date the tape was written,
-\fBlabel\fR
+\fIlabel\fR
 is a label for the tape as written by
 \fBamlabel\fR
 and
 is a label for the tape as written by
 \fBamlabel\fR
 and
-\fBflags\fR
+\fIflags\fR
 tell
 tell
-\fBAmanda\fR
+\fIAmanda\fR
 whether the tape may be reused, etc (see the
 \fBreuse\fR
 options of
 whether the tape may be reused, etc (see the
 \fBreuse\fR
 options of
@@ -482,60 +535,65 @@ option) to prevent overwriting a backup image that would be needed to do a full
 .PP
 The normal value for the
 \fBtapedev\fR
 .PP
 The normal value for the
 \fBtapedev\fR
-parameter, or for what a tape changer returns, is a full path name to a non-rewinding tape device, such as
+parameter, or for what a tape changer returns, is a full path name to a non\-rewinding tape device, such as
 \fI/dev/nst0\fR
 or
 \fI/dev/rmt/0mn\fR
 or
 \fI/dev/nst0.1\fR
 or whatever conventions the operating system uses.
 \fI/dev/nst0\fR
 or
 \fI/dev/rmt/0mn\fR
 or
 \fI/dev/nst0.1\fR
 or whatever conventions the operating system uses.
-\fBAmanda\fR
-provides additional application level drivers that support non-traditional tape-simulations or features. To access a specific output driver, set
+\fIAmanda\fR
+provides additional application level drivers that support non\-traditional tape\-simulations or features. To access a specific output driver, set
 \fBtapedev\fR
 (or configure your changer to return) a string of the form
 \fBtapedev\fR
 (or configure your changer to return) a string of the form
-\fBdriver\fR:\fBdriver-info\fR
+\fIdriver\fR:\fIdriver\-info\fR
 where
 where
-\fBdriver\fR
+\fIdriver\fR
 is one of the supported drivers and
 is one of the supported drivers and
-\fBdriver-info\fR
+\fIdriver\-info\fR
 is optional additional information needed by the driver.
 .PP
 The supported drivers are:
 is optional additional information needed by the driver.
 .PP
 The supported drivers are:
-.TP
-\fBtape\fR
+.PP
+\fItape\fR
+.RS 4
 This is the default driver. The
 This is the default driver. The
-\fBdriver-info\fR
+\fIdriver\-info\fR
 is the tape device name. Entering
 is the tape device name. Entering
-
 .sp
 .sp
+.RS 4
 .nf
 tapedev /dev/rmt/0mn
 .fi
 .nf
 tapedev /dev/rmt/0mn
 .fi
+.RE
+.sp
 is really a short hand for
 is really a short hand for
-
 .sp
 .sp
+.RS 4
 .nf
 tapedev tape:/dev/rmt/0mn
 .fi
 .nf
 tapedev tape:/dev/rmt/0mn
 .fi
-.
-.TP
-\fBnull\fR
+.RE
+.RE
+.PP
+\fInull\fR
+.RS 4
 This driver throws away anything written to it and returns EOF for any reads except a special case is made for reading a label, in which case a "fake" value is returned that
 This driver throws away anything written to it and returns EOF for any reads except a special case is made for reading a label, in which case a "fake" value is returned that
-\fBAmanda\fR
+\fIAmanda\fR
 checks for and allows through regardless of what you have set in
 \fBlabelstr\fR. The
 checks for and allows through regardless of what you have set in
 \fBlabelstr\fR. The
-\fBdriver-info\fR
+\fIdriver\-info\fR
 field is not used and may be left blank:
 .sp
 field is not used and may be left blank:
 .sp
-
 .sp
 .sp
+.RS 4
 .nf
 tapedev null:
 .fi
 .nf
 tapedev null:
 .fi
-
+.RE
 .sp
 The
 .sp
 The
-\fBlength\fR
+\fIlength\fR
 value from the associated
 \fBtapetype\fR
 is used to limit the amount of data written. When the limit is reached, the driver will simulate end of tape.
 value from the associated
 \fBtapetype\fR
 is used to limit the amount of data written. When the limit is reached, the driver will simulate end of tape.
@@ -545,59 +603,65 @@ is used to limit the amount of data written. When the limit is reached, the driv
 .nr an-break-flag 1
 .br
 \fBNote\fR
 .nr an-break-flag 1
 .br
 \fBNote\fR
-This driver should only be used for debugging and testing,
-and probably only with the
+This driver should only be used for debugging and testing, and probably only with the
 \fBrecord\fR
 option set to
 \fBrecord\fR
 option set to
-\fBno\fR..TP
-\fBrait\fR
-\fBR\fRedundant
-\fBA\fRrray of
-\fBI\fRnexpensive (?)
-\fBT\fRapes. Reads and writes tapes mounted on multiple drives by spreading the data across N-1 drives and using the last drive for a checksum. See docs/RAIT for more information.
+\fIno\fR.
+.RE
+.PP
+\fIrait\fR
+.RS 4
+\fIR\fRedundant
+\fIA\fRrray of
+\fII\fRnexpensive (?)
+\fIT\fRapes. Reads and writes tapes mounted on multiple drives by spreading the data across N\-1 drives and using the last drive for a checksum. See docs/RAIT for more information.
 .sp
 The
 .sp
 The
-\fBdriver-info\fR
+\fIdriver\-info\fR
 field describes the devices to use. Curly braces indicate multiple replacements in the string. For instance:
 .sp
 field describes the devices to use. Curly braces indicate multiple replacements in the string. For instance:
 .sp
-
 .sp
 .sp
+.RS 4
 .nf
 tapedev rait:/dev/rmt/tps0d{4,5,6}n
 .fi
 .nf
 tapedev rait:/dev/rmt/tps0d{4,5,6}n
 .fi
-
+.RE
 .sp
 would use the following devices:
 .sp
 .sp
 would use the following devices:
 .sp
-\fI/dev/rmt/tps0d4n\fR\fI/dev/rmt/tps0d5n\fR\fI/dev/rmt/tps0d6n\fR
-.TP
-\fBfile\fR
+\fI/dev/rmt/tps0d4n\fR
+\fI/dev/rmt/tps0d5n\fR
+\fI/dev/rmt/tps0d6n\fR
+.RE
+.PP
+\fIfile\fR
+.RS 4
 This driver emulates a tape device with a set of files in a directory. The
 This driver emulates a tape device with a set of files in a directory. The
-\fBdriver-info\fR
+\fIdriver\-info\fR
 field must be the name of an existing directory. The driver will test for a subdirectory of that named
 field must be the name of an existing directory. The driver will test for a subdirectory of that named
-\fBdata\fR
+\fIdata\fR
 and return
 \fBoffline\fR
 until it is present. When present, the driver uses two files in the
 and return
 \fBoffline\fR
 until it is present. When present, the driver uses two files in the
-\fBdata\fR
+\fIdata\fR
 subdirectory for each tape file. One contains the actual data. The other contains record length information.
 .sp
 The driver uses a file named
 subdirectory for each tape file. One contains the actual data. The other contains record length information.
 .sp
 The driver uses a file named
-\fBstatus\fR
+\fIstatus\fR
 in the
 \fBfile\fR
 device directory to hold driver status information, such as tape position. If not present, the driver will create it as though the device is rewound.
 .sp
 The
 in the
 \fBfile\fR
 device directory to hold driver status information, such as tape position. If not present, the driver will create it as though the device is rewound.
 .sp
 The
-\fBlength\fR
+\fIlength\fR
 value from the associated
 \fBtapetype\fR
 is used to limit the amount of data written. When the limit is reached, the driver will simulate end of tape.
 .sp
 value from the associated
 \fBtapetype\fR
 is used to limit the amount of data written. When the limit is reached, the driver will simulate end of tape.
 .sp
-One way to use this driver with a real device such as a CD-writer is to create a directory for the
+One way to use this driver with a real device such as a CD\-writer is to create a directory for the
 \fBfile\fR
 device and one or more other directories for the actual data. Create a symlink named
 \fBfile\fR
 device and one or more other directories for the actual data. Create a symlink named
-\fBdata\fR
+\fIdata\fR
 in the
 \fBfile\fR
 directory to one of the data directories. Set the
 in the
 \fBfile\fR
 directory to one of the data directories. Set the
@@ -605,24 +669,25 @@ directory to one of the data directories. Set the
 length to whatever the medium will hold.
 .sp
 When
 length to whatever the medium will hold.
 .sp
 When
-\fBAmanda\fR
+\fIAmanda\fR
 fills the
 \fBfile\fR
 device, remove the symlink and (optionally) create a new symlink to another data area. Use a CD writer software package to burn the image from the first data area.
 .sp
 To read the CD, mount it and create the
 fills the
 \fBfile\fR
 device, remove the symlink and (optionally) create a new symlink to another data area. Use a CD writer software package to burn the image from the first data area.
 .sp
 To read the CD, mount it and create the
-\fBdata\fR
+\fIdata\fR
 symlink in the
 \fBfile\fR
 device directory.
 symlink in the
 \fBfile\fR
 device directory.
+.RE
 .SH "AUTHORIZATION"
 .PP
 .SH "AUTHORIZATION"
 .PP
-\fBAmanda\fR
+\fIAmanda\fR
 processes on the tape server host run as the
 \fBdumpuser\fR
 user listed in
 \fBamanda.conf\fR. When they connect to a backup client, they do so with an
 processes on the tape server host run as the
 \fBdumpuser\fR
 user listed in
 \fBamanda.conf\fR. When they connect to a backup client, they do so with an
-\fBAmanda\fR-specific protocol. They do not, for instance, use
+\fIAmanda\fR\-specific protocol. They do not, for instance, use
 \fBrsh\fR
 or
 \fBssh\fR
 \fBrsh\fR
 or
 \fBssh\fR
@@ -631,35 +696,38 @@ directly.
 On the client side, the
 \fBamandad\fR
 daemon validates the connection using one of several methods, depending on how it was compiled and on options it is passed:
 On the client side, the
 \fBamandad\fR
 daemon validates the connection using one of several methods, depending on how it was compiled and on options it is passed:
-.TP
-.rhosts
+.PP
+\&.rhosts
+.RS 4
 Even though
 Even though
-\fBAmanda\fR
+\fIAmanda\fR
 does not use
 \fBrsh\fR, it can use
 does not use
 \fBrsh\fR, it can use
-.rhosts-style authentication and a
-.rhosts
+\fB.rhosts\fR\-style authentication and a
+\fB.rhosts\fR
 file.
 file.
-.TP
-.amandahosts
+.RE
+.PP
+\&.amandahosts
+.RS 4
 This is essentially the same as
 This is essentially the same as
-.rhosts
+\fB.rhosts\fR
 authentication except a different file, with almost the same format, is used. This is the default mechanism built into
 authentication except a different file, with almost the same format, is used. This is the default mechanism built into
-\fBAmanda\fR.
+\fIAmanda\fR.
 .sp
 The format of the
 \fI.amandahosts\fR
 file is:
 .sp
 .sp
 The format of the
 \fI.amandahosts\fR
 file is:
 .sp
-\fBhostname\fR
+\fIhostname\fR
 [
 [
-\fBusername\fR
+\fIusername\fR
 [
 [
-\fBservice\fR
+\fIservice\fR
 ]*]
 .sp
 If
 ]*]
 .sp
 If
-\fBusername\fR
+\fIusername\fR
 is ommitted, it defaults to the user running
 \fBamandad\fR, i.e. the user listed in the
 \fBinetd\fR
 is ommitted, it defaults to the user running
 \fBamandad\fR, i.e. the user listed in the
 \fBinetd\fR
@@ -668,7 +736,7 @@ or
 configuration file.
 .sp
 The
 configuration file.
 .sp
 The
-\fBservice\fR
+\fIservice\fR
 is a list of the service the client is authorized to execute:
 \fBamdump\fR,
 \fBnoop\fR,
 is a list of the service the client is authorized to execute:
 \fBamdump\fR,
 \fBnoop\fR,
@@ -679,97 +747,313 @@ is a list of the service the client is authorized to execute:
 \fBamidxtaped\fR.
 \fBamdump\fR
 is a shortcut for "noop selfcheck sendsize sendbackup"
 \fBamidxtaped\fR.
 \fBamdump\fR
 is a shortcut for "noop selfcheck sendsize sendbackup"
-.TP
+.RE
+.PP
 Kerberos
 Kerberos
-\fBAmanda\fR
+.RS 4
+\fIAmanda\fR
 may use the Kerberos authentication system. Further information is in the
 may use the Kerberos authentication system. Further information is in the
-\fBdocs/KERBEROS\fRfile that comes with an
-\fBAmanda\fR
+\fBdocs/KERBEROS\fR
+file that comes with an
+\fIAmanda\fR
 distribution.
 .sp
 For Samba access,
 distribution.
 .sp
 For Samba access,
-\fBAmanda\fR
+\fIAmanda\fR
 needs a file on the Samba server (which may or may not also be the tape server) named
 \fI/etc/amandapass\fR
 with share names, (clear text) passwords and (optional) domain names, in that order, one per line, whitespace separated. By default, the user used to connect to the PC is the same for all PC's and is compiled into
 needs a file on the Samba server (which may or may not also be the tape server) named
 \fI/etc/amandapass\fR
 with share names, (clear text) passwords and (optional) domain names, in that order, one per line, whitespace separated. By default, the user used to connect to the PC is the same for all PC's and is compiled into
-\fBAmanda\fR. It may be changed on a host by host basis by listing it first in the password field followed by a percent sign and then the password. For instance:
+\fIAmanda\fR. It may be changed on a host by host basis by listing it first in the password field followed by a percent sign and then the password. For instance:
+.sp
+.RS 4
 .nf
 .nf
-
-  //some-pc/home normalpw
-  //another-pc/disk otheruser%otherpw
+  //some\-pc/home normalpw
+  //another\-pc/disk otheruser%otherpw
 .fi
 .fi
-
-
-With clear text passwords, this file should obviously be tightly protected.
-It only needs to be readable by the \fBAmanda\fR-user on the Samba server.
-
+.RE
+With clear text passwords, this file should obviously be tightly protected. It only needs to be readable by the
+\fIAmanda\fR\-user on the Samba server.
+.sp
 You can find further information in the
 You can find further information in the
-\fBdocs/SAMBA\fRfile that comes with an
-\fBAmanda\fR
+\fBdocs/SAMBA\fR
+file that comes with an
+\fIAmanda\fR
 distribution.
 distribution.
+.RE
 .SH "HOST & DISK EXPRESSION"
 .PP
 All host and disk arguments to programs are special expressions. The command applies to all disks that match your arguments. This section describes the matcher.
 .PP
 The matcher matches by word, each word is a glob expression, words are separated by the separator '.' for host and '/' for disk. You can anchor the expression at left with a '^'. You can anchor the expression at right with a '$'. The matcher is case insensitive for host but is case sensitive for disk. A match succeeds if all words in your expression match contiguous words in the host or disk.
 .SH "HOST & DISK EXPRESSION"
 .PP
 All host and disk arguments to programs are special expressions. The command applies to all disks that match your arguments. This section describes the matcher.
 .PP
 The matcher matches by word, each word is a glob expression, words are separated by the separator '.' for host and '/' for disk. You can anchor the expression at left with a '^'. You can anchor the expression at right with a '$'. The matcher is case insensitive for host but is case sensitive for disk. A match succeeds if all words in your expression match contiguous words in the host or disk.
+.TS
+tab(:);
+l l
+l l
+l l
+l l
+l l
+l l
+l l.
+T{
+\&.
+T}:T{
+word separator for a host
+T}
+T{
+/
+T}:T{
+word separator for a disk
+T}
+T{
+^
+T}:T{
+anchor at left
+T}
+T{
+$
+T}:T{
+anchor at right
+T}
+T{
+?
+T}:T{
+match exactly one character except the separator
+T}
+T{
+*
+T}:T{
+match zero or more characters except the separator
+T}
+T{
+**
+T}:T{
+match zero or more characters including the separator
+T}
+.TE
 .sp
 .sp
-.nf
-
-.      word separator for a host
-/      word separator for a disk
-^      anchor at left
-$      anchor at right
-?      match exactly one character except the separator
-*      match zero or more characters except the separator
-**     match zero or more characters including the separator
-
-.fi
 .PP
 Some examples:
 .PP
 Some examples:
+.TS
+tab(:);
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l
+l l l.
+T{
+EXPRESSION
+T}:T{
+WILL MATCH
+T}:T{
+WILL NOT MATCH
+T}
+T{
+\ 
+T}:T{
+ho.aina.org
+T}:T{
+\ 
+T}
+T{
+^hosta
+T}:T{
+hosta
+T}:T{
+foo.hosta.org
+T}
+T{
+sda*
+T}:T{
+/dev/sda1
+T}:T{
+\ 
+T}
+T{
+\ 
+T}:T{
+/dev/sda12
+T}:T{
+\ 
+T}
+T{
+/opt
+T}:T{
+opt (disk)
+T}:T{
+opt (host)
+T}
+T{
+\&.opt.
+T}:T{
+opt (host)
+T}:T{
+opt (disk)
+T}
+T{
+/
+T}:T{
+/
+T}:T{
+any other disk
+T}
+T{
+/usr
+T}:T{
+/usr
+T}:T{
+\ 
+T}
+T{
+\ 
+T}:T{
+/usr/opt
+T}:T{
+\ 
+T}
+T{
+/usr$
+T}:T{
+/usr
+T}:T{
+/usr/opt
+T}
+T{
+hosta
+T}:T{
+hosta
+T}:T{
+hostb
+T}
+T{
+\ 
+T}:T{
+hoSTA.dOMAIna.ORG
+T}:T{
+\ 
+T}
+T{
+\ 
+T}:T{
+foo.hosta.org
+T}:T{
+\ 
+T}
+T{
+host
+T}:T{
+host
+T}:T{
+hosta
+T}
+T{
+host?
+T}:T{
+hosta
+T}:T{
+host
+T}
+T{
+\ 
+T}:T{
+hostb
+T}:T{
+\ 
+T}
+T{
+ho*na
+T}:T{
+hoina
+T}:T{
+ho.aina.org
+T}
+T{
+ho**na
+T}:T{
+hoina
+T}:T{
+\ 
+T}
+.TE
 .sp
 .sp
-.nf
-
-EXPRESSION     WILL MATCH           WILL NOT MATCH
-hosta          hosta                hostb
-               hoSTA.dOMAIna.ORG 
-               foo.hosta.org 
-host           host                 hosta
-host?          hosta                host
-               hostb 
-ho*na          hoina                ho.aina.org
-ho**na         hoina 
-               ho.aina.org 
-^hosta         hosta                foo.hosta.org
-sda*           /dev/sda1 
-               /dev/sda12 
-/opt/          opt (disk)           opt (host)
-.opt.          opt (host)           opt (disk)
-/              /                    any other disk
-/usr           /usr 
-               /usr/opt 
-/usr$          /usr                 /usr/opt
-
-.fi
 .SH "DATESTAMP EXPRESSION"
 .PP
 A
 .SH "DATESTAMP EXPRESSION"
 .PP
 A
-\fBdatestamp\fR
+\fIdatestamp\fR
 expression is a range expression where we only match the prefix. Leading ^ is removed. Trailing $ forces an exact match.
 expression is a range expression where we only match the prefix. Leading ^ is removed. Trailing $ forces an exact match.
-20001212-14match all dates beginning with 20001212, 20001213 or 2000121420001212-4same as previous20001212-24match all dates between 20001212 and 200012242000121match all dates that start with 2000121 (20001210-20001219)2match all dates that start with 2 (20000101-29991231)2000-10match all dates between 20000101-20101231200010$match only 200010.PP
-
+.TS
+allbox tab(:);
+l l
+l l
+l l
+l l
+l l
+l l
+l l.
+T{
+20001212\-14
+T}:T{
+match all dates beginning with 20001212, 20001213 or 20001214
+T}
+T{
+20001212\-4
+T}:T{
+same as previous
+T}
+T{
+20001212\-24
+T}:T{
+match all dates between 20001212 and 20001224
+T}
+T{
+2000121
+T}:T{
+match all dates that start with 2000121 (20001210\-20001219)
+T}
+T{
+2
+T}:T{
+match all dates that start with 2 (20000101\-29991231)
+T}
+T{
+2000\-10
+T}:T{
+match all dates between 20000101\-20101231
+T}
+T{
+200010$
+T}:T{
+match only 200010
+T}
+.TE
+.sp
+.PP
 .SH "CONFIGURATION OVERWRITE"
 .PP
 .SH "CONFIGURATION OVERWRITE"
 .PP
-Most command allow to overwrite any configuration parameter on the command line with the -o option.
+Most command allow to overwrite any configuration parameter on the command line with the \-o option.
 .PP
 .PP
--o NAME=value
+\-o NAME=value
 .PP
 .PP
-eg. -o runtapes=2
+eg. \-o runtapes=2
 .PP
 .PP
-eg. -o DUMPTYPE:no-compress:compress="server fast"
+eg. \-o DUMPTYPE:no\-compress:compress="server fast"
 .PP
 .PP
-eg. -o TAPETYPE:HP-DAT:length=2000m
+eg. \-o TAPETYPE:HP\-DAT:length=2000m
 .PP
 .PP
-eg. -o INTERFACE:local:use="2000 kbps"
+eg. \-o INTERFACE:local:use="2000 kbps"
 .SH "AUTHOR"
 .PP
 James da Silva,
 .SH "AUTHOR"
 .PP
 James da Silva,
@@ -778,18 +1062,20 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion, major update
+\fIAmanda\fR\-documentation: XML\-conversion, major update
 .SH "SEE ALSO"
 .PP
 .SH "SEE ALSO"
 .PP
+
 \fBamadmin\fR(8),
 \fBamanda.conf\fR(5),
 \fBamadmin\fR(8),
 \fBamanda.conf\fR(5),
-\fBamanda-client.conf\fR(5),
+\fBamanda\-client.conf\fR(5),
 \fBamcheck\fR(8),
 \fBamcheckdb\fR(8),
 \fBamcleanup\fR(8),
 \fBamdd\fR(8),
 \fBamdump\fR(8),
 \fBamcheck\fR(8),
 \fBamcheckdb\fR(8),
 \fBamcleanup\fR(8),
 \fBamdd\fR(8),
 \fBamdump\fR(8),
-\fBamfetchdump\fR(8)\fBamflush\fR(8),
+\fBamfetchdump\fR(8)
+\fBamflush\fR(8),
 \fBamgetconf\fR(8),
 \fBamlabel\fR(8),
 \fBammt\fR(8),
 \fBamgetconf\fR(8),
 \fBamlabel\fR(8),
 \fBammt\fR(8),
@@ -805,4 +1091,3 @@ Stefan G. Weichinger,
 \fBamtoc\fR(8),
 \fBamverify\fR(8),
 \fBamverifyrun\fR(8)
 \fBamtoc\fR(8),
 \fBamverify\fR(8),
 \fBamverifyrun\fR(8)
-
index a545f9f7e74d192cead24387bc8d02c95f63d5a2..b9f6aaae7b663c16c21d8b81144ff3af659eb778 100644 (file)
@@ -1,30 +1,22 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMANDA.CONF" 5 "" "" ""
+.\"     Title: amanda.conf
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMANDA.CONF" "5" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amanda.conf - Main configuration file for Amanda, the Advanced Maryland Automatic Network Disk Archiver
+amanda.conf \- Main configuration file for Amanda, the Advanced Maryland Automatic Network Disk Archiver
 .SH "DESCRIPTION"
 .PP
 \fIamanda.conf\fR
 is the main configuration file for
 .SH "DESCRIPTION"
 .PP
 \fIamanda.conf\fR
 is the main configuration file for
-\fBAmanda\fR. This manpage lists the relevant sections and parameters of this file for quick reference.
+\fIAmanda\fR. This manpage lists the relevant sections and parameters of this file for quick reference.
 .PP
 The file
 \fB<CONFIG_DIR>/<config>/amanda.conf\fR
 .PP
 The file
 \fB<CONFIG_DIR>/<config>/amanda.conf\fR
@@ -32,7 +24,7 @@ is loaded.
 .SH "PARAMETERS"
 .PP
 There are a number of configuration parameters that control the behavior of the
 .SH "PARAMETERS"
 .PP
 There are a number of configuration parameters that control the behavior of the
-\fBAmanda\fR
+\fIAmanda\fR
 programs. All have default values, so you need not specify the parameter in
 \fBamanda.conf\fR
 if the default is suitable.
 programs. All have default values, so you need not specify the parameter in
 \fBamanda.conf\fR
 if the default is suitable.
@@ -47,35 +39,54 @@ are treated the same.
 .PP
 Integer arguments may have one of the following (case insensitive) suffixes, some of which have a multiplier effect:
 .SS "POSSIBLE SUFFIXES"
 .PP
 Integer arguments may have one of the following (case insensitive) suffixes, some of which have a multiplier effect:
 .SS "POSSIBLE SUFFIXES"
-.TP
+.PP
 \fBb byte bytes\fR
 \fBb byte bytes\fR
+.RS 4
 Some number of bytes.
 Some number of bytes.
-.TP
+.RE
+.PP
 \fBbps\fR
 \fBbps\fR
+.RS 4
 Some number of bytes per second.
 Some number of bytes per second.
-.TP
+.RE
+.PP
 \fBk kb kbyte kbytes kilobyte kilobytes\fR
 \fBk kb kbyte kbytes kilobyte kilobytes\fR
+.RS 4
 Some number of kilobytes (bytes*1024).
 Some number of kilobytes (bytes*1024).
-.TP
+.RE
+.PP
 \fBkps kbps\fR
 \fBkps kbps\fR
+.RS 4
 Some number of kilobytes per second (bytes*1024).
 Some number of kilobytes per second (bytes*1024).
-.TP
+.RE
+.PP
 \fBm mb meg mbyte mbytes megabyte megabytes\fR
 \fBm mb meg mbyte mbytes megabyte megabytes\fR
+.RS 4
 Some number of megabytes (bytes*1024*1024).
 Some number of megabytes (bytes*1024*1024).
-.TP
+.RE
+.PP
 \fBmps mbps\fR
 \fBmps mbps\fR
+.RS 4
 Some number of megabytes per second (bytes*1024*1024).
 Some number of megabytes per second (bytes*1024*1024).
-.TP
+.RE
+.PP
 \fBg gb gbyte gbytes gigabyte gigabytes\fR
 \fBg gb gbyte gbytes gigabyte gigabytes\fR
+.RS 4
 Some number of gigabytes (bytes*1024*1024*1024).
 Some number of gigabytes (bytes*1024*1024*1024).
-.TP
+.RE
+.PP
 \fBtape tapes\fR
 \fBtape tapes\fR
+.RS 4
 Some number of tapes.
 Some number of tapes.
-.TP
+.RE
+.PP
 \fBday days\fR
 \fBday days\fR
+.RS 4
 Some number of days.
 Some number of days.
-.TP
+.RE
+.PP
 \fBweek weeks\fR
 \fBweek weeks\fR
+.RS 4
 Some number of weeks (days*7).
 .sp
 .it 1 an-trap
 Some number of weeks (days*7).
 .sp
 .it 1 an-trap
@@ -85,9 +96,8 @@ Some number of weeks (days*7).
 \fBNote\fR
 The value
 \fBinf\fR
 \fBNote\fR
 The value
 \fBinf\fR
-may be used in most places where an integer is expected
-to mean an infinite amount.
-
+may be used in most places where an integer is expected to mean an infinite amount.
+.sp
 Boolean arguments may have any of the values
 \fBy\fR,
 \fByes\fR,
 Boolean arguments may have any of the values
 \fBy\fR,
 \fByes\fR,
@@ -105,21 +115,27 @@ or
 to indicate a false state. If no argument is given,
 \fBtrue\fR
 is assumed.
 to indicate a false state. If no argument is given,
 \fBtrue\fR
 is assumed.
+.RE
 .SS "PARAMETERS"
 .SS "PARAMETERS"
-.TP
-\fBorg\fR \fB string\fR
+.PP
+\fBorg\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBdaily\fR. A descriptive name for the configuration. This string appears in the Subject line of mail reports. Each
-\fBAmanda\fR
+\fIdaily\fR. A descriptive name for the configuration. This string appears in the Subject line of mail reports. Each
+\fIAmanda\fR
 configuration should have a different string to keep mail reports distinct.
 configuration should have a different string to keep mail reports distinct.
-.TP
-\fBmailto\fR \fB string\fR
+.RE
+.PP
+\fBmailto\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBoperators\fR. A space separated list of recipients for mail reports.
-.TP
-\fBdumpcycle\fR \fB int\fR
+\fIoperators\fR. A space separated list of recipients for mail reports.
+.RE
+.PP
+\fBdumpcycle\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB10 days\fR. The number of days in the backup cycle. Each disk will get a full backup at least this often. Setting this to zero tries to do a full backup each run.
+\fI10 days\fR. The number of days in the backup cycle. Each disk will get a full backup at least this often. Setting this to zero tries to do a full backup each run.
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
@@ -128,30 +144,32 @@ Default:
 \fBNote\fR
 This parameter may also be set in a specific
 \fBdumptype\fR
 \fBNote\fR
 This parameter may also be set in a specific
 \fBdumptype\fR
-(see below).
-This value sets the default for all
-\fBdumptype\fRs
-so must appear in
+(see below). This value sets the default for all
+\fBdumptype\fRs so must appear in
 \fBamanda.conf\fR
 before any
 \fBamanda.conf\fR
 before any
-\fBdumptype\fRs
-are defined..TP
-\fBrunspercycle\fR \fB int\fR
+\fBdumptype\fRs are defined.
+.RE
+.PP
+\fBrunspercycle\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fBsame as dumpcycle\fR. The number of amdump runs in
+\fIsame as dumpcycle\fR. The number of amdump runs in
 \fBdumpcycle\fR
 days. A value of 0 means the same value as
 \fBdumpcycle\fR
 days. A value of 0 means the same value as
-\fBdumpcycle\fR. A value of -1 means guess the number of runs from the
-\fBtapelist\fR
+\fBdumpcycle\fR. A value of \-1 means guess the number of runs from the
+\fItapelist\fR
 file, which is the number of tapes used in the last
 \fBdumpcycle\fR
 days /
 \fBruntapes\fR.
 file, which is the number of tapes used in the last
 \fBdumpcycle\fR
 days /
 \fBruntapes\fR.
-.TP
-\fBtapecycle\fR \fB int\fR
+.RE
+.PP
+\fBtapecycle\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB15 tapes\fR. Typically tapes are used by
-\fBAmanda\fR
+\fI15 tapes\fR. Typically tapes are used by
+\fIAmanda\fR
 in an ordered rotation. The
 \fBtapecycle\fR
 parameter defines the size of that rotation. The number of tapes in rotation must be larger than the number of tapes required for a complete dump cycle (see the
 in an ordered rotation. The
 \fBtapecycle\fR
 parameter defines the size of that rotation. The number of tapes in rotation must be larger than the number of tapes required for a complete dump cycle (see the
@@ -163,52 +181,64 @@ This is calculated by multiplying the number of
 runs per dump cycle (\fBrunspercycle\fR
 parameter) times the number of tapes used per run (\fBruntapes\fR
 parameter). Typically two to four times this calculated number of tapes are in rotation. While
 runs per dump cycle (\fBrunspercycle\fR
 parameter) times the number of tapes used per run (\fBruntapes\fR
 parameter). Typically two to four times this calculated number of tapes are in rotation. While
-\fBAmanda\fR
+\fIAmanda\fR
 is always willing to use a new tape in its rotation, it refuses to reuse a tape until at least '\fBtapecycle\fR
 is always willing to use a new tape in its rotation, it refuses to reuse a tape until at least '\fBtapecycle\fR
--1' number of other tapes have been used.
+\-1' number of other tapes have been used.
 .sp
 It is considered good administrative practice to set the
 \fBtapecycle\fR
 parameter slightly lower than the actual number of tapes in rotation. This allows the administrator to more easily cope with damaged or misplaced tapes or schedule adjustments that call for slight adjustments in the rotation order.
 .sp
 It is considered good administrative practice to set the
 \fBtapecycle\fR
 parameter slightly lower than the actual number of tapes in rotation. This allows the administrator to more easily cope with damaged or misplaced tapes or schedule adjustments that call for slight adjustments in the rotation order.
-.TP
-\fBusetimestamps\fR \fB bool\fR
+.RE
+.PP
+\fBusetimestamps\fR \fI bool\fR
+.RS 4
 Default:
 \fBNo\fR. By default, Amanda can only track at most one run per calendar day. When this option is enabled, however, Amanda can track as many runs as you care to make.
 .sp
 Default:
 \fBNo\fR. By default, Amanda can only track at most one run per calendar day. When this option is enabled, however, Amanda can track as many runs as you care to make.
 .sp
-\fBWARNING\fR: This option is not backward-compatible. Do not enable it if you intend to downgrade your server installation to Amanda community edition 2.5.0
-.TP
-\fBlabel_new_tapes\fR \fB string\fR
+
+\fBWARNING\fR: This option is not backward\-compatible. Do not enable it if you intend to downgrade your server installation to Amanda community edition 2.5.0
+.RE
+.PP
+\fBlabel_new_tapes\fR \fI string\fR
+.RS 4
 Default: not set. When set, this directive will cause
 Default: not set. When set, this directive will cause
-\fBAmanda\fR
+\fIAmanda\fR
 to automatically write an
 to automatically write an
-\fBAmanda\fR
+\fIAmanda\fR
 tape label to any blank tape she encounters. This option is DANGEROUS because when set,
 tape label to any blank tape she encounters. This option is DANGEROUS because when set,
-\fBAmanda\fR
-will ERASE any non-\fBAmanda\fR
-tapes you may have, and may also ERASE any near-failing tapes. Use with caution.
+\fIAmanda\fR
+will ERASE any non\-\fIAmanda\fR
+tapes you may have, and may also ERASE any near\-failing tapes. Use with caution.
 .sp
 When using this directive, specify the template for new tape labels. The template should contain some number of contiguous '%' characters, which will be replaced with a generated number. Be sure to specify enough '%' characters that you do not run out of tape labels. Example:
 .sp
 When using this directive, specify the template for new tape labels. The template should contain some number of contiguous '%' characters, which will be replaced with a generated number. Be sure to specify enough '%' characters that you do not run out of tape labels. Example:
-label_new_tapes "DailySet1-%%%"
-.TP
-\fBdumpuser\fR \fB string\fR
+\fBlabel_new_tapes "DailySet1\-%%%"\fR
+.RE
+.PP
+\fBdumpuser\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBamanda\fR. The login name
-\fBAmanda\fR
+\fIamanda\fR. The login name
+\fIAmanda\fR
 uses to run the backups. The backup client hosts must allow access from the tape server host as this user via
 uses to run the backups. The backup client hosts must allow access from the tape server host as this user via
-.rhosts
+\fB.rhosts\fR
 or
 or
-.amandahosts, depending on how the
-\fBAmanda\fR
+\fB.amandahosts\fR, depending on how the
+\fIAmanda\fR
 software was built.
 software was built.
-.TP
+.RE
+.PP
 \fBprinter\fR string
 \fBprinter\fR string
+.RS 4
 Printer to use when doing tape labels. See the
 Printer to use when doing tape labels. See the
-\fBlbl-templ\fR\fBtapetype\fR
+\fBlbl\-templ\fR
+\fBtapetype\fR
 option.
 option.
-.TP
+.RE
+.PP
 \fBtapedev\fR string
 \fBtapedev\fR string
+.RS 4
 Default:
 Default:
-\fInull:\fR. The path name of the non-rewinding tape device. Non-rewinding tape device names often have an 'n' in the name, e.g.
+\fInull:\fR. The path name of the non\-rewinding tape device. Non\-rewinding tape device names often have an 'n' in the name, e.g.
 \fI/dev/rmt/0mn\fR, however this is operating system specific and you should consult that documentation for detailed naming information.
 .sp
 If a tape changer is configured (see the
 \fI/dev/rmt/0mn\fR, however this is operating system specific and you should consult that documentation for detailed naming information.
 .sp
 If a tape changer is configured (see the
@@ -224,87 +254,117 @@ manpage for more information), programs such as
 will run normally but all images will be thrown away. This should only be used for debugging and testing, and probably only with the
 \fBrecord\fR
 option set to
 will run normally but all images will be thrown away. This should only be used for debugging and testing, and probably only with the
 \fBrecord\fR
 option set to
-\fBno\fR.
-.TP
+\fIno\fR.
+.RE
+.PP
 \fBrawtapedev\fR string
 \fBrawtapedev\fR string
+.RS 4
 Default:
 \fInull:\fR. The path name of the raw tape device. This is only used if
 Default:
 \fInull:\fR. The path name of the raw tape device. This is only used if
-\fBAmanda\fR
+\fIAmanda\fR
 is compiled for Linux machines with floppy tapes and is needed for QIC volume table operations.
 is compiled for Linux machines with floppy tapes and is needed for QIC volume table operations.
-.TP
+.RE
+.PP
 \fBtpchanger\fR string
 \fBtpchanger\fR string
+.RS 4
 Default:
 Default:
-\fBnone\fR. The name of the tape changer. If a tape changer is not configured, this option is not used and should be commented out of the configuration file.
+\fInone\fR. The name of the tape changer. If a tape changer is not configured, this option is not used and should be commented out of the configuration file.
 .sp
 If a tape changer is configured, choose one of the changer scripts (e.g.
 .sp
 If a tape changer is configured, choose one of the changer scripts (e.g.
-\fBchg-scsi\fR) and enter that here.
-.TP
+\fBchg\-scsi\fR) and enter that here.
+.RE
+.PP
 \fBchangerdev\fR string
 \fBchangerdev\fR string
+.RS 4
 Default:
 \fI/dev/null\fR. A tape changer configuration parameter. Usage depends on the particular changer defined with the
 \fBtpchanger\fR
 option.
 Default:
 \fI/dev/null\fR. A tape changer configuration parameter. Usage depends on the particular changer defined with the
 \fBtpchanger\fR
 option.
-.TP
+.RE
+.PP
 \fBchangerfile\fR string
 \fBchangerfile\fR string
+.RS 4
 Default:
 Default:
-\fI/usr/adm/amanda/log/changer-status\fR. A tape changer configuration parameter. Usage depends on the particular changer defined with the
+\fI/usr/adm/amanda/log/changer\-status\fR. A tape changer configuration parameter. Usage depends on the particular changer defined with the
 \fBtpchanger\fR
 option.
 \fBtpchanger\fR
 option.
-.TP
+.RE
+.PP
 \fBruntapes\fR int
 \fBruntapes\fR int
+.RS 4
 Default:
 1. The maximum number of tapes used in a single run. If a tape changer is not configured, this option is not used and should be commented out of the configuration file.
 .sp
 If a tape changer is configured, this may be set larger than one to let
 Default:
 1. The maximum number of tapes used in a single run. If a tape changer is not configured, this option is not used and should be commented out of the configuration file.
 .sp
 If a tape changer is configured, this may be set larger than one to let
-\fBAmanda\fR
+\fIAmanda\fR
 write to more than one tape.
 .sp
 Note that this is an upper bound on the number of tapes, and
 write to more than one tape.
 .sp
 Note that this is an upper bound on the number of tapes, and
-\fBAmanda\fR
+\fIAmanda\fR
 may use less.
 .sp
 Also note that as of this release,
 may use less.
 .sp
 Also note that as of this release,
-\fBAmanda\fR
+\fIAmanda\fR
 does not support true tape overflow. When it reaches the end of one tape, the backup image
 does not support true tape overflow. When it reaches the end of one tape, the backup image
-\fBAmanda\fR
+\fIAmanda\fR
 was processing starts over again on the next tape.
 was processing starts over again on the next tape.
-.TP
+.RE
+.PP
 \fBmaxdumpsize\fR int
 \fBmaxdumpsize\fR int
+.RS 4
 Default:
 Default:
-\fBruntapes\fR*\fBtape_length\fR. Maximum number of bytes the planner will schedule for a run.
-.TP
+\fIruntapes\fR*\fItape_length\fR. Maximum number of bytes the planner will schedule for a run.
+.RE
+.PP
 \fBtaperalgo\fR [first|firstfit|largest|largestfit|smallest|last]
 \fBtaperalgo\fR [first|firstfit|largest|largestfit|smallest|last]
+.RS 4
 Default:
 Default:
-\fBfirst\fR. The algorithm used to choose which dump image to send to the taper.
-.RS
-.TP
+\fIfirst\fR. The algorithm used to choose which dump image to send to the taper.
+.RS 4
+.PP
 \fBfirst\fR
 \fBfirst\fR
+.RS 4
 First in, first out.
 First in, first out.
-.TP
+.RE
+.PP
 \fBfirstfit\fR
 \fBfirstfit\fR
+.RS 4
 The first dump image that will fit on the current tape.
 The first dump image that will fit on the current tape.
-.TP
+.RE
+.PP
 \fBlargest\fR
 \fBlargest\fR
+.RS 4
 The largest dump image.
 The largest dump image.
-.TP
+.RE
+.PP
 \fBlargestfit\fR
 \fBlargestfit\fR
+.RS 4
 The largest dump image that will fit on the current tape.
 The largest dump image that will fit on the current tape.
-.TP
+.RE
+.PP
 \fBsmallest\fR
 \fBsmallest\fR
+.RS 4
 The smallest dump image.
 The smallest dump image.
-.TP
+.RE
+.PP
 \fBlast\fR
 \fBlast\fR
+.RS 4
 Last in, first out.
 .RE
 Last in, first out.
 .RE
-.TP
-\fBlabelstr\fR \fB string\fR
+.RE
+.RE
+.PP
+\fBlabelstr\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fB.*\fR. The tape label constraint regular expression. All tape labels generated (see
-\fBamlabel\fR(8)) and used by this configuration must match the regular expression. If multiple configurations are run from the same tape server host, it is helpful to set their labels to different strings (for example, "DAILY[0-9][0-9]*" vs. "ARCHIVE[0-9][0-9]*") to avoid overwriting each other's tapes.
-.TP
-\fBtapetype\fR \fB string\fR
+\fI.*\fR. The tape label constraint regular expression. All tape labels generated (see
+\fBamlabel\fR(8)) and used by this configuration must match the regular expression. If multiple configurations are run from the same tape server host, it is helpful to set their labels to different strings (for example, "DAILY[0\-9][0\-9]*" vs. "ARCHIVE[0\-9][0\-9]*") to avoid overwriting each other's tapes.
+.RE
+.PP
+\fBtapetype\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBEXABYTE\fR. The type of tape drive associated with
+\fIEXABYTE\fR. The type of tape drive associated with
 \fBtapedev\fR
 or
 \fBtpchanger\fR. This refers to one of the defined
 \fBtapedev\fR
 or
 \fBtpchanger\fR. This refers to one of the defined
@@ -318,78 +378,85 @@ of the tape media and device.
 First character of a
 \fBtapetype\fR
 string must be an alphabetic character
 First character of a
 \fBtapetype\fR
 string must be an alphabetic character
-.TP
+.RE
+.PP
 \fBctimeout\fR int
 \fBctimeout\fR int
+.RS 4
 Default:
 Default:
-\fB30 seconds\fR. Maximum amount of time that
+\fI30 seconds\fR. Maximum amount of time that
 \fBamcheck\fR
 will wait for each client host.
 \fBamcheck\fR
 will wait for each client host.
-.TP
+.RE
+.PP
 \fBdtimeout\fR int
 \fBdtimeout\fR int
+.RS 4
 Default:
 Default:
-\fB1800 seconds\fR. Amount of idle time per disk on a given client that a
+\fI1800 seconds\fR. Amount of idle time per disk on a given client that a
 \fBdumper\fR
 running from within
 \fBamdump\fR
 will wait before it fails with a data timeout error.
 \fBdumper\fR
 running from within
 \fBamdump\fR
 will wait before it fails with a data timeout error.
-.TP
+.RE
+.PP
 \fBetimeout\fR int
 \fBetimeout\fR int
+.RS 4
 Default:
 Default:
-\fB300 seconds\fR. Amount of time per disk on a given client that the
+\fI300 seconds\fR. Amount of time per disk on a given client that the
 \fBplanner\fR
 step of
 \fBamdump\fR
 will wait to get the dump size estimates. For instance, with the default of 300 seconds and four disks on client A,
 \fBplanner\fR
 will wait up to 20 minutes for that machine. A negative value will be interpreted as a total amount of time to wait per client instead of per disk.
 \fBplanner\fR
 step of
 \fBamdump\fR
 will wait to get the dump size estimates. For instance, with the default of 300 seconds and four disks on client A,
 \fBplanner\fR
 will wait up to 20 minutes for that machine. A negative value will be interpreted as a total amount of time to wait per client instead of per disk.
-.TP
+.RE
+.PP
 \fBnetusage\fR int
 \fBnetusage\fR int
+.RS 4
 Default:
 Default:
-\fB300 Kbps\fR. The maximum network bandwidth allocated to
-\fBAmanda\fR, in Kbytes per second. See also the
+\fI300 Kbps\fR. The maximum network bandwidth allocated to
+\fIAmanda\fR, in Kbytes per second. See also the
 \fBinterface\fR
 section.
 \fBinterface\fR
 section.
-.TP
+.RE
+.PP
 \fBinparallel\fR int
 \fBinparallel\fR int
+.RS 4
 Default:
 10. The maximum number of backups that
 Default:
 10. The maximum number of backups that
-\fBAmanda\fR
+\fIAmanda\fR
 will attempt to run in parallel.
 will attempt to run in parallel.
-\fBAmanda\fR
+\fIAmanda\fR
 will stay within the constraints of network bandwidth and holding disk space available, so it doesn't hurt to set this number a bit high. Some contention can occur with larger numbers of backups, but this effect is relatively small on most systems.
 will stay within the constraints of network bandwidth and holding disk space available, so it doesn't hurt to set this number a bit high. Some contention can occur with larger numbers of backups, but this effect is relatively small on most systems.
-.TP
+.RE
+.PP
 \fBdisplayunit\fR "k|m|g|t"
 \fBdisplayunit\fR "k|m|g|t"
+.RS 4
 Default:
 "k". The unit used to print many numbers, k=kilo, m=mega, g=giga, t=tera.
 Default:
 "k". The unit used to print many numbers, k=kilo, m=mega, g=giga, t=tera.
-.TP
+.RE
+.PP
 \fBdumporder\fR string
 \fBdumporder\fR string
+.RS 4
 Default:
 Default:
-\fBtttTTTTTTT\fR. The priority order of each dumper:
-.RS
-.TP 3
-&#8226;
+\fItttTTTTTTT\fR. The priority order of each dumper:
+.sp
+.RS 4
+.nf
 s: smallest size
 s: smallest size
-.TP
-&#8226;
 S: largest size
 S: largest size
-.TP
-&#8226;
 t: smallest time
 t: smallest time
-.TP
-&#8226;
 T: largest time
 T: largest time
-.TP
-&#8226;
 b: smallest bandwidth
 b: smallest bandwidth
-.TP
-&#8226;
 B: largest bandwidth
 B: largest bandwidth
+.fi
+.RE
 .RE
 .RE
-.TP
+.PP
 \fBmaxdumps\fR int
 \fBmaxdumps\fR int
+.RS 4
 Default:
 1. The maximum number of backups from a single host that
 Default:
 1. The maximum number of backups from a single host that
-\fBAmanda\fR
+\fIAmanda\fR
 will attempt to run in parallel. See also the
 \fBinparallel\fR
 option.
 will attempt to run in parallel. See also the
 \fBinparallel\fR
 option.
@@ -401,45 +468,51 @@ Note that this parameter may also be set in a specific
 \fBamanda.conf\fR
 before any
 \fBdumptype\fRs are defined.
 \fBamanda.conf\fR
 before any
 \fBdumptype\fRs are defined.
-.TP
+.RE
+.PP
 \fBbumpsize\fR int
 \fBbumpsize\fR int
+.RS 4
 Default:
 Default:
-\fB10 Mbytes\fR. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as size. If
-\fBAmanda\fR
+\fI10 Mbytes\fR. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as size. If
+\fIAmanda\fR
 determines that the next higher backup level will be this much smaller than the current level, it will do the next level. The value of this parameter is used only if the parameter
 determines that the next higher backup level will be this much smaller than the current level, it will do the next level. The value of this parameter is used only if the parameter
-\fBbumppercent\fR
+\fIbumppercent\fR
 is set to 0.
 .sp
 is set to 0.
 .sp
-The global setting of this parameter can be overwritten inside of a dumptype-definition.
+The global setting of this parameter can be overwritten inside of a dumptype\-definition.
 .sp
 See also the options
 \fBbumppercent\fR,
 \fBbumpmult\fR
 and
 \fBbumpdays\fR.
 .sp
 See also the options
 \fBbumppercent\fR,
 \fBbumpmult\fR
 and
 \fBbumpdays\fR.
-.TP
+.RE
+.PP
 \fBbumppercent\fR int
 \fBbumppercent\fR int
+.RS 4
 Default:
 Default:
-\fB0 percent\fR. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as percentage of the current size of the DLE (size of current level 0). If
-\fBAmanda\fR
+\fI0 percent\fR. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as percentage of the current size of the DLE (size of current level 0). If
+\fIAmanda\fR
 determines that the next higher backup level will be this much smaller than the current level, it will do the next level.
 .sp
 If this parameter is set to 0, the value of the parameter
 determines that the next higher backup level will be this much smaller than the current level, it will do the next level.
 .sp
 If this parameter is set to 0, the value of the parameter
-\fBbumpsize\fR
+\fIbumpsize\fR
 is used to trigger bumping.
 .sp
 is used to trigger bumping.
 .sp
-The global setting of this parameter can be overwritten inside of a dumptype-definition.
+The global setting of this parameter can be overwritten inside of a dumptype\-definition.
 .sp
 See also the options
 \fBbumpsize\fR,
 \fBbumpmult\fR
 and
 \fBbumpdays\fR.
 .sp
 See also the options
 \fBbumpsize\fR,
 \fBbumpmult\fR
 and
 \fBbumpdays\fR.
-.TP
-\fBbumpmult\fR \fB float\fR
+.RE
+.PP
+\fBbumpmult\fR \fI float\fR
+.RS 4
 Default:
 1.5. The bump size multiplier.
 Default:
 1.5. The bump size multiplier.
-\fBAmanda\fR
+\fIAmanda\fR
 multiplies
 \fBbumpsize\fR
 by this factor for each level. This prevents active filesystems from bumping too much by making it harder to bump to the next level. For example, with the default
 multiplies
 \fBbumpsize\fR
 by this factor for each level. This prevents active filesystems from bumping too much by making it harder to bump to the next level. For example, with the default
@@ -448,55 +521,69 @@ and
 \fBbumpmult\fR
 set to 2.0, the bump threshold will be 10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level three, and so on.
 .sp
 \fBbumpmult\fR
 set to 2.0, the bump threshold will be 10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level three, and so on.
 .sp
-The global setting of this parameter can be overwritten inside of a dumptype-definition.
-.TP
-\fBbumpdays\fR \fB int\fR
+The global setting of this parameter can be overwritten inside of a dumptype\-definition.
+.RE
+.PP
+\fBbumpdays\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB2 days\fR. To insure redundancy in the dumps,
-\fBAmanda\fR
+\fI2 days\fR. To insure redundancy in the dumps,
+\fIAmanda\fR
 keeps filesystems at the same incremental level for at least
 \fBbumpdays\fR
 days, even if the other bump threshold criteria are met.
 .sp
 keeps filesystems at the same incremental level for at least
 \fBbumpdays\fR
 days, even if the other bump threshold criteria are met.
 .sp
-The global setting of this parameter can be overwritten inside of a dumptype-definition.
-.TP
-\fBdiskfile\fR \fB string\fR
+The global setting of this parameter can be overwritten inside of a dumptype\-definition.
+.RE
+.PP
+\fBdiskfile\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBdisklist\fR. The file name for the
-\fBdisklist\fR
+\fIdisklist\fR. The file name for the
+\fIdisklist\fR
 file holding client hosts, disks and other client dumping information.
 file holding client hosts, disks and other client dumping information.
-.TP
-\fBinfofile\fR \fB string\fR
+.RE
+.PP
+\fBinfofile\fR \fI string\fR
+.RS 4
 Default:
 \fI/usr/adm/amanda/curinfo\fR. The file or directory name for the historical information database. If
 Default:
 \fI/usr/adm/amanda/curinfo\fR. The file or directory name for the historical information database. If
-\fBAmanda\fR
+\fIAmanda\fR
 was configured to use DBM databases, this is the base file name for them. If it was configured to use text formated databases (the default), this is the base directory and within here will be a directory per client, then a directory per disk, then a text file of data.
 was configured to use DBM databases, this is the base file name for them. If it was configured to use text formated databases (the default), this is the base directory and within here will be a directory per client, then a directory per disk, then a text file of data.
-.TP
-\fBlogdir\fR \fB string\fR
+.RE
+.PP
+\fBlogdir\fR \fI string\fR
+.RS 4
 Default:
 \fI/usr/adm/amanda\fR. The directory for the
 \fBamdump\fR
 and
 \fBlog\fR
 files.
 Default:
 \fI/usr/adm/amanda\fR. The directory for the
 \fBamdump\fR
 and
 \fBlog\fR
 files.
-.TP
-\fBindexdir\fR \fB string\fR
+.RE
+.PP
+\fBindexdir\fR \fI string\fR
+.RS 4
 Default
 \fI/usr/adm/amanda/index\fR. The directory where index files (backup image catalogues) are stored. Index files are only generated for filesystems whose
 \fBdumptype\fR
 has the
 \fBindex\fR
 option enabled.
 Default
 \fI/usr/adm/amanda/index\fR. The directory where index files (backup image catalogues) are stored. Index files are only generated for filesystems whose
 \fBdumptype\fR
 has the
 \fBindex\fR
 option enabled.
-.TP
-\fBtapelist\fR \fB string\fR
+.RE
+.PP
+\fBtapelist\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBtapelist\fR. The file name for the active
-\fBtapelist\fR
+\fItapelist\fR. The file name for the active
+\fItapelist\fR
 file.
 file.
-\fBAmanda\fR
+\fIAmanda\fR
 maintains this file with information about the active set of tapes.
 maintains this file with information about the active set of tapes.
-.TP
-\fBtapebufs\fR \fB int\fR
+.RE
+.PP
+\fBtapebufs\fR \fI int\fR
+.RS 4
 Default:
 20. The number of buffers used by the
 \fBtaper\fR
 Default:
 20. The number of buffers used by the
 \fBtaper\fR
@@ -505,151 +592,145 @@ process run by
 and
 \fBamflush\fR
 to hold data as it is read from the network or disk before it is written to tape. Each buffer is a little larger than 32 KBytes and is held in a shared memory region.
 and
 \fBamflush\fR
 to hold data as it is read from the network or disk before it is written to tape. Each buffer is a little larger than 32 KBytes and is held in a shared memory region.
-.TP
-\fBreserve\fR \fB number\fR
+.RE
+.PP
+\fBreserve\fR \fI number\fR
+.RS 4
 Default:
 Default:
-100. The part of holding-disk space that should be reserved for incremental backups if no tape is available, expressed as a percentage of the available holding-disk space (0-100). By default, when there is no tape to write to, degraded mode (incremental) backups will be performed to the holding disk. If full backups should also be allowed in this case, the amount of holding disk space reserved for incrementals should be lowered.
-.TP
-\fBautoflush\fR \fB bool\fR
+100. The part of holding\-disk space that should be reserved for incremental backups if no tape is available, expressed as a percentage of the available holding\-disk space (0\-100). By default, when there is no tape to write to, degraded mode (incremental) backups will be performed to the holding disk. If full backups should also be allowed in this case, the amount of holding disk space reserved for incrementals should be lowered.
+.RE
+.PP
+\fBautoflush\fR \fI bool\fR
+.RS 4
 Default:
 Default:
-\fBoff\fR. Whether an amdump run will flush the dumps from holding disk to tape.
-.TP
-\fBamrecover_do_fsf\fR \fB bool\fR
+\fIoff\fR. Whether an amdump run will flush the dumps from holding disk to tape.
+.RE
+.PP
+\fBamrecover_do_fsf\fR \fI bool\fR
+.RS 4
 Default:
 Default:
-\fBon\fR. Amrecover will call amrestore with the -f flag for faster positioning of the tape.
-.TP
-\fBamrecover_check_label\fR \fB bool\fR
+\fIon\fR. Amrecover will call amrestore with the \-f flag for faster positioning of the tape.
+.RE
+.PP
+\fBamrecover_check_label\fR \fI bool\fR
+.RS 4
 Default:
 Default:
-\fBon\fR. Amrecover will call amrestore with the -l flag to check the label.
-.TP
-\fBamrecover_changer\fR \fB string\fR
+\fIon\fR. Amrecover will call amrestore with the \-l flag to check the label.
+.RE
+.PP
+\fBamrecover_changer\fR \fI string\fR
+.RS 4
 Default: ''. Amrecover will use the changer if you use 'settape <string>' and that string is the same as the amrecover_changer setting.
 Default: ''. Amrecover will use the changer if you use 'settape <string>' and that string is the same as the amrecover_changer setting.
-.TP
-\fBcolumnspec\fR \fB string\fR
+.RE
+.PP
+\fBcolumnspec\fR \fI string\fR
+.RS 4
 Defines the width of columns
 \fBamreport\fR
 should use.
 Defines the width of columns
 \fBamreport\fR
 should use.
-\fBString\fR
+\fIString\fR
 is a comma (',') separated list of triples. Each triple consists of three parts which are separated by a equal sign ('=') and a colon (':') (see the example). These three parts specify:
 is a comma (',') separated list of triples. Each triple consists of three parts which are separated by a equal sign ('=') and a colon (':') (see the example). These three parts specify:
-.RS
-.TP 3
-&#8226;
-the name of the column, which may be:
-.RS
-.TP 3
-&#8226;
-Compress (compression ratio)
-.TP
-&#8226;
-Disk (client disk name)
-.TP
-&#8226;
-DumpRate (dump rate in KBytes/sec)
-.TP
-&#8226;
-DumpTime (total dump time in hours:minutes)
-.TP
-&#8226;
-HostName (client host name)
-.TP
-&#8226;
-Level (dump level)
-.TP
-&#8226;
-OrigKB (original image size in KBytes)
-.TP
-&#8226;
-OutKB (output image size in KBytes)
-.TP
-&#8226;
-TapeRate (tape writing rate in KBytes/sec)
-.TP
-&#8226;
-TapeTime (total tape time in hours:minutes)
-.RE
-.TP
-&#8226;
-the amount of space to display before the column (used to get whitespace between columns).
-.TP
-&#8226;
-the width of the column itself. If set to a negative value, the width will be calculated on demand to fit the largest entry in this column.
-.RE
-.IP
+.RS 4
+\h'-04' 1.\h'+02'the name of the column, which may be:
+.sp
+.RS 4
+.nf
+       Compress (compression ratio)
+       Disk (client disk name)
+       DumpRate (dump rate in KBytes/sec)
+       DumpTime (total dump time in hours:minutes)
+       HostName (client host name)
+       Level (dump level)
+       OrigKB (original image size in KBytes)
+       OutKB (output image size in KBytes)
+       TapeRate (tape writing rate in KBytes/sec)
+       TapeTime (total tape time in hours:minutes)
+       
+.fi
+.RE
+.RE
+.RS 4
+\h'-04' 2.\h'+02'the amount of space to display before the column (used to get whitespace between columns).
+.sp
+.RE
+.RS 4
+\h'-04' 3.\h'+02'the width of the column itself. If set to a negative value, the width will be calculated on demand to fit the largest entry in this column.
+.RE
+.IP "" 4
 Here is an example:
 Here is an example:
+.sp
+.RS 4
 .nf
 .nf
-
 columnspec "Disk=1:18,HostName=0:10,OutKB=1:7"
 columnspec "Disk=1:18,HostName=0:10,OutKB=1:7"
-
 .fi
 .fi
-
-The above will display the disk information in 18 characters
-and put one space before it. The hostname column will be 10 characters wide with
-no space to the left. The output KBytes column is seven characters wide
-with one space before it.
-  .TP
-\fBincludefile\fR \fB string\fR
-Default:
-\fBnone\fR. The name of an
-\fBAmanda\fR
+.RE
+.sp
+The above will display the disk information in 18 characters and put one space before it. The hostname column will be 10 characters wide with no space to the left. The output KBytes column is seven characters wide with one space before it.
+.RE
+.PP
+\fBincludefile\fR \fI string\fR
+.RS 4
+Default:
+\fInone\fR. The name of an
+\fIAmanda\fR
 configuration file to include within the current file. Useful for sharing dumptypes, tapetypes and interface definitions among several configurations.
 configuration file to include within the current file. Useful for sharing dumptypes, tapetypes and interface definitions among several configurations.
+.RE
 .SH "HOLDINGDISK SECTION"
 .PP
 The
 \fBamanda.conf\fR
 file may define one or more holding disks used as buffers to hold backup images before they are written to tape. The syntax is:
 .SH "HOLDINGDISK SECTION"
 .PP
 The
 \fBamanda.conf\fR
 file may define one or more holding disks used as buffers to hold backup images before they are written to tape. The syntax is:
+.sp
+.RS 4
 .nf
 .nf
-
-holdingdisk \fBname\fR {
-    \fBholdingdisk-option\fR \fBholdingdisk-value\fR
+holdingdisk \fIname\fR {
+    \fIholdingdisk\-option\fR \fIholdingdisk\-value\fR
     ...
 }
 .fi
     ...
 }
 .fi
+.RE
 .PP
 .PP
-\fBName\fR
+\fIName\fR
 is a logical name for this holding disk.
 .PP
 The options and values are:
 is a logical name for this holding disk.
 .PP
 The options and values are:
-.TP
-\fBcomment\fR \fB string\fR
+.PP
+\fBcomment\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBnone\fR. A comment string describing this holding disk.
-.TP
-\fBdirectory\fR \fB disk\fR
+\fInone\fR. A comment string describing this holding disk.
+.RE
+.PP
+\fBdirectory\fR \fI disk\fR
+.RS 4
 Default:
 \fI/dumps/amanda\fR. The path to this holding area.
 Default:
 \fI/dumps/amanda\fR. The path to this holding area.
-.TP
-\fBuse\fR \fB int\fR
-
+.RE
+.PP
+\fBuse\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB0 Gb\fR.
-Amount of space that can be used in this holding disk area.
-If the value is zero, all available space on the file system is used.
-If the value is negative, \fBAmanda\fR will use all available space minus that value.
-  .TP
-\fBchunksize\fR \fB int\fR
-
+\fI0 Gb\fR. Amount of space that can be used in this holding disk area. If the value is zero, all available space on the file system is used. If the value is negative,
+\fIAmanda\fR
+will use all available space minus that value.
+.RE
+.PP
+\fBchunksize\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB1 Gb\fR.
-Holding disk chunk size. Dumps larger than the specified size will be stored in multiple
-holding disk files. The size of each chunk will not exceed the specified value.
-However, even though dump images are split in the holding disk, they are concatenated as 
-they are written to tape, so each dump image still corresponds to a single continuous 
-tape section.
-
-If 0 is specified, \fBAmanda\fR will create holding disk chunks as large as
-((INT_MAX/1024)-64) Kbytes.
-
-Each holding disk chunk includes a 32 Kbyte header, so the minimum
-chunk size is 64 Kbytes (but that would be really silly).
-
-Operating systems that are limited to a maximum file size of 2 Gbytes
-actually cannot handle files that large.
-They must be at least one byte less than 2 Gbytes.
-Since \fBAmanda\fR works with 32 Kbyte blocks, and
-to handle the final read at the end of the chunk, the chunk size
-should be at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum
-file size, e.g. 2047 Mbytes.
-  .SH "DUMPTYPE SECTION"
+\fI1 Gb\fR. Holding disk chunk size. Dumps larger than the specified size will be stored in multiple holding disk files. The size of each chunk will not exceed the specified value. However, even though dump images are split in the holding disk, they are concatenated as they are written to tape, so each dump image still corresponds to a single continuous tape section.
+.sp
+If 0 is specified,
+\fIAmanda\fR
+will create holding disk chunks as large as ((INT_MAX/1024)\-64) Kbytes.
+.sp
+Each holding disk chunk includes a 32 Kbyte header, so the minimum chunk size is 64 Kbytes (but that would be really silly).
+.sp
+Operating systems that are limited to a maximum file size of 2 Gbytes actually cannot handle files that large. They must be at least one byte less than 2 Gbytes. Since
+\fIAmanda\fR
+works with 32 Kbyte blocks, and to handle the final read at the end of the chunk, the chunk size should be at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum file size, e.g. 2047 Mbytes.
+.RE
+.SH "DUMPTYPE SECTION"
 .PP
 The
 \fIamanda.conf\fR
 .PP
 The
 \fIamanda.conf\fR
@@ -660,15 +741,17 @@ file. For instance, one set of options might be defined for file systems that ca
 A set of backup options are entered in a
 \fBdumptype\fR
 section, which looks like this:
 A set of backup options are entered in a
 \fBdumptype\fR
 section, which looks like this:
+.sp
+.RS 4
 .nf
 .nf
-
-define dumptype \fBname\fR {
-    \fBdumptype-option\fR \fBdumptype-value\fR
+define dumptype \fIname\fR {
+    \fIdumptype\-option\fR \fIdumptype\-value\fR
     ...
 }
 .fi
     ...
 }
 .fi
+.RE
 .PP
 .PP
-\fBName\fR
+\fIName\fR
 is the name of this set of backup options. It is referenced from the
 \fIdisklist\fR
 file.
 is the name of this set of backup options. It is referenced from the
 \fIdisklist\fR
 file.
@@ -686,10 +769,11 @@ sections to start with that value, but the value may be changed on a section by
 \fBdumptype\fRs are defined.
 .PP
 The dumptype options and values are:
 \fBdumptype\fRs are defined.
 .PP
 The dumptype options and values are:
-.TP
-\fBauth\fR \fB string\fR
+.PP
+\fBauth\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBbsd\fR. Type of authorization to perform between tape server and backup client hosts.
+\fIbsd\fR. Type of authorization to perform between tape server and backup client hosts.
 .sp
 \fBbsd\fR, bsd authorization with udp initial connection and one tcp connection by data stream.
 .sp
 .sp
 \fBbsd\fR, bsd authorization with udp initial connection and one tcp connection by data stream.
 .sp
@@ -698,31 +782,37 @@ Default:
 \fBbsdudp\fR, like bsd, but will use only one tcp connection for all data stream.
 .sp
 \fBkrb4\fR
 \fBbsdudp\fR, like bsd, but will use only one tcp connection for all data stream.
 .sp
 \fBkrb4\fR
-to use Kerberos-IV authorization.
+to use Kerberos\-IV authorization.
 .sp
 \fBkrb5\fR
 .sp
 \fBkrb5\fR
-to use Kerberos-V authorization.
+to use Kerberos\-V authorization.
 .sp
 \fBrsh\fR
 to use rsh authorization.
 .sp
 \fBssh\fR
 to use OpenSSH authorization.
 .sp
 \fBrsh\fR
 to use rsh authorization.
 .sp
 \fBssh\fR
 to use OpenSSH authorization.
-.TP
-\fBamandad_path\fR \fB string\fR
+.RE
+.PP
+\fBamandad_path\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fB$libexec/amandad\fR. Specify the amandad path of the client, only use with rsh/ssh authentification.
-.TP
-\fBclient_username\fR \fB string\fR
+\fI$libexec/amandad\fR. Specify the amandad path of the client, only use with rsh/ssh authentification.
+.RE
+.PP
+\fBclient_username\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBCLIENT_LOGIN\fR. Specify the username to connect on the client, only use with rsh/ssh authentification.
-.TP
+\fICLIENT_LOGIN\fR. Specify the username to connect on the client, only use with rsh/ssh authentification.
+.RE
+.PP
 \fBbumpsize\fR int
 \fBbumpsize\fR int
+.RS 4
 Default:
 Default:
-\fB10 Mbytes\fR. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as size. If
-\fBAmanda\fR
+\fI10 Mbytes\fR. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as size. If
+\fIAmanda\fR
 determines that the next higher backup level will be this much smaller than the current level, it will do the next level. The value of this parameter is used only if the parameter
 determines that the next higher backup level will be this much smaller than the current level, it will do the next level. The value of this parameter is used only if the parameter
-\fBbumppercent\fR
+\fIbumppercent\fR
 is set to 0.
 .sp
 See also the options
 is set to 0.
 .sp
 See also the options
@@ -730,15 +820,17 @@ See also the options
 \fBbumpmult\fR
 and
 \fBbumpdays\fR.
 \fBbumpmult\fR
 and
 \fBbumpdays\fR.
-.TP
+.RE
+.PP
 \fBbumppercent\fR int
 \fBbumppercent\fR int
+.RS 4
 Default:
 Default:
-\fB0 percent\fR. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as percentage of the current size of the DLE (size of current level 0). If
-\fBAmanda\fR
+\fI0 percent\fR. The minimum savings required to trigger an automatic bump from one incremental level to the next, expressed as percentage of the current size of the DLE (size of current level 0). If
+\fIAmanda\fR
 determines that the next higher backup level will be this much smaller than the current level, it will do the next level.
 .sp
 If this parameter is set to 0, the value of the parameter
 determines that the next higher backup level will be this much smaller than the current level, it will do the next level.
 .sp
 If this parameter is set to 0, the value of the parameter
-\fBbumpsize\fR
+\fIbumpsize\fR
 is used to trigger bumping.
 .sp
 See also the options
 is used to trigger bumping.
 .sp
 See also the options
@@ -746,11 +838,13 @@ See also the options
 \fBbumpmult\fR
 and
 \fBbumpdays\fR.
 \fBbumpmult\fR
 and
 \fBbumpdays\fR.
-.TP
-\fBbumpmult\fR \fB float\fR
+.RE
+.PP
+\fBbumpmult\fR \fI float\fR
+.RS 4
 Default:
 1.5. The bump size multiplier.
 Default:
 1.5. The bump size multiplier.
-\fBAmanda\fR
+\fIAmanda\fR
 multiplies
 \fBbumpsize\fR
 by this factor for each level. This prevents active filesystems from bumping too much by making it harder to bump to the next level. For example, with the default
 multiplies
 \fBbumpsize\fR
 by this factor for each level. This prevents active filesystems from bumping too much by making it harder to bump to the next level. For example, with the default
@@ -758,34 +852,42 @@ by this factor for each level. This prevents active filesystems from bumping too
 and
 \fBbumpmult\fR
 set to 2.0, the bump threshold will be 10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level three, and so on.
 and
 \fBbumpmult\fR
 set to 2.0, the bump threshold will be 10 Mbytes for level one, 20 Mbytes for level two, 40 Mbytes for level three, and so on.
-.TP
-\fBbumpdays\fR \fB int\fR
+.RE
+.PP
+\fBbumpdays\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB2 days\fR. To insure redundancy in the dumps,
-\fBAmanda\fR
+\fI2 days\fR. To insure redundancy in the dumps,
+\fIAmanda\fR
 keeps filesystems at the same incremental level for at least
 \fBbumpdays\fR
 days, even if the other bump threshold criteria are met.
 keeps filesystems at the same incremental level for at least
 \fBbumpdays\fR
 days, even if the other bump threshold criteria are met.
-.TP
-\fBcomment\fR \fB string\fR
+.RE
+.PP
+\fBcomment\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBnone\fR. A comment string describing this set of backup options.
-.TP
-\fBcomprate\fR \fBfloat\fR [, \fBfloat\fR ]
+\fInone\fR. A comment string describing this set of backup options.
+.RE
+.PP
+\fBcomprate\fR \fIfloat\fR [, \fIfloat\fR ]
+.RS 4
 Default:
 0.50,
 0.50. The expected full and incremental compression factor for dumps. It is only used if
 Default:
 0.50,
 0.50. The expected full and incremental compression factor for dumps. It is only used if
-\fBAmanda\fR
+\fIAmanda\fR
 does not have any history information on compression rates for a filesystem, so should not usually need to be set. However, it may be useful for the first time a very large filesystem that compresses very little is backed up.
 does not have any history information on compression rates for a filesystem, so should not usually need to be set. However, it may be useful for the first time a very large filesystem that compresses very little is backed up.
-.TP
-\fBcompress [client|server]\fR \fB string\fR
+.RE
+.PP
+\fBcompress [client|server]\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBclient fast\fR. If
-\fBAmanda\fR
+\fIclient fast\fR. If
+\fIAmanda\fR
 does compression of the backup images, it can do so either on the backup client host before it crosses the network or on the tape server host as it goes from the network into the holding disk or to tape. Which place to do compression (if at all) depends on how well the dump image usually compresses, the speed and load on the client or server, network capacity, holding disk capacity, availability of tape hardware compression, etc.
 .sp
 For either type of compression,
 does compression of the backup images, it can do so either on the backup client host before it crosses the network or on the tape server host as it goes from the network into the holding disk or to tape. Which place to do compression (if at all) depends on how well the dump image usually compresses, the speed and load on the client or server, network capacity, holding disk capacity, availability of tape hardware compression, etc.
 .sp
 For either type of compression,
-\fBAmanda\fR
+\fIAmanda\fR
 also allows the selection of three styles of compression.
 \fBBest\fR
 is the best compression available, often at the expense of CPU overhead.
 also allows the selection of three styles of compression.
 \fBBest\fR
 is the best compression available, often at the expense of CPU overhead.
@@ -793,147 +895,165 @@ is the best compression available, often at the expense of CPU overhead.
 is often not as good a compression as
 \fBbest\fR, but usually less CPU overhead. Or to specify
 \fBCustom\fR
 is often not as good a compression as
 \fBbest\fR, but usually less CPU overhead. Or to specify
 \fBCustom\fR
-to use your own compression method. (See dumptype custom-compress in example/amanda.conf for reference)
+to use your own compression method. (See dumptype custom\-compress in example/amanda.conf for reference)
 .sp
 So the
 \fBcompress\fR
 options line may be one of:
 .sp
 So the
 \fBcompress\fR
 options line may be one of:
-.RS
-.TP 3
-&#8226;
+.RS 4
+.PP
 compress none
 compress none
-.TP
-&#8226;
-compress [client] fast
-.TP
-&#8226;
-compress [client] best
-.TP
-&#8226;
+.RS 4
+.RE
+.PP
+compress client fast
+.RS 4
+.RE
+.PP
+compress client best
+.RS 4
+.RE
+.PP
 compress client custom
 compress client custom
+.RS 4
+Specify
+\fIclient_custom_compress\fR
+"PROG"
 .sp
 .sp
-Specify client_custom_compress "PROG"
-.sp
-PROG must not contain white space and it must accept -d for uncompress.
-.TP
-&#8226;
+PROG must not contain white space and it must accept \-d for uncompress.
+.RE
+.PP
 compress server fast
 compress server fast
-.TP
-&#8226;
+.RS 4
+.RE
+.PP
 compress server best
 compress server best
-.TP
-&#8226;
+.RS 4
+.RE
+.PP
 compress server custom
 compress server custom
+.RS 4
+Specify
+\fIserver_custom_compress\fR
+"PROG"
 .sp
 .sp
-Specify server_custom_compress "PROG"
-.sp
-PROG must not contain white space and it must accept -d for uncompress.
+PROG must not contain white space and it must accept \-d for uncompress.
+.RE
 .RE
 .RE
-.IP
+.IP "" 4
 Note that some tape devices do compression and this option has nothing to do with whether that is used. If hardware compression is used (usually via a particular tape device name or
 \fBmt\fR
 option),
 Note that some tape devices do compression and this option has nothing to do with whether that is used. If hardware compression is used (usually via a particular tape device name or
 \fBmt\fR
 option),
-\fBAmanda\fR
+\fIAmanda\fR
 (software) compression should be disabled.
 (software) compression should be disabled.
-.TP
-\fBdumpcycle\fR \fB int\fR
+.RE
+.PP
+\fBdumpcycle\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB10 days\fR. The number of days in the backup cycle. Each disk using this set of options will get a full backup at least this of ten. Setting this to zero tries to do a full backup each run.
-.TP
+\fI10 days\fR. The number of days in the backup cycle. Each disk using this set of options will get a full backup at least this of ten. Setting this to zero tries to do a full backup each run.
+.RE
+.PP
 \fBencrypt [none|client|server]\fR
 \fBencrypt [none|client|server]\fR
+.RS 4
 Default:
 Default:
-\fBnone\fR. To encrypt backup images, it can do so either on the backup client host before it crosses the network or on the tape server host as it goes from the network into the holding disk or to tape.
+\fInone\fR. To encrypt backup images, it can do so either on the backup client host before it crosses the network or on the tape server host as it goes from the network into the holding disk or to tape.
 .sp
 So the
 \fBencrypt\fR
 options line may be one of:
 .sp
 So the
 \fBencrypt\fR
 options line may be one of:
-.RS
-.TP 3
-&#8226;
+.RS 4
+.PP
 encrypt none
 encrypt none
-.TP
-&#8226;
+.RS 4
+.RE
+.PP
 encrypt client
 encrypt client
-.sp
+.RS 4
 Specify client_encrypt "PROG"
 .sp
 PROG must not contain white space.
 .sp
 Specify client_encrypt "PROG"
 .sp
 PROG must not contain white space.
 .sp
-Specify client_decrypt_option "decryption-parameter" Default: "-d"
+Specify client_decrypt_option "decryption\-parameter" Default: "\-d"
 .sp
 .sp
-decryption-parameter must not contain white space.
+decryption\-parameter must not contain white space.
 .sp
 .sp
-(See dumptype server-encrypt-fast in example/amanda.conf for reference)
-.TP
-&#8226;
+(See dumptype server\-encrypt\-fast in example/amanda.conf for reference)
+.RE
+.PP
 encrypt server
 encrypt server
-.sp
+.RS 4
 Specify server_encrypt "PROG"
 .sp
 PROG must not contain white space.
 .sp
 Specify server_encrypt "PROG"
 .sp
 PROG must not contain white space.
 .sp
-Specify server_decrypt_option "decryption-parameter" Default: "-d"
+Specify server_decrypt_option "decryption\-parameter" Default: "\-d"
 .sp
 .sp
-decryption-parameter must not contain white space.
+decryption\-parameter must not contain white space.
 .sp
 .sp
-(See dumptype client-encrypt-nocomp in example/amanda.conf for reference)
+(See dumptype client\-encrypt\-nocomp in example/amanda.conf for reference)
 .RE
 .RE
-.PP
-Note that current logic assumes compression then encryption during backup(thus decrypt then uncompress during restore). So specifying client-encryption AND server-compression is not supported.
-\fBamcrypt\fR
+.RE
+.IP "" 4
+Note that current logic assumes compression then encryption during backup(thus decrypt then uncompress during restore). So specifying client\-encryption AND server\-compression is not supported.
+\fIamcrypt\fR
 which is a wrapper of
 which is a wrapper of
-\fBaespipe\fR
+\fIaespipe\fR
 is provided as a reference symmetric encryption program.
 is provided as a reference symmetric encryption program.
-.TP
-\fBestimate\fR \fBclient|calcsize|server\fR
+.RE
+.PP
+\fBestimate\fR \fIclient|calcsize|server\fR
+.RS 4
 Default:
 Default:
-\fBclient\fR. Determine the way
-\fBAmanda\fR
+\fIclient\fR. Determine the way
+\fIAmanda\fR
 does it's estimate.
 does it's estimate.
-.RS
-.TP 3
-&#8226;
-client:
-.sp
+.RS 4
+.PP
+client
+.RS 4
 Use the same program as the dumping program, this is the most accurate way to do estimates, but it can take a long time.
 Use the same program as the dumping program, this is the most accurate way to do estimates, but it can take a long time.
-.TP
-&#8226;
-calcsize:
-.sp
+.RE
+.PP
+calcsize
+.RS 4
 Use a faster program to do estimates, but the result is less accurate.
 Use a faster program to do estimates, but the result is less accurate.
-.TP
-&#8226;
-server:
-.sp
+.RE
+.PP
+server
+.RS 4
 Use only statistics from the previous run to give an estimate, it takes only a few seconds but the result is not accurate if your disk usage changes from day to day.
 .RE
 Use only statistics from the previous run to give an estimate, it takes only a few seconds but the result is not accurate if your disk usage changes from day to day.
 .RE
-.TP
-\fBexclude\fR [ \fBlist|file\fR ][[optional][ \fBappend\fR ][ \fB string\fR ]+]
+.RE
+.RE
+.PP
+\fBexclude\fR [ list|file ][[optional][ append ][ \fIstring\fR ]+]
+.RS 4
 Default:
 Default:
-\fBfile\fR. There are two exclude lists,
+\fIfile\fR. There are two exclude lists,
 \fBexclude file\fR
 and
 \fBexclude list.\fR
 With
 \fBexclude file\fR
 , the
 \fBexclude file\fR
 and
 \fBexclude list.\fR
 With
 \fBexclude file\fR
 , the
-\fBstring\fR
+\fIstring\fR
 is a
 is a
-\fBGNU-tar\fR
+\fBGNU\-tar\fR
 exclude expression. With
 \fBexclude list\fR
 , the
 exclude expression. With
 \fBexclude list\fR
 , the
-\fBstring\fR
+\fIstring\fR
 is a file name on the client containing
 is a file name on the client containing
-\fBGNU-tar\fR
+\fBGNU\-tar\fR
 exclude expressions. The path to the specified exclude list file, if present (see description of 'optional' below), must be readable by the
 exclude expressions. The path to the specified exclude list file, if present (see description of 'optional' below), must be readable by the
-\fBAmanda\fR
+\fIAmanda\fR
 user.
 .sp
 All exclude expressions are concatenated in one file and passed to
 user.
 .sp
 All exclude expressions are concatenated in one file and passed to
-\fBGNU-tar\fR
+\fBGNU\-tar\fR
 as an
 as an
-\fB--exclude-from\fR
+\fB\-\-exclude\-from\fR
 argument.
 .sp
 Exclude expressions must always be specified as relative to the head directory of the DLE.
 argument.
 .sp
 Exclude expressions must always be specified as relative to the head directory of the DLE.
@@ -941,9 +1061,9 @@ Exclude expressions must always be specified as relative to the head directory o
 With the
 \fBappend\fR
 keyword, the
 With the
 \fBappend\fR
 keyword, the
-\fBstring\fR
+\fIstring\fR
 is appended to the current list, without it, the
 is appended to the current list, without it, the
-\fBstring\fR
+\fIstring\fR
 overwrites the list.
 .sp
 If
 overwrites the list.
 .sp
 If
@@ -953,10 +1073,12 @@ is specified for
 .sp
 For
 \fBexclude list\fR, if the file name is relative, the disk name being backed up is prepended. So if this is entered:
 .sp
 For
 \fBexclude list\fR, if the file name is relative, the disk name being backed up is prepended. So if this is entered:
+.sp
+.RS 4
 .nf
 .nf
-
     exclude list ".amanda.excludes"
 .fi
     exclude list ".amanda.excludes"
 .fi
+.RE
 the actual file used would be
 \fI/var/.amanda.excludes\fR
 for a backup of
 the actual file used would be
 \fI/var/.amanda.excludes\fR
 for a backup of
@@ -964,37 +1086,49 @@ for a backup of
 \fI/usr/local/.amanda.excludes\fR
 for a backup of
 \fI/usr/local\fR, and so on.
 \fI/usr/local/.amanda.excludes\fR
 for a backup of
 \fI/usr/local\fR, and so on.
-.TP
-\fBholdingdisk\fR [ \fBnever|auto|required]\fR ]
+.RE
+.PP
+\fBholdingdisk\fR [ never|auto|required ]
+.RS 4
 Default:
 Default:
-\fBauto\fR. Whether a holding disk should be used for these backups or whether they should go directly to tape. If the holding disk is a portion of another file system that
-\fBAmanda\fR
+\fIauto\fR. Whether a holding disk should be used for these backups or whether they should go directly to tape. If the holding disk is a portion of another file system that
+\fIAmanda\fR
 is backing up, that file system should refer to a dumptype with
 \fBholdingdisk\fR
 set to
 is backing up, that file system should refer to a dumptype with
 \fBholdingdisk\fR
 set to
-\fBnever\fR
+\fInever\fR
 to avoid backing up the holding disk into itself.
 to avoid backing up the holding disk into itself.
-.RS
-.TP
+.RS 4
+.PP
 \fBnever\fR|no|false|off
 \fBnever\fR|no|false|off
+.RS 4
 Never use a holdingdisk, the dump will always go directly to tape. There will be no dump if you have a tape error.
 Never use a holdingdisk, the dump will always go directly to tape. There will be no dump if you have a tape error.
-.TP
+.RE
+.PP
 \fBauto\fR|yes|true|on
 \fBauto\fR|yes|true|on
+.RS 4
 Use the holding disk, unless there is a problem with the holding disk, the dump won't fit there or the medium doesn't require spooling (e.g., VFS device)
 Use the holding disk, unless there is a problem with the holding disk, the dump won't fit there or the medium doesn't require spooling (e.g., VFS device)
-.TP
+.RE
+.PP
 \fBrequired\fR
 \fBrequired\fR
+.RS 4
 Always dump to holdingdisk, never directly to tape. There will be no dump if it doesn't fit on holdingdisk
 .RE
 Always dump to holdingdisk, never directly to tape. There will be no dump if it doesn't fit on holdingdisk
 .RE
-.TP
-\fBignore\fR \fB boolean\fR
+.RE
+.RE
+.PP
+\fBignore\fR \fI boolean\fR
+.RS 4
 Default:
 Default:
-\fBno\fR. Whether disks associated with this backup type should be backed up or not. This option is useful when the
-\fBdisklist\fR
+\fIno\fR. Whether disks associated with this backup type should be backed up or not. This option is useful when the
+\fIdisklist\fR
 file is shared among several configurations, some of which should not back up all the listed file systems.
 file is shared among several configurations, some of which should not back up all the listed file systems.
-.TP
-\fBinclude\fR [ \fBlist|file\fR ][[optional][ \fBappend\fR ][ \fB string\fR ]+]
+.RE
+.PP
+\fBinclude\fR [ list|file ][[optional][ append ][ \fIstring\fR ]+]
+.RS 4
 Default:
 Default:
-\fBfile\fR
+\fIfile\fR
 ".". There are two include lists,
 \fBinclude file\fR
 and
 ".". There are two include lists,
 \fBinclude file\fR
 and
@@ -1002,18 +1136,18 @@ and
 With
 \fBinclude file\fR
 , the
 With
 \fBinclude file\fR
 , the
-\fBstring\fR
+\fIstring\fR
 is a glob expression. With
 \fBinclude list\fR
 , the
 is a glob expression. With
 \fBinclude list\fR
 , the
-\fBstring\fR
+\fIstring\fR
 is a file name on the client containing glob expressions.
 .sp
 All include expressions are expanded by
 is a file name on the client containing glob expressions.
 .sp
 All include expressions are expanded by
-\fBAmanda\fR, concatenated in one file and passed to
-\fBGNU-tar\fR
+\fIAmanda\fR, concatenated in one file and passed to
+\fBGNU\-tar\fR
 as a
 as a
-\fB--files-from\fR
+\fB\-\-files\-from\fR
 argument. They must start with "./" and contain no other "/".
 .sp
 Include expressions must always be specified as relative to the head directory of the DLE.
 argument. They must start with "./" and contain no other "/".
 .sp
 Include expressions must always be specified as relative to the head directory of the DLE.
@@ -1023,13 +1157,16 @@ Include expressions must always be specified as relative to the head directory o
 .nr an-break-flag 1
 .br
 \fBNote\fR
 .nr an-break-flag 1
 .br
 \fBNote\fR
-For globbing to work at all, even the limited single level, 
-the top level directory of the DLE must be readable by the \fBAmanda\fR user.With the
+For globbing to work at all, even the limited single level, the top level directory of the DLE must be readable by the
+\fIAmanda\fR
+user.
+
+With the
 \fBappend\fR
 keyword, the
 \fBappend\fR
 keyword, the
-\fBstring\fR
+\fIstring\fR
 is appended to the current list, without it, the
 is appended to the current list, without it, the
-\fBstring\fR
+\fIstring\fR
 overwrites the list.
 .sp
 If
 overwrites the list.
 .sp
 If
@@ -1040,153 +1177,194 @@ then amcheck will not complain if the file doesn't exist or is not readable.
 .sp
 For
 \fBinclude list\fR, If the file name is relative, the disk name being backed up is prepended.
 .sp
 For
 \fBinclude list\fR, If the file name is relative, the disk name being backed up is prepended.
-.TP
-\fBindex\fR \fB boolean\fR
+.RE
+.PP
+\fBindex\fR \fI boolean\fR
+.RS 4
 Default:
 Default:
-\fBno\fR. Whether an index (catalogue) of the backup should be generated and saved in
+\fIno\fR. Whether an index (catalogue) of the backup should be generated and saved in
 \fBindexdir\fR. These catalogues are used by the
 \fBamrecover\fR
 utility.
 \fBindexdir\fR. These catalogues are used by the
 \fBamrecover\fR
 utility.
-.TP
-\fBkencrypt\fR \fB boolean\fR
+.RE
+.PP
+\fBkencrypt\fR \fI boolean\fR
+.RS 4
 Default:
 Default:
-\fBno\fR. Whether the backup image should be encrypted by Kerberos as it is sent across the network from the backup client host to the tape server host.
-.TP
-\fBmaxdumps\fR \fB int\fR
+\fIno\fR. Whether the backup image should be encrypted by Kerberos as it is sent across the network from the backup client host to the tape server host.
+.RE
+.PP
+\fBmaxdumps\fR \fI int\fR
+.RS 4
 Default:
 1. The maximum number of backups from a single host that
 Default:
 1. The maximum number of backups from a single host that
-\fBAmanda\fR
+\fIAmanda\fR
 will attempt to run in parallel. See also the main section parameter
 \fBinparallel\fR.
 will attempt to run in parallel. See also the main section parameter
 \fBinparallel\fR.
-.TP
-\fBmaxpromoteday\fR \fB int\fR
+.RE
+.PP
+\fBmaxpromoteday\fR \fI int\fR
+.RS 4
 Default:
 10000. The maximum number of day for a promotion, set it 0 if you don't want promotion, set it to 1 or 2 if your disks get overpromoted.
 Default:
 10000. The maximum number of day for a promotion, set it 0 if you don't want promotion, set it to 1 or 2 if your disks get overpromoted.
-.TP
-\fBpriority\fR \fB string\fR
+.RE
+.PP
+\fBpriority\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBmedium\fR. When there is no tape to write to,
-\fBAmanda\fR
+\fImedium\fR. When there is no tape to write to,
+\fIAmanda\fR
 will do incremental backups in priority order to the holding disk. The priority may be high (2), medium (1), low (0) or a number of your choice.
 will do incremental backups in priority order to the holding disk. The priority may be high (2), medium (1), low (0) or a number of your choice.
-.TP
-\fBprogram\fR \fB string\fR
+.RE
+.PP
+\fBprogram\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBDUMP\fR. The type of backup to perform. Valid values are
+\fIDUMP\fR. The type of backup to perform. Valid values are
 \fBDUMP\fR
 for the native operating system backup program, and
 \fBGNUTAR\fR
 to use
 \fBDUMP\fR
 for the native operating system backup program, and
 \fBGNUTAR\fR
 to use
-\fBGNU-tar\fR
+\fBGNU\-tar\fR
 or to do PC backups using Samba.
 or to do PC backups using Samba.
-.TP
-\fBrecord\fR \fB boolean\fR
+.RE
+.PP
+\fBrecord\fR \fI boolean\fR
+.RS 4
 Default:
 Default:
-\fByes\fR. Whether to ask the backup program to update its database (e.g.
+\fIyes\fR. Whether to ask the backup program to update its database (e.g.
 \fI/etc/dumpdates\fR
 for DUMP or
 \fI/etc/dumpdates\fR
 for DUMP or
-\fI/usr/local/var/amanda/gnutar-lists\fR
+\fI/usr/local/var/amanda/gnutar\-lists\fR
 for GNUTAR) of time stamps. This is normally enabled for daily backups and turned off for periodic archival runs.
 for GNUTAR) of time stamps. This is normally enabled for daily backups and turned off for periodic archival runs.
-.TP
-\fBskip-full\fR \fB boolean\fR
+.RE
+.PP
+\fBskip\-full\fR \fI boolean\fR
+.RS 4
 Default:
 Default:
-\fBno\fR. If
-\fBtrue\fR
+\fIno\fR. If
+\fItrue\fR
 and
 \fBplanner\fR
 and
 \fBplanner\fR
-has scheduled a full backup, these disks will be skipped, and full backups should be run off-line on these days. It was reported that
-\fBAmanda\fR
+has scheduled a full backup, these disks will be skipped, and full backups should be run off\-line on these days. It was reported that
+\fIAmanda\fR
 only schedules level 1 incrementals in this configuration; this is probably a bug.
 only schedules level 1 incrementals in this configuration; this is probably a bug.
-.TP
-\fBskip-incr\fR \fB boolean\fR
+.RE
+.PP
+\fBskip\-incr\fR \fI boolean\fR
+.RS 4
 Default:
 Default:
-\fBno\fR. If
-\fBtrue\fR
+\fIno\fR. If
+\fItrue\fR
 and
 \fBplanner\fR
 has scheduled an incremental backup, these disks will be skipped.
 and
 \fBplanner\fR
 has scheduled an incremental backup, these disks will be skipped.
-.TP
-\fBstarttime\fR \fB int\fR
+.RE
+.PP
+\fBstarttime\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fBnone\fR. Backups will not start until after this time of day. The value should be hh*100+mm, e.g. 6:30PM (18:30) would be entered as
+\fInone\fR. Backups will not start until after this time of day. The value should be hh*100+mm, e.g. 6:30PM (18:30) would be entered as
 1830.
 1830.
-.TP
-\fBstrategy\fR \fB string\fR
+.RE
+.PP
+\fBstrategy\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBstandard\fR. Strategy to use when planning what level of backup to run next. Values are:
-.RS
-.TP
+\fIstandard\fR. Strategy to use when planning what level of backup to run next. Values are:
+.RS 4
+.PP
 \fBstandard\fR
 \fBstandard\fR
+.RS 4
 The standard
 The standard
-\fBAmanda\fR
+\fIAmanda\fR
 schedule.
 schedule.
-.TP
+.RE
+.PP
 \fBnofull\fR
 \fBnofull\fR
+.RS 4
 Never do full backups, only level 1 incrementals.
 Never do full backups, only level 1 incrementals.
-.TP
+.RE
+.PP
 \fBnoinc\fR
 \fBnoinc\fR
+.RS 4
 Never do incremental backups, only full dumps.
 Never do incremental backups, only full dumps.
-.TP
+.RE
+.PP
 \fBskip\fR
 \fBskip\fR
+.RS 4
 Never do backups (useful when sharing the
 Never do backups (useful when sharing the
-\fBdisklist\fR
+\fIdisklist\fR
 file).
 file).
-.TP
+.RE
+.PP
 \fBincronly\fR
 \fBincronly\fR
+.RS 4
 Only do incremental dumps.
 \fBamadmin force\fR
 should be used to tell
 Only do incremental dumps.
 \fBamadmin force\fR
 should be used to tell
-\fBAmanda\fR
-that a full dump has been performed off-line, so that it resets to level 1. It is similar to skip-full, but with incronly full dumps may be scheduled manually. Unfortunately, it appears that
-\fBAmanda\fR
+\fIAmanda\fR
+that a full dump has been performed off\-line, so that it resets to level 1. It is similar to skip\-full, but with incronly full dumps may be scheduled manually. Unfortunately, it appears that
+\fIAmanda\fR
 will perform full backups with this configuration, which is probably a bug.
 .RE
 will perform full backups with this configuration, which is probably a bug.
 .RE
-.TP
-\fBtape_splitsize\fR \fB int\fR
+.RE
+.RE
+.PP
+\fBtape_splitsize\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fBnone\fR. Split dump file on tape into pieces of a specified size. This allows dumps to be spread across multiple tapes, and can potentially make more efficient use of tape space. Note that if this value is too large (more than half the size of the average dump being split), substantial tape space can be wasted. If too small, large dumps will be split into innumerable tiny dumpfiles, adding to restoration complexity. A good rule of thumb, usually, is 1/10 of the size of your tape.
-.TP
-\fBsplit_diskbuffer\fR \fB string\fR
+\fInone\fR. Split dump file on tape into pieces of a specified size. This allows dumps to be spread across multiple tapes, and can potentially make more efficient use of tape space. Note that if this value is too large (more than half the size of the average dump being split), substantial tape space can be wasted. If too small, large dumps will be split into innumerable tiny dumpfiles, adding to restoration complexity. A good rule of thumb, usually, is 1/10 of the size of your tape.
+.RE
+.PP
+\fBsplit_diskbuffer\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBnone\fR. When dumping a split dump in PORT-WRITE mode (usually meaning "no holding disk"), buffer the split chunks to a file in the directory specified by this option.
-.TP
-\fBfallback_splitsize\fR \fB int\fR
+\fInone\fR. When dumping a split dump in PORT\-WRITE mode (usually meaning "no holding disk"), buffer the split chunks to a file in the directory specified by this option.
+.RE
+.PP
+\fBfallback_splitsize\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB10M\fR. When dumping a split dump in PORT-WRITE mode, if no split_diskbuffer is specified (or if we somehow fail to use our split_diskbuffer), we must buffer split chunks in memory. This specifies the maximum size split chunks can be in this scenario, and thus the maximum amount of memory consumed for in-memory splitting. The size of this buffer can be changed from its (very conservative) default to a value reflecting the amount of memory that each taper process on the dump server may reasonably consume.
+\fI10M\fR. When dumping a split dump in PORT\-WRITE mode, if no split_diskbuffer is specified (or if we somehow fail to use our split_diskbuffer), we must buffer split chunks in memory. This specifies the maximum size split chunks can be in this scenario, and thus the maximum amount of memory consumed for in\-memory splitting. The size of this buffer can be changed from its (very conservative) default to a value reflecting the amount of memory that each taper process on the dump server may reasonably consume.
+.RE
 .PP
 The following
 \fBdumptype\fR
 entries are predefined by
 .PP
 The following
 \fBdumptype\fR
 entries are predefined by
-\fBAmanda\fR:
+\fIAmanda\fR:
+.sp
+.RS 4
 .nf
 .nf
-
-define dumptype no-compress {
+define dumptype no\-compress {
     compress none
 }
     compress none
 }
-define dumptype compress-fast {
+define dumptype compress\-fast {
     compress client fast
 }
     compress client fast
 }
-define dumptype compress-best {
+define dumptype compress\-best {
     compress client best
 }
 define dumptype srvcompress {
     compress server fast
 }
     compress client best
 }
 define dumptype srvcompress {
     compress server fast
 }
-define dumptype bsd-auth {
+define dumptype bsd\-auth {
     auth bsd
 }
     auth bsd
 }
-define dumptype krb4-auth {
+define dumptype krb4\-auth {
     auth krb4
 }
     auth krb4
 }
-define dumptype no-record {
+define dumptype no\-record {
     record no
 }
     record no
 }
-define dumptype no-hold {
+define dumptype no\-hold {
     holdingdisk no
 }
     holdingdisk no
 }
-define dumptype no-full {
-    skip-full yes
+define dumptype no\-full {
+    skip\-full yes
 } 
 .fi
 } 
 .fi
+.RE
 .PP
 In addition to options in a
 \fBdumptype\fR
 .PP
 In addition to options in a
 \fBdumptype\fR
@@ -1198,11 +1376,12 @@ inherit options from other previously defined
 \fBdumptype\fRs. For instance, two sections might be the same except for the
 \fBrecord\fR
 option:
 \fBdumptype\fRs. For instance, two sections might be the same except for the
 \fBrecord\fR
 option:
+.sp
+.RS 4
 .nf
 .nf
-
 define dumptype normal {
     comment "Normal backup, no compression, do indexing"
 define dumptype normal {
     comment "Normal backup, no compression, do indexing"
-    no-compress
+    no\-compress
     index yes
     maxdumps 2
 }
     index yes
     maxdumps 2
 }
@@ -1212,12 +1391,13 @@ define dumptype testing {
     record no
 }
 .fi
     record no
 }
 .fi
+.RE
 .PP
 .PP
-\fBAmanda\fR
+\fIAmanda\fR
 provides a
 \fBdumptype\fR
 named
 provides a
 \fBdumptype\fR
 named
-\fBglobal\fR
+\fIglobal\fR
 in the sample
 \fBamanda.conf\fR
 file that all
 in the sample
 \fBamanda.conf\fR
 file that all
@@ -1230,54 +1410,65 @@ The
 file may define multiple types of tape media and devices. The information is entered in a
 \fBtapetype\fR
 section, which looks like this in the config file:
 file may define multiple types of tape media and devices. The information is entered in a
 \fBtapetype\fR
 section, which looks like this in the config file:
+.sp
+.RS 4
 .nf
 .nf
-
-define tapetype \fBname\fR {
-    \fBtapetype-option\fR \fBtapetype-value\fR
+define tapetype \fIname\fR {
+    \fItapetype\-option\fR \fItapetype\-value\fR
     ...
 }
 .fi
     ...
 }
 .fi
+.RE
 .PP
 .PP
-\fBName\fR
+\fIName\fR
 is the name of this type of tape medium/device. It is referenced from the
 \fBtapetype\fR
 option in the main part of the config file.
 .PP
 The tapetype options and values are:
 is the name of this type of tape medium/device. It is referenced from the
 \fBtapetype\fR
 option in the main part of the config file.
 .PP
 The tapetype options and values are:
-.TP
-\fBcomment\fR \fB string\fR
+.PP
+\fBcomment\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBnone\fR. A comment string describing this set of tape information.
-.TP
-\fBfilemark\fR \fB int\fR
+\fInone\fR. A comment string describing this set of tape information.
+.RE
+.PP
+\fBfilemark\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB1000 bytes\fR. How large a file mark (tape mark) is, measured in bytes. If the size is only known in some linear measurement (e.g. inches), convert it to bytes using the device density.
-.TP
-\fBlength\fR \fB int\fR
+\fI1 kbytes\fR. How large a file mark (tape mark) is, measured in kbytes. If the size is only known in some linear measurement (e.g. inches), convert it to kbytes using the device density.
+.RE
+.PP
+\fBlength\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB2000 kbytes\fR. How much data will fit on a tape.
+\fI2000 kbytes\fR. How much data will fit on a tape.
 .sp
 Note that this value is only used by
 .sp
 Note that this value is only used by
-\fBAmanda\fR
+\fIAmanda\fR
 to schedule which backups will be run. Once the backups start,
 to schedule which backups will be run. Once the backups start,
-\fBAmanda\fR
+\fIAmanda\fR
 will continue to write to a tape until it gets an error, regardless of what value is entered for
 \fBlength\fR
 (but see the section OUTPUT DRIVERS in the
 \fBamanda\fR(8)
 manpage for exceptions).
 will continue to write to a tape until it gets an error, regardless of what value is entered for
 \fBlength\fR
 (but see the section OUTPUT DRIVERS in the
 \fBamanda\fR(8)
 manpage for exceptions).
-.TP
-\fBblocksize\fR \fB int\fR
+.RE
+.PP
+\fBblocksize\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB32\fR. How much data will be written in each tape record expressed in KiloBytes. The tape record size (= blocksize) can not be reduced below the default 32 KBytes. The parameter blocksize can only be raised if
-\fBAmanda\fR
-was compiled with the configure option --with-maxtapeblocksize=N set with "N" greater than 32 during
+\fI32 kbytes\fR. How much data will be written in each tape record expressed in KiloBytes. The tape record size (= blocksize) can not be reduced below the default 32 KBytes. The parameter blocksize can only be raised if
+\fIAmanda\fR
+was compiled with the configure option \-\-with\-maxtapeblocksize=N set with "N" greater than 32 during
 \fBconfigure\fR.
 \fBconfigure\fR.
-.TP
-\fBfile-pad\fR \fB boolean\fR
+.RE
+.PP
+\fBfile\-pad\fR \fI boolean\fR
+.RS 4
 Default:
 Default:
-\fBtrue\fR. If true, every record, including the last one in the file, will have the same length. This matches the way
-\fBAmanda\fR
+\fItrue\fR. If true, every record, including the last one in the file, will have the same length. This matches the way
+\fIAmanda\fR
 wrote tapes prior to the availability of this parameter. It may also be useful on devices that only support a fixed blocksize.
 .sp
 Note that the last record on the tape probably includes trailing null byte padding, which will be passed back to
 wrote tapes prior to the availability of this parameter. It may also be useful on devices that only support a fixed blocksize.
 .sp
 Note that the last record on the tape probably includes trailing null byte padding, which will be passed back to
@@ -1286,43 +1477,51 @@ Note that the last record on the tape probably includes trailing null byte paddi
 or the restore program. Most programs just ignore this (although possibly with a warning).
 .sp
 If this parameter is false, the last record in a file may be shorter than the block size. The file will contain the same amount of data the dump program generated, without trailing null byte padding. When read, the same amount of data that was written will be returned.
 or the restore program. Most programs just ignore this (although possibly with a warning).
 .sp
 If this parameter is false, the last record in a file may be shorter than the block size. The file will contain the same amount of data the dump program generated, without trailing null byte padding. When read, the same amount of data that was written will be returned.
-.TP
-\fBspeed\fR \fB int\fR
+.RE
+.PP
+\fBspeed\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB200 bps\fR. How fast the drive will accept data, in bytes per second. This parameter is NOT currently used by
-\fBAmanda\fR.
-.TP
-\fBlbl-templ\fR \fB string\fR
+\fI200 bps\fR. How fast the drive will accept data, in bytes per second. This parameter is NOT currently used by
+\fIAmanda\fR.
+.RE
+.PP
+\fBlbl\-templ\fR \fI string\fR
+.RS 4
 A PostScript template file used by
 \fBamreport\fR
 to generate labels. Several sample files are provided with the
 A PostScript template file used by
 \fBamreport\fR
 to generate labels. Several sample files are provided with the
-\fBAmanda\fR
+\fIAmanda\fR
 sources in the
 sources in the
-\fBexample\fR
+\fIexample\fR
 directory. See the
 \fBamreport\fR(8)
 man page for more information.
 directory. See the
 \fBamreport\fR(8)
 man page for more information.
+.RE
 .PP
 In addition to options, another
 \fBtapetype\fR
 name may be entered, which makes this
 \fBtapetype\fR
 inherit options from another
 .PP
 In addition to options, another
 \fBtapetype\fR
 name may be entered, which makes this
 \fBtapetype\fR
 inherit options from another
-\fBtapetype\fR. For instance, the only difference between a DLT4000 tape drive using Compact-III tapes and one using Compact-IV tapes is the length of the tape. So they could be entered as:
+\fBtapetype\fR. For instance, the only difference between a DLT4000 tape drive using Compact\-III tapes and one using Compact\-IV tapes is the length of the tape. So they could be entered as:
+.sp
+.RS 4
 .nf
 .nf
-
-define tapetype DLT4000-III {
-    comment "DLT4000 tape drives with Compact-III tapes"
+define tapetype DLT4000\-III {
+    comment "DLT4000 tape drives with Compact\-III tapes"
     length 12500 mbytes         # 10 Gig tapes with some compression
     filemark 2000 kbytes
     speed 1536 kps
 }
     length 12500 mbytes         # 10 Gig tapes with some compression
     filemark 2000 kbytes
     speed 1536 kps
 }
-define tapetype DLT4000-IV {
-    DLT4000-III
-    comment "DLT4000 tape drives with Compact-IV tapes"
+define tapetype DLT4000\-IV {
+    DLT4000\-III
+    comment "DLT4000 tape drives with Compact\-IV tapes"
     length 25000 mbytes         # 20 Gig tapes with some compression
 }
 .fi
     length 25000 mbytes         # 20 Gig tapes with some compression
 }
 .fi
+.RE
+.sp
 .SH "INTERFACE SECTION"
 .PP
 The
 .SH "INTERFACE SECTION"
 .PP
 The
@@ -1330,35 +1529,41 @@ The
 file may define multiple types of network interfaces. The information is entered in an
 \fBinterface\fR
 section, which looks like this:
 file may define multiple types of network interfaces. The information is entered in an
 \fBinterface\fR
 section, which looks like this:
+.sp
+.RS 4
 .nf
 .nf
-
-define interface \fBname\fR {
-    \fBinterface-option\fR \fBinterface-value\fR
+define interface \fIname\fR {
+    \fIinterface\-option\fR \fIinterface\-value\fR
     ...
 }
 .fi
     ...
 }
 .fi
+.RE
 .PP
 .PP
-\fBname\fR
+\fIname\fR
 is the name of this type of network interface. It is referenced from the
 is the name of this type of network interface. It is referenced from the
-\fBdisklist\fR
+\fIdisklist\fR
 file.
 .PP
 Note that these sections define network interface characteristics, not the actual interface that will be used. Nor do they impose limits on the bandwidth that will actually be taken up by
 file.
 .PP
 Note that these sections define network interface characteristics, not the actual interface that will be used. Nor do they impose limits on the bandwidth that will actually be taken up by
-\fBAmanda\fR.
-\fBAmanda\fR
+\fIAmanda\fR.
+\fIAmanda\fR
 computes the estimated bandwidth each file system backup will take based on the estimated size and time, then compares that plus any other running backups with the limit as another of the criteria when deciding whether to start the backup. Once a backup starts,
 computes the estimated bandwidth each file system backup will take based on the estimated size and time, then compares that plus any other running backups with the limit as another of the criteria when deciding whether to start the backup. Once a backup starts,
-\fBAmanda\fR
+\fIAmanda\fR
 will use as much of the network as it can leaving throttling up to the operating system and network hardware.
 .PP
 The interface options and values are:
 will use as much of the network as it can leaving throttling up to the operating system and network hardware.
 .PP
 The interface options and values are:
-.TP
-\fBcomment\fR \fB string\fR
+.PP
+\fBcomment\fR \fI string\fR
+.RS 4
 Default:
 Default:
-\fBnone\fR. A comment string describing this set of network information.
-.TP
-\fBuse\fR \fB int\fR
+\fInone\fR. A comment string describing this set of network information.
+.RE
+.PP
+\fBuse\fR \fI int\fR
+.RS 4
 Default:
 Default:
-\fB300 Kbps\fR. The speed of the interface in Kbytes per second.
+\fI300 Kbps\fR. The speed of the interface in Kbytes per second.
+.RE
 .PP
 In addition to options, another
 \fBinterface\fR
 .PP
 In addition to options, another
 \fBinterface\fR
@@ -1373,11 +1578,11 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion, major update, splitting
+\fIAmanda\fR\-documentation: XML\-conversion, major update, splitting
 .SH "SEE ALSO"
 .PP
 .SH "SEE ALSO"
 .PP
+
 \fBamanda\fR(8),
 \fBamanda\fR(8),
-\fBamanda-client.conf\fR(5),
+\fBamanda\-client.conf\fR(5),
 \fBamcrypt\fR(8),
 \fBaespipe\fR(1),
 \fBamcrypt\fR(8),
 \fBaespipe\fR(1),
-
index 4483818789cf5a13b984bc18ac5b7681f1b71aa1..8d5493893ef7bfff133134d39c1bfca455b9e62b 100644 (file)
@@ -1,38 +1,27 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMCHECK" 8 "" "" ""
+.\"     Title: amcheck
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMCHECK" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amcheck - run Amanda self-checks
+amcheck \- run Amanda self\-checks
 .SH "SYNOPSIS"
 .HP 8
 .SH "SYNOPSIS"
 .HP 8
-\fBamcheck\fR [-am] [-w] [-sclt] [-M \fIaddress\fR]*
-     \fIconfig\fR [\fIhost\fR [\fIdisk\fR]*]*
-     [-o \fIconfigoption\fR]*
-
+\fBamcheck\fR [\-am] [\-w] [\-sclt] [\-M\ \fIaddress\fR] \fIconfig\fR [\fIhost\fR\ [\fIdisk\fR...]...] [\-o\ \fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 \fBAmcheck\fR
 .SH "DESCRIPTION"
 .PP
 \fBAmcheck\fR
-runs a number of self-checks on both the
-\fBAmanda\fR
+runs a number of self\-checks on both the
+\fIAmanda\fR
 tape server host and the
 tape server host and the
-\fBAmanda\fR
+\fIAmanda\fR
 client hosts.
 .PP
 On the tape server host,
 client hosts.
 .PP
 On the tape server host,
@@ -42,308 +31,395 @@ can go through the same tape checking used at the start of the nightly
 run to verify the correct tape for the next run is mounted.
 .PP
 \fBAmcheck\fR
 run to verify the correct tape for the next run is mounted.
 .PP
 \fBAmcheck\fR
-can also do a self-check on all client hosts to make sure each host is running and that permissions on filesystems to be backed up are correct.
+can also do a self\-check on all client hosts to make sure each host is running and that permissions on filesystems to be backed up are correct.
 .PP
 You can specify many host/disk expressions, only disks that match an expression will be checked. All disks are checked if no expressions are given.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 .PP
 You can specify many host/disk expressions, only disks that match an expression will be checked. All disks are checked if no expressions are given.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-s\fR
+.PP
+\fB\-s\fR
+.RS 4
 Run the tape server local and tape checks (same as
 Run the tape server local and tape checks (same as
-\fB-lt\fR).
-.TP
-\fB-c\fR
-Run the client host checks.Multiple specific clients can be checked by specifying the client name.
-.TP
-\fB-l\fR
+\fB\-lt\fR).
+.RE
+.PP
+\fB\-c\fR
+.RS 4
+Run the client host checks. Multiple specific clients can be checked by specifying the client name.
+.RE
+.PP
+\fB\-l\fR
+.RS 4
 Run the local tests (e.g. permissions) on the server host.
 Run the local tests (e.g. permissions) on the server host.
-.TP
-\fB-t\fR
+.RE
+.PP
+\fB\-t\fR
+.RS 4
 Run the tape tests on the server host.
 Run the tape tests on the server host.
-.TP
-\fB-w\fR
-Enables a DESTRUCTIVE check for write-protection on the tape (which would otherwise cause the subsequent
+.RE
+.PP
+\fB\-w\fR
+.RS 4
+Enables a DESTRUCTIVE check for write\-protection on the tape (which would otherwise cause the subsequent
 \fBamdump\fR
 \fBamdump\fR
-to fail). If the tape is writable, this check causes all data after the tape label to be erased. If the label_new_tapes option is enabled, this check may ERASE any non-Amanda tape in the drive or changer. The check enable the tape tests on the server host and is only made if the tape is otherwise correct.
-.TP
-\fB-m\fR
+to fail). If the tape is writable, this check causes all data after the tape label to be erased. If the label_new_tapes option is enabled, this check may ERASE any non\-Amanda tape in the drive or changer. The check enable the tape tests on the server host and is only made if the tape is otherwise correct.
+.RE
+.PP
+\fB\-m\fR
+.RS 4
 Nothing is printed, but mail is sent if any errors are detected. The mail goes to the
 \fBmailto\fR
 address specified in the
 Nothing is printed, but mail is sent if any errors are detected. The mail goes to the
 \fBmailto\fR
 address specified in the
-\fBamanda.conf\fR
+\fIamanda.conf\fR
 file or the
 file or the
-\fBaddress\fR
+\fIaddress\fR
 value if
 value if
-\fB-M\fR
+\fB\-M\fR
 is set.
 is set.
-.TP
-\fB-a\fR
+.RE
+.PP
+\fB\-a\fR
+.RS 4
 Like
 Like
-\fB-m\fR
+\fB\-m\fR
 but the mail is always sent.
 but the mail is always sent.
-.TP
-\fB-M\fR \fIaddress\fR
+.RE
+.PP
+\fB\-M\fR \fIaddress\fR
+.RS 4
 Mail the report to
 Mail the report to
-\fBaddress\fR
+\fIaddress\fR
 instead of the
 \fBmailto\fR
 value from
 instead of the
 \fBmailto\fR
 value from
-\fBamanda.conf\fR. Implies
-\fB-m\fR.
-.TP
+\fIamanda.conf\fR. Implies
+\fB\-m\fR.
+.RE
+.PP
 \fIhost\fR [\fIdisk\fR]*
 \fIhost\fR [\fIdisk\fR]*
+.RS 4
 Specify the host and disk on which the command will work.
 Specify the host and disk on which the command will work.
-.TP
-\fB-o\fR \fIconfigoption\fR
+.RE
+.PP
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .PP
 The default is
 .PP
 The default is
-\fB-cs\fR.
+\fB\-cs\fR.
 .SH "EXAMPLES"
 .PP
 In this example, both the tape server and client tests are run. The results are displayed on standard output.
 .SH "EXAMPLES"
 .PP
 In this example, both the tape server and client tests are run. The results are displayed on standard output.
+.sp
+.RS 4
 .nf
 .nf
-
 % amcheck daily
 % amcheck daily
-\fBAmanda\fR Tape Server Host Check
------------------------------
+\fIAmanda\fR Tape Server Host Check
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
 /amanda2/amanda/work: 911475 KB disk space available, that's plenty.
 /amanda2/amanda/work: 911475 KB disk space available, that's plenty.
-NOTE: skipping tape-writable test.
+NOTE: skipping tape\-writable test.
 Tape VOL10 label ok.
 Server check took 34.966 seconds.
 
 Tape VOL10 label ok.
 Server check took 34.966 seconds.
 
-\fBAmanda\fR Backup Client Hosts Check
---------------------------------
+\fIAmanda\fR Backup Client Hosts Check
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
 WARNING: northstar: selfcheck request timed out.  Host down?
 WARNING: drinkme: selfcheck request timed out.  Host down?
 WARNING: scruffy: selfcheck request timed out.  Host down?
 Client check: 136 hosts checked in 51.945 seconds, 3 problems found.
 
 WARNING: northstar: selfcheck request timed out.  Host down?
 WARNING: drinkme: selfcheck request timed out.  Host down?
 WARNING: scruffy: selfcheck request timed out.  Host down?
 Client check: 136 hosts checked in 51.945 seconds, 3 problems found.
 
-(brought to you by \fBAmanda\fR 2.5.0) 
+(brought to you by \fIAmanda\fR 2.5.0) 
 .fi
 .fi
+.RE
 .PP
 In this example, if the line
 .PP
 In this example, if the line
-\fBmailto csd-amanda\fR
+\fBmailto csd\-amanda\fR
 is in
 is in
-\fBamanda.conf\fR, mail will be sent to
-\fBcsd-amanda\fR
+\fIamanda.conf\fR, mail will be sent to
+\fBcsd\-amanda\fR
 if the server check returns an error.
 if the server check returns an error.
+.sp
+.RS 4
 .nf
 .nf
-
-% amcheck -s -m daily 
+% amcheck \-s \-m daily 
 .fi
 .fi
+.RE
 .SH "MESSAGES"
 .SH "MESSAGES"
-.TP
-fatal slot \fBslot\fR: \fBerror message\fR
+.PP
+fatal slot \fIslot\fR: \fIerror message\fR
+.RS 4
 (error) The tape changer detected some kind of fatal error while trying to load slot
 (error) The tape changer detected some kind of fatal error while trying to load slot
-\fBslot\fR.
-.TP
-slot \fBslot\fR: \fBerror message\fR
-(warning) The tape changer detected some kind of non-fatal error (e.g. an empty slot was detected) while trying to load slot
-\fBslot\fR, or an error was detected trying to read the tape label.
-.TP
-slot \fBslot\fR: date \fBYYYYMMDD\fR label \fBlabel\fR (\fBresult\fR)
+\fIslot\fR.
+.RE
+.PP
+slot \fIslot\fR: \fIerror message\fR
+.RS 4
+(warning) The tape changer detected some kind of non\-fatal error (e.g. an empty slot was detected) while trying to load slot
+\fIslot\fR, or an error was detected trying to read the tape label.
+.RE
+.PP
+slot \fIslot\fR: date \fIYYYYMMDD\fR label \fIlabel\fR (\fIresult\fR)
+.RS 4
 (info) Tape
 (info) Tape
-\fBlabel\fR
+\fIlabel\fR
 in slot
 in slot
-\fBslot\fR
+\fIslot\fR
 was loaded and found to have been last written on
 was loaded and found to have been last written on
-\fBYYYYMMDD\fR. If the tape is new, the date field will be an
-\fBX\fR. The
-\fBresult\fR
+\fIYYYYMMDD\fR. If the tape is new, the date field will be an
+\fIX\fR. The
+\fIresult\fR
 may be one of:
 may be one of:
-.RS
-.TP
+.RS 4
+.PP
 exact label match
 exact label match
+.RS 4
 This is the expected tape.
 This is the expected tape.
-.TP
+.RE
+.PP
 no match
 no match
+.RS 4
 This label does not match the
 \fBlabelstr\fR
 pattern in
 This label does not match the
 \fBlabelstr\fR
 pattern in
-\fBamanda.conf\fR. Tape scanning will continue.
-.TP
+\fIamanda.conf\fR. Tape scanning will continue.
+.RE
+.PP
 active tape
 active tape
+.RS 4
 This tape is still active and cannot be overwritten. Tape scanning will continue.
 This tape is still active and cannot be overwritten. Tape scanning will continue.
-.TP
+.RE
+.PP
 first labelstr match
 first labelstr match
+.RS 4
 This tape is the first one that matches the
 \fBlabelstr\fR
 pattern in
 This tape is the first one that matches the
 \fBlabelstr\fR
 pattern in
-\fBamanda.conf\fR. Tape scanning will continue if necessary.
-.TP
+\fIamanda.conf\fR. Tape scanning will continue if necessary.
+.RE
+.PP
 labelstr match
 labelstr match
+.RS 4
 This tape is the next one that matches the
 \fBlabelstr\fR
 pattern in
 This tape is the next one that matches the
 \fBlabelstr\fR
 pattern in
-\fBamanda.conf\fR. Tape scanning will continue.
+\fIamanda.conf\fR. Tape scanning will continue.
+.RE
 .RE
 .RE
-.IP
-.TP
-ERROR: cannot look up dump user \fBuser\fR
+.IP "" 4
+.RE
+.PP
+ERROR: cannot look up dump user \fIuser\fR
+.RS 4
 (error) Dump user
 (error) Dump user
-\fBuser\fR
+\fIuser\fR
 from
 from
-\fBamanda.conf\fR
+\fIamanda.conf\fR
 could not be found in the system password information.
 could not be found in the system password information.
-.TP
-ERROR: cannot look up my own uid (\fBuid\fR)
+.RE
+.PP
+ERROR: cannot look up my own uid (\fIuid\fR)
+.RS 4
 (error) User id
 (error) User id
-\fBuid\fR
+\fIuid\fR
 running
 \fBamcheck\fR
 could not be found in the system password information.
 running
 \fBamcheck\fR
 could not be found in the system password information.
-.TP
-ERROR: running as user \fBrunuser\fR instead of \fBdumpuser\fR
+.RE
+.PP
+ERROR: running as user \fIrunuser\fR instead of \fIdumpuser\fR
+.RS 4
 (error)
 \fBAmcheck\fR
 should be run as the dump user
 (error)
 \fBAmcheck\fR
 should be run as the dump user
-\fBdumpuser\fR
+\fIdumpuser\fR
 from
 from
-\fBamanda.conf\fR
+\fIamanda.conf\fR
 instead of
 instead of
-\fBrunuser\fR.
-.TP
-ERROR: program dir \fBdirectory\fR: not accessible
+\fIrunuser\fR.
+.RE
+.PP
+ERROR: program dir \fIdirectory\fR: not accessible
+.RS 4
 (error) The directory
 (error) The directory
-\fBAmanda\fR
+\fIAmanda\fR
 expects to find its auxiliary programs in,
 expects to find its auxiliary programs in,
-\fBdirectory\fR, is not accessible.
-.TP
-ERROR: program \fBprogram\fR: does not exist
+\fIdirectory\fR, is not accessible.
+.RE
+.PP
+ERROR: program \fIprogram\fR: does not exist
+.RS 4
 (error) Program
 (error) Program
-\fBprogram\fR
+\fIprogram\fR
 needed on the tape server could not be found.
 needed on the tape server could not be found.
-.TP
-ERROR: program \fBprogram\fR: not a file
+.RE
+.PP
+ERROR: program \fIprogram\fR: not a file
+.RS 4
 (error) Program
 (error) Program
-\fBprogram\fR
+\fIprogram\fR
 needed on the tape server exists but is not a file.
 needed on the tape server exists but is not a file.
-.TP
-ERROR: program \fBprogram\fR: not executable
+.RE
+.PP
+ERROR: program \fIprogram\fR: not executable
+.RS 4
 (error) Program
 (error) Program
-\fBprogram\fR
+\fIprogram\fR
 needed on the tape server exists but is not executable.
 needed on the tape server exists but is not executable.
-.TP
-WARNING: program \fBprogram\fR: not setuid-root
+.RE
+.PP
+WARNING: program \fIprogram\fR: not setuid\-root
+.RS 4
 (warning) Program
 (warning) Program
-\fBprogram\fR
+\fIprogram\fR
 needed on the tape server exists but should be owned by user "root" and setuid.
 needed on the tape server exists but should be owned by user "root" and setuid.
-.TP
-ERROR: \fBXXX\fR dir \fBdirectory\fR: not writable
+.RE
+.PP
+ERROR: \fIXXX\fR dir \fIdirectory\fR: not writable
+.RS 4
 (error) Directory
 (error) Directory
-\fBdirectory\fR
+\fIdirectory\fR
 is either not writable, i.e. the dump user will not be able to create or remove files, or cannot be accessed, perhaps because a parent directory does not allow search permission. The
 is either not writable, i.e. the dump user will not be able to create or remove files, or cannot be accessed, perhaps because a parent directory does not allow search permission. The
-\fBXXX\fR
+\fIXXX\fR
 may be:
 may be:
-.RS
-.TP
+.RS 4
+.PP
 log
 log
+.RS 4
 for the
 for the
-\fBAmanda\fR
+\fIAmanda\fR
 log directory (see
 \fBlogdir\fR
 in
 \fBamanda.conf\fR)
 log directory (see
 \fBlogdir\fR
 in
 \fBamanda.conf\fR)
-.TP
+.RE
+.PP
 oldlog
 oldlog
+.RS 4
 for the directory that holds the old log files (see
 \fBlogdir\fR
 in
 \fBamanda.conf\fR)
 for the directory that holds the old log files (see
 \fBlogdir\fR
 in
 \fBamanda.conf\fR)
-.TP
+.RE
+.PP
 info
 info
+.RS 4
 for an
 for an
-\fBAmanda\fR
+\fIAmanda\fR
 database information directory (see
 \fBcurinfo\fR
 in
 \fBamanda.conf\fR) or
 database information directory (see
 \fBcurinfo\fR
 in
 \fBamanda.conf\fR) or
-.TP
+.RE
+.PP
 index
 index
+.RS 4
 for an
 for an
-\fBAmanda\fR
+\fIAmanda\fR
 index directory (see
 \fBindexdir\fR
 in
 \fBamanda.conf\fR)
 index directory (see
 \fBindexdir\fR
 in
 \fBamanda.conf\fR)
-.TP
+.RE
+.PP
 tapelist
 tapelist
+.RS 4
 for the
 for the
-\fBAmanda\fR
+\fIAmanda\fR
 tapelist directory (see
 \fBtapelist\fR
 in
 \fBamanda.conf\fR)
 .RE
 tapelist directory (see
 \fBtapelist\fR
 in
 \fBamanda.conf\fR)
 .RE
-.IP
-.TP
-NOTE: \fBXXX\fR dir \fBdirectory\fR: does not exist
+.RE
+.IP "" 4
+.RE
+.PP
+NOTE: \fIXXX\fR dir \fIdirectory\fR: does not exist
+.RS 4
 (info) A database (info) or index directory does not exist or cannot be accessed. This might just mean this is a new client or disk, but if that is not the case, this should be treated as an error.
 (info) A database (info) or index directory does not exist or cannot be accessed. This might just mean this is a new client or disk, but if that is not the case, this should be treated as an error.
-.TP
+.RE
+.PP
 NOTE: it will be created on the next run
 NOTE: it will be created on the next run
+.RS 4
 (info) This indicates the info directory listed in the previous message will be created on the next run.
 (info) This indicates the info directory listed in the previous message will be created on the next run.
-.TP
-ERROR: \fBXXX\fR dir \fBname\fR: not a directory
+.RE
+.PP
+ERROR: \fIXXX\fR dir \fIname\fR: not a directory
+.RS 4
 (error)
 \fBAmcheck\fR
 expected
 (error)
 \fBAmcheck\fR
 expected
-\fBname\fR
+\fIname\fR
 to be a directory, but it is something else (e.g. file).
 to be a directory, but it is something else (e.g. file).
-.TP
+.RE
+.PP
 WARNING: info file \fIfile\fR: does not exist
 WARNING: info file \fIfile\fR: does not exist
+.RS 4
 (warning) File
 (warning) File
-\fBfile\fR
+\fIfile\fR
 does not exist in the text format database. Since the parent directories do exist, the file should already have been created.
 does not exist in the text format database. Since the parent directories do exist, the file should already have been created.
-.TP
+.RE
+.PP
 ERROR: info file \fIname\fR: not a file
 ERROR: info file \fIname\fR: not a file
+.RS 4
 (error)
 \fBAmcheck\fR
 expected
 (error)
 \fBAmcheck\fR
 expected
-\fBname\fR
+\fIname\fR
 to be a file, but it is something else (e.g. file).
 to be a file, but it is something else (e.g. file).
-.TP
+.RE
+.PP
 ERROR: info file \fIfile\fR: not readable
 ERROR: info file \fIfile\fR: not readable
+.RS 4
 (error) The text format database file
 (error) The text format database file
-\fBfile\fR
+\fIfile\fR
 is not readable.
 is not readable.
-.TP
+.RE
+.PP
 ERROR: log file \fIfile\fR: not writable
 ERROR: log file \fIfile\fR: not writable
+.RS 4
 (error) Log file
 (error) Log file
-\fBfile\fR
+\fIfile\fR
 (file
 \fBlog\fR
 in
 \fBlogdir\fR
 from
 \fBamanda.conf\fR) is either not writable, or cannot be accessed, perhaps because a parent directory does not allow search permission.
 (file
 \fBlog\fR
 in
 \fBlogdir\fR
 from
 \fBamanda.conf\fR) is either not writable, or cannot be accessed, perhaps because a parent directory does not allow search permission.
-.TP
-ERROR: tape list \fBtapelist\fR: not writable
+.RE
+.PP
+ERROR: tape list \fItapelist\fR: not writable
+.RS 4
 (error)
 (error)
-\fBAmanda\fR
+\fIAmanda\fR
 tape list file
 tape list file
-\fBtapelist\fR
+\fItapelist\fR
 (see
 \fBtapelist\fR
 in
 \fBamanda.conf\fR) is not writable or was not found.
 (see
 \fBtapelist\fR
 in
 \fBamanda.conf\fR) is not writable or was not found.
-.TP
-ERROR: tape list \fBtapelist\fR: parse error
+.RE
+.PP
+ERROR: tape list \fItapelist\fR: parse error
+.RS 4
 (error)
 (error)
-\fBAmanda\fR
+\fIAmanda\fR
 tape list file
 tape list file
-\fBtapelist\fR
+\fItapelist\fR
 (see
 \fBtapelist\fR
 in
 \fBamanda.conf\fR) could not be read or parsed.
 (see
 \fBtapelist\fR
 in
 \fBamanda.conf\fR) could not be read or parsed.
-.TP
+.RE
+.PP
 WARNING: tapedev is /dev/null, dumps will be thrown away
 WARNING: tapedev is /dev/null, dumps will be thrown away
+.RS 4
 (warning) The
 \fBtapedev\fR
 parameter in
 (warning) The
 \fBtapedev\fR
 parameter in
@@ -351,46 +427,57 @@ parameter in
 is set to
 \fI/dev/null\fR
 and
 is set to
 \fI/dev/null\fR
 and
-\fBAmanda\fR
+\fIAmanda\fR
 uses that when debugging to throw all the dump images away.
 uses that when debugging to throw all the dump images away.
-.TP
+.RE
+.PP
 WARNING: hold file \fIfile\fR exists
 WARNING: hold file \fIfile\fR exists
+.RS 4
 (info) Hold file
 (info) Hold file
-\fBfile\fR
+\fIfile\fR
 exists and will cause
 \fBamdump\fR
 to pause at the beginning until it is removed.
 exists and will cause
 \fBamdump\fR
 to pause at the beginning until it is removed.
-.TP
-ERROR: holding disk \fBdisk\fR: statfs: \fBerror message\fR
+.RE
+.PP
+ERROR: holding disk \fIdisk\fR: statfs: \fIerror message\fR
+.RS 4
 (error) An error was returned from the
 (error) An error was returned from the
-\fBstatfs\fR
+\fIstatfs\fR
 system call on holding disk
 system call on holding disk
-\fBdisk\fR
+\fIdisk\fR
 (maybe because it does not exist).
 (maybe because it does not exist).
-.TP
-ERROR: holding disk \fBdisk\fR: not writable
+.RE
+.PP
+ERROR: holding disk \fIdisk\fR: not writable
+.RS 4
 (error) Holding disk
 (error) Holding disk
-\fBdisk\fR, is not writable, probably because the caller does not have write permission or a parent directory does not allow search permission.
-.TP
-WARNING: holding disk \fBdisk\fR: available space unknown \fBN\fR KB requested.
+\fIdisk\fR, is not writable, probably because the caller does not have write permission or a parent directory does not allow search permission.
+.RE
+.PP
+WARNING: holding disk \fIdisk\fR: available space unknown \fIN\fR KB requested.
+.RS 4
 (warning)
 \fBAmcheck\fR
 could not determine the amount of available space on holding disk
 (warning)
 \fBAmcheck\fR
 could not determine the amount of available space on holding disk
-\fBdisk\fR
+\fIdisk\fR
 to see if there were at least
 to see if there were at least
-\fBN\fR
+\fIN\fR
 KBytes available.
 KBytes available.
-.TP
-WARNING: holding disk \fBdisk\fR: only \fBF\fR KB free (\fBR\fR KB requested).
+.RE
+.PP
+WARNING: holding disk \fIdisk\fR: only \fIF\fR KB free (\fIR\fR KB requested).
+.RS 4
 (warning)
 (warning)
-\fBamanda.conf\fR
+\fIamanda.conf\fR
 requested
 requested
-\fBR\fR
+\fIR\fR
 KBytes of free space on holding disk
 KBytes of free space on holding disk
-\fBdisk\fR, but only
-\fBF\fR
+\fIdisk\fR, but only
+\fIF\fR
 KBytes were available. 10 MBytes is subtracted for each backup process (see the
 KBytes were available. 10 MBytes is subtracted for each backup process (see the
-\fBinparallel\fR\fBamanda.conf\fR
+\fBinparallel\fR
+\fIamanda.conf\fR
 option) to allow for unexpected overruns.
 .sp
 .it 1 an-trap
 option) to allow for unexpected overruns.
 .sp
 .it 1 an-trap
@@ -398,79 +485,113 @@ option) to allow for unexpected overruns.
 .nr an-break-flag 1
 .br
 \fBNote\fR
 .nr an-break-flag 1
 .br
 \fBNote\fR
-Even though this message is listed as a warning, it causes  \fBamcheck\fR to exit with a non-zero status..TP
-Holding disk \fBdisk\fR: \fBN\fR KB disk space available, that's plenty.
+Even though this message is listed as a warning, it causes
+\fBamcheck\fR
+to exit with a non\-zero status.
+.RE
+.PP
+Holding disk \fIdisk\fR: \fIN\fR KB disk space available, that's plenty.
+.RS 4
 (info) There was sufficient free space on holding disk
 (info) There was sufficient free space on holding disk
-\fBdisk\fR.
-.TP
-WARNING: holding disk \fBdisk\fR: only \fBF\fR KB free, using nothing
+\fIdisk\fR.
+.RE
+.PP
+WARNING: holding disk \fIdisk\fR: only \fIF\fR KB free, using nothing
+.RS 4
 (warning) Holding disk
 (warning) Holding disk
-\fBdisk\fR
+\fIdisk\fR
 has
 has
-\fBF\fR
+\fIF\fR
 KBytes of free space, but that is not enough for what is requested in
 KBytes of free space, but that is not enough for what is requested in
-\fBamanda.conf\fR.
-.TP
-Holding disk \fBdisk\fR: \fBF\fR KB disk space available, using \fBU\fR KB
+\fIamanda.conf\fR.
+.RE
+.PP
+Holding disk \fIdisk\fR: \fIF\fR KB disk space available, using \fIU\fR KB
+.RS 4
 (info) Holding disk
 (info) Holding disk
-\fBdisk\fR
+\fIdisk\fR
 has
 has
-\fBF\fR
+\fIF\fR
 KBytes of free space and
 KBytes of free space and
-\fBAmanda\fR
+\fIAmanda\fR
 will be using up to
 will be using up to
-\fBU\fR
+\fIU\fR
 Kbytes.
 Kbytes.
-.TP
+.RE
+.PP
 WARNING: if a tape changer is not available, runtapes must be set to 1.
 WARNING: if a tape changer is not available, runtapes must be set to 1.
+.RS 4
 (warning) The
 (warning) The
-\fBruntapes\fR\fBamanda.conf\fR
+\fBruntapes\fR
+\fIamanda.conf\fR
 option must be set to 1 if the
 option must be set to 1 if the
-\fBtpchanger\fR\fBamanda.conf\fR
+\fBtpchanger\fR
+\fIamanda.conf\fR
 option is not set.
 option is not set.
-.TP
-ERROR: \fBerror message\fR.
+.RE
+.PP
+ERROR: \fIerror message\fR.
+.RS 4
 (error) An error was detected while initializing the tape changer.
 (error) An error was detected while initializing the tape changer.
-.TP
-ERROR: \fBtape device\fR: \fBerror message\fR.
+.RE
+.PP
+ERROR: \fItape device\fR: \fIerror message\fR.
+.RS 4
 (error) An error was detected while processing the tape label.
 (error) An error was detected while processing the tape label.
-.TP
-ERROR: cannot overwrite active tape \fBlabel\fR.
+.RE
+.PP
+ERROR: cannot overwrite active tape \fIlabel\fR.
+.RS 4
 (error) Tape
 (error) Tape
-\fBlabel\fR
+\fIlabel\fR
 is still active and cannot be used.
 is still active and cannot be used.
-.TP
-ERROR: label \fBlabel\fR doesn't match labelstr \fBpattern\fR .
+.RE
+.PP
+ERROR: label \fIlabel\fR doesn't match labelstr \fIpattern\fR .
+.RS 4
 (error) The label on tape
 (error) The label on tape
-\fBlabel\fR
+\fIlabel\fR
 does not match the
 does not match the
-\fBlabelstr\fR\fBamanda.conf\fR
+\fBlabelstr\fR
+\fIamanda.conf\fR
 option.
 option.
-.TP
+.RE
+.PP
 (expecting a new tape)
 (expecting a new tape)
+.RS 4
 (info) The tape is not OK and a new tape was expected.
 (info) The tape is not OK and a new tape was expected.
-.TP
-(expecting tape \fBlabel\fR or a new tape)
+.RE
+.PP
+(expecting tape \fIlabel\fR or a new tape)
+.RS 4
 (info) The tape is not OK and either tape
 (info) The tape is not OK and either tape
-\fBlabel\fR
+\fIlabel\fR
 or a new tape was expected.
 or a new tape was expected.
-.TP
-ERROR: tape \fBlabel\fR label ok, but is not writable.
+.RE
+.PP
+ERROR: tape \fIlabel\fR label ok, but is not writable.
+.RS 4
 (error) Tape
 (error) Tape
-\fBlabel\fR
+\fIlabel\fR
 is OK, but the write enable test failed.
 is OK, but the write enable test failed.
-.TP
-Tape \fBlabel\fR is writable.
+.RE
+.PP
+Tape \fIlabel\fR is writable.
+.RS 4
 (info) Tape
 (info) Tape
-\fBlabel\fR
+\fIlabel\fR
 is OK and the write enable test succeeded.
 is OK and the write enable test succeeded.
-.TP
-NOTE: skipping tape-writable test.
+.RE
+.PP
+NOTE: skipping tape\-writable test.
+.RS 4
 (info) The tape write test (see the
 (info) The tape write test (see the
-\fB-w\fR
+\fB\-w\fR
 option) was not enabled.
 option) was not enabled.
-.TP
+.RE
+.PP
 WARNING: skipping tape test because amdump or amflush seem to be running, WARNING: if they are not, you must run amcleanup
 WARNING: skipping tape test because amdump or amflush seem to be running, WARNING: if they are not, you must run amcleanup
+.RS 4
 (warning) It looked to
 \fBamcheck\fR
 like either
 (warning) It looked to
 \fBamcheck\fR
 like either
@@ -481,64 +602,87 @@ were running because a log file or amdump file exists. If they are not running,
 \fBamcleanup\fR
 to clear up a previous failure. Otherwise, you need to wait until they complete before running
 \fBamcheck\fR.
 \fBamcleanup\fR
 to clear up a previous failure. Otherwise, you need to wait until they complete before running
 \fBamcheck\fR.
-.TP
+.RE
+.PP
 NOTE: skipping tape checks
 NOTE: skipping tape checks
+.RS 4
 (info) The tape tests are being skipped because you used the
 (info) The tape tests are being skipped because you used the
-\fB-t\fR
+\fB\-t\fR
 command line option.
 command line option.
-.TP
-WARNING: \fBcompress\fR is not executable, server-compression and indexing will not work
+.RE
+.PP
+WARNING: \fIcompress\fR is not executable, server\-compression and indexing will not work
+.RS 4
 (warning) Compression program
 (warning) Compression program
-\fBcompress\fR
+\fIcompress\fR
 is not executable, so compression on the tape server host and creating index files will not work.
 is not executable, so compression on the tape server host and creating index files will not work.
-.TP
-Tape \fBlabel\fR label ok.
+.RE
+.PP
+Tape \fIlabel\fR label ok.
+.RS 4
 (info) Tape
 (info) Tape
-\fBlabel\fR
+\fIlabel\fR
 is OK for the next run.
 is OK for the next run.
-.TP
-Server check took \fBS\fR seconds.
+.RE
+.PP
+Server check took \fIS\fR seconds.
+.RS 4
 (info) Reports how long the tape server host checks took.
 (info) Reports how long the tape server host checks took.
-.TP
-ERROR: \fBhost\fR: could not resolve hostname
+.RE
+.PP
+ERROR: \fIhost\fR: could not resolve hostname
+.RS 4
 (error) Could not look up client hostname
 (error) Could not look up client hostname
-\fBhost\fR.
-.TP
-Client check: \fBH\fR hosts checked in \fBS\fR seconds, \fBN\fR problems found.
+\fIhost\fR.
+.RE
+.PP
+Client check: \fIH\fR hosts checked in \fIS\fR seconds, \fIN\fR problems found.
+.RS 4
 (info) Reports the number of client hosts checked, how long it took and the number of errors detected.
 (info) Reports the number of client hosts checked, how long it took and the number of errors detected.
-.TP
-WARNING: \fBhost\fR: selfcheck request timed out. Host down?
+.RE
+.PP
+WARNING: \fIhost\fR: selfcheck request timed out. Host down?
+.RS 4
 (warning) There was no response from
 (warning) There was no response from
-\fBhost\fR
+\fIhost\fR
 when trying to do the client checks. The host might really be down or it might not be configured properly.
 when trying to do the client checks. The host might really be down or it might not be configured properly.
-.TP
-ERROR: \fBhost\fR NAK: \fBmessage\fR
+.RE
+.PP
+ERROR: \fIhost\fR NAK: \fImessage\fR
+.RS 4
 (error)
 (error)
-\fBHost\fR
+\fIHost\fR
 reported a negative acknowledgment error of
 reported a negative acknowledgment error of
-\fBmessage\fR
+\fImessage\fR
 to the status check request.
 to the status check request.
-.TP
-ERROR: \fBhost\fR NAK: [NAK parse failed]
+.RE
+.PP
+ERROR: \fIhost\fR NAK: [NAK parse failed]
+.RS 4
 (error)
 \fBAmcheck\fR
 could not parse the negative acknowledgment error from
 (error)
 \fBAmcheck\fR
 could not parse the negative acknowledgment error from
-\fBhost\fR. There might be an
-\fBAmanda\fR
+\fIhost\fR. There might be an
+\fIAmanda\fR
 version mismatch between the host running
 \fBamcheck\fR
 and
 version mismatch between the host running
 \fBamcheck\fR
 and
-\fBhost\fR.
-.TP
-ERROR: \fBhost\fR [mutual-authentication failed]
+\fIhost\fR.
+.RE
+.PP
+ERROR: \fIhost\fR [mutual\-authentication failed]
+.RS 4
 (error) Kerberos authentication failed while contacting
 (error) Kerberos authentication failed while contacting
-\fBhost\fR.
-.TP
-ERROR: \fBhost\fR: \fBmessage\fR
+\fIhost\fR.
+.RE
+.PP
+ERROR: \fIhost\fR: \fImessage\fR
+.RS 4
 (error) Error
 (error) Error
-\fBmessage\fR
+\fImessage\fR
 was reported by the status check on
 was reported by the status check on
-\fBhost\fR.
+\fIhost\fR.
+.RE
 .SH "AUTHOR"
 .PP
 James da Silva,
 .SH "AUTHOR"
 .PP
 James da Silva,
@@ -547,9 +691,8 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamdump\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamdump\fR(8)
-
index 8fbe82a5873866b59b59890c66ca87aac72b672b..ba518506a96bed08019449de332d86beb7d54ec7 100644 (file)
@@ -1,25 +1,17 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMCHECKDB" 8 "" "" ""
+.\"     Title: amcheckdb
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMCHECKDB" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amcheckdb - check Amanda database for tape consistency
+amcheckdb \- check Amanda database for tape consistency
 .SH "SYNOPSIS"
 .HP 10
 \fBamcheckdb\fR \fIconfig\fR
 .SH "SYNOPSIS"
 .HP 10
 \fBamcheckdb\fR \fIconfig\fR
@@ -27,45 +19,48 @@ amcheckdb - check Amanda database for tape consistency
 .PP
 \fBAmcheckdb\fR
 verifies that every tape mentioned in the
 .PP
 \fBAmcheckdb\fR
 verifies that every tape mentioned in the
-\fBAmanda\fR
+\fIAmanda\fR
 database is still valid in the
 database is still valid in the
-\fBtapelist\fR
+\fItapelist\fR
 file.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 file.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "EXAMPLE"
 .PP
 This shows a normal response:
 .SH "EXAMPLE"
 .PP
 This shows a normal response:
+.sp
+.RS 4
 .nf
 .nf
-
 # amcheckdb daily
 Ready.
 .fi
 # amcheckdb daily
 Ready.
 .fi
+.RE
 .PP
 This shows tape
 .PP
 This shows tape
-\fBDMP014\fR
+\fIDMP014\fR
 is still listed in the database but is no longer listed in the
 is still listed in the database but is no longer listed in the
-\fBtapelist\fR
+\fItapelist\fR
 file:
 file:
+.sp
+.RS 4
 .nf
 .nf
-
 # amcheckdb daily
 Tape DMP014 missing in /usr/local/etc/amanda//daily/tapelist
 Ready.
 .fi
 # amcheckdb daily
 Tape DMP014 missing in /usr/local/etc/amanda//daily/tapelist
 Ready.
 .fi
+.RE
 .SH "AUTHOR"
 .PP
 .SH "AUTHOR"
 .PP
-Adrian T. Filipi-Martin <atf3r@cs.virginia.edu>: Original text
+Adrian T. Filipi\-Martin <atf3r@cs.virginia.edu>: Original text
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamadmin\fR(8),
 \fBamrmtape\fR(8),
 \fBamanda\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamadmin\fR(8),
 \fBamrmtape\fR(8),
 \fBamanda\fR(8)
-
index 0e2ed16b3efde5f9c1ae85fb7e5305a79f288528..3542e3ea160c776df4149b70cb06aa5b2bf9115c 100644 (file)
@@ -1,25 +1,17 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMCLEANUP" 8 "" "" ""
+.\"     Title: amcleanup
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMCLEANUP" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amcleanup - run the Amanda cleanup process after a failure
+amcleanup \- run the Amanda cleanup process after a failure
 .SH "SYNOPSIS"
 .HP 10
 \fBamcleanup\fR \fIconfig\fR
 .SH "SYNOPSIS"
 .HP 10
 \fBamcleanup\fR \fIconfig\fR
@@ -27,9 +19,9 @@ amcleanup - run the Amanda cleanup process after a failure
 .PP
 \fBAmcleanup\fR
 generates the
 .PP
 \fBAmcleanup\fR
 generates the
-\fB\fBAmanda\fR Mail Report\fR
+\fI\fIAmanda\fR\fR\fI Mail Report\fR
 and updates the
 and updates the
-\fBAmanda\fR
+\fIAmanda\fR
 databases after a system failure on a tape server host. This cleanup process is normally done automatically as part of the
 \fBamdump\fR
 program, but if
 databases after a system failure on a tape server host. This cleanup process is normally done automatically as part of the
 \fBamdump\fR
 program, but if
@@ -41,37 +33,45 @@ must be run some time later (usually during system boot).
 See the
 \fBamanda\fR(8)
 man page for more details about
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-k\fR
+.PP
+\fB\-k\fR
+.RS 4
 Kill all Amanda processes.
 Kill all Amanda processes.
+.RE
 .SH "EXAMPLES"
 .PP
 This example runs the
 .SH "EXAMPLES"
 .PP
 This example runs the
-\fBAmanda\fR
+\fIAmanda\fR
 cleanup process by hand after a failure.
 cleanup process by hand after a failure.
+.sp
+.RS 4
 .nf
 .nf
-
 % amcleanup daily
 .fi
 % amcleanup daily
 .fi
+.RE
 .PP
 Putting the following line in a system boot script (e.g.
 \fI/etc/rc.local\fR) runs the
 .PP
 Putting the following line in a system boot script (e.g.
 \fI/etc/rc.local\fR) runs the
-\fBAmanda\fR
+\fIAmanda\fR
 cleanup process as part of the reboot, eliminating the need to run it by hand.
 cleanup process as part of the reboot, eliminating the need to run it by hand.
+.sp
+.RS 4
 .nf
 .nf
-
 /usr/local/sbin/amcleanup daily
 .fi
 /usr/local/sbin/amcleanup daily
 .fi
+.RE
 .PP
 If nothing needs to be done,
 \fBamcleanup\fR
 exits normally with the message:
 .PP
 If nothing needs to be done,
 \fBamcleanup\fR
 exits normally with the message:
+.sp
+.RS 4
 .nf
 .nf
-
 amcleanup: no unprocessed logfile to clean up.
 .fi
 amcleanup: no unprocessed logfile to clean up.
 .fi
+.RE
 .SH "AUTHOR"
 .PP
 James da Silva,
 .SH "AUTHOR"
 .PP
 James da Silva,
@@ -79,9 +79,8 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamdump\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamdump\fR(8)
-
index ec21f6f1a95562f4901fbc3125995523bab4e2b4..0478b62d8f72583c247dca1fc199ada80e2b3f1c 100644 (file)
@@ -1,60 +1,56 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMCRYPT-OSSL-ASYM" 8 "" "" ""
+.\"     Title: amcrypt-ossl-asym
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMCRYPT\-OSSL\-ASYM" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amcrypt-ossl-asym - crypt program for Amanda asymmetric data encryption using OpenSSL
+amcrypt\-ossl\-asym \- crypt program for Amanda asymmetric data encryption using OpenSSL
 .SH "SYNOPSIS"
 .HP 18
 .SH "SYNOPSIS"
 .HP 18
-\fBamcrypt-ossl-asym\fR [-d]
+\fBamcrypt\-ossl\-asym\fR [\-d]
 .SH "DESCRIPTION"
 .PP
 .SH "DESCRIPTION"
 .PP
-\fBamcrypt-ossl-asym\fR
+
+\fBamcrypt\-ossl\-asym\fR
 uses
 \fBOpenSSL\fR
 to encrypt and decrypt data. OpenSSL is available from
 uses
 \fBOpenSSL\fR
 to encrypt and decrypt data. OpenSSL is available from
-www.openssl.org. OpenSSL offers a wide variety of cipher choices (
-\fBamcrypt-ossl-asym\fR
-defaults to 256-bit AES) and can use hardware cryptographic accelerators on several platforms.
+\fIwww.openssl.org\fR\&[1]. OpenSSL offers a wide variety of cipher choices (
+\fBamcrypt\-ossl\-asym\fR
+defaults to 256\-bit AES) and can use hardware cryptographic accelerators on several platforms.
 .PP
 .PP
-\fBamcrypt-ossl-asym\fR
+
+\fBamcrypt\-ossl\-asym\fR
 will search for the OpenSSL program in the following directories: /bin:/usr/bin:/usr/local/bin:/usr/ssl/bin:/usr/local/ssl/bin.
 .SH "GENERATING PUBLIC AND PRIVATE KEYS"
 .PP
 RSA keys can be generated with the standard OpenSSL commands, e.g.:
 will search for the OpenSSL program in the following directories: /bin:/usr/bin:/usr/local/bin:/usr/ssl/bin:/usr/local/ssl/bin.
 .SH "GENERATING PUBLIC AND PRIVATE KEYS"
 .PP
 RSA keys can be generated with the standard OpenSSL commands, e.g.:
+.sp
+.RS 4
 .nf
 .nf
-
 $ cd /var/lib/amanda
 $ cd /var/lib/amanda
-$ openssl genrsa -aes128 -out backup-privkey.pem 1024
+$ openssl genrsa \-aes128 \-out backup\-privkey.pem 1024
 Generating RSA private key, 1024 bit long modulus
 [...]
 Generating RSA private key, 1024 bit long modulus
 [...]
-Enter pass phrase for backup-privkey.pem: \fBENTER YOUR PASS PHRASE\fR
-Verifying - Enter pass phrase for backup-key.pem: \fBENTER YOUR PASS PHRASE\fR
+Enter pass phrase for backup\-privkey.pem: \fIENTER YOUR PASS PHRASE\fR
+Verifying \- Enter pass phrase for backup\-key.pem: \fIENTER YOUR PASS PHRASE\fR
 
 
-$ openssl rsa -in backup-privkey.pem -pubout -out backup-pubkey.pem
-Enter pass phrase for backup-privkey.pem: \fBENTER YOUR PASS PHRASE\fR
+$ openssl rsa \-in backup\-privkey.pem \-pubout \-out backup\-pubkey.pem
+Enter pass phrase for backup\-privkey.pem: \fIENTER YOUR PASS PHRASE\fR
 Writing RSA key
 
 .fi
 Writing RSA key
 
 .fi
+.RE
 .PP
 To generate a private key without a passphrase, omit the
 .PP
 To generate a private key without a passphrase, omit the
-\fB-aes128\fR
+\fB\-aes128\fR
 option. See
 \fBopenssl_genrsa\fR(1)
 for more key generation options.
 option. See
 \fBopenssl_genrsa\fR(1)
 for more key generation options.
@@ -62,35 +58,53 @@ for more key generation options.
 Note that it is always possible to generate the public key from the private key.
 .SH "KEY AND PASSPHRASE MANAGEMENT"
 .PP
 Note that it is always possible to generate the public key from the private key.
 .SH "KEY AND PASSPHRASE MANAGEMENT"
 .PP
-\fBamcrypt-ossl-asym\fR
+
+\fBamcrypt\-ossl\-asym\fR
 uses the
 uses the
-\fBpublic key\fR
+\fIpublic key\fR
 to encrypt data. The security of the data does not depend on the confidentiality of the public key. The
 to encrypt data. The security of the data does not depend on the confidentiality of the public key. The
-\fBprivate key\fR
+\fIprivate key\fR
 is used to decrypt data, and must be protected. Encrypted backup data cannot be recovered without the private key. The private key may optionally be encrypted with a passphrase.
 .PP
 While the public key must be online at all times to perorm backups, the private key and optional passphrase are only needed to restore data. It is recommended that the latter be stored offline all other times. For example, you could keep the private key on removable media, and copy it into place for a restore; or you could keep the private key online, encrypted with a passphrase that is present only for a restore.
 .PP
 OpenSSL's key derivation routines use a salt to guard against dictionary attacks on the pass phrase; still it is important to pick a pass phrase that is hard to guess. The Diceware method (see
 is used to decrypt data, and must be protected. Encrypted backup data cannot be recovered without the private key. The private key may optionally be encrypted with a passphrase.
 .PP
 While the public key must be online at all times to perorm backups, the private key and optional passphrase are only needed to restore data. It is recommended that the latter be stored offline all other times. For example, you could keep the private key on removable media, and copy it into place for a restore; or you could keep the private key online, encrypted with a passphrase that is present only for a restore.
 .PP
 OpenSSL's key derivation routines use a salt to guard against dictionary attacks on the pass phrase; still it is important to pick a pass phrase that is hard to guess. The Diceware method (see
-www.diceware.com) can be used to create passphrases that are difficult to guess and easy to remember.
+\fIwww.diceware.com\fR\&[2]) can be used to create passphrases that are difficult to guess and easy to remember.
 .SH "FILES"
 .SH "FILES"
-.TP
-/var/lib/amanda/backup-privkey.pem
+.PP
+/var/lib/amanda/backup\-privkey.pem
+.RS 4
 File containing the RSA private key. It should not be readable by any user other than the
 File containing the RSA private key. It should not be readable by any user other than the
-\fBAmanda\fR
+\fIAmanda\fR
 user.
 user.
-.TP
-/var/lib/amanda/backup-pubkey.pem
+.RE
+.PP
+/var/lib/amanda/backup\-pubkey.pem
+.RS 4
 File containing the RSA public key.
 File containing the RSA public key.
-.TP
+.RE
+.PP
 /var/lib/amanda/.am_passphrase
 /var/lib/amanda/.am_passphrase
+.RS 4
 File containing the passphrase. It should not be readable by any user other than the
 File containing the passphrase. It should not be readable by any user other than the
-\fBAmanda\fR
+\fIAmanda\fR
 user.
 user.
+.RE
 .SH "SEE ALSO"
 .PP
 .SH "SEE ALSO"
 .PP
+
 \fBamanda\fR(8),
 \fBamanda.conf\fR(5),
 \fBopenssl\fR(1),
 \fBamanda\fR(8),
 \fBamanda.conf\fR(5),
 \fBopenssl\fR(1),
-\fBamcrypt-ossl\fR(8)
-
+\fBamcrypt\-ossl\fR(8)
+.SH "REFERENCES"
+.IP " 1." 4
+www.openssl.org
+.RS 4
+\%http://www.openssl.org/
+.RE
+.IP " 2." 4
+www.diceware.com
+.RS 4
+\%http://www.diceware.com/
+.RE
index 215cb0900b11671bf4d199b5391741493a41fab8..17509ef5710d56c9bc8dd2de06ba49d38cd51026 100644 (file)
@@ -1,59 +1,67 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMCRYPT-OSSL" 8 "" "" ""
+.\"     Title: amcrypt-ossl
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMCRYPT\-OSSL" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amcrypt-ossl - crypt program for Amanda symmetric data encryption using OpenSSL
+amcrypt\-ossl \- crypt program for Amanda symmetric data encryption using OpenSSL
 .SH "SYNOPSIS"
 .HP 13
 .SH "SYNOPSIS"
 .HP 13
-\fBamcrypt-ossl\fR [-d]
+\fBamcrypt\-ossl\fR [\-d]
 .SH "DESCRIPTION"
 .PP
 .SH "DESCRIPTION"
 .PP
-\fBamcrypt-ossl\fR
+
+\fBamcrypt\-ossl\fR
 uses
 \fBOpenSSL\fR
 to encrypt and decrypt data. OpenSSL is available from
 uses
 \fBOpenSSL\fR
 to encrypt and decrypt data. OpenSSL is available from
-www.openssl.org. OpenSSL offers a wide variety of cipher choices (
-\fBamcrypt-ossl\fR
-defaults to 256-bit AES) and can use hardware cryptographic accelerators on several platforms.
+\fIwww.openssl.org\fR\&[1]. OpenSSL offers a wide variety of cipher choices (
+\fBamcrypt\-ossl\fR
+defaults to 256\-bit AES) and can use hardware cryptographic accelerators on several platforms.
 .PP
 .PP
-\fBamcrypt-ossl\fR
+
+\fBamcrypt\-ossl\fR
 will search for the OpenSSL program in the following directories: /bin:/usr/bin:/usr/local/bin:/usr/ssl/bin:/usr/local/ssl/bin.
 .SH "PASSPHRASE MANAGEMENT"
 .PP
 will search for the OpenSSL program in the following directories: /bin:/usr/bin:/usr/local/bin:/usr/ssl/bin:/usr/local/ssl/bin.
 .SH "PASSPHRASE MANAGEMENT"
 .PP
-\fBamcrypt-ossl\fR
+
+\fBamcrypt\-ossl\fR
 uses the same pass phrase to encrypt and decrypt data. It is very important to store and protect the pass phrase properly. Encrypted backup data can
 \fBonly\fR
 be recovered with the correct passphrase.
 .PP
 OpenSSL's key derivation routines use a salt to guard against dictionary attacks on the pass phrase; still it is important to pick a pass phrase that is hard to guess. The Diceware method (see
 uses the same pass phrase to encrypt and decrypt data. It is very important to store and protect the pass phrase properly. Encrypted backup data can
 \fBonly\fR
 be recovered with the correct passphrase.
 .PP
 OpenSSL's key derivation routines use a salt to guard against dictionary attacks on the pass phrase; still it is important to pick a pass phrase that is hard to guess. The Diceware method (see
-www.diceware.com) can be used to create passphrases that are difficult to guess and easy to remember.
+\fIwww.diceware.com\fR\&[2]) can be used to create passphrases that are difficult to guess and easy to remember.
 .SH "FILES"
 .SH "FILES"
-.TP
+.PP
 /var/lib/amanda/.am_passphrase
 /var/lib/amanda/.am_passphrase
+.RS 4
 File containing the pass phrase. It should not be readable by any user other than the
 File containing the pass phrase. It should not be readable by any user other than the
-\fBAmanda\fR
+\fIAmanda\fR
 user.
 user.
+.RE
 .SH "SEE ALSO"
 .PP
 .SH "SEE ALSO"
 .PP
+
 \fBamanda\fR(8),
 \fBamanda.conf\fR(5),
 \fBopenssl\fR(1),
 \fBamanda\fR(8),
 \fBamanda.conf\fR(5),
 \fBopenssl\fR(1),
-\fBamcrypt-ossl-asym\fR(8)
-
+\fBamcrypt\-ossl\-asym\fR(8)
+.SH "REFERENCES"
+.IP " 1." 4
+www.openssl.org
+.RS 4
+\%http://www.openssl.org/
+.RE
+.IP " 2." 4
+www.diceware.com
+.RS 4
+\%http://www.diceware.com/
+.RE
index 649fc819568f5726c34d27d1e698368ff908f468..54cd69012e1d4021bb4e8a2696e1039b0eb565b6 100644 (file)
@@ -1,30 +1,23 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMCRYPT" 8 "" "" ""
+.\"     Title: amcrypt
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMCRYPT" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amcrypt - reference crypt program for Amanda symmetric data encryption
+amcrypt \- reference crypt program for Amanda symmetric data encryption
 .SH "SYNOPSIS"
 .HP 8
 \fBamcrypt\fR
 .SH "DESCRIPTION"
 .PP
 .SH "SYNOPSIS"
 .HP 8
 \fBamcrypt\fR
 .SH "DESCRIPTION"
 .PP
+
 \fBamcrypt\fR
 requires
 \fBaespipe\fR,
 \fBamcrypt\fR
 requires
 \fBaespipe\fR,
@@ -32,39 +25,45 @@ requires
 and
 \fBgpg\fR
 to work. Aespipe is available from
 and
 \fBgpg\fR
 to work. Aespipe is available from
-: http://loop-aes.sourceforge.net
+\fI\%http://loop\-aes.sourceforge.net\fR
 .PP
 .PP
+
 \fBamcrypt\fR
 will search for the aespipe program in the following directories: /usr/bin:/usr/local/bin:/sbin:/usr/sbin.
 \fBamcrypt\fR
 will search for the aespipe program in the following directories: /usr/bin:/usr/local/bin:/sbin:/usr/sbin.
-\fBamcrypt\fR calls  \fBamaespipe\fR and pass the
-\fBpassphrase\fR through file descriptor 3.
-The passphrase should be stored in ~amanda/.am_passphrase.
-.SH "HOW TO CREATE ENCRYPTION KEYS FOR AMCRYPT"
+.PP
 
 
-1. Create 65 random encryption keys and encrypt those keys using gpg. Reading
-from /dev/random may take indefinitely long if kernel's random entropy pool
-is empty. If that happens, do some other work on some other console (use
-keyboard, mouse and disks). 
+\fBamcrypt\fR
+calls
+\fBamaespipe\fR
+and pass the
+\fBpassphrase\fR
+through file descriptor 3. The passphrase should be stored in ~amanda/.am_passphrase.
+.SH "HOW TO CREATE ENCRYPTION KEYS FOR AMCRYPT"
+.PP
+1. Create 65 random encryption keys and encrypt those keys using gpg. Reading from /dev/random may take indefinitely long if kernel's random entropy pool is empty. If that happens, do some other work on some other console (use keyboard, mouse and disks).
 .PP
 .PP
-head -c 2925 /dev/random | uuencode -m - | head -n 66 | tail -n 65 \ | gpg --symmetric -a > ~amanda/.gnupg/am_key.gpg
+head \-c 2925 /dev/random | uuencode \-m \- | head \-n 66 | tail \-n 65 \e | gpg \-\-symmetric \-a > ~amanda/.gnupg/am_key.gpg
 .PP
 This will ask for a passphrase. Remember this passphrase as you will need it in the next step.
 .PP
 .PP
 This will ask for a passphrase. Remember this passphrase as you will need it in the next step.
 .PP
-2. Store the passphrase inside the home-directory of the AMANDA-user and protect it with proper permissions:
+2. Store the passphrase inside the home\-directory of the AMANDA\-user and protect it with proper permissions:
+.sp
+.RS 4
 .nf
 .nf
-
 echo my_secret_passphrase > ~amanda/.am_passphrase
 chown amanda:disk ~amanda/.am_passphrase
 chmod 700 ~amanda/.am_passphrase
 .fi
 echo my_secret_passphrase > ~amanda/.am_passphrase
 chown amanda:disk ~amanda/.am_passphrase
 chmod 700 ~amanda/.am_passphrase
 .fi
+.RE
 .SH "KEY AND PASSPHRASE"
 .PP
 .SH "KEY AND PASSPHRASE"
 .PP
+
 \fBamcrypt\fR
 uses the same key to encrypt and decrypt data.
 \fBamcrypt\fR
 uses the same key to encrypt and decrypt data.
-
-It is very important to store and protect the key and the passphrase
-properly. Encrypted backup data can \fBonly\fR be recovered with the correct key and
-passphrase.
+.PP
+It is very important to store and protect the key and the passphrase properly. Encrypted backup data can
+\fBonly\fR
+be recovered with the correct key and passphrase.
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
@@ -72,4 +71,3 @@ passphrase.
 \fBaespipe\fR(1),
 \fBamaespipe\fR(8),
 \fBgpg\fR(1)
 \fBaespipe\fR(1),
 \fBamaespipe\fR(8),
 \fBgpg\fR(1)
-
index 01dd06496ac92a1fa22d5d74e4b193c965287ddf..d8463dcb46e4e63a6e300659b796ee673355f3bb 100644 (file)
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMDD" 8 "" "" ""
+.\"     Title: amdd
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMDD" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amdd - Amanda version of dd
+amdd \- Amanda version of dd
 .SH "SYNOPSIS"
 .HP 5
 .SH "SYNOPSIS"
 .HP 5
-\fBamdd\fR [-d] [\fIif=input\fR] [\fIof=output\fR] [\fIbs=blocksize\fR] [\fIskip=count\fR] [\fIcount=count\fR]
+\fBamdd\fR [\-d] [\fIif=input\fR] [\fIof=output\fR] [\fIbs=blocksize\fR] [\fIskip=count\fR] [\fIcount=count\fR]
 .SH "DESCRIPTION"
 .PP
 \fBAmdd\fR
 provides just enough of the standard UNIX
 \fBdd\fR
 command for the needs of
 .SH "DESCRIPTION"
 .PP
 \fBAmdd\fR
 provides just enough of the standard UNIX
 \fBdd\fR
 command for the needs of
-\fBAmanda\fR. This is handy when doing a full restore and the standard
+\fIAmanda\fR. This is handy when doing a full restore and the standard
 \fBdd\fR
 program has not yet been found.
 .PP
 \fBAmdd\fR
 also provides access to the
 \fBdd\fR
 program has not yet been found.
 .PP
 \fBAmdd\fR
 also provides access to the
-\fBAmanda\fR
+\fIAmanda\fR
 output drivers that support various tape simulations. This may be used for debugging or to convert from one format to another.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 output drivers that support various tape simulations. This may be used for debugging or to convert from one format to another.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR. See the
+\fIAmanda\fR. See the
 \fBOUTPUT DRIVERS\fR
 section of
 \fBOUTPUT DRIVERS\fR
 section of
-\fBamanda(8)\fR
+\fIamanda(8)\fR
 for more information on the
 for more information on the
-\fBAmanda\fR
+\fIAmanda\fR
 output drivers.
 .SH "OPTIONS"
 output drivers.
 .SH "OPTIONS"
-.TP
-\fB-d\fR
+.PP
+\fB\-d\fR
+.RS 4
 Turn on debugging output.
 Turn on debugging output.
-.TP
-\fB-l\fR\fIlength\fR
+.RE
+.PP
+\fB\-l\fR\fIlength\fR
+.RS 4
 Set the output length. If the output driver limits the output size, this controls when end of tape will be simulated.
 .sp
 Set the output length. If the output driver limits the output size, this controls when end of tape will be simulated.
 .sp
-\fBLength\fR
+\fILength\fR
 may have a multiplier suffix:
 .sp
 may have a multiplier suffix:
 .sp
+.RS 4
 .nf
 .nf
-
-k -> 1024 (Kilobytes)
-b -> 512 (Blocks)
-M -> 1024*1024 (Megabytes)
-
+k \-> 1024 (Kilobytes)
+b \-> 512 (Blocks)
+M \-> 1024*1024 (Megabytes)
 .fi
 .fi
+.RE
 The default is no multiplier (bytes).
 The default is no multiplier (bytes).
-.TP
-\fBif=\fR\fBinput\fR
+.RE
+.PP
+\fBif=\fR\fIinput\fR
+.RS 4
 Input to
 \fBdd\fR. Default is stdin.
 Input to
 \fBdd\fR. Default is stdin.
-.TP
-\fBof=\fR\fBoutput\fR
+.RE
+.PP
+\fBof=\fR\fIoutput\fR
+.RS 4
 Where to send the output of
 \fBdd\fR. Default is stdout.
 Where to send the output of
 \fBdd\fR. Default is stdout.
-.TP
-\fBbs=\fR\fBblocksize\fR
+.RE
+.PP
+\fBbs=\fR\fIblocksize\fR
+.RS 4
 Size of each record. Input records smaller than this will
 Size of each record. Input records smaller than this will
-\fBnot\fR
+\fInot\fR
 be padded. Output records will be the same size as the corresponding input record. Default is 512 bytes.
 .sp
 be padded. Output records will be the same size as the corresponding input record. Default is 512 bytes.
 .sp
-\fBBlocksize\fR
+\fIBlocksize\fR
 may have a multiplier suffix:
 .sp
 may have a multiplier suffix:
 .sp
+.RS 4
 .nf
 .nf
-
-k -> 1024 (Kilobytes)
-b -> 512 (Blocks)
-M -> 1024*1024 (Megabytes)
-
+k \-> 1024 (Kilobytes)
+b \-> 512 (Blocks)
+M \-> 1024*1024 (Megabytes)
 .fi
 .fi
+.RE
 The default is no multiplier (bytes).
 The default is no multiplier (bytes).
-.TP
-\fBcount=\fR\fBcount\fR
+.RE
+.PP
+\fBcount=\fR\fIcount\fR
+.RS 4
 Number of records to copy. Default is all records until end of file.
 Number of records to copy. Default is all records until end of file.
-.TP
-\fBskip=\fR\fBcount\fR
+.RE
+.PP
+\fBskip=\fR\fIcount\fR
+.RS 4
 Number of records to skip before copying input to output. Default is zero.
 Number of records to skip before copying input to output. Default is zero.
+.RE
 .SH "AUTHOR"
 .PP
 Marc Mengel
 .SH "AUTHOR"
 .PP
 Marc Mengel
@@ -107,8 +113,7 @@ Marc Mengel
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
-
index 39ea5c164c6003eae29bf482585dd5f18256bb56..3b3b5d9e70287727763bb9748cdc862204b2de66 100644 (file)
@@ -1,37 +1,27 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMDUMP" 8 "" "" ""
+.\"     Title: amdump
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMDUMP" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amdump - back up all disks in an Amanda configuration
+amdump \- back up all disks in an Amanda configuration
 .SH "SYNOPSIS"
 .HP 7
 .SH "SYNOPSIS"
 .HP 7
-\fBamdump\fR \fIconfig\fR [\fIhost\fR [\fIdisk\fR]*]*
-     [-o \fIconfigoption\fR]*
-
+\fBamdump\fR \fIconfig\fR [\fIhost\fR\ [\fIdisk\fR...]...] [\-o\ \fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 \fBAmdump\fR
 switches to the appropriate
 .SH "DESCRIPTION"
 .PP
 \fBAmdump\fR
 switches to the appropriate
-\fBAmanda\fR
-configuration directory, e.g. /usr/local/etc/amanda/\fBconfig\fR, then attempts to back up every disk specified by the
-\fBamanda.conf\fR
+\fIAmanda\fR
+configuration directory, e.g. /usr/local/etc/amanda/\fIconfig\fR, then attempts to back up every disk specified by the
+\fIamanda.conf\fR
 file.
 \fBAmdump\fR
 is normally run by
 file.
 \fBAmdump\fR
 is normally run by
@@ -39,7 +29,7 @@ is normally run by
 .PP
 You can specify many host/disk expressions, only disks that match an expression will be dumped. All disks are dumped if no expressions are given.
 .PP
 .PP
 You can specify many host/disk expressions, only disks that match an expression will be dumped. All disks are dumped if no expressions are given.
 .PP
-If the file /usr/local/etc/amanda/\fBconfig\fR/hold exists,
+If the file /usr/local/etc/amanda/\fIconfig\fR/hold exists,
 \fBamdump\fR
 will wait until it is removed before starting the backups. This allows scheduled backups to be delayed when circumstances warrant, for example, if the tape device is being used for some other purpose. While waiting,
 \fBamdump\fR
 \fBamdump\fR
 will wait until it is removed before starting the backups. This allows scheduled backups to be delayed when circumstances warrant, for example, if the tape device is being used for some other purpose. While waiting,
 \fBamdump\fR
@@ -48,25 +38,31 @@ checks for the hold file every minute.
 See the
 \fBamanda\fR(8)
 man page for more details about
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
+.PP
 \fIhost\fR [\fIdisk\fR]*
 \fIhost\fR [\fIdisk\fR]*
+.RS 4
 Specify the host and disk on which the command will work.
 Specify the host and disk on which the command will work.
-.TP
-\fB-o\fR \fIconfigoption\fR
+.RE
+.PP
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .SH "EXAMPLE"
 .PP
 Here is a typical crontab entry. It runs
 \fBamdump\fR
 every weeknight at 1 a.m. as user
 \fBbin\fR:
 .SH "EXAMPLE"
 .PP
 Here is a typical crontab entry. It runs
 \fBamdump\fR
 every weeknight at 1 a.m. as user
 \fBbin\fR:
+.sp
+.RS 4
 .nf
 .nf
-
-0 1 * * 1-5 bin /usr/local/sbin/amdump daily
+0 1 * * 1\-5 bin /usr/local/sbin/amdump daily
 .fi
 .fi
+.RE
 .PP
 Please see the
 \fBcrontab\fR(5)
 .PP
 Please see the
 \fBcrontab\fR(5)
@@ -74,13 +70,16 @@ or
 \fBcrontab\fR(1)
 manual page for the correct crontab format for your system.
 .SH "MESSAGES"
 \fBcrontab\fR(1)
 manual page for the correct crontab format for your system.
 .SH "MESSAGES"
-.TP
+.PP
 amdump: waiting for hold file to be removed
 amdump: waiting for hold file to be removed
+.RS 4
 The "hold" file exists and
 \fBamdump\fR
 is waiting for it to be removed before starting backups.
 The "hold" file exists and
 \fBamdump\fR
 is waiting for it to be removed before starting backups.
-.TP
+.RE
+.PP
 amdump: amdump or amflush is already running, or you must run amcleanup
 amdump: amdump or amflush is already running, or you must run amcleanup
+.RS 4
 Amdump detected another
 \fBamdump\fR
 or
 Amdump detected another
 \fBamdump\fR
 or
@@ -93,6 +92,7 @@ run. This run is terminated. If the problem is caused by the remains of a previo
 \fBamcleanup\fR(8)
 and then rerun
 \fBamdump\fR.
 \fBamcleanup\fR(8)
 and then rerun
 \fBamdump\fR.
+.RE
 .SH "AUTHOR"
 .PP
 James da Silva,
 .SH "AUTHOR"
 .PP
 James da Silva,
@@ -101,7 +101,7 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
@@ -110,4 +110,3 @@ Stefan G. Weichinger,
 \fBamrestore\fR(8),
 \fBamflush\fR(8),
 \fBcron\fR(8)
 \fBamrestore\fR(8),
 \fBamflush\fR(8),
 \fBcron\fR(8)
-
index 4d333869a165693a29fdeb938fa0ede0e519527a..ff941928651cd7beda0031de132a8ab6af6627a8 100644 (file)
@@ -1,33 +1,24 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMFETCHDUMP" 8 "" "" ""
+.\"     Title: amfetchdump
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMFETCHDUMP" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amfetchdump - extract backup images from multiple Amanda tapes.
+amfetchdump \- extract backup images from multiple Amanda tapes.
 .SH "SYNOPSIS"
 .HP 12
 .SH "SYNOPSIS"
 .HP 12
-\fBamfetchdump\fR [-pcClawns] [-d \fIdevice\fR] [-O \fIdirectory\fR] [-i \fIlogfile\fR] [-b \fIblocksize\fR] \fIconfig\fR \fIhostname\fR [\fIdisk\fR [ \fIdate\fR [ \fIlevel\fR [ \fIhostname\fR [...] ] ] ]] [-o \fIconfigoption\fR]*
-
+\fBamfetchdump\fR [\-pcClawns] [\-d\ \fIdevice\fR] [\-O\ \fIdirectory\fR] [\-i\ \fIlogfile\fR] [\-b\ \fIblocksize\fR] \fIconfig\fR \fIhostname\fR [\fIdisk\fR\ [\ \fIdate\fR\ [\ \fIlevel\fR\ [\ \fIhostname\fR\ [...]\ ]\ ]\ ]] [\-o\ \fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 \fBAmfetchdump\fR
 .SH "DESCRIPTION"
 .PP
 \fBAmfetchdump\fR
-pulls one or more matching dumps from tape or from the holding disk, handling the reassembly of multi-tape split dump files as well as any tape autochanger operations.
+pulls one or more matching dumps from tape or from the holding disk, handling the reassembly of multi\-tape split dump files as well as any tape autochanger operations.
 .PP
 It will automatically use the logs created by
 \fBamdump\fR(8)
 .PP
 It will automatically use the logs created by
 \fBamdump\fR(8)
@@ -35,53 +26,70 @@ to locate available dumps on tape, in the same way that the
 \fBfind\fR
 feature of
 \fBamadmin\fR(8)
 \fBfind\fR
 feature of
 \fBamadmin\fR(8)
-lists available dumps. If these logs are unavailable, it can search tape-by-tape to find what it needs, and can generate new logs to serve as an emergency tape inventory.
+lists available dumps. If these logs are unavailable, it can search tape\-by\-tape to find what it needs, and can generate new logs to serve as an emergency tape inventory.
 .PP
 The
 .PP
 The
-\fBhostname\fR,
-\fBdiskname\fR,
-\fBdatestamp\fR, and
-\fBlevel\fR
-dump pattern-matching works as in
+\fIhostname\fR,
+\fIdiskname\fR,
+\fIdatestamp\fR, and
+\fIlevel\fR
+dump pattern\-matching works as in
 \fBamrestore\fR(8), with the added requirement that at minimum a
 \fBamrestore\fR(8), with the added requirement that at minimum a
-\fBhostname\fR
+\fIhostname\fR
 must be specified when not in inventory mode.
 .PP
 Unless
 must be specified when not in inventory mode.
 .PP
 Unless
-\fB-p\fR
+\fB\-p\fR
 is used, backup images are extracted to files in the current directory named:
 .PP
 is used, backup images are extracted to files in the current directory named:
 .PP
-\fBhostname.diskname.datestamp.dumplevel\fR
+\fIhostname.diskname.datestamp.dumplevel\fR
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-p\fR
+.PP
+\fB\-p\fR
+.RS 4
 Pipe exactly one complete dump file to
 Pipe exactly one complete dump file to
-\fBstdout\fR, instead of writing the file to disk. This will restore only the first matching dumpfile (where "first" is determined by the dump log search facility).
-.TP
-\fB-d\fR \fIdevice\fR
+\fIstdout\fR, instead of writing the file to disk. This will restore only the first matching dumpfile (where "first" is determined by the dump log search facility).
+.RE
+.PP
+\fB\-d\fR \fIdevice\fR
+.RS 4
 Restore from this tape device instead of the default.
 Restore from this tape device instead of the default.
-.TP
-\fB-O\fR \fIdirectory\fR
+.RE
+.PP
+\fB\-O\fR \fIdirectory\fR
+.RS 4
 Output restored files to this directory, instead of to the current working directory.
 Output restored files to this directory, instead of to the current working directory.
-.TP
-\fB-c\fR
+.RE
+.PP
+\fB\-c\fR
+.RS 4
 Compress output, fastest method available.
 Compress output, fastest method available.
-.TP
-\fB-C\fR
+.RE
+.PP
+\fB\-C\fR
+.RS 4
 Compress output, smallest file size method available.
 Compress output, smallest file size method available.
-.TP
-\fB-l\fR
+.RE
+.PP
+\fB\-l\fR
+.RS 4
 Leave dumps in the compressed/uncompressed state in which they were found on tape. By default,
 \fBamfetchdump\fR
 will automatically uncompress when restoring.
 Leave dumps in the compressed/uncompressed state in which they were found on tape. By default,
 \fBamfetchdump\fR
 will automatically uncompress when restoring.
-.TP
-\fB-a\fR
+.RE
+.PP
+\fB\-a\fR
+.RS 4
 Assume that all tapes are already available, via tape changer or otherwise, instead of prompting the operator to ensure that all tapes are loaded.
 Assume that all tapes are already available, via tape changer or otherwise, instead of prompting the operator to ensure that all tapes are loaded.
-.TP
-\fB-i\fR \fIfilename\fR
+.RE
+.PP
+\fB\-i\fR \fIfilename\fR
+.RS 4
 Generate an inventory of all dumps "seen" on the tapes we search, for later use as a log.
 Generate an inventory of all dumps "seen" on the tapes we search, for later use as a log.
-.TP
-\fB-w\fR
+.RE
+.PP
+\fB\-w\fR
+.RS 4
 Wait to put split dumps together until all chunks have been restored. Normally,
 \fBamfetchdump\fR
 will attempt to read pieces of a split file from tape in order, so that it can assemble them simply by appending each file to the first. This option disables the appending behavior, and instead restores each piece as an individual file and reassembles them only after all have been restored.
 Wait to put split dumps together until all chunks have been restored. Normally,
 \fBamfetchdump\fR
 will attempt to read pieces of a split file from tape in order, so that it can assemble them simply by appending each file to the first. This option disables the appending behavior, and instead restores each piece as an individual file and reassembles them only after all have been restored.
@@ -91,21 +99,31 @@ will attempt to read pieces of a split file from tape in order, so that it can a
 .nr an-break-flag 1
 .br
 \fBNote\fR
 .nr an-break-flag 1
 .br
 \fBNote\fR
-This requires at least double the size of your dump in free
-disk space, in order to build the final assembled dumpfile.This behavior is implicitly invoked in circumstances where knowing the location of all dumps on tape in advance is not possible, such as when you are restoring without log files.
-.TP
-\fB-n\fR
+This requires at least double the size of your dump in free disk space, in order to build the final assembled dumpfile.
+
+This behavior is implicitly invoked in circumstances where knowing the location of all dumps on tape in advance is not possible, such as when you are restoring without log files.
+.RE
+.PP
+\fB\-n\fR
+.RS 4
 Do not reassemble split dump files at all, just restore each piece as an individual file.
 Do not reassemble split dump files at all, just restore each piece as an individual file.
-.TP
-\fB-s\fR
-Do not fast-forward straight to needed files on tape. This will slow down most restores substantially. Only use this option if your tape drive does not properly support the fast-forward operation.
-.TP
-\fB-b\fR \fIblocksize\fR
+.RE
+.PP
+\fB\-s\fR
+.RS 4
+Do not fast\-forward straight to needed files on tape. This will slow down most restores substantially. Only use this option if your tape drive does not properly support the fast\-forward operation.
+.RE
+.PP
+\fB\-b\fR \fIblocksize\fR
+.RS 4
 Force a particular block size when reading from tapes. This value will usually be autodetected, and should not normally need to be set.
 Force a particular block size when reading from tapes. This value will usually be autodetected, and should not normally need to be set.
-.TP
-\fB-o\fR \fIconfigoption\fR
+.RE
+.PP
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .SH "EXAMPLES"
 .PP
 All the examples here assume your configuration is called
 .SH "EXAMPLES"
 .PP
 All the examples here assume your configuration is called
@@ -113,54 +131,53 @@ All the examples here assume your configuration is called
 .PP
 Here's a simple case, restoring all known dumps of the host vanya to the current working directory.
 .sp
 .PP
 Here's a simple case, restoring all known dumps of the host vanya to the current working directory.
 .sp
+.RS 4
 .nf
 .nf
-
 $ amfetchdump SetA vanya
 $ amfetchdump SetA vanya
-
 .fi
 .fi
+.RE
 .sp
 .PP
 A more likely scenario involves restoring a particular dump from a particular date. We'll pipe this one to
 .sp
 .PP
 A more likely scenario involves restoring a particular dump from a particular date. We'll pipe this one to
-\fBGNU-tar\fR
+\fBGNU\-tar\fR
 as well, to automatically extract the dump.
 .sp
 as well, to automatically extract the dump.
 .sp
+.RS 4
 .nf
 .nf
-
-$ amfetchdump -p SetA vanya /home 20051020 | gtar -xvpf -
-
+$ amfetchdump \-p SetA vanya /home 20051020 | gtar \-xvpf \-
 .fi
 .fi
+.RE
 .sp
 .PP
 In a situation where all of our dump logs have been wiped out, we could also use amfetchdump to inventory our tapes and recreate an imitation of those logs, which we'll send to
 .sp
 .PP
 In a situation where all of our dump logs have been wiped out, we could also use amfetchdump to inventory our tapes and recreate an imitation of those logs, which we'll send to
-\fBstdout\fR
+\fIstdout\fR
 for casual perusal.
 for casual perusal.
+
 .sp
 .sp
+.RS 4
 .nf
 .nf
-
-$ amfetchdump -i - SetA
-
+$ amfetchdump \-i \- SetA
 .fi
 .fi
+.RE
 .sp
 
 .PP
 Note that you can specify a restore while in inventory mode, and
 \fBamfetchdump\fR
 will continue searching for more dumps from this host even after successfully restoring a dump, inventorying all the while. If your backup searcher has been trashed, this is a handy way to recover what you have.
 .sp
 
 .PP
 Note that you can specify a restore while in inventory mode, and
 \fBamfetchdump\fR
 will continue searching for more dumps from this host even after successfully restoring a dump, inventorying all the while. If your backup searcher has been trashed, this is a handy way to recover what you have.
+
 .sp
 .sp
+.RS 4
 .nf
 .nf
-
-$ amfetchdump -i /var/amanda/log SetA backupserver
-
+$ amfetchdump \-i /var/amanda/log SetA backupserver
 .fi
 .fi
+.RE
 .sp
 
 .SH "CAVEATS"
 .sp
 
 .SH "CAVEATS"
-\fBAmfetchdump\fR is dependent on accessing your server's config,
-tape changer, and (normally) dump logs. As such, it's not necessarily
-the most useful tool when those have all been wiped out and you
-desperately need to pull things from your tape. Pains have been taken
-to make it as capable as possible, but for seriously minimialist
-restores, look to
+.PP
+\fBAmfetchdump\fR
+is dependent on accessing your server's config, tape changer, and (normally) dump logs. As such, it's not necessarily the most useful tool when those have all been wiped out and you desperately need to pull things from your tape. Pains have been taken to make it as capable as possible, but for seriously minimialist restores, look to
 \fBamrestore\fR(8)
 or
 \fBdd\fR(8)
 \fBamrestore\fR(8)
 or
 \fBdd\fR(8)
@@ -171,11 +188,11 @@ John Stange,
 <building@nap.edu>, National Academies Press
 .PP
 Ian Turner,
 <building@nap.edu>, National Academies Press
 .PP
 Ian Turner,
-<ian@zmanda.com>: XML-conversion
+<ian@zmanda.com>: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamadmin\fR(8),
 \fBamrestore\fR(8),
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamadmin\fR(8),
 \fBamrestore\fR(8),
-\fBtar\fR(1)\fBrestore\fR(8)
-
+\fBtar\fR(1)
+\fBrestore\fR(8)
index ec799afee0e9986a62d01c86231d7923cf4827a9..ff914dbc6a46fb3e4baa8695cd744015f29957c8 100644 (file)
@@ -1,81 +1,82 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMFLUSH" 8 "" "" ""
+.\"     Title: amflush
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMFLUSH" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amflush - flush Amanda backup files from holding disk to tape
+amflush \- flush Amanda backup files from holding disk to tape
 .SH "SYNOPSIS"
 .HP 8
 .SH "SYNOPSIS"
 .HP 8
-\fBamflush\fR [-b] [-f] [-s] [-D \fIdatestamp\fR]*
-     \fIconfig\fR [\fIhost\fR [\fIdisk\fR]*]*
-     [-o \fIconfigoption\fR]*
-
+\fBamflush\fR [\-b] [\-f] [\-s] [\-D\ \fIdatestamp\fR] \fIconfig\fR [\fIhost\fR\ [\fIdisk\fR...]...] [\-o\ \fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 \fBAmflush\fR
 writes
 .SH "DESCRIPTION"
 .PP
 \fBAmflush\fR
 writes
-\fBAmanda\fR
+\fIAmanda\fR
 backups from the holding disks to tape, and updates the
 backups from the holding disks to tape, and updates the
-\fBAmanda\fR
+\fIAmanda\fR
 info database and tapelist accordingly. Backups may stay in a holding disk when something is wrong with the tape at the time
 \fBamdump\fR
 is run. When this happens, the problem must be corrected and
 \fBamflush\fR
 run by hand.
 .SH "OPTIONS"
 info database and tapelist accordingly. Backups may stay in a holding disk when something is wrong with the tape at the time
 \fBamdump\fR
 is run. When this happens, the problem must be corrected and
 \fBamflush\fR
 run by hand.
 .SH "OPTIONS"
-.TP
-\fB-b\fR
+.PP
+\fB\-b\fR
+.RS 4
 Run
 \fBamflush\fR
 in batch mode. All datestamps are selected unless specified. The flush is started without confirmation.
 Run
 \fBamflush\fR
 in batch mode. All datestamps are selected unless specified. The flush is started without confirmation.
-.TP
-\fB-f\fR
+.RE
+.PP
+\fB\-f\fR
+.RS 4
 Run
 \fBamflush\fR
 in foreground.
 \fBAmflush\fR
 normally detaches itself from the tty and runs as a background process. With the
 Run
 \fBamflush\fR
 in foreground.
 \fBAmflush\fR
 normally detaches itself from the tty and runs as a background process. With the
-\fB-f\fR
+\fB\-f\fR
 option,
 \fBamflush\fR
 stays in the foreground. This is useful if
 \fBamflush\fR
 is run as part of another script that, for example, advances the tape after the flush is completed.
 option,
 \fBamflush\fR
 stays in the foreground. This is useful if
 \fBamflush\fR
 is run as part of another script that, for example, advances the tape after the flush is completed.
-.TP
-\fB-s\fR
+.RE
+.PP
+\fB\-s\fR
+.RS 4
 Write log to stdout/stderr instead of the amflush log file. Requires the
 Write log to stdout/stderr instead of the amflush log file. Requires the
-\fB-f\fR
+\fB\-f\fR
 option.
 option.
-.TP
-\fB-D datestamp\fR
+.RE
+.PP
+\fB\-D datestamp\fR
+.RS 4
 specify a datestamp expression you want to flush, see the "DATESTAMP EXPRESSION" section of
 \fBamanda\fR(8)
 for a description.
 specify a datestamp expression you want to flush, see the "DATESTAMP EXPRESSION" section of
 \fBamanda\fR(8)
 for a description.
-\fB-D 20001225-7\fR
+\fB\-D 20001225\-7\fR
 will flush all dumps from 25 december 2000 to 27 december 2000.
 will flush all dumps from 25 december 2000 to 27 december 2000.
-.TP
+.RE
+.PP
 \fIhost\fR [\fIdisk\fR]*
 \fIhost\fR [\fIdisk\fR]*
+.RS 4
 Specify the host and disk on which the command will work.
 Specify the host and disk on which the command will work.
-.TP
-\fB-o\fR \fIconfigoption\fR
+.RE
+.PP
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .PP
 You can specify many host/disk expressions, only disks that match an expression will be flushed. All disks are flushed if no expressions are given. see the "HOST & DISK EXPRESSION" section of
 \fBamanda\fR(8)
 .PP
 You can specify many host/disk expressions, only disks that match an expression will be flushed. All disks are flushed if no expressions are given. see the "HOST & DISK EXPRESSION" section of
 \fBamanda\fR(8)
@@ -83,10 +84,10 @@ for a description.
 .PP
 \fBAmflush\fR
 will look in the holding disks specified by the
 .PP
 \fBAmflush\fR
 will look in the holding disks specified by the
-\fBamanda.conf\fR
-file in /usr/local/etc/amanda/\fBconfig\fR
-for any non-empty
-\fBAmanda\fR
+\fIamanda.conf\fR
+file in /usr/local/etc/amanda/\fIconfig\fR
+for any non\-empty
+\fIAmanda\fR
 work directories. It then prompts you to select a directory or to process all of the directories. The work directories in the holding disks are named by the date at the time
 \fBamdump\fR
 was run, e.g.
 work directories. It then prompts you to select a directory or to process all of the directories. The work directories in the holding disks are named by the date at the time
 \fBamdump\fR
 was run, e.g.
@@ -95,24 +96,25 @@ was run, e.g.
 See the
 \fBamanda\fR(8)
 man page for more details about
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "EXAMPLE"
 .PP
 \fBAmflush\fR
 will search for holding areas associated with the
 .SH "EXAMPLE"
 .PP
 \fBAmflush\fR
 will search for holding areas associated with the
-\fBdaily\fR
+\fIdaily\fR
 configuration. After you select which holding area to flush,
 \fBamflush\fR
 writes the data to tape, updates the databases and sends a mail report similar to
 \fBamdump\fR(8).
 configuration. After you select which holding area to flush,
 \fBamflush\fR
 writes the data to tape, updates the databases and sends a mail report similar to
 \fBamdump\fR(8).
+.sp
+.RS 4
 .nf
 .nf
-
 % amflush daily
 % amflush daily
-Scanning /amanda-hold...
-  20001113: found \fBAmanda\fR directory.
-  20001114: found \fBAmanda\fR directory.
+Scanning /amanda\-hold...
+  20001113: found \fIAmanda\fR directory.
+  20001114: found \fIAmanda\fR directory.
 
 
-Multiple \fBAmanda\fR directories, please pick one by letter:
+Multiple \fIAmanda\fR directories, please pick one by letter:
   A. 20001113
   B. 20001114
 Select directories to flush [A..B]: [ALL] all
   A. 20001113
   B. 20001114
 Select directories to flush [A..B]: [ALL] all
@@ -125,6 +127,7 @@ Are you sure you want to do this? yes
 Running in background, you can log off now.
 You'll get mail when amflush is finished.
 .fi
 Running in background, you can log off now.
 You'll get mail when amflush is finished.
 .fi
+.RE
 .SH "AUTHOR"
 .PP
 James da Silva,
 .SH "AUTHOR"
 .PP
 James da Silva,
@@ -133,9 +136,8 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamdump\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamdump\fR(8)
-
index bf0d35c503d7355316db6d32adbe38a8c2db7ed9..a8f8217913e85256cf3a02cacda4096795be2841 100644 (file)
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMGETCONF" 8 "" "" ""
+.\"     Title: amgetconf
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMGETCONF" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amgetconf - look up amanda.conf variables
+amgetconf \- look up amanda.conf variables
 .SH "SYNOPSIS"
 .HP 10
 .SH "SYNOPSIS"
 .HP 10
-\fBamgetconf\fR [\fIconfig\fR] \fIparameter\fR [-o \fIconfigoption\fR]*
-
+\fBamgetconf\fR [\fIconfig\fR] [\fI\-\-list\fR] \fIparameter\fR [\-o\ \fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 \fBAmgetconf\fR
 looks up parameters in
 .SH "DESCRIPTION"
 .PP
 \fBAmgetconf\fR
 looks up parameters in
-\fBamanda.conf\fR, the
-\fBAmanda\fR
+\fIamanda.conf\fR, the
+\fIAmanda\fR
 configuration file, or from the build and runtime environment, and returns their corresponding value.
 .PP
 If
 configuration file, or from the build and runtime environment, and returns their corresponding value.
 .PP
 If
-\fBconfig\fR
+\fIconfig\fR
 is not specified,
 \fBamgetconf\fR
 assumes it is being run from the configuration directory and that
 is not specified,
 \fBamgetconf\fR
 assumes it is being run from the configuration directory and that
-\fBamanda.conf\fR
+\fIamanda.conf\fR
 is present.
 .PP
 If
 is present.
 .PP
 If
-\fBparameter\fR
+\fIparameter\fR
 begins with
 begins with
-\fBbuild.\fR, the (case insensitive) string following the period is a build environment variable. Variables without a value (e.g.
-\fBXFSDUMP\fR
+\fIbuild.\fR, the (case insensitive) string following the period is a build environment variable. Variables without a value (e.g.
+\fIXFSDUMP\fR
 on a system that does not support that type of file system) will not report an error and will return an empty string as the value. Flag variables (e.g.
 on a system that does not support that type of file system) will not report an error and will return an empty string as the value. Flag variables (e.g.
-\fBUSE_AMANDAHOSTS\fR) will return
+\fIUSE_AMANDAHOSTS\fR) will return
 1
 if the flag is set or an empty string if it is not.
 .PP
 If
 1
 if the flag is set or an empty string if it is not.
 .PP
 If
-\fBparameter\fR
+\fIparameter\fR
 begins with
 begins with
-\fBdbopen.\fR, the string following the period is a program name and an
-\fBAmanda\fR
+\fIdbopen.\fR, the string following the period is a program name and an
+\fIAmanda\fR
 debug file will be created for the caller. The name of the file is returned.
 .PP
 If
 debug file will be created for the caller. The name of the file is returned.
 .PP
 If
-\fBparameter\fR
+\fIparameter\fR
 begins with
 begins with
-\fBdbclose.\fR, the string following the period is a program name previously used with
-\fBdbopen.\fR, followed by a colon (:) and the previously opened file name.
+\fIdbclose.\fR, the string following the period is a program name previously used with
+\fIdbopen.\fR, followed by a colon (:) and the previously opened file name.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-o\fR \fIconfigoption\fR
+.PP
+\fB\-\-list\fR
+.RS 4
+The parameter must be 'tapetype', 'dumptype, 'holdingdisk' or 'interface'. It will output, one by line, the list of identifier for the parameter.
+.RS 4
+.PP
+\-\-list tapetype
+.RS 4
+Output the list of tapetype, one by line.
+.RE
+.PP
+\-\-list dumptype
+.RS 4
+Output the list of dumptype, one by line.
+.RE
+.PP
+\-\-list holdingdisk
+.RS 4
+Output the list of holdingdisk, one by line.
+.RE
+.PP
+\-\-list interface
+.RS 4
+Output the list of interface, one by line.
+.RE
+.RE
+.RE
+.PP
+\fBparameter\fR
+.RS 4
+It could be one of the below format:
+.RS 4
+.PP
+runtapes
+.RS 4
+.RE
+.PP
+DUMPTYPE:no\-compress:compress
+.RS 4
+.RE
+.PP
+TAPETYPE:HP\-DAT:length
+.RS 4
+.RE
+.PP
+INTERFACE:local:use
+.RS 4
+.RE
+.PP
+HOLDINGDISK:hd1:use
+.RS 4
+.RE
+.RE
+.RE
+.PP
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .SH "EXAMPLE"
 .PP
 Find out the path to the log file directory:
 .sp
 .SH "EXAMPLE"
 .PP
 Find out the path to the log file directory:
 .sp
+.RS 4
 .nf
 .nf
-
 % amgetconf daily logdir
 /usr/local/etc/amanda//daily
 % amgetconf daily logdir
 /usr/local/etc/amanda//daily
-
 .fi
 .fi
+.RE
 .sp
 .PP
 Find out the current tape type:
 .sp
 .sp
 .PP
 Find out the current tape type:
 .sp
+.RS 4
 .nf
 .nf
-
 % amgetconf daily tapetype
 % amgetconf daily tapetype
-DLT4000-IV
-
+DLT4000\-IV
 .fi
 .fi
+.RE
 .sp
 .PP
 Find out the default configuration directory:
 .sp
 .sp
 .PP
 Find out the default configuration directory:
 .sp
+.RS 4
 .nf
 .nf
-
 % amgetconf daily build.CONFIG_DIR
 /usr/local/etc/amanda/
 % amgetconf daily build.CONFIG_DIR
 /usr/local/etc/amanda/
-
 .fi
 .fi
+.RE
 .sp
 .PP
 Create, use and close a debug file in a script:
 .sp
 .sp
 .PP
 Create, use and close a debug file in a script:
 .sp
+.RS 4
 .nf
 .nf
-
 % set debug_file = `amgetconf daily dbopen.myscript`
 % echo debug information >> $debug_file
 % amgetconf daily dbclose.myscript:$debug_file
 % set debug_file = `amgetconf daily dbopen.myscript`
 % echo debug information >> $debug_file
 % amgetconf daily dbclose.myscript:$debug_file
-
 .fi
 .fi
+.RE
 .sp
 .SH "MESSAGES"
 .sp
 .SH "MESSAGES"
-.TP
-amgetconf: no such parameter \fBparam\fR
+.PP
+amgetconf: no such parameter \fIparam\fR
+.RS 4
 Parameter
 Parameter
-\fBparam\fR
+\fIparam\fR
 is not a known keyword (e.g. not a valid
 is not a known keyword (e.g. not a valid
-\fBamanda.conf\fR
+\fIamanda.conf\fR
 keyword).
 keyword).
+.RE
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
-
index aca2ce0b45198d4887eaa6c69c4c26f327c6b67b..89331dedc9614094e601936e3e96b693a369f00a 100644 (file)
@@ -1,35 +1,26 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMLABEL" 8 "" "" ""
+.\"     Title: amlabel
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMLABEL" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amlabel - label an Amanda tape
+amlabel \- label an Amanda tape
 .SH "SYNOPSIS"
 .HP 8
 .SH "SYNOPSIS"
 .HP 8
-\fBamlabel\fR [-f] \fIconfig\fR \fIlabel\fR [slot \fIslot\fR] [-o \fIconfigoption\fR]*
-
+\fBamlabel\fR [\-f] \fIconfig\fR \fIlabel\fR [slot\ \fIslot\fR] [\-o\ \fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 All
 .SH "DESCRIPTION"
 .PP
 All
-\fBAmanda\fR
-tapes must be pre-labeled before they are used.
-\fBAmanda\fR
+\fIAmanda\fR
+tapes must be pre\-labeled before they are used.
+\fIAmanda\fR
 verifies the label in
 \fBamdump\fR
 and
 verifies the label in
 \fBamdump\fR
 and
@@ -38,20 +29,21 @@ before writing to make sure the proper tape is loaded.
 .PP
 \fBAmlabel\fR
 writes an
 .PP
 \fBAmlabel\fR
 writes an
-\fBAmanda\fR
+\fIAmanda\fR
 label on the tape in the device specified by the
 label on the tape in the device specified by the
-\fBamanda.conf\fR
-file in /usr/local/etc/amanda/\fBconfig\fR.
-\fBLabel\fR
+\fIamanda.conf\fR
+file in /usr/local/etc/amanda/\fIconfig\fR.
+\fILabel\fR
 may be any string that does not contain whitespace and that matches the
 may be any string that does not contain whitespace and that matches the
-\fBamanda.conf\fR\fBlabelstr\fR
+\fIamanda.conf\fR
+\fBlabelstr\fR
 regular expression option. It is up to the system administrator to define a naming convention.
 .PP
 \fBAmlabel\fR
 appends the new tape to the
 regular expression option. It is up to the system administrator to define a naming convention.
 .PP
 \fBAmlabel\fR
 appends the new tape to the
-\fBtapelist\fR
+\fItapelist\fR
 file so it will be used by
 file so it will be used by
-\fBAmanda\fR
+\fIAmanda\fR
 before it reuses any other tapes. When you
 \fBamlabel\fR
 multiple tapes, they will be used in the order you
 before it reuses any other tapes. When you
 \fBamlabel\fR
 multiple tapes, they will be used in the order you
@@ -60,13 +52,13 @@ them.
 .PP
 \fBAmlabel\fR
 will not write the label if the tape contains an active
 .PP
 \fBAmlabel\fR
 will not write the label if the tape contains an active
-\fBAmanda\fR
+\fIAmanda\fR
 tape or if the label specified is on an active tape. The
 tape or if the label specified is on an active tape. The
-\fB-f\fR
+\fB\-f\fR
 (force) flag bypasses these verifications.
 .PP
 An optional
 (force) flag bypasses these verifications.
 .PP
 An optional
-\fBslot\fR
+\fIslot\fR
 may be specified after the tape label. If a tape changer is in use,
 \fBamlabel\fR
 will label the tape in the specified slot instead of the currently loaded tape.
 may be specified after the tape label. If a tape changer is in use,
 \fBamlabel\fR
 will label the tape in the specified slot instead of the currently loaded tape.
@@ -74,80 +66,98 @@ will label the tape in the specified slot instead of the currently loaded tape.
 See the
 \fBamanda\fR(8)
 man page for more details about
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-o\fR \fIconfigoption\fR
+.PP
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .SH "EXAMPLE"
 .PP
 Write an
 .SH "EXAMPLE"
 .PP
 Write an
-\fBAmanda\fR
+\fIAmanda\fR
 label with the string "DMP000" on the tape loaded in the device named in the
 \fBtapedev\fR
 option in /usr/local/etc/amanda/daily/amanda.conf:
 label with the string "DMP000" on the tape loaded in the device named in the
 \fBtapedev\fR
 option in /usr/local/etc/amanda/daily/amanda.conf:
+.sp
+.RS 4
 .nf
 .nf
-
 % amlabel daily DMP000 
 .fi
 % amlabel daily DMP000 
 .fi
+.RE
 .PP
 Label the tape in slot 3 of the currently configured tape changer with the string "DMP003":
 .PP
 Label the tape in slot 3 of the currently configured tape changer with the string "DMP003":
+.sp
+.RS 4
 .nf
 .nf
-
 % amlabel daily DMP003 slot 3 
 .fi
 % amlabel daily DMP003 slot 3 
 .fi
+.RE
 .SH "MESSAGES"
 .SH "MESSAGES"
-.TP
-label \fBlabel\fR doesn't match labelstr \fBstr\fR
+.PP
+label \fIlabel\fR doesn't match labelstr \fIstr\fR
+.RS 4
 Label
 Label
-\fBlabel\fR
+\fIlabel\fR
 on the command line does not match the
 on the command line does not match the
-\fBlabelstr\fR
+\fIlabelstr\fR
 regular expression
 regular expression
-\fBstr\fR
+\fIstr\fR
 from
 from
-\fBamanda.conf\fR.
-.TP
-label \fBlabel\fR already on a tape
+\fIamanda.conf\fR.
+.RE
+.PP
+label \fIlabel\fR already on a tape
+.RS 4
 Label
 Label
-\fBlabel\fR
+\fIlabel\fR
 is already listed as an active
 is already listed as an active
-\fBAmanda\fR
+\fIAmanda\fR
 tape.
 tape.
-.TP
-no tpchanger specified in \fBpath\fR , so slot command invalid
+.RE
+.PP
+no tpchanger specified in \fIpath\fR , so slot command invalid
+.RS 4
 The command line has the
 \fBslot\fR
 parameter but the
 The command line has the
 \fBslot\fR
 parameter but the
-\fBamanda.conf\fR
+\fIamanda.conf\fR
 file in
 file in
-\fBpath\fR
+\fIpath\fR
 does not have a tape changer configured.
 does not have a tape changer configured.
-.TP
-reading label \fBlabel\fR, tape is in another amanda configuration
+.RE
+.PP
+reading label \fIlabel\fR, tape is in another amanda configuration
+.RS 4
 This tape appears to be a valid
 This tape appears to be a valid
-\fBAmanda\fR
+\fIAmanda\fR
 tape, but label does not match
 \fBlabelstr\fR
 for this configuration so it is probably part of a different
 tape, but label does not match
 \fBlabelstr\fR
 for this configuration so it is probably part of a different
-\fBAmanda\fR
+\fIAmanda\fR
 configuration.
 configuration.
-.TP
-reading label \fBlabel\fR, tape is active
+.RE
+.PP
+reading label \fIlabel\fR, tape is active
+.RS 4
 Tape
 Tape
-\fBlabel\fR
+\fIlabel\fR
 appears to already be part of this
 appears to already be part of this
-\fBAmanda\fR
+\fIAmanda\fR
 configuration and active, i.e. has valid data on it.
 configuration and active, i.e. has valid data on it.
-.TP
-no label found, are you sure \fBtape\fR is non-rewinding?
+.RE
+.PP
+no label found, are you sure \fItape\fR is non\-rewinding?
+.RS 4
 While checking that the label was written correctly,
 \fBamlabel\fR
 While checking that the label was written correctly,
 \fBamlabel\fR
-got an error that might be caused by mis-configuring
-\fBAmanda\fR
-with a rewinding tape device name instead of a non-rewinding device name for
-\fBtape.\fR
+got an error that might be caused by mis\-configuring
+\fIAmanda\fR
+with a rewinding tape device name instead of a non\-rewinding device name for
+\fItape.\fR
+.RE
 .SH "AUTHOR"
 .PP
 James da Silva,
 .SH "AUTHOR"
 .PP
 James da Silva,
@@ -155,8 +165,9 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 .SH "SEE ALSO"
 .PP
-\fBamanda\fR(8)\fBamdump\fR(8)\fBamflush\fR(8)
-
+\fBamanda\fR(8)
+\fBamdump\fR(8)
+\fBamflush\fR(8)
index 8379129cf851a5f9c2cdbbe6f84e7365d01c8004..7999eade9a3ffc1ba39b9711c7164916c17be8fd 100644 (file)
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMMT" 8 "" "" ""
+.\"     Title: ammt
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMMT" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-ammt - Amanda version of mt
+ammt \- Amanda version of mt
 .SH "SYNOPSIS"
 .HP 5
 .SH "SYNOPSIS"
 .HP 5
-\fBammt\fR [-d] [-f -t \fIdevice\fR] \fIcommand\fR [\fIcount\fR]
+\fBammt\fR [\-d] [\-f | \-t | \fIdevice\fR] \fIcommand\fR [\fIcount\fR]
 .SH "DESCRIPTION"
 .PP
 \fBAmmt\fR
 provides just enough of the standard UNIX
 \fBmt\fR
 command for the needs of
 .SH "DESCRIPTION"
 .PP
 \fBAmmt\fR
 provides just enough of the standard UNIX
 \fBmt\fR
 command for the needs of
-\fBAmanda\fR. This is handy when doing a full restore and the standard
+\fIAmanda\fR. This is handy when doing a full restore and the standard
 \fBmt\fR
 program has not yet been found.
 .PP
 \fBAmmt\fR
 also provides access to the
 \fBmt\fR
 program has not yet been found.
 .PP
 \fBAmmt\fR
 also provides access to the
-\fBAmanda\fR
+\fIAmanda\fR
 output drivers that support various tape simulations.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 output drivers that support various tape simulations.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR. See the
+\fIAmanda\fR. See the
 \fBOUTPUT DRIVERS\fR
 section of
 \fBOUTPUT DRIVERS\fR
 section of
-\fBamanda(8)\fR
+\fIamanda(8)\fR
 for more information on the
 for more information on the
-\fBAmanda\fR
+\fIAmanda\fR
 output drivers.
 .SH "OPTIONS"
 output drivers.
 .SH "OPTIONS"
-.TP
-\fB-d\fR
+.PP
+\fB\-d\fR
+.RS 4
 Turn on debugging output.
 Turn on debugging output.
-.TP
-\fB-f\fR\fI device\fR
+.RE
+.PP
+\fB\-f\fR\fI device\fR
+.RS 4
 Access tape device
 Access tape device
-\fBdevice\fR. If not specified, the
+\fIdevice\fR. If not specified, the
 \fBTAPE\fR
 environment variable is used.
 \fBTAPE\fR
 environment variable is used.
-.TP
-\fB-t\fR\fI device\fR
+.RE
+.PP
+\fB\-t\fR\fI device\fR
+.RS 4
 Same as
 Same as
-\fB-f\fR.
-.TP
-\fBcommand\fR\fB count\fR
+\fB\-f\fR.
+.RE
+.PP
+\fBcommand\fR\fI count\fR
+.RS 4
 Which command to issue, and an optional count of operations.
 Which command to issue, and an optional count of operations.
+.RE
 .SH "COMMANDS"
 .PP
 Each command may be abbreviated to whatever length makes it unique.
 .SH "COMMANDS"
 .PP
 Each command may be abbreviated to whatever length makes it unique.
-.TP
-\fBeof|weof\fR\fB count\fR
+.PP
+\fBeof|weof\fR\fI count\fR
+.RS 4
 Write
 Write
-\fBcount\fR
+\fIcount\fR
 (default: 1) end of file marks (tapemarks).
 (default: 1) end of file marks (tapemarks).
-.TP
-\fBfsf\fR\fB count\fR
+.RE
+.PP
+\fBfsf\fR\fI count\fR
+.RS 4
 Skip forward
 Skip forward
-\fBcount\fR
+\fIcount\fR
 (default: 1) files.
 (default: 1) files.
-.TP
-\fBbsf\fR\fB count\fR
+.RE
+.PP
+\fBbsf\fR\fI count\fR
+.RS 4
 Skip backward
 Skip backward
-\fBcount\fR
+\fIcount\fR
 (default: 1) files.
 (default: 1) files.
-.TP
-\fBasf\fR\fB count\fR
+.RE
+.PP
+\fBasf\fR\fI count\fR
+.RS 4
 Position to file number
 Position to file number
-\fBcount\fR
+\fIcount\fR
 (default: 0) where zero is beginning of tape. This is the same as a
 \fBrewind\fR
 followed by a
 (default: 0) where zero is beginning of tape. This is the same as a
 \fBrewind\fR
 followed by a
-\fBfsf\fR\fBcount\fR.
-.TP
+\fBfsf\fR
+\fIcount\fR.
+.RE
+.PP
 \fBrewind\fR
 \fBrewind\fR
+.RS 4
 Rewind to beginning of tape.
 Rewind to beginning of tape.
-.TP
+.RE
+.PP
 \fBoffline|rewoffl\fR
 \fBoffline|rewoffl\fR
+.RS 4
 Rewind to beginning of tape and unload the tape from the drive.
 Rewind to beginning of tape and unload the tape from the drive.
-.TP
+.RE
+.PP
 \fBstatus\fR
 \fBstatus\fR
+.RS 4
 Report status information about the drive. Which data reported, and what it means, depends on the underlying operating system, and may include:
 Report status information about the drive. Which data reported, and what it means, depends on the underlying operating system, and may include:
-.RS
-.TP
+.RS 4
+.PP
 ONLINE
 ONLINE
+.RS 4
 Indicates the drive is online and ready.
 Indicates the drive is online and ready.
-.TP
+.RE
+.PP
 OFFLINE
 OFFLINE
+.RS 4
 Indicates the drive is offline or not ready.
 Indicates the drive is offline or not ready.
-.TP
+.RE
+.PP
 BOT
 BOT
+.RS 4
 Indicates the drive is at beginning of tape.
 Indicates the drive is at beginning of tape.
-.TP
+.RE
+.PP
 EOT
 EOT
+.RS 4
 Indicates the drive is at end of tape.
 Indicates the drive is at end of tape.
-.TP
+.RE
+.PP
 PROTECTED
 PROTECTED
+.RS 4
 Indicates the tape is write protected.
 Indicates the tape is write protected.
-.TP
+.RE
+.PP
 ds
 ds
+.RS 4
 Device status.
 Device status.
-.TP
+.RE
+.PP
 er
 er
+.RS 4
 Error register.
 Error register.
-.TP
+.RE
+.PP
 fileno
 fileno
+.RS 4
 Current tape file number.
 Current tape file number.
-.TP
+.RE
+.PP
 blkno
 blkno
+.RS 4
 Current tape block number file.
 .RE
 Current tape block number file.
 .RE
+.RE
+.RE
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
 \fBNote\fR
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
 \fBNote\fR
-Many systems only report good data when a tape is in the drive and ready.
 .PP
 .PP
-
+Many systems only report good data when a tape is in the drive and ready.
 .SH "AUTHOR"
 .PP
 Marc Mengel
 .SH "AUTHOR"
 .PP
 Marc Mengel
@@ -146,8 +178,7 @@ Marc Mengel
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
-
index 65ab30b4db3ae575511c8b4d2ed0a60184155be8..f0376b06352e369aece3963c70070cc2bb7505d8 100644 (file)
@@ -1,77 +1,85 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMOVERVIEW" 8 "" "" ""
+.\"     Title: amoverview
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMOVERVIEW" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amoverview - display file systems processed by Amanda over time
+amoverview \- display file systems processed by Amanda over time
 .SH "SYNOPSIS"
 .HP 11
 .SH "SYNOPSIS"
 .HP 11
-\fBamoverview\fR [[-config ] \fIconfig\fR] [-hostwidth \fIwidth\fR] [-diskwidth \fIwidth\fR] [-skipmissed] [-last] [-num0] [-togo0] [-verbose]
+\fBamoverview\fR [[\-config\ ]\ \fIconfig\fR] [\-hostwidth\ \fIwidth\fR] [\-diskwidth\ \fIwidth\fR] [\-skipmissed] [\-last] [\-num0] [\-togo0] [\-verbose]
 .SH "DESCRIPTION"
 .PP
 \fBAmoverview\fR
 displays a chart showing hosts and file systems processed by
 .SH "DESCRIPTION"
 .PP
 \fBAmoverview\fR
 displays a chart showing hosts and file systems processed by
-\fBAmanda\fR
+\fIAmanda\fR
 along with the backup level performed each day.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 along with the backup level performed each day.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-config\fR \fIconfig\fR
+.PP
+\fB\-config\fR \fIconfig\fR
+.RS 4
 Use configuration
 Use configuration
-\fBconfig\fR
+\fIconfig\fR
 instead of configuration daily.
 instead of configuration daily.
-.TP
-\fB-hostwidth\fR \fIwidth\fR
+.RE
+.PP
+\fB\-hostwidth\fR \fIwidth\fR
+.RS 4
 Set
 \fBhost\fR
 field column width to
 Set
 \fBhost\fR
 field column width to
-\fBwidth\fR
+\fIwidth\fR
 characters instead of 8.
 characters instead of 8.
-.TP
-\fB-diskwidth\fR \fIwidth\fR
+.RE
+.PP
+\fB\-diskwidth\fR \fIwidth\fR
+.RS 4
 Set
 \fBdisk\fR
 field column width to
 Set
 \fBdisk\fR
 field column width to
-\fBwidth\fR
+\fIwidth\fR
 characters instead of 20.
 characters instead of 20.
-.TP
-\fB-skipmissed\fR
+.RE
+.PP
+\fB\-skipmissed\fR
+.RS 4
 Compacts the output by only printing stats for the days
 Compacts the output by only printing stats for the days
-\fBAmanda\fR
+\fIAmanda\fR
 actually ran.
 actually ran.
-.TP
-\fB-last\fR
+.RE
+.PP
+\fB\-last\fR
+.RS 4
 Outputs the last status of each disk at the start. Useful for long tapecycles and/or sparse reports.
 Outputs the last status of each disk at the start. Useful for long tapecycles and/or sparse reports.
-.TP
-\fB-num0\fR
+.RE
+.PP
+\fB\-num0\fR
+.RS 4
 Outputs the number of level 0 dumps for each disk.
 Outputs the number of level 0 dumps for each disk.
-.TP
-\fB-togo0\fR
+.RE
+.PP
+\fB\-togo0\fR
+.RS 4
 Outputs the number of runs until the last level 0 dump is overwritten.
 Outputs the number of runs until the last level 0 dump is overwritten.
-.TP
-\fB-verbose\fR
+.RE
+.PP
+\fB\-verbose\fR
+.RS 4
 \fBAmoverview\fR
 can take a long while on large systems. This option reports intermediate steps while it is working.
 \fBAmoverview\fR
 can take a long while on large systems. This option reports intermediate steps while it is working.
+.RE
 .SH "RESULTS"
 .PP
 \fBamoverview\fR
 .SH "RESULTS"
 .PP
 \fBamoverview\fR
@@ -83,20 +91,21 @@ contains anything other than "OK", amoverview translates this into "E" for that
 .PP
 A number indicates the level of backup and it succeeded. An "E" indicates an error for that day. You get an "E" for all errors, like failed to connect, datatimeout, computer crashed, etc, but also for failing to write to tape.
 .PP
 .PP
 A number indicates the level of backup and it succeeded. An "E" indicates an error for that day. You get an "E" for all errors, like failed to connect, datatimeout, computer crashed, etc, but also for failing to write to tape.
 .PP
-You can have an "E" followed by a number if a filesystem ran into end-of-tape once (gives an "E", and later that day, you flush it to a second tape (a number: the level, indicating success). If the flush failed too, you get a double "EE" for that day.
+You can have an "E" followed by a number if a filesystem ran into end\-of\-tape once (gives an "E", and later that day, you flush it to a second tape (a number: the level, indicating success). If the flush failed too, you get a double "EE" for that day.
 .PP
 You can also have a double code if you have two tapes in the changer and
 .PP
 You can also have a double code if you have two tapes in the changer and
-\fBAmanda\fR
+\fIAmanda\fR
 failed to write to tape the first time because it hit end of tape (resulting in "E0", for a full, "E1" for an incremental etc.) or twice with error ("EE"), and may a successful flush afterwards giving maybe "EE0". (Only the latest 2 characters are printed).
 .SH "EXAMPLE"
 .PP
 This shows the
 \fI/home\fR
 file system on
 failed to write to tape the first time because it hit end of tape (resulting in "E0", for a full, "E1" for an incremental etc.) or twice with error ("EE"), and may a successful flush afterwards giving maybe "EE0". (Only the latest 2 characters are printed).
 .SH "EXAMPLE"
 .PP
 This shows the
 \fI/home\fR
 file system on
-\fBhost2\fR
+\fIhost2\fR
 was backed up at level 3 on the 8th, 9th and 10th of December, had a full backup on the 11th, a level 1 on the 12th and a level 2 on the 13th.
 was backed up at level 3 on the 8th, 9th and 10th of December, had a full backup on the 11th, a level 1 on the 12th and a level 2 on the 13th.
+.sp
+.RS 4
 .nf
 .nf
-
 # amoverview
                          date 12 12 12 12 12 12
 host     disk                 08 09 10 11 12 13
 # amoverview
                          date 12 12 12 12 12 12
 host     disk                 08 09 10 11 12 13
@@ -108,8 +117,8 @@ host2    /home                 3  3  3  0  1  2
 host2    /opt                  1  1  1  1  1  1
 host2    /var                  1  1  0  1  1  1 
 .fi
 host2    /opt                  1  1  1  1  1  1
 host2    /var                  1  1  0  1  1  1 
 .fi
+.RE
 .SH "SEE ALSO"
 .PP
 \fBamadmin\fR(8),
 \fBamanda\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamadmin\fR(8),
 \fBamanda\fR(8)
-
index 8445a41a0ed8b89ca4da64ab5e3d4114b26a5383..20d825fb654d77ff79dd65aa9473c121a566e666 100644 (file)
@@ -1,28 +1,20 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMPLOT" 8 "" "" ""
+.\"     Title: amplot
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMPLOT" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amplot - visualize the behavior of Amanda
+amplot \- visualize the behavior of Amanda
 .SH "SYNOPSIS"
 .HP 7
 .SH "SYNOPSIS"
 .HP 7
-\fBamplot\fR [-b] [-c] [-e] [-g] [-l] [-p] [-t \fIT\fR] \fIamdump_files\fR
+\fBamplot\fR [\-b] [\-c] [\-e] [\-g] [\-l] [\-p] [\-t\ \fIT\fR] \fIamdump_files\fR
 .br
 
 .SH "DESCRIPTION"
 .br
 
 .SH "DESCRIPTION"
@@ -31,9 +23,9 @@ amplot - visualize the behavior of Amanda
 reads an
 \fBamdump\fR
 output file that
 reads an
 \fBamdump\fR
 output file that
-\fBAmanda\fR
+\fIAmanda\fR
 generates each run (e.g.
 generates each run (e.g.
-\fBamdump.1\fR) and translates the information into a picture format that may be used to determine how your installation is doing and if any parameters need to be changed.
+\fIamdump.1\fR) and translates the information into a picture format that may be used to determine how your installation is doing and if any parameters need to be changed.
 \fBAmplot\fR
 also prints out
 \fBamdump\fR
 \fBAmplot\fR
 also prints out
 \fBamdump\fR
@@ -43,15 +35,15 @@ lines that it either does not understand or knows to be warning or error lines a
 is a shell script that executes an
 \fBawk\fR
 program
 is a shell script that executes an
 \fBawk\fR
 program
-\fB\fR(\fBamplot.awk\fR) to scan the
+(\fIamplot.awk\fR) to scan the
 \fBamdump\fR
 output file. It then executes a
 \fBgnuplot\fR
 program
 \fBamdump\fR
 output file. It then executes a
 \fBgnuplot\fR
 program
-\fB\fR(\fBamplot.g\fR) to generate the graph. The
+(\fIamplot.g\fR) to generate the graph. The
 \fBawk\fR
 program is written in an enhanced version of awk, such as GNU awk
 \fBawk\fR
 program is written in an enhanced version of awk, such as GNU awk
-\fB\fR(\fBgawk\fR
+(\fIgawk\fR
 version 2.15 or later) or
 \fBnawk\fR.
 .PP
 version 2.15 or later) or
 \fBnawk\fR.
 .PP
@@ -64,45 +56,59 @@ uses. These files are deleted at the end of execution.
 See the
 \fBamanda\fR(8)
 man page for more details about
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-b\fR
+.PP
+\fB\-b\fR
+.RS 4
 Generate b/w postscript file (need
 Generate b/w postscript file (need
-\fB-p\fR).
-.TP
-\fB-c\fR
+\fB\-p\fR).
+.RE
+.PP
+\fB\-c\fR
+.RS 4
 Compress
 Compress
-\fBamdump_files\fR
+\fIamdump_files\fR
 after plotting.
 after plotting.
-.TP
-\fB-e\fR
+.RE
+.PP
+\fB\-e\fR
+.RS 4
 Extend the X (time) axis if needed.
 Extend the X (time) axis if needed.
-.TP
-\fB-g\fR
+.RE
+.PP
+\fB\-g\fR
+.RS 4
 Direct
 Direct
-\fBgnuplot\fR
+\fIgnuplot\fR
 output directly to the X11 display (default).
 output directly to the X11 display (default).
-.TP
-\fB-p\fR
+.RE
+.PP
+\fB\-p\fR
+.RS 4
 Direct postscript output to file
 Direct postscript output to file
-\fB\fR\fBYYYYMMDD\fR\fB.ps\fR
+\fIYYYYMMDD\fR\fI.ps\fR
 (opposite of
 (opposite of
-\fB-g\fR).
-.TP
-\fB-l\fR
+\fB\-g\fR).
+.RE
+.PP
+\fB\-l\fR
+.RS 4
 Generate landscape oriented output (needs
 Generate landscape oriented output (needs
-\fB-p\fR).
-.TP
-\fB-t \fR\fBT\fR
+\fB\-p\fR).
+.RE
+.PP
+\fB\-t \fR\fIT\fR
+.RS 4
 Set the right edge of the plot to be
 Set the right edge of the plot to be
-\fBT\fR
+\fIT\fR
 hours.
 hours.
+.RE
 .PP
 The
 .PP
 The
-\fBamdump_files\fR
+\fIamdump_files\fR
 may be in various compressed formats
 may be in various compressed formats
-\fB\fR(\fBcompress\fR,
+(\fIcompress\fR,
 \fBgzip\fR,
 \fBpact\fR,
 \fBcompact\fR).
 \fBgzip\fR,
 \fBpact\fR,
 \fBcompact\fR).
@@ -113,19 +119,19 @@ The figure is divided into a number of regions. There are titles on the top that
 \fBamdump\fR
 was started. The Y axis is divided into 5 regions:
 .PP
 \fBamdump\fR
 was started. The Y axis is divided into 5 regions:
 .PP
-\fBQUEUES:\fR
+\fIQUEUES:\fR
 How many backups have not been started, how many are waiting on space in the holding disk and how many have been transferred successfully to tape.
 .PP
 How many backups have not been started, how many are waiting on space in the holding disk and how many have been transferred successfully to tape.
 .PP
-\fB%BANDWIDTH:\fR
+\fI%BANDWIDTH:\fR
 Percentage of allowed network bandwidth in use.
 .PP
 Percentage of allowed network bandwidth in use.
 .PP
-\fBHOLDING DISK:\fR
+\fIHOLDING DISK:\fR
 The higher line depicts space allocated on the holding disk to backups in progress and completed backups waiting to be written to tape. The lower line depicts the fraction of the holding disk containing completed backups waiting to be written to tape including the file currently being written to tape. The scale is percentage of the holding disk.
 .PP
 The higher line depicts space allocated on the holding disk to backups in progress and completed backups waiting to be written to tape. The lower line depicts the fraction of the holding disk containing completed backups waiting to be written to tape including the file currently being written to tape. The scale is percentage of the holding disk.
 .PP
-\fBTAPE:\fR
+\fITAPE:\fR
 Tape drive usage.
 .PP
 Tape drive usage.
 .PP
-\fB%DUMPERS:\fR
+\fI%DUMPERS:\fR
 Percentage of active dumpers.
 .PP
 The idle period at the left of the graph is time
 Percentage of active dumpers.
 .PP
 The idle period at the left of the graph is time
@@ -138,7 +144,7 @@ Olafur Gudmundsson
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "BUGS"
 .PP
 Reports lines it does not recognize, mainly error cases but some are legitimate lines the program needs to be taught about.
 .SH "BUGS"
 .PP
 Reports lines it does not recognize, mainly error cases but some are legitimate lines the program needs to be taught about.
@@ -153,4 +159,3 @@ Reports lines it does not recognize, mainly error cases but some are legitimate
 \fBsh\fR(1),
 \fBcompress\fR(1),
 \fBgzip\fR(1)
 \fBsh\fR(1),
 \fBcompress\fR(1),
 \fBgzip\fR(1)
-
index 40aa455c073eb4b94907f9ae05d66cc265fbc8a2..c2e9dad174fc4a0ca5594f2d9b3617a3b533ccee 100644 (file)
@@ -1,34 +1,25 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMRECOVER" 8 "" "" ""
+.\"     Title: amrecover
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMRECOVER" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amrecover - Amanda index database browser
+amrecover \- Amanda index database browser
 .SH "SYNOPSIS"
 .HP 10
 .SH "SYNOPSIS"
 .HP 10
-\fBamrecover\fR [[-C] \fIconfig\fR] [-s \fIindex-server\fR] [-t \fItape-server\fR] [-d \fItape-device\fR] [-o \fIclientconfigoption\fR]*
-
+\fBamrecover\fR [\-C\ \fIconfig\fR] [\-s\ \fIindex\-server\fR] [\-t\ \fItape\-server\fR] [\-d\ \fItape\-device\fR] [\-o\ \fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 \fBAmrecover\fR
 browses the database of
 .SH "DESCRIPTION"
 .PP
 \fBAmrecover\fR
 browses the database of
-\fBAmanda\fR
+\fIAmanda\fR
 index files to determine which tapes contain files to recover. Furthermore, it is able to recover files.
 .PP
 In order to restore files in place, you must invoke
 index files to determine which tapes contain files to recover. Furthermore, it is able to recover files.
 .PP
 In order to restore files in place, you must invoke
@@ -38,15 +29,15 @@ from the root of the backed up filesystem, or use
 to move into that directory, otherwise a directory tree that resembles the backed up filesystem will be created in the current directory. See the examples below for details.
 .PP
 Amrecover will read the
 to move into that directory, otherwise a directory tree that resembles the backed up filesystem will be created in the current directory. See the examples below for details.
 .PP
 Amrecover will read the
-\fBamanda-client.conf\fR
+\fBamanda\-client.conf\fR
 file and the
 file and the
-\fIconfig\fR\fB/amanda-client.conf\fR
+\fIconfig\fR\fB/amanda\-client.conf\fR
 file.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 file.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .sp
 .it 1 an-trap
 .SH "OPTIONS"
 .sp
 .it 1 an-trap
@@ -54,25 +45,37 @@ man page for more details about
 .nr an-break-flag 1
 .br
 \fBNote\fR
 .nr an-break-flag 1
 .br
 \fBNote\fR
-The Default values are those set at compile-time.
-Use \fBamrestore\fR to recover client-encrypted or
-client-custom-compressed tapes..TP
-\fB[ -C ] config\fR
-\fBAmanda\fR
+.PP
+The Default values are those set at compile\-time. Use
+\fBamrestore\fR
+to recover client\-encrypted or client\-custom\-compressed tapes.
+.PP
+\fB[ \-C ] config\fR
+.RS 4
+\fIAmanda\fR
 configuration.
 configuration.
-.TP
-\fB-s index-server\fR
+.RE
+.PP
+\fB\-s index\-server\fR
+.RS 4
 Host that runs the index daemon.
 Host that runs the index daemon.
-.TP
-\fB-t tape-server\fR
+.RE
+.PP
+\fB\-t tape\-server\fR
+.RS 4
 Host that runs the tape server daemon.
 Host that runs the tape server daemon.
-.TP
-\fB-d tape-device\fR
+.RE
+.PP
+\fB\-d tape\-device\fR
+.RS 4
 Tape device to use on the tape server host.
 Tape device to use on the tape server host.
-.TP
-\fB-o\fR \fIclientconfigoption\fR
+.RE
+.PP
+\fB\-o\fR \fIclientconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .SH "COMMANDS"
 .PP
 \fBAmrecover\fR
 .SH "COMMANDS"
 .PP
 \fBAmrecover\fR
@@ -80,212 +83,271 @@ connects to the index server and then presents a command line prompt. Usage is s
 \fBamrecover\fR.
 .PP
 The purpose of browsing the database is to build up a
 \fBamrecover\fR.
 .PP
 The purpose of browsing the database is to build up a
-\fBrestore list\fR
+\fIrestore list\fR
 of files to be extracted from the backup system. The following commands are available:
 of files to be extracted from the backup system. The following commands are available:
-.TP
+.PP
 \fBsethost hostname\fR
 \fBsethost hostname\fR
+.RS 4
 Specifies which host to look at backup files for (default: the local host).
 Specifies which host to look at backup files for (default: the local host).
-.TP
-\fBsetdate YYYY-MM-DD-HH-MM[-SS] | YYYY-MM-DD\fR
+.RE
+.PP
+\fBsetdate YYYY\-MM\-DD\-HH\-MM[\-SS] | YYYY\-MM\-DD\fR
+.RS 4
 Set the restore time (default: now). File listing commands only return information on backup images for this day, for the day before with the next lower dump level, and so on, until the most recent level 0 backup on or before the specified date is encountered.
 .sp
 For example, if:
 .sp
 Set the restore time (default: now). File listing commands only return information on backup images for this day, for the day before with the next lower dump level, and so on, until the most recent level 0 backup on or before the specified date is encountered.
 .sp
 For example, if:
 .sp
+.RS 4
 .nf
 .nf
-
-1996-07-01 was a level 0 backup
-1996-07-02 through 1996-07-05 were level 1 backups
-1996-07-06 through 1997-07-08 were level 2 backups
-
+1996\-07\-01 was a level 0 backup
+1996\-07\-02 through 1996\-07\-05 were level 1 backups
+1996\-07\-06 through 1997\-07\-08 were level 2 backups
 .fi
 .fi
+.RE
 .sp
 then the command
 .sp
 then the command
-\fBsetdate 1997-07-08-00\fR
+\fBsetdate 1997\-07\-08\-00\fR
 would yield files from the following days:
 .sp
 would yield files from the following days:
 .sp
+.RS 4
 .nf
 .nf
-
-1997-07-08 (the latest level 2 backup)
-1997-07-05 (the latest level 1 backup)
-1997-07-01 (the latest level 0 backup)
-
+1997\-07\-08 (the latest level 2 backup)
+1997\-07\-05 (the latest level 1 backup)
+1997\-07\-01 (the latest level 0 backup)
 .fi
 .fi
+.RE
 .sp
 Only the most recent version of a file will be presented.
 .sp
 The following abbreviated date specifications are accepted:
 .sp
 Only the most recent version of a file will be presented.
 .sp
 The following abbreviated date specifications are accepted:
-.RS
-.TP
-\fB--MM-DD\fR
+.RS 4
+.PP
+\fB\-\-MM\-DD\fR
+.RS 4
 dates in the current year
 dates in the current year
-.TP
-\fB---DD\fR
+.RE
+.PP
+\fB\-\-\-DD\fR
+.RS 4
 dates in the current month of the current year
 .RE
 dates in the current month of the current year
 .RE
-.TP
-\fBsetdisk \fIdiskname\fR [\fImountpoint\fR]\fR
+.RE
+.RE
+.PP
+\fBsetdisk \fR\fIdiskname\fR [\fImountpoint\fR]
+.RS 4
 Specifies which disk to consider (default: the disk holding the working directory where
 \fBamrecover\fR
 is started). It can only be set after the host is set with
 \fBsethost\fR.
 Specifies which disk to consider (default: the disk holding the working directory where
 \fBamrecover\fR
 is started). It can only be set after the host is set with
 \fBsethost\fR.
-\fBDiskname\fR
+\fIDiskname\fR
 is the device name specified in the
 is the device name specified in the
-\fBamanda.conf\fR
+\fIamanda.conf\fR
 or
 or
-\fBdisklist\fR
+\fIdisklist\fR
 configuration file. The disk must be local to the host. If
 configuration file. The disk must be local to the host. If
-\fBmountpoint\fR
+\fImountpoint\fR
 is not specified, all pathnames will be relative to the (unknown) mount point instead of full pathnames.
 is not specified, all pathnames will be relative to the (unknown) mount point instead of full pathnames.
-.TP
-\fBlisthost [diskdevice]\fR
+.RE
+.PP
+\fBlisthost \fR[\fIdiskdevice\fR]
+.RS 4
 List all
 \fBhost\fR
 List all
 \fBhost\fR
-.TP
-\fBlistdisk [diskdevice]\fR
+.RE
+.PP
+\fBlistdisk \fR[\fIdiskdevice\fR]
+.RS 4
 List all
 \fBdiskname\fR
 List all
 \fBdiskname\fR
-.TP
-\fBsettape [[server]:][tapedev|default]\fR
-Specifies the host to use as the tape server, and which of its tape devices to use. If the server is omitted, but the colon is not, the server name reverts to the configure-time default. If the tape device is omitted, it remains unchanged. To use the default tape device selected by the tape server, the word
-\fBdefault\fR
+.RE
+.PP
+\fBsettape \fR[[\fIserver\fR]:][\fItapedev\fR|\fIdefault\fR]
+.RS 4
+Specifies the host to use as the tape server, and which of its tape devices to use. If the server is omitted, but the colon is not, the server name reverts to the configure\-time default. If the tape device is omitted, it remains unchanged. To use the default tape device selected by the tape server, the word
+\fIdefault\fR
 must be specified. If no argument is specified, or the argument is an empty string, no changes occur, and the current settings are displayed.
 .sp
 If you want amrecover to use your changer, the
 must be specified. If no argument is specified, or the argument is an empty string, no changes occur, and the current settings are displayed.
 .sp
 If you want amrecover to use your changer, the
-\fBtapedev\fR
+\fItapedev\fR
 must be equal to the amrecover_changer setting on the server.
 .sp
 If you need to change the protocol (tape:, rait:, file:, null:) then you must specify the hostname.
 must be equal to the amrecover_changer setting on the server.
 .sp
 If you need to change the protocol (tape:, rait:, file:, null:) then you must specify the hostname.
+.sp
+.RS 4
 .nf
 .nf
-
 settape 192.168.0.10:file:/file1
 .fi
 settape 192.168.0.10:file:/file1
 .fi
+.RE
 You can change the tape device when amrecover ask you to load the tape:
 You can change the tape device when amrecover ask you to load the tape:
+.sp
+.RS 4
 .nf
 .nf
-
 Load tape DMP014 now
 Continue? [Y/n/t]: t
 Tape device: server2:/dev/nst2
 Continue? [Y/n/t]: Y
 Using tape /dev/nst2 from server server2.
 .fi
 Load tape DMP014 now
 Continue? [Y/n/t]: t
 Tape device: server2:/dev/nst2
 Continue? [Y/n/t]: Y
 Using tape /dev/nst2 from server server2.
 .fi
-.TP
-\fBsetmode mode\fR
+.RE
+.RE
+.PP
+\fBsetmode \fR\fImode\fR
+.RS 4
 Set the extraction mode for Samba shares. If
 Set the extraction mode for Samba shares. If
-\fBmode\fR
+\fImode\fR
 is
 \fBsmb\fR, shares are sent to the Samba server to be restored back onto the PC. If
 is
 \fBsmb\fR, shares are sent to the Samba server to be restored back onto the PC. If
-\fBmode\fR
+\fImode\fR
 is
 \fBtar\fR, they are extracted on the local machine the same way tar volumes are extracted.
 is
 \fBtar\fR, they are extracted on the local machine the same way tar volumes are extracted.
-.TP
+.RE
+.PP
 \fBmode\fR
 \fBmode\fR
+.RS 4
 Displays the extracting mode for Samba shares.
 Displays the extracting mode for Samba shares.
-.TP
+.RE
+.PP
 \fBhistory\fR
 \fBhistory\fR
+.RS 4
 Show the backup history of the current host and disk. Dates, levels, tapes and file position on tape of each backup are displayed.
 Show the backup history of the current host and disk. Dates, levels, tapes and file position on tape of each backup are displayed.
-.TP
+.RE
+.PP
 \fBpwd\fR
 \fBpwd\fR
+.RS 4
 Display the name of the current backup working directory.
 Display the name of the current backup working directory.
-.TP
+.RE
+.PP
 \fBcd dir\fR
 \fBcd dir\fR
+.RS 4
 Change the backup working directory to
 Change the backup working directory to
-\fBdir.\fR
+\fIdir.\fR
 If the mount point was specified with
 \fBsetdisk\fR, this can be a full pathname or it can be relative to the current backup working directory. If the mount point was not specified, paths are relative to the mount point if they start with "/", otherwise they are relative to the current backup working directory. The
 If the mount point was specified with
 \fBsetdisk\fR, this can be a full pathname or it can be relative to the current backup working directory. If the mount point was not specified, paths are relative to the mount point if they start with "/", otherwise they are relative to the current backup working directory. The
-\fBdir\fR
+\fIdir\fR
 can be a shell style wildcards.
 can be a shell style wildcards.
-.TP
-\fBcdx dir\fR
+.RE
+.PP
+\fBcdx \fR\fIdir\fR
+.RS 4
 Like the
 \fBcd\fR
 command but allow regular expression.
 Like the
 \fBcd\fR
 command but allow regular expression.
-.TP
+.RE
+.PP
 \fBlpwd\fR
 \fBlpwd\fR
+.RS 4
 Display the
 \fBamrecover\fR
 working directory. Files will be restored under this directory, relative to the backed up filesystem.
 Display the
 \fBamrecover\fR
 working directory. Files will be restored under this directory, relative to the backed up filesystem.
-.TP
-\fBlcd path\fR
+.RE
+.PP
+\fBlcd \fR\fIpath\fR
+.RS 4
 Change the
 \fBamrecover\fR
 working directory to
 Change the
 \fBamrecover\fR
 working directory to
-\fBpath\fR.
-.TP
+\fIpath\fR.
+.RE
+.PP
 \fBls\fR
 \fBls\fR
+.RS 4
 List the contents of the current backup working directory. See the description of the
 \fBsetdate\fR
 command for how the view of the directory is built up. The backup date is shown for each file.
 List the contents of the current backup working directory. See the description of the
 \fBsetdate\fR
 command for how the view of the directory is built up. The backup date is shown for each file.
-.TP
-\fBadd item1 item2 ...\fR
+.RE
+.PP
+\fBadd \fR\fIitem1 item2 ...\fR
+.RS 4
 Add the specified files or directories to the restore list. Each item may have shell style wildcards.
 Add the specified files or directories to the restore list. Each item may have shell style wildcards.
-.TP
-\fBaddx item1 item2 ...\fR
+.RE
+.PP
+\fBaddx \fR\fIitem1 item2 ...\fR
+.RS 4
 Add the specified files or directories to the restore list. Each item may be a regular expression.
 Add the specified files or directories to the restore list. Each item may be a regular expression.
-.TP
-\fBdelete item1 item2 ...\fR
+.RE
+.PP
+\fBdelete \fR\fIitem1 item2 ...\fR
+.RS 4
 Delete the specified files or directories from the restore list. Each item may have shell style wildcards.
 Delete the specified files or directories from the restore list. Each item may have shell style wildcards.
-.TP
-\fBdeletex item1 item2 ...\fR
+.RE
+.PP
+\fBdeletex \fR\fIitem1 item2 ...\fR
+.RS 4
 Delete the specified files or directories from the restore list. Each item may be a regular expression.
 Delete the specified files or directories from the restore list. Each item may be a regular expression.
-.TP
-\fBlist file\fR
+.RE
+.PP
+\fBlist \fR\fIfile\fR
+.RS 4
 Display the contents of the restore list. If a file name is specified, the restore list is written to that file. This can be used to manually extract the files from the
 Display the contents of the restore list. If a file name is specified, the restore list is written to that file. This can be used to manually extract the files from the
-\fBAmanda\fR
+\fIAmanda\fR
 tapes with
 \fBamrestore\fR.
 tapes with
 \fBamrestore\fR.
-.TP
+.RE
+.PP
 \fBclear\fR
 \fBclear\fR
+.RS 4
 Clear the restore list.
 Clear the restore list.
-.TP
+.RE
+.PP
 \fBquit\fR
 \fBquit\fR
+.RS 4
 Close the connection to the index server and exit.
 Close the connection to the index server and exit.
-.TP
+.RE
+.PP
 \fBexit\fR
 \fBexit\fR
+.RS 4
 Close the connection to the index server and exit.
 Close the connection to the index server and exit.
-.TP
+.RE
+.PP
 \fBextract\fR
 \fBextract\fR
+.RS 4
 Start the extract sequence (see the examples below). Make sure the local working directory is the root of the backed up filesystem, or another directory that will behave like that. Use
 \fBlpwd\fR
 to display the local working directory, and
 \fBlcd\fR
 to change it.
 Start the extract sequence (see the examples below). Make sure the local working directory is the root of the backed up filesystem, or another directory that will behave like that. Use
 \fBlpwd\fR
 to display the local working directory, and
 \fBlcd\fR
 to change it.
-.TP
+.RE
+.PP
 \fBhelp\fR
 \fBhelp\fR
+.RS 4
 Display a brief list of these commands.
 Display a brief list of these commands.
+.RE
 .SH "EXAMPLES"
 .PP
 The following shows the recovery of an old
 .SH "EXAMPLES"
 .PP
 The following shows the recovery of an old
-\fBsyslog\fR
+\fIsyslog\fR
 file.
 file.
+.sp
+.RS 4
 .nf
 .nf
-
 # cd /var/log
 # cd /var/log
-# ls -l syslog.7
+# ls \-l syslog.7
 syslog.7: No such file or directory
 # amrecover
 AMRECOVER Version 2.4.2. Contacting server on oops ...
 syslog.7: No such file or directory
 # amrecover
 AMRECOVER Version 2.4.2. Contacting server on oops ...
-220 oops \fBAmanda\fR index server (2.4.2) ready.
-Setting restore date to today (1997-12-09)
-200 Working date set to 1997-12-09.
+220 oops \fIAmanda\fR index server (2.4.2) ready.
+Setting restore date to today (1997\-12\-09)
+200 Working date set to 1997\-12\-09.
 200 Config set to daily.
 200 Config set to daily.
-200 Dump host set to this-host.some.org.
+200 Dump host set to this\-host.some.org.
 $CWD '/var/log' is on disk '/var' mounted at '/var'.
 200 Disk set to /var.
 /var/log
 $CWD '/var/log' is on disk '/var' mounted at '/var'.
 200 Disk set to /var.
 /var/log
-WARNING: not on root of selected filesystem, check man-page!
+WARNING: not on root of selected filesystem, check man\-page!
 amrecover> ls
 amrecover> ls
-1997-12-09 daemon.log
-1997-12-09 syslog
-1997-12-08 authlog
-1997-12-08 sysidconfig.log
-1997-12-08 syslog.0
-1997-12-08 syslog.1
-1997-12-08 syslog.2
-1997-12-08 syslog.3
-1997-12-08 syslog.4
-1997-12-08 syslog.5
-1997-12-08 syslog.6
-1997-12-08 syslog.7
+1997\-12\-09 daemon.log
+1997\-12\-09 syslog
+1997\-12\-08 authlog
+1997\-12\-08 sysidconfig.log
+1997\-12\-08 syslog.0
+1997\-12\-08 syslog.1
+1997\-12\-08 syslog.2
+1997\-12\-08 syslog.3
+1997\-12\-08 syslog.4
+1997\-12\-08 syslog.5
+1997\-12\-08 syslog.6
+1997\-12\-08 syslog.7
 amrecover> add syslog.7
 Added /log/syslog.7
 amrecover> lpwd
 amrecover> add syslog.7
 Added /log/syslog.7
 amrecover> lpwd
@@ -306,26 +368,28 @@ Continue? [Y/n/t]: y
 set owner/mode for '.'? [yn] n
 amrecover> quit
 200 Good bye.
 set owner/mode for '.'? [yn] n
 amrecover> quit
 200 Good bye.
-# ls -l syslog.7
+# ls \-l syslog.7
 total 26
 total 26
--rw-r--r--   1 root     other      12678 Oct 14 16:36 syslog.7
+\-rw\-r\-\-r\-\-   1 root     other      12678 Oct 14 16:36 syslog.7
 .fi
 .fi
+.RE
 .PP
 If you do not want to overwrite existing files, create a subdirectory to run
 \fBamrecover\fR
 from and then move the restored files afterward.
 .PP
 If you do not want to overwrite existing files, create a subdirectory to run
 \fBamrecover\fR
 from and then move the restored files afterward.
+.sp
+.RS 4
 .nf
 .nf
-
 # cd /var
 # (umask 077 ; mkdir .restore)
 # cd .restore
 # amrecover
 AMRECOVER Version 2.4.2. Contacting server on oops ...
 # cd /var
 # (umask 077 ; mkdir .restore)
 # cd .restore
 # amrecover
 AMRECOVER Version 2.4.2. Contacting server on oops ...
-...
+\&...
 amrecover> cd log
 /var/log
 amrecover> ls
 amrecover> cd log
 /var/log
 amrecover> ls
-...
+\&...
 amrecover> add syslog.7
 Added /log/syslog.7
 amrecover> lpwd
 amrecover> add syslog.7
 Added /log/syslog.7
 amrecover> lpwd
@@ -333,13 +397,14 @@ amrecover> lpwd
 amrecover> extract
 
 Extracting files using tape drive /dev/nst0 on host 192.168.0.10
 amrecover> extract
 
 Extracting files using tape drive /dev/nst0 on host 192.168.0.10
-...
+\&...
 amrecover> quit
 200 Good bye.
 amrecover> quit
 200 Good bye.
-# mv -i log/syslog.7 ../log/syslog.7-restored
+# mv \-i log/syslog.7 ../log/syslog.7\-restored
 # cd ..
 # cd ..
-# rm -fr .restore
+# rm \-fr .restore
 .fi
 .fi
+.RE
 .PP
 If you need to run
 \fBamrestore\fR
 .PP
 If you need to run
 \fBamrestore\fR
@@ -348,68 +413,73 @@ by hand instead of letting
 control it, use the
 \fBlist\fR
 command after browsing to display the needed tapes.
 control it, use the
 \fBlist\fR
 command after browsing to display the needed tapes.
+.sp
+.RS 4
 .nf
 .nf
-
 # cd /var/log
 # amrecover
 AMRECOVER Version 2.4.2. Contacting server on oops ...
 # cd /var/log
 # amrecover
 AMRECOVER Version 2.4.2. Contacting server on oops ...
-...
+\&...
 amrecover> ls
 amrecover> ls
-...
+\&...
 amrecover> add syslog syslog.6 syslog.7
 Added /log/syslog
 Added /log/syslog.6
 Added /log/syslog.7
 amrecover> list
 amrecover> add syslog syslog.6 syslog.7
 Added /log/syslog
 Added /log/syslog.6
 Added /log/syslog.7
 amrecover> list
-TAPE DMP014 LEVEL 0 DATE 1997-12-08
+TAPE DMP014 LEVEL 0 DATE 1997\-12\-08
         /log/syslog.7
         /log/syslog.6
         /log/syslog.7
         /log/syslog.6
-TAPE DMP015 LEVEL 1 DATE 1997-12-09
+TAPE DMP015 LEVEL 1 DATE 1997\-12\-09
         /log/syslog
 amrecover> quit 
 .fi
         /log/syslog
 amrecover> quit 
 .fi
+.RE
 .PP
 The
 \fBhistory\fR
 command shows each tape that has a backup of the current disk along with the date of the backup, the level, the tape label and the file position on the tape. All active tapes are listed, not just back to the most recent full dump.
 .PP
 Tape file position zero is a label. The first backup image is in file position one.
 .PP
 The
 \fBhistory\fR
 command shows each tape that has a backup of the current disk along with the date of the backup, the level, the tape label and the file position on the tape. All active tapes are listed, not just back to the most recent full dump.
 .PP
 Tape file position zero is a label. The first backup image is in file position one.
+.sp
+.RS 4
 .nf
 .nf
-
 # cd /var/log
 # amrecover
 AMRECOVER Version 2.4.2. Contacting server on oops ...
 # cd /var/log
 # amrecover
 AMRECOVER Version 2.4.2. Contacting server on oops ...
-...
+\&...
 amrecover> history
 amrecover> history
-200- Dump history for config "daily" host "this-host.some.org" disk "/var"
-201- 1997-12-09 1 DMP015 9
-201- 1997-12-08 1 DMP014 11
-201- 1997-12-07 0 DMP013 22
-201- 1997-12-06 1 DMP012 16
-201- 1997-12-05 1 DMP011 9
-201- 1997-12-04 0 DMP010 11
-201- 1997-12-03 1 DMP009 7
-201- 1997-12-02 1 DMP008 7
-201- 1997-12-01 1 DMP007 9
-201- 1997-11-30 1 DMP006 6
-...
+200\- Dump history for config "daily" host "this\-host.some.org" disk "/var"
+201\- 1997\-12\-09 1 DMP015 9
+201\- 1997\-12\-08 1 DMP014 11
+201\- 1997\-12\-07 0 DMP013 22
+201\- 1997\-12\-06 1 DMP012 16
+201\- 1997\-12\-05 1 DMP011 9
+201\- 1997\-12\-04 0 DMP010 11
+201\- 1997\-12\-03 1 DMP009 7
+201\- 1997\-12\-02 1 DMP008 7
+201\- 1997\-12\-01 1 DMP007 9
+201\- 1997\-11\-30 1 DMP006 6
+\&...
 amrecover> quit 
 .fi
 amrecover> quit 
 .fi
+.RE
 .SH "ENVIRONMENT"
 .PP
 .SH "ENVIRONMENT"
 .PP
-\fBPAGER\fRThe
+\fBPAGER\fR
+The
 \fBls\fR
 and
 \fBlist\fR
 commands will use $PAGER to display the file lists. Defaults to
 \fBls\fR
 and
 \fBlist\fR
 commands will use $PAGER to display the file lists. Defaults to
-\fBmore\fR
+\fImore\fR
 if PAGER is not set.
 .PP
 \fBAMANDA_SERVER\fR
 if PAGER is not set.
 .PP
 \fBAMANDA_SERVER\fR
-If set, $AMANDA_SERVER will be used as index-server. The value will take precedence over the compiled default, but will be overridden by the -s switch.
+If set, $AMANDA_SERVER will be used as index\-server. The value will take precedence over the compiled default, but will be overridden by the \-s switch.
 .PP
 \fBAMANDA_TAPE_SERVER\fR
 .PP
 \fBAMANDA_TAPE_SERVER\fR
-If set, $AMANDA_TAPE_SERVER will be used as tape-server. The value will take precedence over the compiled default, but will be overridden by the -t switch.
+If set, $AMANDA_TAPE_SERVER will be used as tape\-server. The value will take precedence over the compiled default, but will be overridden by the \-t switch.
 .SH "AUTHOR"
 .PP
 Alan M. McIvor
 .SH "AUTHOR"
 .PP
 Alan M. McIvor
@@ -418,12 +488,11 @@ Alan M. McIvor
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
-\fBamanda-client.conf\fR(5),
+\fBamanda\-client.conf\fR(5),
 \fBamrestore\fR(8),
 \fBamfetchdump\fR(8),
 \fBreadline\fR(3)
 \fBamrestore\fR(8),
 \fBamfetchdump\fR(8),
 \fBreadline\fR(3)
-
index 469ecc301e1592466bd7937ff161eef9864a749f..0aa0e09b98cba8d755a66aacda95388e54fb92d5 100644 (file)
@@ -1,29 +1,20 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMREPORT" 8 "" "" ""
+.\"     Title: amreport
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMREPORT" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amreport - generate a formatted output of statistics for an Amanda run
+amreport \- generate a formatted output of statistics for an Amanda run
 .SH "SYNOPSIS"
 .HP 9
 .SH "SYNOPSIS"
 .HP 9
-\fBamreport\fR [\fIconfig\fR] [-i] [-M \fIaddress\fR] [-l \fIlogfile\fR] [-f \fIoutputfile\fR] [-p \fIpostscriptfile\fR] [-o \fIconfigoption\fR]*
-
+\fBamreport\fR [\fIconfig\fR] [\-i] [\-M\ \fIaddress\fR] [\-l\ \fIlogfile\fR] [\-f\ \fIoutputfile\fR] [\-p\ \fIpostscriptfile\fR] [\-o\ \fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 \fBAmreport\fR
 .SH "DESCRIPTION"
 .PP
 \fBAmreport\fR
@@ -34,88 +25,101 @@ backup run. If no configuration name is specified, amanda.conf is read from the
 See the
 \fBamanda\fR(8)
 man page for more details about
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fBconfig\fR
+.PP
+\fIconfig\fR
+.RS 4
 Name of the configuration to process.
 Name of the configuration to process.
-.TP
-\fB-i\fR
+.RE
+.PP
+\fB\-i\fR
+.RS 4
 Don't email the report.
 Don't email the report.
-.TP
-\fB-M\fR \fIaddress\fR
+.RE
+.PP
+\fB\-M\fR \fIaddress\fR
+.RS 4
 Mail the report to
 Mail the report to
-\fBaddress\fR
+\fIaddress\fR
 instead of the
 \fBmailto\fR
 value from
 instead of the
 \fBmailto\fR
 value from
-\fBamanda.conf\fR.
-.TP
-\fB-l\fR \fIlogfile\fR
+\fIamanda.conf\fR.
+.RE
+.PP
+\fB\-l\fR \fIlogfile\fR
+.RS 4
 Name of the log file to parse to generate the report. If a log file is not specified, it defaults to the file:
 Name of the log file to parse to generate the report. If a log file is not specified, it defaults to the file:
+.RE
 .PP
 .PP
-\fBlogdir\fR/log
+\fIlogdir\fR/log
 .PP
 where
 .PP
 where
-\fBlogdir\fR
+\fIlogdir\fR
 is the log directory defined in amanda.conf.
 is the log directory defined in amanda.conf.
-.TP
-\fB-f\fR \fIoutputfile\fR
+.PP
+\fB\-f\fR \fIoutputfile\fR
+.RS 4
 Normally,
 \fBamreport\fR
 Normally,
 \fBamreport\fR
-sends the report via e-mail to the
-\fBmailto\fR
+sends the report via e\-mail to the
+\fImailto\fR
 user as defined in the amanda.conf file. If
 user as defined in the amanda.conf file. If
-\fBoutputfile\fR
+\fIoutputfile\fR
 is specified, then the report is put in
 is specified, then the report is put in
-\fBoutputfile\fR.
-.TP
-\fB-p\fR \fIpostscriptfile\fR
+\fIoutputfile\fR.
+.RE
+.PP
+\fB\-p\fR \fIpostscriptfile\fR
+.RS 4
 Send the postscript output to the file
 Send the postscript output to the file
-\fBpostscriptfile\fR
+\fIpostscriptfile\fR
 instead of to the
 \fBlpr\fR(1)
 command. This option has an effect only if the
 instead of to the
 \fBlpr\fR(1)
 command. This option has an effect only if the
-\fBlbl-templ\fR
+\fIlbl\-templ\fR
 directive is specified in amanda.conf.
 directive is specified in amanda.conf.
-.TP
-\fB-o\fR \fIconfigoption\fR
+.RE
+.PP
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .SH "LABEL PRINTING"
 .PP
 .SH "LABEL PRINTING"
 .PP
-\fBAmanda\fR
-can print postscript labels describing the contents of tape(s) written in a run. The labels are designed to be folded and inserted into the tape case along with the tape or hole punched and put in a 3-ring binder. Various label templates are provided to format data for different tape sizes.
+\fIAmanda\fR
+can print postscript labels describing the contents of tape(s) written in a run. The labels are designed to be folded and inserted into the tape case along with the tape or hole punched and put in a 3\-ring binder. Various label templates are provided to format data for different tape sizes.
 .PP
 .PP
-The information printed varies slightly between label templates due to size constraints. Labels contain one line for each host/file-system pair and may also contain the file number on the tape, the level of the dump, the original size of the dump and the size of the (possibly compressed) tape file.
+The information printed varies slightly between label templates due to size constraints. Labels contain one line for each host/file\-system pair and may also contain the file number on the tape, the level of the dump, the original size of the dump and the size of the (possibly compressed) tape file.
 .PP
 Add the
 .PP
 Add the
-\fBlbl-templ\fR
+\fIlbl\-templ\fR
 parameter to the tapetype definition in amanda.conf to enable labels. If you don't add this line to your tapetype definition,
 \fBamreport\fR
 will not print tape labels.
 .PP
 You may use the
 parameter to the tapetype definition in amanda.conf to enable labels. If you don't add this line to your tapetype definition,
 \fBamreport\fR
 will not print tape labels.
 .PP
 You may use the
-\fBremap='I'>printer\fR
+\fIremap='I'>printer\fR
 keyword in amanda.conf to print to other than the system default printer.
 .SH "TEMPLATES"
 .PP
 keyword in amanda.conf to print to other than the system default printer.
 .SH "TEMPLATES"
 .PP
-\fBAmanda\fR
+\fIAmanda\fR
 provides label templates for the following tape types. These are pretty generic labels and should be easy to customize for other tape types or particular site needs.
 .sp
 provides label templates for the following tape types. These are pretty generic labels and should be easy to customize for other tape types or particular site needs.
 .sp
+.RS 4
 .nf
 .nf
-
 * ExaByte 8mm tapes
 * DAT 4mm tapes
 * DLT tapes
 * ExaByte 8mm tapes
 * DAT 4mm tapes
 * DLT tapes
-* 3-ring binder
-
+* 3\-ring binder
 .fi
 .fi
+.RE
 .sp
 .PP
 .sp
 .PP
-The 3-ring binder type is the most generic. It may be used to make a hardcopy log of the tapes.
+The 3\-ring binder type is the most generic. It may be used to make a hardcopy log of the tapes.
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamflush\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamflush\fR(8)
-
index 15849198be90a42b12e4852db4ec644c8579e251..551d48287fe408ce4a29910ce5ccfac7e6832517 100644 (file)
@@ -1,40 +1,32 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMRESTORE" 8 "" "" ""
+.\"     Title: amrestore
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMRESTORE" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amrestore - extract backup images from an Amanda tape
+amrestore \- extract backup images from an Amanda tape
 .SH "SYNOPSIS"
 .HP 10
 .SH "SYNOPSIS"
 .HP 10
-\fBamrestore\fR [-r -c -C] [-b \fIblocksize\fR] [-f \fIfileno\fR] [-l \fIlabel\fR] [-p] [-h] \fItapedevice\fR| \fIholdingfile\fR  [\fIhostname\fR [\fIdiskname\fR [\fIdatestamp\fR [\fIhostname\fR [\fIdiskname\fR [\fIdatestamp\fR ...]]]]]]
+\fBamrestore\fR [\-r | \-c | \-C] [\-b | \fIblocksize\fR] [\-f | \fIfileno\fR] [\-l | \fIlabel\fR] [\-p] [\-h] \fItapedevice\fR|\ \fIholdingfile\fR  [\fIhostname\fR [\fIdiskname\fR [\fIdatestamp\fR [\fIhostname\fR [\fIdiskname\fR [\fIdatestamp\fR | ...]]]]]]
 .SH "DESCRIPTION"
 .PP
 \fBAmrestore\fR
 extracts backup images from the tape mounted on
 .SH "DESCRIPTION"
 .PP
 \fBAmrestore\fR
 extracts backup images from the tape mounted on
-\fBtapedevice\fR
+\fItapedevice\fR
 or from the holding disk file
 or from the holding disk file
-\fBholdingfile\fR
+\fIholdingfile\fR
 that match
 that match
-\fBhostname\fR,
-\fBdiskname\fR
+\fIhostname\fR,
+\fIdiskname\fR
 and
 and
-\fBdatestamp\fR
+\fIdatestamp\fR
 patterns given on the command line. The tape or holding file must be in a format written by the
 \fBamdump\fR
 or
 patterns given on the command line. The tape or holding file must be in a format written by the
 \fBamdump\fR
 or
@@ -42,205 +34,223 @@ or
 program.
 .PP
 If
 program.
 .PP
 If
-\fBdiskname\fR
+\fIdiskname\fR
 is not specified, all backups on the tape for the previous
 is not specified, all backups on the tape for the previous
-\fBhostname\fR
+\fIhostname\fR
 are candidates. If
 are candidates. If
-\fBdatestamp\fR
+\fIdatestamp\fR
 is not specified, all backups on the tape for the previous
 is not specified, all backups on the tape for the previous
-\fBhostname\fR
+\fIhostname\fR
 and
 and
-\fBdiskname\fR
+\fIdiskname\fR
 are candidates. If no
 are candidates. If no
-\fBhostname\fR,
-\fBdiskname\fR
+\fIhostname\fR,
+\fIdiskname\fR
 or
 or
-\fBdatestamp\fR
+\fIdatestamp\fR
 are specified, every backup on the tape is a candidate.
 .PP
 are specified, every backup on the tape is a candidate.
 .PP
-\fBHostname\fR
+\fIHostname\fR
 and
 and
-\fBdiskname\fR
+\fIdiskname\fR
 are special expressions described in the "HOST & DISK EXPRESSION" section of
 \fBamanda\fR(8).
 are special expressions described in the "HOST & DISK EXPRESSION" section of
 \fBamanda\fR(8).
-\fBDatestamp\fR
+\fIDatestamp\fR
 are special expression described in the "DATESTAMP EXPRESSION" section of
 \fBamanda\fR(8). For example, if
 are special expression described in the "DATESTAMP EXPRESSION" section of
 \fBamanda\fR(8). For example, if
-\fBdiskname\fR
+\fIdiskname\fR
 is "rz[23]a", it would match disks
 \fBrz2a\fR
 and
 \fBrz3a\fR.
 .PP
 is "rz[23]a", it would match disks
 \fBrz2a\fR
 and
 \fBrz3a\fR.
 .PP
-\fBDatestamp\fR
+\fIDatestamp\fR
 is useful if
 \fBamflush\fR
 writes multiple backup runs to a single tape.
 .PP
 Unless
 is useful if
 \fBamflush\fR
 writes multiple backup runs to a single tape.
 .PP
 Unless
-\fB-p\fR
+\fB\-p\fR
 is used, candidate backup images are extracted to files in the current directory named:
 .PP
 is used, candidate backup images are extracted to files in the current directory named:
 .PP
-\fBhostname.diskname.datestamp.dumplevel\fR
+\fIhostname.diskname.datestamp.dumplevel\fR
 .PP
 Amrestore doesn't use a changer, it restore from the tape already loaded in the
 .PP
 Amrestore doesn't use a changer, it restore from the tape already loaded in the
-\fBtapedevice.\fR
+\fItapedevice.\fR
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-b\fR
+.PP
+\fB\-b\fR
+.RS 4
 Set the blocksize used to read the tape or holding file. All holding files must be read with a blocksize of 32 KBytes.
 \fBAmrestore\fR
 should normally be able to determine the blocksize for tapes on its own and not need this parameter.
 Set the blocksize used to read the tape or holding file. All holding files must be read with a blocksize of 32 KBytes.
 \fBAmrestore\fR
 should normally be able to determine the blocksize for tapes on its own and not need this parameter.
+.RE
 .PP
 The default is 32 KBytes.
 .PP
 The default is 32 KBytes.
-.TP
-\fB-f\fR
+.PP
+\fB\-f\fR
+.RS 4
 Do a rewind followed by a fsf <fileno> before trying to restore an image.
 Do a rewind followed by a fsf <fileno> before trying to restore an image.
-.TP
-\fB-l\fR
+.RE
+.PP
+\fB\-l\fR
+.RS 4
 Check if we restoring from the tape with the right
 Check if we restoring from the tape with the right
-\fBlabel\fR
-.TP
-\fB-p\fR
+\fIlabel\fR
+.RE
+.PP
+\fB\-p\fR
+.RS 4
 Pipe output. The first matching backup image is sent to standard output, which is normally a pipe to
 \fBrestore\fR
 or
 \fBtar\fR, then
 \fBamrestore\fR
 Pipe output. The first matching backup image is sent to standard output, which is normally a pipe to
 \fBrestore\fR
 or
 \fBtar\fR, then
 \fBamrestore\fR
-quits. It may be run again to continue selecting backups to process. Make sure you specify the no-rewind
-\fBtapedevice\fR
+quits. It may be run again to continue selecting backups to process. Make sure you specify the no\-rewind
+\fItapedevice\fR
 when doing this.
 when doing this.
+.RE
 .PP
 Note:
 \fBrestore\fR
 may report "short read" errors when reading from a pipe. Most versions of
 \fBrestore\fR
 support a blocking factor option to let you set the read block size, and you should set it to 2. See the example below.
 .PP
 Note:
 \fBrestore\fR
 may report "short read" errors when reading from a pipe. Most versions of
 \fBrestore\fR
 support a blocking factor option to let you set the read block size, and you should set it to 2. See the example below.
-.TP
-\fB-c\fR
+.PP
+\fB\-c\fR
+.RS 4
 Compress output using the fastest method the compression program provides.
 \fBAmrestore\fR
 normally writes output files in a format understood by
 \fBrestore\fR
 or
 \fBtar\fR, even if the backups on the tape are compressed. With the
 Compress output using the fastest method the compression program provides.
 \fBAmrestore\fR
 normally writes output files in a format understood by
 \fBrestore\fR
 or
 \fBtar\fR, even if the backups on the tape are compressed. With the
-\fB-c\fR
+\fB\-c\fR
 or
 or
-\fB-C\fR
+\fB\-C\fR
 option,
 \fBamrestore\fR
 writes all files in compressed format, even if the backups on the tape are not compressed. Output file names will have a
 option,
 \fBamrestore\fR
 writes all files in compressed format, even if the backups on the tape are not compressed. Output file names will have a
-.Z
+\fB.Z\fR
 or
 or
-.gz
+\fB.gz\fR
 extension depending on whether
 \fBcompress\fR
 or
 \fBgzip\fR
 is the preferred compression program. This option is useful when the current directory disk is small.
 extension depending on whether
 \fBcompress\fR
 or
 \fBgzip\fR
 is the preferred compression program. This option is useful when the current directory disk is small.
-.TP
-\fB-C\fR
+.RE
+.PP
+\fB\-C\fR
+.RS 4
 Compress output using the best method the compression program provides (may be very CPU intensive). See the notes above about the
 Compress output using the best method the compression program provides (may be very CPU intensive). See the notes above about the
-\fB-c\fR
+\fB\-c\fR
 option.
 option.
-.TP
-\fB-r\fR
+.RE
+.PP
+\fB\-r\fR
+.RS 4
 Raw output. Backup images are output exactly as they are on the tape, including the
 \fBamdump\fR
 headers. Output file names will have a
 Raw output. Backup images are output exactly as they are on the tape, including the
 \fBamdump\fR
 headers. Output file names will have a
-.RAW
+\fB.RAW\fR
 extension. This option is only useful for debugging and other strange circumstances.
 extension. This option is only useful for debugging and other strange circumstances.
-.TP
-\fB-h\fR
+.RE
+.PP
+\fB\-h\fR
+.RS 4
 Header output. The tape header block is output at the beginning of each file. This is like
 Header output. The tape header block is output at the beginning of each file. This is like
-\fB-r\fR
+\fB\-r\fR
 except
 except
-\fB-c\fR
+\fB\-c\fR
 or
 or
-\fB-C\fR
+\fB\-C\fR
 may also be used to compress the result.
 \fBAmrecover\fR
 uses the header to determine the restore program to use.
 may also be used to compress the result.
 \fBAmrecover\fR
 uses the header to determine the restore program to use.
+.RE
+.PP
+If a header is written (\-r or \-h), only 32 KBytes are output regardless of the tape blocksize. This makes the resulting image usable as a holding file.
 .PP
 .PP
-If a header is written (-r or -h), only 32 KBytes are output regardless of the tape blocksize. This makes the resulting image usable as a holding file.
-.TP
-\fB-o\fR \fIconfigoption\fR
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
 See the "\fBCONFIGURATION OVERWRITE\fR" section in
 \fBamanda\fR(8).
+.RE
 .SH "EXAMPLES"
 .PP
 The following does an interactive restore of disk
 .SH "EXAMPLES"
 .PP
 The following does an interactive restore of disk
-\fBrz3g\fR
+\fIrz3g\fR
 from host
 from host
-\fBseine\fR, to restore particular files. Note the use of the
+\fIseine\fR, to restore particular files. Note the use of the
 \fBb\fR
 option to
 \fBb\fR
 option to
-\fBrestore\fR, which causes it to read in units of two 512-byte blocks (1 Kbyte) at a time. This helps keep it from complaining about short reads.
+\fBrestore\fR, which causes it to read in units of two 512\-byte blocks (1 Kbyte) at a time. This helps keep it from complaining about short reads.
 .sp
 .sp
+.RS 4
 .nf
 .nf
-
-% amrestore -p /dev/nrmt9 seine rz3g | restore -ivbf 2 -
-
+% amrestore \-p /dev/nrmt9 seine rz3g | restore \-ivbf 2 \-
 .fi
 .fi
+.RE
 .sp
 .PP
 The next example extracts all backup images for host
 .sp
 .PP
 The next example extracts all backup images for host
-\fBseine\fR. This is the usual way to extract all data for a host after a disk crash.
+\fIseine\fR. This is the usual way to extract all data for a host after a disk crash.
 .sp
 .sp
+.RS 4
 .nf
 .nf
-
 % amrestore /dev/nrmt9 seine
 % amrestore /dev/nrmt9 seine
-
 .fi
 .fi
+.RE
 .sp
 .PP
 If the backup datestamp in the above example is
 19910125
 and
 .sp
 .PP
 If the backup datestamp in the above example is
 19910125
 and
-\fBseine\fR
+\fIseine\fR
 has level 0 backups of disks
 has level 0 backups of disks
-\fBrz1a\fR
+\fIrz1a\fR
 and
 and
-\fBrz1g\fR
+\fIrz1g\fR
 on the tape, these files will be created in the current directory:
 .sp
 on the tape, these files will be created in the current directory:
 .sp
+.RS 4
 .nf
 .nf
-
 seine.rz1a.19910125.0
 seine.rz1g.19910125.0
 seine.rz1a.19910125.0
 seine.rz1g.19910125.0
-
 .fi
 .fi
+.RE
 .sp
 .PP
 You may also use
 \fBamrestore\fR
 to extract a backup image from a holding disk file that has not yet been flushed to tape:
 .sp
 .sp
 .PP
 You may also use
 \fBamrestore\fR
 to extract a backup image from a holding disk file that has not yet been flushed to tape:
 .sp
+.RS 4
 .nf
 .nf
-
-% amrestore -p /amanda/20001119/seine.rz1a.2 | restore -ivbf 2 -
-
+% amrestore \-p /amanda/20001119/seine.rz1a.2 | restore \-ivbf 2 \-
 .fi
 .fi
+.RE
 .sp
 .PP
 \fBAmrestore\fR
 may be used to generate a listing of images on a tape:
 .sp
 .sp
 .PP
 \fBAmrestore\fR
 may be used to generate a listing of images on a tape:
 .sp
+.RS 4
 .nf
 .nf
-
-% mt -f /dev/nrmt9 rewind
-% amrestore -p /dev/nrmt9 no-such-host > /dev/null
-
+% mt \-f /dev/nrmt9 rewind
+% amrestore \-p /dev/nrmt9 no\-such\-host > /dev/null
 .fi
 .fi
+.RE
 .sp
 .PP
 This asks
 \fBamrestore\fR
 to find images for host
 .sp
 .PP
 This asks
 \fBamrestore\fR
 to find images for host
-\fBno-such-host\fR. It will not find any entries that match, but along the way will report each image it skips.
+\fBno\-such\-host\fR. It will not find any entries that match, but along the way will report each image it skips.
 .SH "CAVEATS"
 .PP
 .SH "CAVEATS"
 .PP
-\fBGNU-tar\fR
+\fBGNU\-tar\fR
 must be used to restore files from backup images created with the GNUTAR dumptype. Vendor tar programs sometimes fail to read GNU tar images.
 .SH "AUTHOR"
 .PP
 must be used to restore files from backup images created with the GNUTAR dumptype. Vendor tar programs sometimes fail to read GNU tar images.
 .SH "AUTHOR"
 .PP
@@ -249,11 +259,11 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamdump\fR(8),
 \fBamflush\fR(8),
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 \fBamdump\fR(8),
 \fBamflush\fR(8),
-\fBtar\fR(1)\fBrestore\fR(8)
-
+\fBtar\fR(1)
+\fBrestore\fR(8)
index fd53e211a875ef07950134dedd9e1355d8659f41..a3327be13b233f0ad09f511fd7ab1ceded6f0ac2 100644 (file)
@@ -1,28 +1,20 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMRMTAPE" 8 "" "" ""
+.\"     Title: amrmtape
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMRMTAPE" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amrmtape - remove a tape from the Amanda database
+amrmtape \- remove a tape from the Amanda database
 .SH "SYNOPSIS"
 .HP 9
 .SH "SYNOPSIS"
 .HP 9
-\fBamrmtape\fR [-n] [-v] [-q] [-d] \fIconfig\fR \fIlabel\fR
+\fBamrmtape\fR [\-n] [\-v] [\-q] [\-d] \fIconfig\fR \fIlabel\fR
 .SH "DESCRIPTION"
 .PP
 \fBAmrmtape\fR
 .SH "DESCRIPTION"
 .PP
 \fBAmrmtape\fR
@@ -31,48 +23,57 @@ invalidates the contents of an existing backup tape in the configuration databas
 See the
 \fBamanda\fR(8)
 man page for more details about
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-n\fR
+.PP
+\fB\-n\fR
+.RS 4
 Generate new
 Generate new
-\fBtapelist\fR
+\fItapelist\fR
 and database files with
 and database files with
-\fBlabel\fR
+\fIlabel\fR
 removed, but leave them in
 \fI/tmp\fR
 and do not update the original copies.
 removed, but leave them in
 \fI/tmp\fR
 and do not update the original copies.
-.TP
-\fB-v\fR
+.RE
+.PP
+\fB\-v\fR
+.RS 4
 List backups of hosts and disks that are being discarded. Enabled by default.
 List backups of hosts and disks that are being discarded. Enabled by default.
-.TP
-\fB-q\fR
+.RE
+.PP
+\fB\-q\fR
+.RS 4
 Opposite of
 Opposite of
-\fB-v\fR.
-.TP
-\fB-d\fR
+\fB\-v\fR.
+.RE
+.PP
+\fB\-d\fR
+.RS 4
 Run in debugging mode so all executed commands are shown.
 Run in debugging mode so all executed commands are shown.
+.RE
 .SH "EXAMPLE"
 .PP
 Remove tape labeled
 .SH "EXAMPLE"
 .PP
 Remove tape labeled
-\fBDAILY034\fR
+\fIDAILY034\fR
 from the
 from the
-\fBDailySet1\fR
+\fIDailySet1\fR
 configuration.
 configuration.
+.sp
+.RS 4
 .nf
 .nf
-
 # amrmtape DailySet1 DAILY034
 .fi
 # amrmtape DailySet1 DAILY034
 .fi
+.RE
 .SH "AUTHOR"
 .PP
 .SH "AUTHOR"
 .PP
-Adrian T. Filipi-Martin
+Adrian T. Filipi\-Martin
 <atf3r@cs.virginia.edu>: Original text
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 <atf3r@cs.virginia.edu>: Original text
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamadmin\fR(8),
 \fBamanda\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamadmin\fR(8),
 \fBamanda\fR(8)
-
index 9a96e9bf7998ba8e722d085bf53cecc841bc3d02..9733d1181d3f74e0096464c8b7fe734279e0abf8 100644 (file)
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMSTATUS" 8 "" "" ""
+.\"     Title: amstatus
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMSTATUS" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amstatus - display the state of an Amanda run
+amstatus \- display the state of an Amanda run
 .SH "SYNOPSIS"
 .HP 9
 .SH "SYNOPSIS"
 .HP 9
-\fBamstatus\fR [--config] \fIconfig\fR [--file \fIamdumpfile\fR] [--summary] [--dumping] [--waitdumping] [--waittaper] [--dumpingtape] [--writingtape] [--finished] [--failed] [--estimate] [--gestimate] [--stats]
+\fBamstatus\fR [\-\-config] \fIconfig\fR [\-\-file\ \fIamdumpfile\fR] [\-\-summary] [\-\-dumping] [\-\-waitdumping] [\-\-waittaper] [\-\-dumpingtape] [\-\-writingtape] [\-\-finished] [\-\-failed] [\-\-estimate] [\-\-gestimate] [\-\-stats]
 .SH "DESCRIPTION"
 .PP
 \fBAmstatus\fR
 gives the current state of the
 .SH "DESCRIPTION"
 .PP
 \fBAmstatus\fR
 gives the current state of the
-\fBAmanda\fR
+\fIAmanda\fR
 run specified by the
 run specified by the
-\fBconfig\fR
+\fIconfig\fR
 configuration. If there is no active
 configuration. If there is no active
-\fBAmanda\fR
+\fIAmanda\fR
 running, it summarizes the result of the last run. It may also be used to summarize the results of a previous run.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 running, it summarizes the result of the last run. It may also be used to summarize the results of a previous run.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .PP
 .SH "OPTIONS"
 .PP
-All options may be abbreviated to the shortest non-ambiguous sub-string. If no options are given, everything is displayed.
-.TP
-\fB[--config] config\fR
+All options may be abbreviated to the shortest non\-ambiguous sub\-string. If no options are given, everything is displayed.
+.PP
+\fB[\-\-config] config\fR
+.RS 4
 Specify the
 Specify the
-\fBAmanda\fR
+\fIAmanda\fR
 configuration you want to display the state for.
 configuration you want to display the state for.
-.TP
-\fB--file amdumpfile\fR
+.RE
+.PP
+\fB\-\-file amdumpfile\fR
+.RS 4
 Specify an alternate file instead of the
 Specify an alternate file instead of the
-\fBamdump\fR
+\fIamdump\fR
 or
 or
-\fBamflush\fR
+\fIamflush\fR
 file.
 file.
-.TP
-\fB--summary\fR
+.RE
+.PP
+\fB\-\-summary\fR
+.RS 4
 Display a summary of the state of the run.
 Display a summary of the state of the run.
-.TP
-\fB--dumping\fR
+.RE
+.PP
+\fB\-\-dumping\fR
+.RS 4
 Display all partitions that are dumping.
 Display all partitions that are dumping.
-.TP
-\fB--waitdumping|wdumping\fR
+.RE
+.PP
+\fB\-\-waitdumping|wdumping\fR
+.RS 4
 Display all partitions that are waiting to be dumped.
 Display all partitions that are waiting to be dumped.
-.TP
-\fB--waittaper|wtaper\fR
+.RE
+.PP
+\fB\-\-waittaper|wtaper\fR
+.RS 4
 Display all partitions dumped that are waiting to be written to tape.
 Display all partitions dumped that are waiting to be written to tape.
-.TP
-\fB--dumpingtape|dtape\fR
+.RE
+.PP
+\fB\-\-dumpingtape|dtape\fR
+.RS 4
 Display all partitions that are dumping directly to tape.
 Display all partitions that are dumping directly to tape.
-.TP
-\fB--writingtape|wtape\fR
+.RE
+.PP
+\fB\-\-writingtape|wtape\fR
+.RS 4
 Display all partitions that are writing to tape.
 Display all partitions that are writing to tape.
-.TP
-\fB--finished\fR
+.RE
+.PP
+\fB\-\-finished\fR
+.RS 4
 Display all partitions that are dumped and written to tape.
 Display all partitions that are dumped and written to tape.
-.TP
-\fB--failed|error\fR
+.RE
+.PP
+\fB\-\-failed|error\fR
+.RS 4
 Display all partitions that failed.
 Display all partitions that failed.
-.TP
-\fB--estimate\fR
+.RE
+.PP
+\fB\-\-estimate\fR
+.RS 4
 Display all partitions whose estimate is finished. Works only during the estimate phase.
 Display all partitions whose estimate is finished. Works only during the estimate phase.
-.TP
-\fB--gestimate|gettingestimate\fR
+.RE
+.PP
+\fB\-\-gestimate|gettingestimate\fR
+.RS 4
 Display all partitions whose estimate is not finished. Works only during the estimate phase.
 Display all partitions whose estimate is not finished. Works only during the estimate phase.
-.TP
-\fB--stats|statistics\fR
-Display statistics about active-time of taper and dumpers.
+.RE
+.PP
+\fB\-\-stats|statistics\fR
+.RS 4
+Display statistics about active\-time of taper and dumpers.
+.RE
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
@@ -93,4 +111,3 @@ Display statistics about active-time of taper and dumpers.
 \fBamdump\fR(8),
 \fBamrestore\fR(8),
 \fBamadmin\fR(8)
 \fBamdump\fR(8),
 \fBamrestore\fR(8),
 \fBamadmin\fR(8)
-
index bfa0f2d0cb5a50702ae5fd931c9ea06f5bcec795..4e7edb8bda629e7fba0213a7458a92f358211d0c 100644 (file)
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMTAPE" 8 "" "" ""
+.\"     Title: amtape
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMTAPE" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amtape - user interface to Amanda tape changer controls
+amtape \- user interface to Amanda tape changer controls
 .SH "SYNOPSIS"
 .HP 7
 .SH "SYNOPSIS"
 .HP 7
-\fBamtape\fR \fIconfig\fR \fIcommand\fR [\fIcommand\fR \fIoptions\fR]
+\fBamtape\fR \fIconfig\fR \fIcommand\fR [\fIcommand_options\fR...] [\fB\-o\ \fR\fIconfigoption\fR]...
 .SH "DESCRIPTION"
 .PP
 \fBAmtape\fR
 performs tape changer control operations. It uses the underlying tape changer script defined by the
 \fBtpchanger\fR
 option for a particular
 .SH "DESCRIPTION"
 .PP
 \fBAmtape\fR
 performs tape changer control operations. It uses the underlying tape changer script defined by the
 \fBtpchanger\fR
 option for a particular
-\fBAmanda\fR
+\fIAmanda\fR
 configuration as specified by the
 configuration as specified by the
-\fBconfig\fR
+\fIconfig\fR
 argument.
 .PP
 Tape changers maintain a notion of the
 argument.
 .PP
 Tape changers maintain a notion of the
-\fBcurrent\fR
+\fIcurrent\fR
 and
 and
-\fBnext\fR
+\fInext\fR
 slot for each configuration. These may or may not correspond to an actual physical state of the device, but do tend to minimize searching through the tape storage slots. If the desired tape is in the current slot, it is likely the next tape needed is in the next slot rather than at some random position in the storage slots.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
 slot for each configuration. These may or may not correspond to an actual physical state of the device, but do tend to minimize searching through the tape storage slots. If the desired tape is in the current slot, it is likely the next tape needed is in the next slot rather than at some random position in the storage slots.
 .PP
 See the
 \fBamanda\fR(8)
 man page for more details about
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "COMMANDS"
 .SH "COMMANDS"
-.TP
+.PP
 \fBreset\fR
 \fBreset\fR
+.RS 4
 Reset the tape changer to a known state. The
 Reset the tape changer to a known state. The
-\fBcurrent\fR
+\fIcurrent\fR
 slot is set to the
 slot is set to the
-\fBfirst\fR
-slot. Other device-specific side effects may occur. Some gravity stackers need to be reset to the top position by hand. This command notifies
-\fBAmanda\fR
+\fIfirst\fR
+slot. Other device\-specific side effects may occur. Some gravity stackers need to be reset to the top position by hand. This command notifies
+\fIAmanda\fR
 the stacker is back in that position.
 the stacker is back in that position.
-.TP
+.RE
+.PP
 \fBeject\fR
 \fBeject\fR
+.RS 4
 If a tape is loaded in the drive, it is ejected and returned to the slot from which it was loaded.
 If a tape is loaded in the drive, it is ejected and returned to the slot from which it was loaded.
-.TP
+.RE
+.PP
 \fBclean\fR
 \fBclean\fR
+.RS 4
 If a cleaning tape is defined for the changer, it is used to clean the drive.
 If a cleaning tape is defined for the changer, it is used to clean the drive.
-.TP
+.RE
+.PP
 \fBshow\fR
 \fBshow\fR
+.RS 4
 Show the contents of all slots. This can be slow.
 Show the contents of all slots. This can be slow.
-.TP
-\fBlabel\fR \fBlabel\fR
+.RE
+.PP
+\fBlabel\fR \fIlabel\fR
+.RS 4
 Search for and load the
 Search for and load the
-\fBAmanda\fR
+\fIAmanda\fR
 tape with label
 tape with label
-\fBlabel\fR.
-.TP
+\fIlabel\fR.
+.RE
+.PP
 \fBtaper\fR
 \fBtaper\fR
+.RS 4
 Perform the
 \fBtaper\fR
 scan algorithm. Load the next tape in the configuration's tape sequence, or a fresh tape with a suitable label.
 Perform the
 \fBtaper\fR
 scan algorithm. Load the next tape in the configuration's tape sequence, or a fresh tape with a suitable label.
-.TP
+.RE
+.PP
 \fBdevice\fR
 \fBdevice\fR
+.RS 4
 Display the name of the current tape device on
 Display the name of the current tape device on
-\fBstdout\fR.
-.TP
+\fIstdout\fR.
+.RE
+.PP
 \fBcurrent\fR
 \fBcurrent\fR
+.RS 4
 Display the current slot.
 Display the current slot.
-.TP
+.RE
+.PP
 \fBupdate\fR
 \fBupdate\fR
+.RS 4
 Update the changer label database, if it has one, to match the tapes now available.
 Update the changer label database, if it has one, to match the tapes now available.
-.TP
-\fBslot\fR \fBslot\fR
+.RE
+.PP
+\fBslot\fR \fIslot\fR
+.RS 4
 Eject any tape in the drive and put it away, then load the tape from slot
 Eject any tape in the drive and put it away, then load the tape from slot
-\fBslot\fR
+\fIslot\fR
 and reset
 and reset
-\fBcurrent\fR.
-.TP
+\fIcurrent\fR.
+.RE
+.PP
 \fBslot current\fR
 \fBslot current\fR
+.RS 4
 Eject any tape in the drive and put it away, then load the tape from the current slot.
 Eject any tape in the drive and put it away, then load the tape from the current slot.
-.TP
+.RE
+.PP
 \fBslot prev\fR
 \fBslot prev\fR
+.RS 4
 Eject any tape in the drive and put it away, then load the tape from the previous slot and reset
 Eject any tape in the drive and put it away, then load the tape from the previous slot and reset
-\fBcurrent\fR.
-.TP
+\fIcurrent\fR.
+.RE
+.PP
 \fBslot next\fR
 \fBslot next\fR
+.RS 4
 Eject any tape in the drive and put it away, then load the tape from the next slot and reset
 Eject any tape in the drive and put it away, then load the tape from the next slot and reset
-\fBcurrent\fR.
-.TP
+\fIcurrent\fR.
+.RE
+.PP
 \fBslot first\fR
 \fBslot first\fR
+.RS 4
 Eject any tape in the drive and put it away, then load the tape from the first slot and reset
 Eject any tape in the drive and put it away, then load the tape from the first slot and reset
-\fBcurrent\fR.
-.TP
+\fIcurrent\fR.
+.RE
+.PP
 \fBslot last\fR
 \fBslot last\fR
+.RS 4
 Eject any tape in the drive and put it away, then load the tape from the last slot and reset
 Eject any tape in the drive and put it away, then load the tape from the last slot and reset
-\fBcurrent\fR.
-.TP
+\fIcurrent\fR.
+.RE
+.PP
 \fBslot advance\fR
 \fBslot advance\fR
+.RS 4
 Eject any tape in the drive and put it away. Advance
 Eject any tape in the drive and put it away. Advance
-\fBcurrent\fR
+\fIcurrent\fR
 to the next tape, but do not load it.
 to the next tape, but do not load it.
+.RE
+.PP
+\fB\-o\fR \fIconfigoption\fR
+.RS 4
+See the "\fBCONFIGURATION OVERWRITE\fR" section in
+\fBamanda\fR(8).
+.RE
 .PP
 .PP
-This is useful with non-gravity stackers to unload the last tape used and set up
-\fBAmanda\fR
+This is useful with non\-gravity stackers to unload the last tape used and set up
+\fIAmanda\fR
 for the next run. If you just use
 \fBeject\fR, the current tape will be mounted again in the next run, where it will be rejected as being still in use, ejected and the next tape requested. Using
 \fBslot next\fR
 for the next run. If you just use
 \fBeject\fR, the current tape will be mounted again in the next run, where it will be rejected as being still in use, ejected and the next tape requested. Using
 \fBslot next\fR
@@ -135,8 +165,7 @@ James da Silva,
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
-
index 818b3182ff8899604d6a383cad3121f9011285c3..fd5f6bd169b0038aebae66d1f368b70b57ea5510 100644 (file)
@@ -1,71 +1,77 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMTAPETYPE" 8 "" "" ""
+.\"     Title: amtapetype
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMTAPETYPE" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amtapetype - generate a tapetype definition.
+amtapetype \- generate a tapetype definition.
 .SH "SYNOPSIS"
 .HP 11
 .SH "SYNOPSIS"
 .HP 11
-\fBamtapetype\fR [-h] [-c] [-o] [-b \fIblocksize\fR] -e \fIestsize\fR [-f \fItapedev\fR] [-t \fItypename\fR]
+\fBamtapetype\fR [\-h] [\-c] [\-o] [\-b\ \fIblocksize\fR] \-e\ \fIestsize\fR [\-f\ \fItapedev\fR] [\-t\ \fItypename\fR]
 .SH "DESCRIPTION"
 .PP
 \fBamtapetype\fR
 generates a tapetype entry for
 .SH "DESCRIPTION"
 .PP
 \fBamtapetype\fR
 generates a tapetype entry for
-\fBAmanda\fR.
+\fIAmanda\fR.
 .SH "OPTIONS"
 .SH "OPTIONS"
-.TP
-\fB-h\fR
+.PP
+\fB\-h\fR
+.RS 4
 Display an help message.
 Display an help message.
-.TP
-\fB-c\fR
+.RE
+.PP
+\fB\-c\fR
+.RS 4
 Run only the hardware compression detection heuristic test and stop. This takes a few minutes only.
 Run only the hardware compression detection heuristic test and stop. This takes a few minutes only.
-.TP
-\fB-o\fR
+.RE
+.PP
+\fB\-o\fR
+.RS 4
 Overwrite the tape, even if it's an
 Overwrite the tape, even if it's an
-\fBAmanda\fR
+\fIAmanda\fR
 tape.
 tape.
-.TP
-\fB-b\fR\fI blocksize\fR
+.RE
+.PP
+\fB\-b\fR\fI blocksize\fR
+.RS 4
 record block size (default: 32k)
 record block size (default: 32k)
-.TP
-\fB-e\fR\fI estsize\fR
+.RE
+.PP
+\fB\-e\fR\fI estsize\fR
+.RS 4
 estimated tape size (No default!)
 estimated tape size (No default!)
-.TP
-\fB-f\fR\fI tapedev\fR
+.RE
+.PP
+\fB\-f\fR\fI tapedev\fR
+.RS 4
 tape device name (default: $TAPE) The device to perform the test.
 tape device name (default: $TAPE) The device to perform the test.
-.TP
-\fB-t\fR\fI typename\fR
-tapetype name (default: unknown-tapetype)
+.RE
+.PP
+\fB\-t\fR\fI typename\fR
+.RS 4
+tapetype name (default: unknown\-tapetype)
+.RE
 .SH "EXAMPLE"
 .PP
 Generate a tapetype definition for your tape device:
 .sp
 .SH "EXAMPLE"
 .PP
 Generate a tapetype definition for your tape device:
 .sp
+.RS 4
 .nf
 .nf
-
-% amtapetype -f /dev/nst0 -e 150G
-
+% amtapetype \-f /dev/nst0 \-e 150G
 .fi
 .fi
+.RE
 .SH "NOTES"
 .PP
 Hardware compression is detected by measuring the writing speed difference of the tape drive when writing an amount of compressable and uncompresseable data. It does not rely on the status bits of the tape drive or the OS parameters. If your tape drive has very large buffers or is very fast, the program could fail to detect hardware compression status reliably.
 .PP
 .SH "NOTES"
 .PP
 Hardware compression is detected by measuring the writing speed difference of the tape drive when writing an amount of compressable and uncompresseable data. It does not rely on the status bits of the tape drive or the OS parameters. If your tape drive has very large buffers or is very fast, the program could fail to detect hardware compression status reliably.
 .PP
-During the first pass, it writes files that are estimated to be 1% of the expected tape capacity. It gets the expected capacity from the -e command line flag, or defaults to 1 GByte. In a perfect world (which means there is zero chance of this happening with tapes :-), there would be 100 files and 100 file marks.
+During the first pass, it writes files that are estimated to be 1% of the expected tape capacity. It gets the expected capacity from the \-e command line flag, or defaults to 1 GByte. In a perfect world (which means there is zero chance of this happening with tapes :\-), there would be 100 files and 100 file marks.
 .PP
 During the second pass, the file size is cut in half. In that same fairyland world, this means 200 files and 200 file marks.
 .PP
 .PP
 During the second pass, the file size is cut in half. In that same fairyland world, this means 200 files and 200 file marks.
 .PP
@@ -75,9 +81,9 @@ In both passes the total amount of data written is summed as well as the number
 .PP
 So if we wrote 1.0 GBytes on the first pass and 100 file marks, and 0.9 GBytes on the second pass with 200 file marks, those additional 100 file marks in the second pass took 0.1 GBytes and therefor a file mark is 0.001 GBytes (1 MByte).
 .PP
 .PP
 So if we wrote 1.0 GBytes on the first pass and 100 file marks, and 0.9 GBytes on the second pass with 200 file marks, those additional 100 file marks in the second pass took 0.1 GBytes and therefor a file mark is 0.001 GBytes (1 MByte).
 .PP
-Note that if the estimated capacity is wrong, the only thing that happens is a lot more (or less, but unlikely) files, and thus, file marks, get written. But the math still works out the same. The -e flag is there to keep the number of file marks down because they can be slow (since they force the drive to flush all its buffers to physical media).
+Note that if the estimated capacity is wrong, the only thing that happens is a lot more (or less, but unlikely) files, and thus, file marks, get written. But the math still works out the same. The \-e flag is there to keep the number of file marks down because they can be slow (since they force the drive to flush all its buffers to physical media).
 .PP
 .PP
-All sorts of things might happen to cause the amount of data written to vary enough to generate a big file mark size guess. A little more "shoe shining" because of the additional file marks (and flushes), dirt left on the heads from the first pass of a brand new tape, the temperature/humidity changed during the multi-hour run, a different amount of data was written after the last file mark before EOT was reported, etc.
+All sorts of things might happen to cause the amount of data written to vary enough to generate a big file mark size guess. A little more "shoe shining" because of the additional file marks (and flushes), dirt left on the heads from the first pass of a brand new tape, the temperature/humidity changed during the multi\-hour run, a different amount of data was written after the last file mark before EOT was reported, etc.
 .PP
 Note that the file mark size might really be zero for whatever device this is, and it was just the measured capacity variation that caused
 \fBamtapetype\fR
 .PP
 Note that the file mark size might really be zero for whatever device this is, and it was just the measured capacity variation that caused
 \fBamtapetype\fR
@@ -89,4 +95,3 @@ used to sometimes report a negative file mark size if the math happened to end u
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8)
-
index ef22913d4bf5e568a7d38b8a3a946548df7004f1..fb387e9b8ce55206203ddec7e324de50dae26736 100644 (file)
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMTOC" 8 "" "" ""
+.\"     Title: amtoc
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMTOC" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amtoc - generate TOC (Table Of Contents) for an Amanda run
+amtoc \- generate TOC (Table Of Contents) for an Amanda run
 .SH "SYNOPSIS"
 .HP 6
 .SH "SYNOPSIS"
 .HP 6
-\fBamtoc\fR [-a] [-i] [-t] [-f \fIfile\fR] [-s \fIsubs\fR] [-w] [--] \fIlogfile\fR
+\fBamtoc\fR [\-a] [\-i] [\-t] [\-f\ \fIfile\fR] [\-s\ \fIsubs\fR] [\-w] [\-\-] \fIlogfile\fR
 .SH "DESCRIPTION"
 .PP
 .SH "DESCRIPTION"
 .PP
-\fBAmtoc\fR
+\fIAmtoc\fR
 generates a table of contents for an
 generates a table of contents for an
-\fBAmanda\fR
+\fIAmanda\fR
 run. It's a perl script (if you don't have perl, install it first!).
 .SH "OPTIONS"
 run. It's a perl script (if you don't have perl, install it first!).
 .SH "OPTIONS"
-.TP
-\fB-a\fR
+.PP
+\fB\-a\fR
+.RS 4
 The output file name will be
 The output file name will be
-\fBlabel-of-the-tape\fR.toc in the same directory as
-\fBlogfile\fR.
-.TP
-\fB-i\fR
+\fIlabel\-of\-the\-tape\fR.toc in the same directory as
+\fIlogfile\fR.
+.RE
+.PP
+\fB\-i\fR
+.RS 4
 Display help about
 \fBamtoc\fR.
 Display help about
 \fBamtoc\fR.
-.TP
-\fB-t\fR
+.RE
+.PP
+\fB\-t\fR
+.RS 4
 Generate the output in tabular form.
 Generate the output in tabular form.
-.TP
-\fB-f file\fR
-Write the output to a file ('-' for stdout).
-.TP
-\fB-s subs\fR
+.RE
+.PP
+\fB\-f file\fR
+.RS 4
+Write the output to a file ('\-' for stdout).
+.RE
+.PP
+\fB\-s subs\fR
+.RS 4
 Evaluate the output file name from
 Evaluate the output file name from
-\fBsubs\fR, with $_ set to
-\fBlabel-of-the-tape\fR. The
-\fB-a\fR
+\fIsubs\fR, with $_ set to
+\fIlabel\-of\-the\-tape\fR. The
+\fB\-a\fR
 option is equivalent to
 option is equivalent to
-\fB-s\fR\fI's/$_/.toc/'\fR.
-.TP
-\fB-w\fR
-Separate tapes with form-feeds and display blank lines before totals.
-.TP
-\fB--\fR
+\fB\-s\fR
+\fI's/$_/.toc/'\fR.
+.RE
+.PP
+\fB\-w\fR
+.RS 4
+Separate tapes with form\-feeds and display blank lines before totals.
+.RE
+.PP
+\fB\-\-\fR
+.RS 4
 Marks the last option so the next parameter is the
 Marks the last option so the next parameter is the
-\fBlogfile\fR.
-.TP
+\fIlogfile\fR.
+.RE
+.PP
 \fBlogfile\fR
 \fBlogfile\fR
-(use '-' for stdin)
+.RS 4
+(use '\-' for stdin)
+.RE
 .SH "OUTPUT FORMAT"
 .PP
 The standard output has five fields separated by two spaces:
 .sp
 .SH "OUTPUT FORMAT"
 .PP
 The standard output has five fields separated by two spaces:
 .sp
+.RS 4
 .nf
 .nf
-
 #  Server:/partition  date  level  size[Kb]
 #  Server:/partition  date  level  size[Kb]
-0  daily-05:  19991005  -  -
+0  daily\-05:  19991005  \-  \-
 1  cuisun15:/cuisun15/home  19991005  1  96
 2  cuinfs:/export/dentiste  19991005  1  96
   ...
 103  cuisg11:/  19991005  0  4139136
 1  cuisun15:/cuisun15/home  19991005  1  96
 2  cuinfs:/export/dentiste  19991005  1  96
   ...
 103  cuisg11:/  19991005  0  4139136
-103  total:  -  -  16716288
-
+103  total:  \-  \-  16716288
 
 
 .fi
 
 
 .fi
+.RE
 .PP
 .PP
-In tabular format (-t), this would look like:
+In tabular format (\-t), this would look like:
 .sp
 .sp
+.RS 4
 .nf
 .nf
-
   #  Server:/partition           date      lev  size[Kb]
   #  Server:/partition           date      lev  size[Kb]
-  0  daily-05:                   19991005    -         -
+  0  daily\-05:                   19991005    \-         \-
   1  cuisun15:/cuisun15/home     19991005    1        96
   2  cuinfs:/export/dentiste     19991005    1        96
   ...
 103  cuisg11:/                   19991005    0   4139136
   1  cuisun15:/cuisun15/home     19991005    1        96
   2  cuinfs:/export/dentiste     19991005    1        96
   ...
 103  cuisg11:/                   19991005    0   4139136
-103  total:                      -           -  16716288
-
+103  total:                      \-           \-  16716288
 
 .fi
 
 .fi
+.RE
 .SH "USAGE"
 .PP
 The easiest way to use it is to run
 \fBamtoc\fR
 right after
 .SH "USAGE"
 .PP
 The easiest way to use it is to run
 \fBamtoc\fR
 right after
-\fBamdump\fR
+\fIamdump\fR
 in the
 in the
-\fBcron job:\fR
+\fIcron job:\fR
 .sp
 .sp
+.RS 4
 .nf
 .nf
-
-amdump daily ; logdir=`amgetconf daily logdir` ; log=`ls -1t $logdir/log.*.[0-9] | head -1` ; amtoc -a $log
-
+amdump daily ; logdir=`amgetconf daily logdir` ; log=`ls \-1t $logdir/log.*.[0\-9] | head \-1` ; amtoc \-a $log
 .fi
 .fi
+.RE
 .sp
 .PP
 .sp
 .PP
-which will generate /usr/local/etc/amanda//daily/\fBtape_label\fR.toc. You may also want to call
+which will generate /usr/local/etc/amanda//daily/\fItape_label\fR.toc. You may also want to call
 \fBamtoc\fR
 after an
 \fBamtoc\fR
 after an
-\fBamflush\fR.
+\fIamflush\fR.
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
 .SH "SEE ALSO"
 .PP
 \fBamanda\fR(8),
@@ -128,5 +137,4 @@ Nicolas Mayencourt
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
-
+\fIAmanda\fR\-documentation: XML\-conversion
index 6d7d5b6291e11716444f342858f5f244ddfccf7b..d56f3946cf45b3c716ed2dbe51bcd7ea329a94f4 100644 (file)
@@ -1,28 +1,20 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMVERIFY" 8 "" "" ""
+.\"     Title: amverify
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMVERIFY" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amverify - check an Amanda tape for errors
+amverify \- check an Amanda tape for errors
 .SH "SYNOPSIS"
 .HP 9
 .SH "SYNOPSIS"
 .HP 9
-\fBamverify\fR \fIconfig\fR [\fIslot\fR [\fIruntapes\fR]]
+\fBamverify\fR \fIconfig\fR [\fIslot\fR[\fIruntapes\fR]]
 .SH "DESCRIPTION"
 .PP
 \fBAmverify\fR
 .SH "DESCRIPTION"
 .PP
 \fBAmverify\fR
@@ -41,9 +33,9 @@ If the backup image cannot be processed by the restore program, e.g. if it was w
 to /dev/null. This still determines if the tape is readable, but does not do any internal consistency check on the image.
 .PP
 If
 to /dev/null. This still determines if the tape is readable, but does not do any internal consistency check on the image.
 .PP
 If
-\fBconfig\fR
+\fIconfig\fR
 is set up to use a tape changer, the
 is set up to use a tape changer, the
-\fBslot\fR
+\fIslot\fR
 argument may be used to choose the first tape to process. Otherwise, the
 \fBcurrent\fR
 slot is used.
 argument may be used to choose the first tape to process. Otherwise, the
 \fBcurrent\fR
 slot is used.
@@ -63,10 +55,9 @@ Axel Zinser
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
 .PP
 Stefan G. Weichinger,
 <sgw@amanda.org>, maintainer of the
-\fBAmanda\fR-documentation: XML-conversion
+\fIAmanda\fR\-documentation: XML\-conversion
 .SH "SEE ALSO"
 .PP
 \fBamrestore\fR(8),
 \fBamanda\fR(8),
 \fBamverifyrun\fR(8)
 .SH "SEE ALSO"
 .PP
 \fBamrestore\fR(8),
 \fBamanda\fR(8),
 \fBamverifyrun\fR(8)
-
index eeb91f537b74d8ebf84a60f84e8ba35af1c6e653..5111f8b4a4ed448581dd5347af4bc3a6c339f304 100644 (file)
@@ -1,25 +1,17 @@
-.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "AMVERIFYRUN" 8 "" "" ""
+.\"     Title: amverifyrun
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
+.\"      Date: 02/07/2007
+.\"    Manual: 
+.\"    Source: 
+.\"
+.TH "AMVERIFYRUN" "8" "02/07/2007" "" ""
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
 .SH "NAME"
 .SH "NAME"
-amverifyrun - check the tapes written by the last Amanda run
+amverifyrun \- check the tapes written by the last Amanda run
 .SH "SYNOPSIS"
 .HP 12
 \fBamverifyrun\fR \fIconfig\fR
 .SH "SYNOPSIS"
 .HP 12
 \fBamverifyrun\fR \fIconfig\fR
@@ -27,7 +19,7 @@ amverifyrun - check the tapes written by the last Amanda run
 .PP
 \fBAmverifyrun\fR
 read the log from the last
 .PP
 \fBAmverifyrun\fR
 read the log from the last
-\fBAmanda\fR
+\fIAmanda\fR
 run to find the slot of the first tape used and the number of tapes used. It call
 \fBamverify\fR
 with these argument.
 run to find the slot of the first tape used and the number of tapes used. It call
 \fBamverify\fR
 with these argument.
@@ -35,4 +27,3 @@ with these argument.
 .PP
 \fBamanda\fR(8),
 \fBamverify\fR(8)
 .PP
 \fBamanda\fR(8),
 \fBamverify\fR(8)
-
index d98bd78e62868cfab88b21be5ab077ae9066142f..8a94b614e6d403d8441c7aa3ec81da1ad848e7da 100644 (file)
@@ -24,8 +24,8 @@
   <command>amadmin</command>    
     <arg choice='plain'><replaceable>config</replaceable></arg>
     <arg choice='plain'><replaceable>command</replaceable></arg>
   <command>amadmin</command>    
     <arg choice='plain'><replaceable>config</replaceable></arg>
     <arg choice='plain'><replaceable>command</replaceable></arg>
-    <group><replaceable><arg choice='plain'>command</arg><arg choice='plain'>options</arg></replaceable></group>
-    <group><arg choice='plain'>-o</arg><arg choice='plain'><replaceable>configoption</replaceable></arg></group>*
+    <arg choice='opt' rep='repeat'><replaceable>command_options</replaceable></arg>
+    <arg choice='plain' rep='repeat'><group><option>-o </option><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
@@ -155,14 +155,15 @@ value, &A; will request new tapes until the count is satisfied again.</para>
 The tape label or holding disk filename,
 file number,
 and status are displayed.</para>
 The tape label or holding disk filename,
 file number,
 and status are displayed.</para>
-<para>The <option>--sort</option> option changes the sort order using the following flags:</para>
-
-<para><emphasis remap='B'>h</emphasis> host name
-<emphasis remap='B'>k</emphasis>       disk name
-<emphasis remap='B'>d</emphasis>       dump date
-<emphasis remap='B'>l</emphasis>       backup level
-<emphasis remap='B'>p</emphasis>        dump part
-<emphasis remap='B'>b</emphasis>       tape label</para>
+<para>The <option>--sort</option> option changes the sort order using the following flags:
+<programlisting>
+<emphasis>h</emphasis>: host name
+<emphasis>k</emphasis>: disk name
+<emphasis>d</emphasis>: dump date
+<emphasis>l</emphasis>: backup level
+<emphasis>p</emphasis>: dump part
+<emphasis>b</emphasis>: tape label
+</programlisting></para>
 
 <para>An uppercase letter reverses the sort order for that key.
 The default sort order is <emphasis remap='B'>hkdlpb</emphasis>.</para>
 
 <para>An uppercase letter reverses the sort order for that key.
 The default sort order is <emphasis remap='B'>hkdlpb</emphasis>.</para>
@@ -177,9 +178,10 @@ The default sort order is <emphasis remap='B'>hkdlpb</emphasis>.</para>
 on
 <emphasis remap='I'>hostname</emphasis>
 from the &A; database.</para>
 on
 <emphasis remap='I'>hostname</emphasis>
 from the &A; database.</para>
-<note>If you do not also remove the disk from the
+<note><para>If you do not also remove the disk from the
 <emphasis remap='I'>disklist</emphasis>
 <emphasis remap='I'>disklist</emphasis>
-file, &A; will treat it as a new disk during the next run.</note>
+file, &A; will treat it as a new disk during the next run.</para>
+</note>
   </listitem>
   </varlistentry>
 
   </listitem>
   </varlistentry>
 
@@ -317,16 +319,16 @@ some type of error.</para>
 <programlisting>
 $ amadmin daily find machine-c /var
 date        host      disk lv tape or file                 file part  status
 <programlisting>
 $ amadmin daily find machine-c /var
 date        host      disk lv tape or file                 file part  status
-2000\-11\-09  machine\-c /var  0 000110                       9   --  OK
-2000\-11\-08  machine\-c /var  2 000109                       2   --  OK
-2000\-11\-07  machine\-c /var  2 /amanda/20001107/machine-c._var.2  0 OK
-2000\-11\-06  machine\-c /var  2 000107                       2   --  OK
-2000\-11\-05  machine\-c /var  2 000106                       3   --  OK
-2000\-11\-04  machine\-c /var  2 000105                       2   --  OK
-2000\-11\-03  machine\-c /var  2 000104                       2   --  OK
-2000\-11\-02  machine\-c /var  2 000103                       2   --  OK
-2000\-11\-01  machine\-c /var  1 000102                       5   --  OK
-2000\-10\-31  machine\-c /var  1 000101                       3   --  OK
+2000-11-09  machine-c /var  0 000110                       9   --  OK
+2000-11-08  machine-c /var  2 000109                       2   --  OK
+2000-11-07  machine-c /var  2 /amanda/20001107/machine-c._var.2  0 OK
+2000-11-06  machine-c /var  2 000107                       2   --  OK
+2000-11-05  machine-c /var  2 000106                       3   --  OK
+2000-11-04  machine-c /var  2 000105                       2   --  OK
+2000-11-03  machine-c /var  2 000104                       2   --  OK
+2000-11-02  machine-c /var  2 000103                       2   --  OK
+2000-11-01  machine-c /var  1 000102                       5   --  OK
+2000-10-31  machine-c /var  1 000101                       3   --  OK
 </programlisting>
 
 <para>Forget about the
 </programlisting>
 
 <para>Forget about the
index a902e5e88a72ff43258c48c59f980d5fae6169c4..660f992a6a32f8d72eb934fa8e0bf6acd47e301f 100755 (executable)
@@ -29,7 +29,7 @@ requires <emphasis remap='B'>aespipe</emphasis>, <emphasis remap='B'>uuencode</e
 Aespipe is available from <ulink url="http://loop-aes.sourceforge.net"/></para>
 <para>&amaespipe; will search for the aespipe program in the following directories:
 /usr/bin:/usr/local/bin:/sbin:/usr/sbin. </para>
 Aespipe is available from <ulink url="http://loop-aes.sourceforge.net"/></para>
 <para>&amaespipe; will search for the aespipe program in the following directories:
 /usr/bin:/usr/local/bin:/sbin:/usr/sbin. </para>
-&amaespipe; is called by &amcrypt; for &A; data encryption.
+<para>&amaespipe; is called by &amcrypt; for &A; data encryption.</para>
 <para>&amaespipe; is based on aespipe's bzaespipe program.
 It calls aespipe to encrypt data using AES256 as the encryption and SHA256 as the
 hash function. GPG key should be stored in $AMANDA_HOME/.gnupg/am_key.gpg.
 <para>&amaespipe; is based on aespipe's bzaespipe program.
 It calls aespipe to encrypt data using AES256 as the encryption and SHA256 as the
 hash function. GPG key should be stored in $AMANDA_HOME/.gnupg/am_key.gpg.
index 1433e20b9151f0c38c56e44bb11012158a1b4aba..077f3b81f08c7734f29a3cc0b17f472d4ffa2b78 100644 (file)
@@ -110,10 +110,10 @@ some of which have a multiplier effect:</para>
   <listitem>
 <para>Some number of weeks (days*7).</para>
 
   <listitem>
 <para>Some number of weeks (days*7).</para>
 
-<note>The value
+<note><para>The value
 <emphasis remap='B'>inf</emphasis>
 may be used in most places where an integer is expected
 <emphasis remap='B'>inf</emphasis>
 may be used in most places where an integer is expected
-to mean an infinite amount.
+to mean an infinite amount.</para>
 
 <para>Boolean arguments may have any of the values
 <emphasis remap='B'>y</emphasis>,
 
 <para>Boolean arguments may have any of the values
 <emphasis remap='B'>y</emphasis>,
index c4b161cc22baa015ee3575aaad2a64e00785aa6e..a30c086108ebd8e03da92ba40b77fe5141bb9a58 100644 (file)
@@ -705,7 +705,7 @@ Entering
 </programlisting>
 is really a short hand for
 <programlisting>tapedev tape:/dev/rmt/0mn
 </programlisting>
 is really a short hand for
 <programlisting>tapedev tape:/dev/rmt/0mn
-</programlisting>.</para>
+</programlisting></para>
   </listitem>
   </varlistentry>
   <varlistentry>
   </listitem>
   </varlistentry>
   <varlistentry>
@@ -728,11 +728,13 @@ value from the associated
 <emphasis remap='B'>tapetype</emphasis>
 is used to limit the amount of data written. When the limit is reached, the driver will simulate end of tape.</para>
 
 <emphasis remap='B'>tapetype</emphasis>
 is used to limit the amount of data written. When the limit is reached, the driver will simulate end of tape.</para>
 
-<note>This driver should only be used for debugging and testing,
+<note><para>This driver should only be used for debugging and testing,
 and probably only with the
 <emphasis remap='B'>record</emphasis>
 option set to
 and probably only with the
 <emphasis remap='B'>record</emphasis>
 option set to
-<emphasis remap='I'>no</emphasis>.</note>
+<emphasis remap='I'>no</emphasis>.
+</para>
+</note>
   </listitem>
   </varlistentry>
 
   </listitem>
   </varlistentry>
 
@@ -916,15 +918,12 @@ It may be changed on a host by host basis
 by listing it first in the password field followed
 by a percent sign and then the password.
 For instance:</para>
 by listing it first in the password field followed
 by a percent sign and then the password.
 For instance:</para>
-
 <programlisting>
   //some-pc/home normalpw
   //another-pc/disk otheruser%otherpw
 </programlisting>
 <programlisting>
   //some-pc/home normalpw
   //another-pc/disk otheruser%otherpw
 </programlisting>
-
-With clear text passwords, this file should obviously be tightly protected.
-It only needs to be readable by the &A;-user on the Samba server.
-
+<para>With clear text passwords, this file should obviously be tightly protected.
+It only needs to be readable by the &A;-user on the Samba server.  </para>
 <para>You can find further information in the
 <emphasis remap='B'>docs/SAMBA</emphasis>
 <!-- TODO: edit link -->
 <para>You can find further information in the
 <emphasis remap='B'>docs/SAMBA</emphasis>
 <!-- TODO: edit link -->
@@ -949,40 +948,172 @@ succeeds if all words in your expression match contiguous words in
 the host or disk.</para>
 
 
 the host or disk.</para>
 
 
-<literallayout remap='.nf'>
-.      word separator for a host
-/      word separator for a disk
-^      anchor at left
-$      anchor at right
-?      match exactly one character except the separator
-*      match zero or more characters except the separator
-**     match zero or more characters including the separator
-</literallayout>
+<informaltable frame="none">
+<tgroup cols="2" align="left">
+<tbody>
+
+<row>
+<entry>.  </entry>
+<entry>word separator for a host</entry>
+</row>
+
+<row>
+<entry>/</entry>
+<entry>word separator for a disk</entry>
+</row>
+
+<row>
+<entry>^</entry>
+<entry>anchor at left</entry>
+</row>
+
+<row>
+<entry>$</entry>
+<entry>anchor at right</entry>
+</row>
+
+<row>
+<entry>?</entry>
+<entry>match exactly one character except the separator</entry>
+</row>
+
+<row>
+<entry>*</entry>
+<entry>match zero or more characters except the separator</entry>
+</row>
+
+<row>
+<entry>**</entry>
+<entry>match zero or more characters including the separator</entry>
+</row>
 
 
+</tbody>
+</tgroup>
+</informaltable>
 
 <para>Some examples:</para>
 
 
 <para>Some examples:</para>
 
-<literallayout remap='.nf'>
-EXPRESSION     WILL MATCH           WILL NOT MATCH
-hosta          hosta                hostb
-               hoSTA.dOMAIna.ORG 
-               foo.hosta.org 
-host           host                 hosta
-host?          hosta                host
-               hostb 
-ho*na          hoina                ho.aina.org
-ho**na         hoina 
-               ho.aina.org 
-^hosta         hosta                foo.hosta.org
-sda*           /dev/sda1 
-               /dev/sda12 
-/opt/          opt (disk)           opt (host)
-.opt.          opt (host)           opt (disk)
-/              /                    any other disk
-/usr           /usr 
-               /usr/opt 
-/usr$          /usr                 /usr/opt
-</literallayout>
+<informaltable frame="none">
+<tgroup cols="3" align="left">
+<tbody>
+
+<row>
+<entry>EXPRESSION  </entry>
+<entry>WILL MATCH</entry>
+<entry>WILL NOT MATCH</entry>
+</row>
+
+<row>
+<entry>hosta</entry>
+<entry>hosta</entry>
+<entry>hostb</entry>
+</row>
+
+<row>
+<entry></entry>
+<entry>hoSTA.dOMAIna.ORG</entry>
+<entry></entry>
+</row>
+
+<row>
+<entry></entry>
+<entry>foo.hosta.org</entry>
+<entry></entry>
+</row>
+
+<row>
+<entry>host</entry>
+<entry>host</entry>
+<entry>hosta</entry>
+</row>
+
+<row>
+<entry>host?</entry>
+<entry>hosta</entry>
+<entry>host</entry>
+</row>
+
+<row>
+<entry></entry>
+<entry>hostb</entry>
+<entry></entry>
+</row>
+
+<row>
+<entry>ho*na</entry>
+<entry>hoina</entry>
+<entry>ho.aina.org</entry>
+</row>
+
+<row>
+<entry>ho**na</entry>
+<entry>hoina</entry>
+<entry></entry>
+</row>
+
+<row>
+<entry></entry>
+<entry>ho.aina.org</entry>
+<entry></entry>
+</row>
+
+<row>
+<entry>^hosta</entry>
+<entry>hosta</entry>
+<entry>foo.hosta.org</entry>
+</row>
+
+<row>
+<entry>sda*</entry>
+<entry>/dev/sda1</entry>
+<entry></entry>
+</row>
+
+<row>
+<entry></entry>
+<entry>/dev/sda12</entry>
+<entry></entry>
+</row>
+
+<row>
+<entry>/opt</entry>
+<entry>opt (disk)</entry>
+<entry>opt (host)</entry>
+</row>
+
+<row>
+<entry>.opt.</entry>
+<entry>opt (host)</entry>
+<entry>opt (disk)</entry>
+</row>
+
+<row>
+<entry>/</entry>
+<entry>/</entry>
+<entry>any other disk</entry>
+</row>
+
+<row>
+<entry>/usr</entry>
+<entry>/usr</entry>
+<entry></entry>
+</row>
+
+<row>
+<entry></entry>
+<entry>/usr/opt</entry>
+<entry></entry>
+</row>
+
+<row>
+<entry>/usr$</entry>
+<entry>/usr</entry>
+<entry>/usr/opt</entry>
+</row>
+
+</tbody>
+</tgroup>
+</informaltable>
 
 
 </refsect1>
 
 
 </refsect1>
@@ -994,7 +1125,7 @@ expression is a range expression where we only match the prefix.
 Leading ^ is removed. Trailing $ forces an exact match.</para>
 
 <informaltable frame="all">
 Leading ^ is removed. Trailing $ forces an exact match.</para>
 
 <informaltable frame="all">
-<tgroup cols="2" alignment="left">
+<tgroup cols="2" align="left">
 <tbody>
 
 <row>
 <tbody>
 
 <row>
index 78057a4cea08e02b79eb6f064ef26f6d9eda6545..adcae4f97b83f6a3b6c33617630d134a2032cfdd 100644 (file)
@@ -110,10 +110,10 @@ some of which have a multiplier effect:</para>
   <listitem>
 <para>Some number of weeks (days*7).</para>
 
   <listitem>
 <para>Some number of weeks (days*7).</para>
 
-<note>The value
+<note><para>The value
 <emphasis remap='B'>inf</emphasis>
 may be used in most places where an integer is expected
 <emphasis remap='B'>inf</emphasis>
 may be used in most places where an integer is expected
-to mean an infinite amount.
+to mean an infinite amount.</para>
 
 <para>Boolean arguments may have any of the values
 <emphasis remap='B'>y</emphasis>,
 
 <para>Boolean arguments may have any of the values
 <emphasis remap='B'>y</emphasis>,
@@ -171,7 +171,7 @@ A space separated list of recipients for mail reports.</para>
 The number of days in the backup cycle.
 Each disk will get a full backup at least this often.
 Setting this to zero tries to do a full backup each run.</para>
 The number of days in the backup cycle.
 Each disk will get a full backup at least this often.
 Setting this to zero tries to do a full backup each run.</para>
-<note>This parameter may also be set in a specific
+<note><para>This parameter may also be set in a specific
 <emphasis remap='B'>dumptype</emphasis>
 (see below).
 This value sets the default for all
 <emphasis remap='B'>dumptype</emphasis>
 (see below).
 This value sets the default for all
@@ -180,10 +180,11 @@ so must appear in
 <emphasis remap='B'>amanda.conf</emphasis>
 before any
 <emphasis remap='B'>dumptype</emphasis>s
 <emphasis remap='B'>amanda.conf</emphasis>
 before any
 <emphasis remap='B'>dumptype</emphasis>s
-are defined.</note>
+are defined.</para>
+</note>
   </listitem>
   </varlistentry>
   </listitem>
   </varlistentry>
-  
+
   <varlistentry>
   <term><emphasis remap='B'>runspercycle</emphasis> <emphasis remap='I'> int</emphasis></term>
   <listitem>
   <varlistentry>
   <term><emphasis remap='B'>runspercycle</emphasis> <emphasis remap='I'> int</emphasis></term>
   <listitem>
@@ -556,16 +557,16 @@ The unit used to print many numbers, k=kilo, m=mega, g=giga, t=tera.
   <listitem>
 <para>Default:
 <emphasis remap='I'>tttTTTTTTT</emphasis>.
   <listitem>
 <para>Default:
 <emphasis remap='I'>tttTTTTTTT</emphasis>.
-The priority order of each dumper:</para>
+The priority order of each dumper:
 
 
-<itemizedlist>
-<listitem><para>s: smallest size</para></listitem>
-<listitem><para>S: largest size</para></listitem>
-<listitem><para>t: smallest time</para></listitem>
-<listitem><para>T: largest time</para></listitem>
-<listitem><para>b: smallest bandwidth</para></listitem>
-<listitem><para>B: largest bandwidth</para></listitem>
-</itemizedlist>
+<programlisting>
+s: smallest size
+S: largest size
+t: smallest time
+T: largest time
+b: smallest bandwidth
+B: largest bandwidth
+</programlisting></para>
 
   </listitem>
   </varlistentry>
 
   </listitem>
   </varlistentry>
@@ -815,44 +816,44 @@ is a comma (',') separated list of triples. Each triple consists
 of three parts which are separated by a equal sign ('=') and a colon (':') (see the example).
 These three parts specify:</para>
   
 of three parts which are separated by a equal sign ('=') and a colon (':') (see the example).
 These three parts specify:</para>
   
-  <itemizedlist>
+  <orderedlist>
   <listitem>
       <para>the name of the column, which may be:</para>
 
   <listitem>
       <para>the name of the column, which may be:</para>
 
-       <itemizedlist>
-       <listitem><para>Compress (compression ratio)</para></listitem>
-       <listitem><para>Disk (client disk name)</para></listitem>
-       <listitem><para>DumpRate (dump rate in KBytes/sec)</para></listitem>
-       <listitem><para>DumpTime (total dump time in hours:minutes)</para></listitem>
-       <listitem><para>HostName (client host name)</para></listitem>
-       <listitem><para>Level (dump level)</para></listitem>
-       <listitem><para>OrigKB (original image size in KBytes)</para></listitem>
-       <listitem><para>OutKB (output image size in KBytes)</para></listitem>
-       <listitem><para>TapeRate (tape writing rate in KBytes/sec)</para></listitem>
-       <listitem><para>TapeTime (total tape time in hours:minutes)</para></listitem>
-       </itemizedlist>
+       <programlisting>
+       Compress (compression ratio)
+       Disk (client disk name)
+       DumpRate (dump rate in KBytes/sec)
+       DumpTime (total dump time in hours:minutes)
+       HostName (client host name)
+       Level (dump level)
+       OrigKB (original image size in KBytes)
+       OutKB (output image size in KBytes)
+       TapeRate (tape writing rate in KBytes/sec)
+       TapeTime (total tape time in hours:minutes)
+       </programlisting>
 
   </listitem>
 
   <listitem>
 
   </listitem>
 
   <listitem>
-<para>the amount of space to display before the column (used to get whitespace between columns).</para>
+<para>the amount of space to display before the column (used to get whitespace between columns).</para><para/>
   </listitem>
   <listitem>
 <para>the width of the column itself.
 If set to a negative value, the width will be calculated on demand to fit the largest entry in
 this column.</para>
   </listitem>
   </listitem>
   <listitem>
 <para>the width of the column itself.
 If set to a negative value, the width will be calculated on demand to fit the largest entry in
 this column.</para>
   </listitem>
-  </itemizedlist>
-
-<para>Here is an example:</para>
+  </orderedlist>
 
 
+<para>Here is an example:
 <programlisting>
 <programlisting>
-<para>columnspec &quot;Disk=1:18,HostName=0:10,OutKB=1:7&quot;</para>
-</programlisting>
+columnspec &quot;Disk=1:18,HostName=0:10,OutKB=1:7&quot;
+</programlisting></para>
+<para>
 The above will display the disk information in 18 characters
 and put one space before it. The hostname column will be 10 characters wide with
 no space to the left. The output KBytes column is seven characters wide
 The above will display the disk information in 18 characters
 and put one space before it. The hostname column will be 10 characters wide with
 no space to the left. The output KBytes column is seven characters wide
-with one space before it.
+with one space before it.</para>
   </listitem>
   </varlistentry>
 
   </listitem>
   </varlistentry>
 
@@ -896,6 +897,7 @@ is a logical name for this holding disk.</para>
 A comment string describing this holding disk.</para>
   </listitem>
   </varlistentry>
 A comment string describing this holding disk.</para>
   </listitem>
   </varlistentry>
+
   <varlistentry>
   <term><emphasis remap='B'>directory</emphasis> <emphasis remap='I'> disk</emphasis></term>
   <listitem>
   <varlistentry>
   <term><emphasis remap='B'>directory</emphasis> <emphasis remap='I'> disk</emphasis></term>
   <listitem>
@@ -904,40 +906,42 @@ A comment string describing this holding disk.</para>
 The path to this holding area.</para>
   </listitem>
   </varlistentry>
 The path to this holding area.</para>
   </listitem>
   </varlistentry>
+
   <varlistentry>
   <term><emphasis remap='B'>use</emphasis> <emphasis remap='I'> int</emphasis></term>
   <listitem>
   <varlistentry>
   <term><emphasis remap='B'>use</emphasis> <emphasis remap='I'> int</emphasis></term>
   <listitem>
-Default:
+<para>Default:
 <emphasis remap='I'>0 Gb</emphasis>.
 Amount of space that can be used in this holding disk area.
 If the value is zero, all available space on the file system is used.
 <emphasis remap='I'>0 Gb</emphasis>.
 Amount of space that can be used in this holding disk area.
 If the value is zero, all available space on the file system is used.
-If the value is negative, &A; will use all available space minus that value.
+If the value is negative, &A; will use all available space minus that value.</para>
   </listitem>
   </varlistentry>
   </listitem>
   </varlistentry>
+
   <varlistentry>
   <term><emphasis remap='B'>chunksize</emphasis> <emphasis remap='I'> int</emphasis></term>
   <listitem>
   <varlistentry>
   <term><emphasis remap='B'>chunksize</emphasis> <emphasis remap='I'> int</emphasis></term>
   <listitem>
-Default:
+<para>Default:
 <emphasis remap='I'>1 Gb</emphasis>.
 Holding disk chunk size. Dumps larger than the specified size will be stored in multiple
 holding disk files. The size of each chunk will not exceed the specified value.
 However, even though dump images are split in the holding disk, they are concatenated as 
 they are written to tape, so each dump image still corresponds to a single continuous 
 <emphasis remap='I'>1 Gb</emphasis>.
 Holding disk chunk size. Dumps larger than the specified size will be stored in multiple
 holding disk files. The size of each chunk will not exceed the specified value.
 However, even though dump images are split in the holding disk, they are concatenated as 
 they are written to tape, so each dump image still corresponds to a single continuous 
-tape section.
+tape section.</para>
 
 
-If 0 is specified, &A; will create holding disk chunks as large as
-((INT_MAX/1024)-64) Kbytes.
+<para>If 0 is specified, &A; will create holding disk chunks as large as
+((INT_MAX/1024)-64) Kbytes.</para>
 
 
-Each holding disk chunk includes a 32 Kbyte header, so the minimum
-chunk size is 64 Kbytes (but that would be really silly).
+<para>Each holding disk chunk includes a 32 Kbyte header, so the minimum
+chunk size is 64 Kbytes (but that would be really silly).</para>
 
 
-Operating systems that are limited to a maximum file size of 2 Gbytes
+<para>Operating systems that are limited to a maximum file size of 2 Gbytes
 actually cannot handle files that large.
 They must be at least one byte less than 2 Gbytes.
 Since &A; works with 32 Kbyte blocks, and
 to handle the final read at the end of the chunk, the chunk size
 should be at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum
 actually cannot handle files that large.
 They must be at least one byte less than 2 Gbytes.
 Since &A; works with 32 Kbyte blocks, and
 to handle the final read at the end of the chunk, the chunk size
 should be at least 64 Kbytes (2 * 32 Kbytes) smaller than the maximum
-file size, e.g. 2047 Mbytes.
+file size, e.g. 2047 Mbytes.</para>
   </listitem>
   </varlistentry>
 </variablelist>
   </listitem>
   </varlistentry>
 </variablelist>
@@ -1148,24 +1152,39 @@ is often not as good a compression as
 but usually less CPU overhead. Or to specify <emphasis remap='B'>Custom</emphasis>
 to use your own compression method. (See dumptype custom-compress in example/amanda.conf for reference)</para>
 
 but usually less CPU overhead. Or to specify <emphasis remap='B'>Custom</emphasis>
 to use your own compression method. (See dumptype custom-compress in example/amanda.conf for reference)</para>
 
-
-
 <para>So the <emphasis remap='B'>compress</emphasis> options line may be one of:</para>
 
 <para>So the <emphasis remap='B'>compress</emphasis> options line may be one of:</para>
 
-<itemizedlist>
-<listitem><para>compress none</para></listitem>
-<listitem><para>compress [client] fast</para></listitem>
-<listitem><para>compress [client] best</para></listitem>
-<listitem><para>compress client custom</para>
-<para>Specify client_custom_compress &quot;PROG&quot;</para>
-<para>PROG must not contain white space and it must accept -d for uncompress.</para></listitem>
-<listitem><para>compress server fast</para></listitem>
-<listitem><para>compress server best</para></listitem>
-<listitem><para>compress server custom</para>
-<para>Specify server_custom_compress &quot;PROG&quot;</para>
-<para>PROG must not contain white space and it must accept -d for uncompress.</para></listitem>
-</itemizedlist>
-
+<variablelist remap='TP'>
+  <varlistentry>
+    <term>compress none</term><listitem><para/></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>compress client fast</term><listitem><para/></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>compress client best</term><listitem><para/></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>compress client custom</term>
+    <listitem>
+      <para>Specify <emphasis>client_custom_compress</emphasis> &quot;PROG&quot;</para>
+      <para>PROG must not contain white space and it must accept -d for uncompress.</para>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>compress server fast</term><listitem><para/></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>compress server best</term><listitem><para/></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>compress server custom</term>
+    <listitem>
+      <para>Specify <emphasis>server_custom_compress</emphasis> &quot;PROG&quot;</para>
+      <para>PROG must not contain white space and it must accept -d for uncompress.</para>
+    </listitem>
+  </varlistentry>
+</variablelist>
 <para>Note that some tape devices do compression and this option has nothing
 to do with whether that is used. If hardware compression is used (usually via a particular tape device name
 or <emphasis remap='B'>mt</emphasis> option), &A; (software) compression should be disabled.</para>
 <para>Note that some tape devices do compression and this option has nothing
 to do with whether that is used. If hardware compression is used (usually via a particular tape device name
 or <emphasis remap='B'>mt</emphasis> option), &A; (software) compression should be disabled.</para>
@@ -1191,30 +1210,38 @@ server host as it goes from the network into the holding disk or to tape.</para>
 <para>So the <emphasis remap='B'>encrypt</emphasis> options line may be one
            of:</para>
 
 <para>So the <emphasis remap='B'>encrypt</emphasis> options line may be one
            of:</para>
 
-<itemizedlist>
-<listitem><para>encrypt none</para></listitem>
-<listitem><para>encrypt client</para>
-<para>Specify client_encrypt &quot;PROG&quot;</para>
-<para>PROG must not contain white space.</para>
-<para>Specify client_decrypt_option &quot;decryption-parameter&quot; Default: &quot;-d&quot;</para>
-<para>decryption-parameter must not contain white space.</para>
-<para>(See dumptype server-encrypt-fast in example/amanda.conf for reference)</para>
-</listitem>
-<listitem><para>encrypt server</para>
-<para>Specify server_encrypt &quot;PROG&quot;</para>
-<para>PROG must not contain white space.</para>
-<para>Specify server_decrypt_option &quot;decryption-parameter&quot; Default: &quot;-d&quot;</para>
-<para>decryption-parameter must not contain white space.</para>
-<para>(See dumptype client-encrypt-nocomp in example/amanda.conf for reference)</para>
-</listitem>
-</itemizedlist>
-</listitem>
+<variablelist remap='TP'>
+  <varlistentry>
+    <term>encrypt none</term><listitem><para/></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>encrypt client</term>
+    <listitem>
+      <para>Specify client_encrypt &quot;PROG&quot;</para>
+      <para>PROG must not contain white space.</para>
+      <para>Specify client_decrypt_option &quot;decryption-parameter&quot; Default: &quot;-d&quot;</para>
+      <para>decryption-parameter must not contain white space.</para>
+      <para>(See dumptype server-encrypt-fast in example/amanda.conf for reference)</para>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>encrypt server</term>
+    <listitem>
+      <para>Specify server_encrypt &quot;PROG&quot;</para>
+      <para>PROG must not contain white space.</para>
+      <para>Specify server_decrypt_option &quot;decryption-parameter&quot; Default: &quot;-d&quot;</para>
+      <para>decryption-parameter must not contain white space.</para>
+      <para>(See dumptype client-encrypt-nocomp in example/amanda.conf for reference)</para>
+    </listitem>
+  </varlistentry>
+</variablelist>
 <para>Note that current logic assumes compression then encryption during
 backup(thus decrypt then uncompress during restore). So specifying
 client-encryption AND server-compression is not supported.
 <emphasis remap='I'>amcrypt</emphasis> which is a wrapper of
            <emphasis remap='I'>aespipe</emphasis> is provided as a reference
                symmetric encryption program.</para>
 <para>Note that current logic assumes compression then encryption during
 backup(thus decrypt then uncompress during restore). So specifying
 client-encryption AND server-compression is not supported.
 <emphasis remap='I'>amcrypt</emphasis> which is a wrapper of
            <emphasis remap='I'>aespipe</emphasis> is provided as a reference
                symmetric encryption program.</para>
+</listitem>
 </varlistentry>
 
 
 </varlistentry>
 
 
@@ -1223,31 +1250,35 @@ client-encryption AND server-compression is not supported.
   <listitem>
 <para>Default: <emphasis remap='I'>client</emphasis>.
 Determine the way &A; does it's estimate.</para>
   <listitem>
 <para>Default: <emphasis remap='I'>client</emphasis>.
 Determine the way &A; does it's estimate.</para>
-<itemizedlist>
-<listitem>
-<para>client:</para>
-<para>
-Use the same program as the dumping program, this is the most accurate way to do estimates, but it can take a long time.
-</para>
-</listitem>
-<listitem>
-<para>calcsize:</para>
-<para>Use a faster program to do estimates, but the result is less accurate.</para>
-</listitem>
-<listitem>
-<para>server:</para>
-<para>Use only statistics from the previous run to give an estimate, 
-it takes only a few seconds but the result is not accurate if your disk 
-usage changes from day to day.
-</para>
-  </listitem>
-  </itemizedlist>
-  </listitem>
+<variablelist remap='TP'>
+  <varlistentry>
+    <term>client</term>
+    <listitem>
+      <para>Use the same program as the dumping program, this is the most
+           accurate way to do estimates, but it can take a long time.</para>
+    </listitem>
   </varlistentry>
   </varlistentry>
+  <varlistentry>
+    <term>calcsize</term>
+    <listitem>
+      <para>Use a faster program to do estimates, but the result is less accurate.</para>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>server</term>
+    <listitem>
+      <para>Use only statistics from the previous run to give an estimate, 
+            it takes only a few seconds but the result is not accurate if your disk 
+            usage changes from day to day.</para>
+    </listitem>
+  </varlistentry>
+</variablelist>
+</listitem>
+</varlistentry>
 
   
   <varlistentry>
 
   
   <varlistentry>
-  <term><emphasis remap='B'>exclude</emphasis> [ <emphasis remap='I'>list|file</emphasis> ][[optional][ <emphasis remap='I'>append</emphasis> ][ <emphasis remap='I'> string</emphasis> ]+]</term>
+  <term><emphasis remap='B'>exclude</emphasis> [ list|file ][[optional][ append ][ <emphasis remap='I'>string</emphasis> ]+]</term>
   <listitem>
 <para>Default:
 <emphasis remap='I'>file</emphasis>.
   <listitem>
 <para>Default:
 <emphasis remap='I'>file</emphasis>.
@@ -1299,7 +1330,7 @@ for a backup of <filename>/var</filename>,
 </varlistentry>
 
   <varlistentry>
 </varlistentry>
 
   <varlistentry>
-  <term><emphasis remap='B'>holdingdisk</emphasis> [ <emphasis remap='I'>never|auto|required]</emphasis> ]</term>
+  <term><emphasis remap='B'>holdingdisk</emphasis> [ never|auto|required ]</term>
   <listitem>
 <para>Default:
 <emphasis remap='I'>auto</emphasis>.
   <listitem>
 <para>Default:
 <emphasis remap='I'>auto</emphasis>.
@@ -1348,7 +1379,7 @@ some of which should not back up all the listed file systems.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>include</emphasis> [ <emphasis remap='I'>list|file</emphasis> ][[optional][ <emphasis remap='I'>append</emphasis> ][ <emphasis remap='I'> string</emphasis> ]+]</term>
+  <term><emphasis remap='B'>include</emphasis> [ list|file ][[optional][ append ][ <emphasis remap='I'>string</emphasis> ]+]</term>
   <listitem>
 <para>Default:
 <emphasis remap='I'>file</emphasis>
   <listitem>
 <para>Default:
 <emphasis remap='I'>file</emphasis>
@@ -1373,8 +1404,9 @@ is a file name on the client containing glob expressions.</para>
 <para>Include expressions must always be specified as relative to the
 head directory of the DLE.</para>
 
 <para>Include expressions must always be specified as relative to the
 head directory of the DLE.</para>
 
-<note>For globbing to work at all, even the limited single level, 
-the top level directory of the DLE must be readable by the &A; user.</note>
+<note><para>For globbing to work at all, even the limited single level, 
+the top level directory of the DLE must be readable by the &A; user.</para>
+</note>
 
 <para>With the <emphasis remap='B'>append</emphasis> keyword, the
 <emphasis remap='I'>string</emphasis> is appended to the current list, without it, the
 
 <para>With the <emphasis remap='B'>append</emphasis> keyword, the
 <emphasis remap='I'>string</emphasis> is appended to the current list, without it, the
@@ -1679,10 +1711,10 @@ A comment string describing this set of tape information.</para>
   <term><emphasis remap='B'>filemark</emphasis> <emphasis remap='I'> int</emphasis></term>
   <listitem>
 <para>Default:
   <term><emphasis remap='B'>filemark</emphasis> <emphasis remap='I'> int</emphasis></term>
   <listitem>
 <para>Default:
-<emphasis remap='I'>1000 bytes</emphasis>.
-How large a file mark (tape mark) is, measured in bytes.
+<emphasis remap='I'>1 kbytes</emphasis>.
+How large a file mark (tape mark) is, measured in kbytes.
 If the size is only known in some linear measurement (e.g. inches),
 If the size is only known in some linear measurement (e.g. inches),
-convert it to bytes using the device density.</para>
+convert it to kbytes using the device density.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   </listitem>
   </varlistentry>
   <varlistentry>
@@ -1704,7 +1736,7 @@ manpage for exceptions).
 <term><emphasis remap='B'>blocksize</emphasis> <emphasis remap='I'> int</emphasis></term>
 <listitem>
 <para>Default:
 <term><emphasis remap='B'>blocksize</emphasis> <emphasis remap='I'> int</emphasis></term>
 <listitem>
 <para>Default:
-<emphasis remap='I'>32</emphasis>.
+<emphasis remap='I'>32 kbytes</emphasis>.
 How much data will be written in each tape record expressed in KiloBytes.
 The tape record size (= blocksize) can not be reduced below the default 32 KBytes.
 The parameter blocksize can only be raised if &A; was compiled with the configure option
 How much data will be written in each tape record expressed in KiloBytes.
 The tape record size (= blocksize) can not be reduced below the default 32 KBytes.
 The parameter blocksize can only be raised if &A; was compiled with the configure option
index e3b18d49773060503d9707ecac36845ce3abb354..b9f72c0a3e4341b46e67b724d94e6f64332d42bf 100644 (file)
     <arg choice='opt'>-am</arg>
     <arg choice='opt'>-w</arg>
     <arg choice='opt'>-sclt</arg>
     <arg choice='opt'>-am</arg>
     <arg choice='opt'>-w</arg>
     <arg choice='opt'>-sclt</arg>
-    <group><arg choice='plain'>-M</arg><arg choice='plain'><replaceable>address</replaceable></arg></group>*
+    <arg choice='opt'>-M <replaceable>address</replaceable></arg>
     <arg choice='plain'><replaceable>config</replaceable></arg>
     <arg choice='plain'><replaceable>config</replaceable></arg>
-    <group><arg choice='plain'><replaceable>host</replaceable></arg><arg choice='opt'><replaceable>disk</replaceable></arg>*</group>*
-    <group><arg choice='plain'>-o</arg><arg choice='plain'><replaceable>configoption</replaceable></arg></group>*
+    <arg choice='opt' rep='repeat'>
+       <arg choice='plain'><replaceable>host</replaceable></arg>
+       <arg choice='opt' rep='repeat'><replaceable>disk</replaceable></arg>
+    </arg>
+    <arg choice='plain' rep='repeat'><group><arg choice='plain'>-o </arg><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
@@ -70,7 +73,7 @@ man page for more details about &A;.</para>
   <varlistentry>
   <term><option>-c</option></term>
   <listitem>
   <varlistentry>
   <term><option>-c</option></term>
   <listitem>
-<para>Run the client host checks.Multiple specific clients can be 
+<para>Run the client host checks. Multiple specific clients can be
 checked by specifying the client name.</para>
   </listitem>
   </varlistentry>
 checked by specifying the client name.</para>
   </listitem>
   </varlistentry>
@@ -603,7 +606,8 @@ KBytes were available.
 <emphasis remap='I'>amanda.conf</emphasis>
 option)
 to allow for unexpected overruns.</para>
 <emphasis remap='I'>amanda.conf</emphasis>
 option)
 to allow for unexpected overruns.</para>
-<note>Even though this message is listed as a warning, it causes &amcheck; to exit with a non-zero status.</note>
+<note><para>Even though this message is listed as a warning, it causes &amcheck; to exit with a non-zero status.</para>
+</note>
   </listitem>
   </varlistentry>
 </variablelist>
   </listitem>
   </varlistentry>
 </variablelist>
index 09db7be574a2766df764ae4bd0ae62e62b9c2813..6dc88e67af45f2d88eabdb6a6a0c14979495a9c8 100755 (executable)
@@ -32,16 +32,16 @@ remap='B'>gpg</emphasis>  to work. Aespipe is available from <ulink
 url="http://loop-aes.sourceforge.net"/></para>
 <para>&amcrypt; will search for the aespipe program in the following directories:
 /usr/bin:/usr/local/bin:/sbin:/usr/sbin.</para>
 url="http://loop-aes.sourceforge.net"/></para>
 <para>&amcrypt; will search for the aespipe program in the following directories:
 /usr/bin:/usr/local/bin:/sbin:/usr/sbin.</para>
-&amcrypt; calls &amaespipe; and pass the
+<para>&amcrypt; calls &amaespipe; and pass the
 <emphasis remap='B'>passphrase</emphasis> through file descriptor 3.
 <emphasis remap='B'>passphrase</emphasis> through file descriptor 3.
-The passphrase should be stored in ~amanda/.am_passphrase.
+The passphrase should be stored in ~amanda/.am_passphrase.</para>
 </refsect1>
 
 <refsect1><title>How to create encryption keys for amcrypt</title>
 </refsect1>
 
 <refsect1><title>How to create encryption keys for amcrypt</title>
-1. Create 65 random encryption keys and encrypt those keys using gpg. Reading
+<para>1. Create 65 random encryption keys and encrypt those keys using gpg. Reading
 from /dev/random may take indefinitely long if kernel's random entropy pool
 is empty. If that happens, do some other work on some other console (use
 from /dev/random may take indefinitely long if kernel's random entropy pool
 is empty. If that happens, do some other work on some other console (use
-keyboard, mouse and disks). 
+keyboard, mouse and disks).</para>
 <para> head -c 2925 /dev/random | uuencode -m - | head -n 66 | tail -n 65 \
         | gpg --symmetric -a > ~amanda/.gnupg/am_key.gpg
 </para>
 <para> head -c 2925 /dev/random | uuencode -m - | head -n 66 | tail -n 65 \
         | gpg --symmetric -a > ~amanda/.gnupg/am_key.gpg
 </para>
@@ -60,9 +60,9 @@ chmod 700 ~amanda/.am_passphrase
 
 <refsect1><title>Key and Passphrase</title>
 <para>&amcrypt; uses the same key to encrypt and decrypt data.</para>
 
 <refsect1><title>Key and Passphrase</title>
 <para>&amcrypt; uses the same key to encrypt and decrypt data.</para>
-It is very important to store and protect the key and the passphrase
+<para>It is very important to store and protect the key and the passphrase
 properly. Encrypted backup data can <emphasis remap='B'>only</emphasis> be recovered with the correct key and
 properly. Encrypted backup data can <emphasis remap='B'>only</emphasis> be recovered with the correct key and
-passphrase.
+passphrase.</para>
 </refsect1>
 
 <refsect1><title>SEE ALSO</title>
 </refsect1>
 
 <refsect1><title>SEE ALSO</title>
index 2f60c9d2a5c14c36dfb4390f1f97a640f46ec5b1..7c7a7635d612e9b26658bf7dd8539b9ebd387815 100644 (file)
 <cmdsynopsis>
   <command>amdump</command>    
     <arg choice='plain'><replaceable>config</replaceable></arg>
 <cmdsynopsis>
   <command>amdump</command>    
     <arg choice='plain'><replaceable>config</replaceable></arg>
-    <group><arg choice='plain'><replaceable>host</replaceable></arg><arg choice='opt'><replaceable>disk</replaceable></arg>*</group>*
-    <group><arg choice='plain'>-o</arg><arg choice='plain'><replaceable>configoption</replaceable></arg></group>*
+    <arg choice='opt' rep='repeat'>
+       <arg choice='plain'><replaceable>host</replaceable></arg>
+       <arg choice='opt' rep='repeat'><replaceable>disk</replaceable></arg>
+    </arg>
+    <arg choice='plain' rep='repeat'><group><arg choice='plain'>-o </arg><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
index 39b2b3b3b3fa3034d76a4dd38d2fdae18cc10c90..4f4d4a3878679c7f74491d2dc1239d7b37cc1520 100644 (file)
@@ -41,7 +41,7 @@
         </arg>
       </arg>
     </arg>
         </arg>
       </arg>
     </arg>
-    <group><arg choice='plain'>-o</arg><arg choice='plain'><replaceable>configoption</replaceable></arg></group>*
+    <arg choice='plain' rep='repeat'><group><arg choice='plain'>-o </arg><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
@@ -138,8 +138,9 @@ option disables the appending behavior, and instead restores each
 piece as an individual file and reassembles them only after all have
 been restored.</para>
 
 piece as an individual file and reassembles them only after all have
 been restored.</para>
 
-<note>This requires at least double the size of your dump in free
-disk space, in order to build the final assembled dumpfile.</note>
+<note><para>This requires at least double the size of your dump in free
+disk space, in order to build the final assembled dumpfile.</para>
+</note>
 
 <para>This behavior is implicitly invoked in circumstances where knowing the
 location of all dumps on tape in advance is not possible, such as when
 
 <para>This behavior is implicitly invoked in circumstances where knowing the
 location of all dumps on tape in advance is not possible, such as when
@@ -218,7 +219,7 @@ $ amfetchdump -i /var/amanda/log SetA backupserver
 </refsect1>
 
 <refsect1><title>CAVEATS</title>
 </refsect1>
 
 <refsect1><title>CAVEATS</title>
-<command>Amfetchdump</command> is dependent on accessing your server's config,
+<para><command>Amfetchdump</command> is dependent on accessing your server's config,
 tape changer, and (normally) dump logs. As such, it's not necessarily
 the most useful tool when those have all been wiped out and you
 desperately need to pull things from your tape. Pains have been taken
 tape changer, and (normally) dump logs. As such, it's not necessarily
 the most useful tool when those have all been wiped out and you
 desperately need to pull things from your tape. Pains have been taken
@@ -227,7 +228,7 @@ restores, look to
 <citerefentry><refentrytitle>amrestore</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 or
 <citerefentry><refentrytitle>dd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 <citerefentry><refentrytitle>amrestore</refentrytitle><manvolnum>8</manvolnum></citerefentry>
 or
 <citerefentry><refentrytitle>dd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
-instead.
+instead.</para>
 </refsect1>
 
 <refsect1><title>AUTHOR</title>
 </refsect1>
 
 <refsect1><title>AUTHOR</title>
index 9ef7256a7624de5da0dec1f7964850956afb5b92..9c268d33435bc1d66a9ac2898d639af332235125 100644 (file)
     <arg choice='opt'>-b</arg>
     <arg choice='opt'>-f</arg>
     <arg choice='opt'>-s</arg>
     <arg choice='opt'>-b</arg>
     <arg choice='opt'>-f</arg>
     <arg choice='opt'>-s</arg>
-    <group><arg choice='plain'>-D</arg><arg choice='plain'><replaceable>datestamp</replaceable></arg></group>*
+    <arg choice='opt'>-D <replaceable>datestamp</replaceable></arg>
     <arg choice='plain'><replaceable>config</replaceable></arg>
     <arg choice='plain'><replaceable>config</replaceable></arg>
-    <group><arg choice='plain'><replaceable>host</replaceable></arg><arg choice='opt'><replaceable>disk</replaceable></arg>*</group>*
-    <group><arg choice='plain'>-o</arg><arg choice='plain'><replaceable>configoption</replaceable></arg></group>*
+    <arg choice='opt' rep='repeat'>
+       <arg choice='plain'><replaceable>host</replaceable></arg>
+       <arg choice='opt' rep='repeat'><replaceable>disk</replaceable></arg>
+    </arg>
+    <arg choice='plain' rep='repeat'><group><arg choice='plain'>-o </arg><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
index 0e758445286722f922a3fe95aaf47dadcd525996..933b877cd7b7a46489505a265ac7ea7b6b84a1aa 100644 (file)
@@ -23,8 +23,9 @@
 <cmdsynopsis>
   <command>amgetconf</command>    
     <arg choice='opt'><replaceable>config</replaceable></arg>
 <cmdsynopsis>
   <command>amgetconf</command>    
     <arg choice='opt'><replaceable>config</replaceable></arg>
+    <arg choice='opt'><replaceable>--list</replaceable></arg>
     <arg choice='plain'><replaceable>parameter</replaceable></arg>
     <arg choice='plain'><replaceable>parameter</replaceable></arg>
-    <group><arg choice='plain'>-o</arg><arg choice='plain'><replaceable>configoption</replaceable></arg></group>*
+    <arg choice='plain' rep='repeat'><group><arg choice='plain'>-o </arg><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
@@ -86,7 +87,64 @@ man page for more details about &A;.</para>
 <variablelist remap='TP'>
 
   <varlistentry>
 <variablelist remap='TP'>
 
   <varlistentry>
-  <term><emphasis remap='B'>-o</emphasis> <replaceable>configoption</replaceable></term>
+  <term><emphasis remap='B'>--list</emphasis></term>
+  <listitem>
+<para>The parameter must be 'tapetype', 'dumptype, 'holdingdisk' or 'interface'. It will output, one by line, the list of identifier for the parameter.</para>
+<variablelist remap='TP'>
+<varlistentry>
+  <term>--list tapetype</term>
+  <listitem>
+    <para>Output the list of tapetype, one by line.</para>
+  </listitem>
+</varlistentry>
+<varlistentry>
+  <term>--list dumptype</term>
+  <listitem>
+    <para>Output the list of dumptype, one by line.</para>
+  </listitem>
+</varlistentry>
+<varlistentry>
+  <term>--list holdingdisk</term>
+  <listitem>
+    <para>Output the list of holdingdisk, one by line.</para>
+  </listitem>
+</varlistentry>
+<varlistentry>
+  <term>--list interface</term>
+  <listitem>
+    <para>Output the list of interface, one by line.</para>
+  </listitem>
+</varlistentry>
+</variablelist>
+  </listitem>
+  </varlistentry>
+
+  <varlistentry>
+  <term><emphasis remap='B'>parameter</emphasis></term>
+  <listitem>
+    <para>It could be one of the below format:</para>
+<variablelist remap='TP'>
+<varlistentry>
+    <term>runtapes</term><listitem><para></para></listitem>
+</varlistentry>
+<varlistentry>
+    <term>DUMPTYPE:no-compress:compress</term><listitem><para></para></listitem>
+</varlistentry>
+<varlistentry>
+    <term>TAPETYPE:HP-DAT:length</term><listitem><para></para></listitem>
+</varlistentry>
+<varlistentry>
+    <term>INTERFACE:local:use</term><listitem><para></para></listitem>
+</varlistentry>
+<varlistentry>
+    <term>HOLDINGDISK:hd1:use</term><listitem><para></para></listitem>
+</varlistentry>
+</variablelist>
+  </listitem>
+  </varlistentry>
+
+<varlistentry>
+<term><emphasis remap='B'>-o</emphasis> <replaceable>configoption</replaceable></term>
   <listitem>
 <para>See the "<emphasis remap='B'>CONFIGURATION OVERWRITE</emphasis>" section in <citerefentry><refentrytitle>amanda</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
   </listitem>
   <listitem>
 <para>See the "<emphasis remap='B'>CONFIGURATION OVERWRITE</emphasis>" section in <citerefentry><refentrytitle>amanda</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
   </listitem>
index a19e40c932e6c3417b32dda0b0c562036821d332..05c0a5b71acd448ef68ed430a981db3984483316 100644 (file)
@@ -25,8 +25,8 @@
     <arg choice='opt'>-f </arg>
     <arg choice='plain'><replaceable>config</replaceable></arg>
     <arg choice='plain'><replaceable>label</replaceable></arg>
     <arg choice='opt'>-f </arg>
     <arg choice='plain'><replaceable>config</replaceable></arg>
     <arg choice='plain'><replaceable>label</replaceable></arg>
-    <group><arg choice='plain'>slot</arg><arg choice='plain'><replaceable>slot</replaceable></arg></group>
-    <group><arg choice='plain'>-o</arg><arg choice='plain'><replaceable>configoption</replaceable></arg></group>*
+    <arg choice='opt'>slot <replaceable>slot</replaceable></arg>
+    <arg choice='plain' rep='repeat'><group><arg choice='plain'>-o </arg><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
index 515fcb5c142cf72768c79e6eecefc1acc1293512..5604cc73c07a7451f77f7734cd3e72152f63e3c6 100644 (file)
@@ -207,9 +207,8 @@ and may include:</para>
   </varlistentry>
 </variablelist>
 
   </varlistentry>
 </variablelist>
 
-<note>Many systems only report good data when a tape is in the drive and ready.
+<note><para>Many systems only report good data when a tape is in the drive and ready.</para>
 </note>
 </note>
-<para />
 </refsect1>
 
 <refsect1><title>AUTHOR</title>
 </refsect1>
 
 <refsect1><title>AUTHOR</title>
index 16c41e0752efbba8fe5883baf01cd8b2d21784d0..d00fbca0e3da03aca5c49916a47ed7f7fab5be48 100644 (file)
 <refsynopsisdiv>
 <cmdsynopsis>
   <command>amrecover</command>    
 <refsynopsisdiv>
 <cmdsynopsis>
   <command>amrecover</command>    
-    <group><arg choice='opt'>-C </arg><arg choice='plain'><replaceable>config</replaceable></arg></group>
-    <group><arg choice='plain'>-s </arg><arg choice='plain'><replaceable>index-server</replaceable></arg></group>
-    <group><arg choice='plain'>-t </arg><arg choice='plain'><replaceable>tape-server</replaceable></arg></group>
-    <group><arg choice='plain'>-d </arg><arg choice='plain'><replaceable>tape-device</replaceable></arg></group>
-    <group><arg choice='plain'>-o </arg><arg choice='plain'><replaceable>clientconfigoption</replaceable></arg></group>*
+    <arg choice='opt'>-C <replaceable>config</replaceable></arg>
+    <arg choice='opt'>-s <replaceable>index-server</replaceable></arg>
+    <arg choice='opt'>-t <replaceable>tape-server</replaceable></arg>
+    <arg choice='opt'>-d <replaceable>tape-device</replaceable></arg>
+    <arg choice='plain' rep='repeat'><group><arg choice='plain'>-o </arg><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
@@ -53,9 +53,10 @@ man page for more details about &A;.</para>
 </refsect1>
 
 <refsect1><title>OPTIONS</title>
 </refsect1>
 
 <refsect1><title>OPTIONS</title>
-<note>The Default values are those set at compile-time.
+<note><para>The Default values are those set at compile-time.
 Use <command>amrestore</command> to recover client-encrypted or
 Use <command>amrestore</command> to recover client-encrypted or
-client-custom-compressed tapes.</note>
+client-custom-compressed tapes.</para>
+</note>
 <variablelist remap='TP'>
   <varlistentry>
   <term><emphasis remap='B'>[ -C ] config</emphasis></term>
 <variablelist remap='TP'>
   <varlistentry>
   <term><emphasis remap='B'>[ -C ] config</emphasis></term>
@@ -166,9 +167,7 @@ would yield files from the following days:</para>
 <!-- .RE -->
 <variablelist remap='TP'>
   <varlistentry>
 <!-- .RE -->
 <variablelist remap='TP'>
   <varlistentry>
-  <term><emphasis remap='B'>setdisk <arg
-  choice='plain'><replaceable>diskname</replaceable></arg> <arg
-  choice='opt'><replaceable>mountpoint</replaceable></arg></emphasis></term>
+  <term><emphasis remap='B'>setdisk </emphasis><emphasis remap='I'>diskname</emphasis> [<emphasis remap='I'>mountpoint</emphasis>]</term>
   <listitem>
 <para>Specifies which disk to consider
 (default: the disk holding the working directory where
   <listitem>
 <para>Specifies which disk to consider
 (default: the disk holding the working directory where
@@ -190,21 +189,21 @@ mount point instead of full pathnames.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>listhost [diskdevice]</emphasis></term>
+  <term><emphasis remap='B'>listhost </emphasis>[<emphasis remap='I'>diskdevice</emphasis>]</term>
   <listitem>
 <para>List all
 <emphasis remap='B'>host</emphasis></para>
   </listitem>
   </varlistentry>
   <varlistentry>
   <listitem>
 <para>List all
 <emphasis remap='B'>host</emphasis></para>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>listdisk [diskdevice]</emphasis></term>
+  <term><emphasis remap='B'>listdisk </emphasis>[<emphasis remap='I'>diskdevice</emphasis>]</term>
   <listitem>
 <para>List all
 <emphasis remap='B'>diskname</emphasis></para>
   </listitem>
   </varlistentry>
   <varlistentry>
   <listitem>
 <para>List all
 <emphasis remap='B'>diskname</emphasis></para>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>settape [[server]:][tapedev|default]</emphasis></term>
+  <term><emphasis remap='B'>settape </emphasis>[[<emphasis remap='I'>server</emphasis>]:][<emphasis remap='I'>tapedev</emphasis>|<emphasis remap='I'>default</emphasis>]</term>
   <listitem>
 <para>Specifies the host to use as the tape server, and which of its tape
 devices to use.
   <listitem>
 <para>Specifies the host to use as the tape server, and which of its tape
 devices to use.
@@ -229,7 +228,6 @@ must specify the hostname.</para>
 <programlisting>
 settape 192.168.0.10:file:/file1
 </programlisting>
 <programlisting>
 settape 192.168.0.10:file:/file1
 </programlisting>
-
 <para>You can change the tape device when amrecover ask you to load the tape:</para>
 
 <programlisting>
 <para>You can change the tape device when amrecover ask you to load the tape:</para>
 
 <programlisting>
@@ -246,7 +244,7 @@ Using tape /dev/nst2 from server server2.
 
 <variablelist remap='TP'>
   <varlistentry>
 
 <variablelist remap='TP'>
   <varlistentry>
-  <term><emphasis remap='B'>setmode mode</emphasis></term>
+  <term><emphasis remap='B'>setmode </emphasis><emphasis remap='I'>mode</emphasis></term>
   <listitem>
 <para>Set the extraction mode for Samba shares.
 If
   <listitem>
 <para>Set the extraction mode for Samba shares.
 If
@@ -299,7 +297,7 @@ can be a shell style wildcards.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>cdx dir</emphasis></term>
+  <term><emphasis remap='B'>cdx </emphasis><emphasis remap='I'>dir</emphasis></term>
   <listitem>
 <para>Like the
 <emphasis remap='B'>cd</emphasis>
   <listitem>
 <para>Like the
 <emphasis remap='B'>cd</emphasis>
@@ -317,7 +315,7 @@ relative to the backed up filesystem.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>lcd path</emphasis></term>
+  <term><emphasis remap='B'>lcd </emphasis><emphasis remap='I'>path</emphasis></term>
   <listitem>
 <para>Change the
 <command>amrecover</command>
   <listitem>
 <para>Change the
 <command>amrecover</command>
@@ -337,35 +335,35 @@ The backup date is shown for each file.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>add item1 item2 ...</emphasis></term>
+  <term><emphasis remap='B'>add </emphasis><emphasis remap='I'>item1 item2 ...</emphasis></term>
   <listitem>
 <para>Add the specified files or directories to the restore list.
 Each item may have shell style wildcards.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   <listitem>
 <para>Add the specified files or directories to the restore list.
 Each item may have shell style wildcards.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>addx item1 item2 ...</emphasis></term>
+  <term><emphasis remap='B'>addx </emphasis><emphasis remap='I'>item1 item2 ...</emphasis></term>
   <listitem>
 <para>Add the specified files or directories to the restore list.
 Each item may be a regular expression.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   <listitem>
 <para>Add the specified files or directories to the restore list.
 Each item may be a regular expression.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>delete item1 item2 ...</emphasis></term>
+  <term><emphasis remap='B'>delete </emphasis><emphasis remap='I'>item1 item2 ...</emphasis></term>
   <listitem>
 <para>Delete the specified files or directories from the restore list.
 Each item may have shell style wildcards.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   <listitem>
 <para>Delete the specified files or directories from the restore list.
 Each item may have shell style wildcards.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>deletex item1 item2 ...</emphasis></term>
+  <term><emphasis remap='B'>deletex </emphasis><emphasis remap='I'>item1 item2 ...</emphasis></term>
   <listitem>
 <para>Delete the specified files or directories from the restore list.
 Each item may be a regular expression.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
   <listitem>
 <para>Delete the specified files or directories from the restore list.
 Each item may be a regular expression.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
-  <term><emphasis remap='B'>list file</emphasis></term>
+  <term><emphasis remap='B'>list </emphasis><emphasis remap='I'>file</emphasis></term>
   <listitem>
 <para>Display the contents of the restore list.
 If a file name is specified,
   <listitem>
 <para>Display the contents of the restore list.
 If a file name is specified,
index fd9252b603df4ab54a9c278f07e603e95bbac718..b59c06e4acad0de009d58c3ae2ed27f26522666f 100644 (file)
   <command>amreport</command>    
     <arg choice='opt'><replaceable>config</replaceable></arg>
     <arg choice='opt'>-i</arg>
   <command>amreport</command>    
     <arg choice='opt'><replaceable>config</replaceable></arg>
     <arg choice='opt'>-i</arg>
-    <group><arg choice='plain'>-M</arg><arg choice='plain'><replaceable>address</replaceable></arg></group>
-    <group><arg choice='plain'>-l</arg><arg choice='plain'><replaceable>logfile</replaceable></arg></group>
-    <group><arg choice='plain'>-f</arg><arg choice='plain'><replaceable>outputfile</replaceable></arg></group>
-    <group><arg choice='plain'>-p</arg><arg choice='plain'><replaceable>postscriptfile</replaceable></arg></group>
-    <group><arg choice='plain'>-o</arg><arg choice='plain'><replaceable>configoption</replaceable></arg></group>*
+    <arg choice='opt'>-M <replaceable>address</replaceable></arg>
+    <arg choice='opt'>-l <replaceable>logfile</replaceable></arg>
+    <arg choice='opt'>-f <replaceable>outputfile</replaceable></arg>
+    <arg choice='opt'>-p <replaceable>postscriptfile</replaceable></arg>
+    <arg choice='plain' rep='repeat'><group><arg choice='plain'>-o </arg><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
index ca07bfe0835b9943dbf7f126e113b99c2367211a..f8fb7a2744a093940ea54feebf1bd7ee5c275416 100644 (file)
@@ -24,7 +24,8 @@
   <command>amtape</command>    
     <arg choice='plain'><replaceable>config</replaceable></arg>
     <arg choice='plain'><replaceable>command</replaceable></arg>
   <command>amtape</command>    
     <arg choice='plain'><replaceable>config</replaceable></arg>
     <arg choice='plain'><replaceable>command</replaceable></arg>
-    <arg choice='opt'><arg choice='plain'><replaceable>command</replaceable></arg><arg choice='plain'><replaceable>options</replaceable></arg></arg>
+    <arg choice='opt' rep='repeat'><replaceable>command_options</replaceable></arg>
+    <arg choice='plain' rep='repeat'><group><option>-o </option><replaceable>configoption</replaceable></group></arg>
 </cmdsynopsis>
 </refsynopsisdiv>
 
 </cmdsynopsis>
 </refsynopsisdiv>
 
@@ -187,6 +188,15 @@ Advance
 to the next tape, but do not load it.</para>
   </listitem>
   </varlistentry>
 to the next tape, but do not load it.</para>
   </listitem>
   </varlistentry>
+
+  <varlistentry>
+  <term><emphasis remap='B'>-o</emphasis> <replaceable>configoption</replaceable></term>
+  <listitem>
+<para>See the "<emphasis remap='B'>CONFIGURATION OVERWRITE</emphasis>"
+ section in <citerefentry><refentrytitle>amanda</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
+  </listitem>
+  </varlistentry>
+
 </variablelist>
 
 <para>This is useful with non-gravity stackers to unload the last tape used
 </variablelist>
 
 <para>This is useful with non-gravity stackers to unload the last tape used
index f7a7d4e4e72c4aa6a74a60432592df88378f859b..3dac788996b945cb16c23e1d3905c46c76929087 100644 (file)
@@ -3,10 +3,11 @@
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 version='1.0'>
 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 version='1.0'>
 
-<xsl:import href="settings.xsl"/>
 
 <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/>
 
 
 <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/>
 
+<xsl:import href="settings.xsl"/>
+
 <xsl:param name="chunk.section.depth" select="0"/>
 <xsl:param name="chunk.first.sections" select="1"/>
 <xsl:param name="use.id.as.filename" select="1"/>
 <xsl:param name="chunk.section.depth" select="0"/>
 <xsl:param name="chunk.first.sections" select="1"/>
 <xsl:param name="use.id.as.filename" select="1"/>
   </xsl:if>
 </xsl:template>
 
   </xsl:if>
 </xsl:template>
 
-<xsl:template match="refentry">
-
-  <xsl:variable name="section" select="refmeta/manvolnum"/>
-  <xsl:variable name="name" select="refnamediv/refname[1]"/>
-  <xsl:variable name="base.dir" select="$base.dir"/>
-  <!-- standard man page width is 64 chars; 6 chars needed for the two
-       (x) volume numbers, and 2 spaces, leaves 56 -->
-  <xsl:variable name="twidth" select="(74 - string-length(refmeta/refentrytitle)) div 2"/>
-
-  <xsl:variable name="reftitle" 
-               select="substring(refmeta/refentrytitle, 1, $twidth)"/>
-
-  <xsl:variable name="title">
-    <xsl:choose>
-      <xsl:when test="refentryinfo/title">
-        <xsl:value-of select="refentryinfo/title"/>
-      </xsl:when>
-      <xsl:when test="../referenceinfo/title">
-        <xsl:value-of select="../referenceinfo/title"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="date">
-    <xsl:choose>
-      <xsl:when test="refentryinfo/date">
-        <xsl:value-of select="refentryinfo/date"/>
-      </xsl:when>
-      <xsl:when test="../referenceinfo/date">
-        <xsl:value-of select="../referenceinfo/date"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="productname">
-    <xsl:choose>
-      <xsl:when test="refentryinfo/productname">
-        <xsl:value-of select="refentryinfo/productname"/>
-      </xsl:when>
-      <xsl:when test="../referenceinfo/productname">
-        <xsl:value-of select="../referenceinfo/productname"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="write.text.chunk">
-    <xsl:with-param name="filename"
-                   select="concat($base.dir, normalize-space ($name), '.', $section)"/>
-    <xsl:with-param name="content">
-      <xsl:text>.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "</xsl:text>
-      <xsl:value-of select="translate($reftitle,'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
-      <xsl:text>" </xsl:text>
-      <xsl:value-of select="refmeta/manvolnum[1]"/>
-      <xsl:text> "</xsl:text>
-      <xsl:value-of select="normalize-space($date)"/>
-      <xsl:text>" "</xsl:text>
-      <xsl:value-of select="normalize-space($productname)"/>
-      <xsl:text>" "</xsl:text>
-      <xsl:value-of select="$title"/>
-      <xsl:text>"
-</xsl:text>
-      <xsl:apply-templates/>
-      <xsl:text>&#10;</xsl:text>
-
-      <!-- Author section -->
-      <xsl:choose>
-        <xsl:when test="refentryinfo//author">
-          <xsl:apply-templates select="refentryinfo" mode="authorsect"/>
-        </xsl:when>
-      </xsl:choose>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
 <xsl:template match="informalexample|screen|programlisting">
   <xsl:text>.nf&#10;</xsl:text>
   <xsl:apply-templates/>
   <xsl:text>.fi&#10;</xsl:text>
 </xsl:template>
 
 <xsl:template match="informalexample|screen|programlisting">
   <xsl:text>.nf&#10;</xsl:text>
   <xsl:apply-templates/>
   <xsl:text>.fi&#10;</xsl:text>
 </xsl:template>
 
-<xsl:template match="//emphasis">
-  <xsl:text>\fB</xsl:text>
-  <xsl:apply-templates/>
-  <xsl:text>\fR</xsl:text>
-</xsl:template>
-
 <xsl:template match="para|simpara|remark" mode="list">
   <xsl:variable name="foo">
     <xsl:apply-templates/>
 <xsl:template match="para|simpara|remark" mode="list">
   <xsl:variable name="foo">
     <xsl:apply-templates/>
index ff8dca4db6aae2b08026ecf416746e6a8d308466..a68d475fc9220ab1cdaa81865145349e73868522 100644 (file)
@@ -172,6 +172,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -202,6 +203,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index 8066cad8a7cc273787688e1aac1123d35e01270c..4201fc2c0d72b3875ccb94d722dca223edf4a0cf 100644 (file)
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amrecover.c,v 1.7 2006/07/25 18:27:57 martinea Exp $
+ * $Id: amrecover.c,v 1.7.2.2 2006/12/12 14:56:38 martinea Exp $
  *
  * an interactive program for recovering backed-up files
  */
 
 #include "amanda.h"
 #include "version.h"
  *
  * an interactive program for recovering backed-up files
  */
 
 #include "amanda.h"
 #include "version.h"
-//#ifdef HAVE_NETINET_IN_SYSTM_H
-//#include <netinet/in_systm.h>
-//#endif
-//#include <netinet/in.h>
-//#ifdef HAVE_NETINET_IP_H
-//#include <netinet/ip.h>
-//#endif
 #include "stream.h"
 #include "amfeatures.h"
 #include "amrecover.h"
 #include "stream.h"
 #include "amfeatures.h"
 #include "amrecover.h"
@@ -301,7 +294,7 @@ guess_disk (
        /*NOTREACHED*/
     }
     cwd_length = strlen(cwd);
        /*NOTREACHED*/
     }
     cwd_length = strlen(cwd);
-    dbprintf(("guess_disk: %d: \"%s\"\n", cwd_length, cwd));
+    dbprintf(("guess_disk: %zu: \"%s\"\n", cwd_length, cwd));
 
     if (open_fstab() == 0) {
        return -1;
 
     if (open_fstab() == 0) {
        return -1;
@@ -311,7 +304,7 @@ guess_disk (
     while (get_fstab_nextentry(&fsent))
     {
        current_length = fsent.mntdir ? strlen(fsent.mntdir) : (size_t)0;
     while (get_fstab_nextentry(&fsent))
     {
        current_length = fsent.mntdir ? strlen(fsent.mntdir) : (size_t)0;
-       dbprintf(("guess_disk: %d: %d: \"%s\": \"%s\"\n",
+       dbprintf(("guess_disk: %zu: %zu: \"%s\": \"%s\"\n",
                  longest_match,
                  current_length,
                  fsent.mntdir ? fsent.mntdir : "(mntdir null)",
                  longest_match,
                  current_length,
                  fsent.mntdir ? fsent.mntdir : "(mntdir null)",
index 5c5d92accb034d7d7e8c37681968d6f86f3b00dc..6d69910a32e43aff25c6473fa3b9f7e7ef7c73f4 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: extract_list.c,v 1.6 2006/08/24 01:57:15 paddy_s Exp $
+ * $Id: extract_list.c,v 1.6.2.1 2006/11/08 17:11:39 martinea Exp $
  *
  * implements the "extract" command in amrecover
  */
  *
  * implements the "extract" command in amrecover
  */
@@ -605,7 +605,6 @@ void add_file(
        regex = "\\.[/]*$";
     }
     else if(strcmp(regex, "[^/]*[/]*$") == 0) {                /* "*" */
        regex = "\\.[/]*$";
     }
     else if(strcmp(regex, "[^/]*[/]*$") == 0) {                /* "*" */
-       //regex = 
        regex = "([^/.]|\\.[^/]+|[^/.][^/]*)[/]*$";
     } else {
        /* remove "/" at end of path */
        regex = "([^/.]|\\.[^/]+|[^/.][^/]*)[/]*$";
     } else {
        /* remove "/" at end of path */
index c253cd0d99949d994e79d433df0f2a75c19f8eaa..3943606a06ceda53b188c8fc4ff91a09b0c264d5 100644 (file)
@@ -172,6 +172,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -202,6 +203,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index cf21c0312ce6553b6ef790a4eac6b6820ead003e..f3630b2abc17fd1c2301b0925d257dea70bd0d51 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amrecover.c,v 1.73 2006/07/25 18:27:57 martinea Exp $
+ * $Id: amrecover.c,v 1.73.2.2 2007/01/24 18:33:30 martinea Exp $
  *
  * an interactive program for recovering backed-up files
  */
  *
  * an interactive program for recovering backed-up files
  */
@@ -356,22 +356,18 @@ main(
        switch (i) {
            case 'C':
                add_client_conf(CLN_CONF, optarg);
        switch (i) {
            case 'C':
                add_client_conf(CLN_CONF, optarg);
-               //config = newstralloc(config, optarg);
                break;
 
            case 's':
                add_client_conf(CLN_INDEX_SERVER, optarg);
                break;
 
            case 's':
                add_client_conf(CLN_INDEX_SERVER, optarg);
-               //server_name = newstralloc(server_name, optarg);
                break;
 
            case 't':
                add_client_conf(CLN_TAPE_SERVER, optarg);
                break;
 
            case 't':
                add_client_conf(CLN_TAPE_SERVER, optarg);
-               //tape_server_name = newstralloc(tape_server_name, optarg);
                break;
 
            case 'd':
                add_client_conf(CLN_TAPEDEV, optarg);
                break;
 
            case 'd':
                add_client_conf(CLN_TAPEDEV, optarg);
-               //tape_device_name = newstralloc(tape_device_name, optarg);
                break;
 
            case 'U':
                break;
 
            case 'U':
@@ -409,14 +405,47 @@ main(
 
     report_bad_client_arg();
 
 
     report_bad_client_arg();
 
-    amfree(server_name);
-    server_name = getenv("AMANDA_SERVER");
-    if(!server_name) server_name = client_getconf_str(CLN_INDEX_SERVER);
+    server_name = NULL;
+    if (client_getconf_seen(CLN_INDEX_SERVER) == -2) { /* command line argument */
+       server_name = client_getconf_str(CLN_INDEX_SERVER);
+    }
+    if (!server_name) {
+       server_name = getenv("AMANDA_SERVER");
+       if (server_name) {
+           printf("Using index server from environment AMANDA_SERVER (%s)\n", server_name);
+       }
+    }
+    if (!server_name) {
+       server_name = client_getconf_str(CLN_INDEX_SERVER);
+    }
+    if (!server_name) {
+       error("No index server set");
+       /*NOTREACHED*/
+    }
     server_name = stralloc(server_name);
 
     server_name = stralloc(server_name);
 
-    amfree(tape_server_name);
-    tape_server_name = getenv("AMANDA_TAPESERVER");
-    if(!tape_server_name) tape_server_name = client_getconf_str(CLN_TAPE_SERVER);
+    tape_server_name = NULL;
+    if (client_getconf_seen(CLN_TAPE_SERVER) == -2) { /* command line argument */
+       tape_server_name = client_getconf_str(CLN_TAPE_SERVER);
+    }
+    if (!tape_server_name) {
+       tape_server_name = getenv("AMANDA_TAPE_SERVER");
+       if (!tape_server_name) {
+           tape_server_name = getenv("AMANDA_TAPESERVER");
+           if (tape_server_name) {
+               printf("Using tape server from environment AMANDA_TAPESERVER (%s)\n", tape_server_name);
+           }
+       } else {
+           printf("Using tape server from environment AMANDA_TAPE_SERVER (%s)\n", tape_server_name);
+       }
+    }
+    if (!tape_server_name) {
+       tape_server_name = client_getconf_str(CLN_TAPE_SERVER);
+    }
+    if (!tape_server_name) {
+       error("No tape server set");
+       /*NOTREACHED*/
+    }
     tape_server_name = stralloc(tape_server_name);
 
     amfree(tape_device_name);
     tape_server_name = stralloc(tape_server_name);
 
     amfree(tape_device_name);
index 90e181674afc385ea96f3629be90ed1b72b12927..1a5b63876c42173cb0b63c0d873d226cea3e18b1 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: display_commands.c,v 1.22 2006/07/05 19:42:17 martinea Exp $
+ * $Id: display_commands.c,v 1.22.2.1 2006/12/22 15:10:26 martinea Exp $
  *
  * implements the directory-display related commands in amrecover
  */
  *
  * implements the directory-display related commands in amrecover
  */
@@ -143,6 +143,7 @@ suck_dir_list_from_server(void)
     char *disk_path_slash_dot = NULL;
     char *s;
     int ch;
     char *disk_path_slash_dot = NULL;
     char *s;
     int ch;
+    char *qdisk_path;
 
     if (disk_path == NULL) {
        printf("Directory must be set before getting listing\n");
 
     if (disk_path == NULL) {
        printf("Directory must be set before getting listing\n");
@@ -155,7 +156,9 @@ suck_dir_list_from_server(void)
 
     clear_dir_list();
 
 
     clear_dir_list();
 
-    cmd = stralloc2("OLSD ", disk_path);
+    qdisk_path = quote_string(disk_path);
+    cmd = stralloc2("OLSD ", qdisk_path);
+    amfree(qdisk_path);
     if (send_command(cmd) == -1) {
        amfree(cmd);
        amfree(disk_path_slash);
     if (send_command(cmd) == -1) {
        amfree(cmd);
        amfree(disk_path_slash);
index 67c02d1bd10325a8c5ee358ef6fbeb61952ee95e..4cd35b22e5e23cf701d7e8ff02f92f25fb426392 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: extract_list.c,v 1.117 2006/08/24 01:57:15 paddy_s Exp $
+ * $Id: extract_list.c,v 1.117.2.2 2006/12/22 15:10:26 martinea Exp $
  *
  * implements the "extract" command in amrecover
  */
  *
  * implements the "extract" command in amrecover
  */
@@ -743,6 +743,7 @@ add_file(
     ssize_t j;
     char *dir, *dir_undo, dir_undo_ch = '\0';
     char *ditem_path = NULL;
     ssize_t j;
     char *dir, *dir_undo, dir_undo_ch = '\0';
     char *ditem_path = NULL;
+    char *qditem_path = NULL;
     char *l = NULL;
     int  added;
     char *s, *fp, *quoted;
     char *l = NULL;
     int  added;
     char *s, *fp, *quoted;
@@ -762,7 +763,6 @@ add_file(
        regex = "\\.[/]*$";
     }
     else if(strcmp(regex, "[^/]*[/]*$") == 0) {                /* "*" */
        regex = "\\.[/]*$";
     }
     else if(strcmp(regex, "[^/]*[/]*$") == 0) {                /* "*" */
-       //regex = 
        regex = "([^/.]|\\.[^/]+|[^/.][^/]*)[/]*$";
     } else {
        /* remove "/" at end of path */
        regex = "([^/.]|\\.[^/]+|[^/.][^/]*)[/]*$";
     } else {
        /* remove "/" at end of path */
@@ -810,7 +810,9 @@ add_file(
                ditem_path = newstralloc(ditem_path, ditem->path);
                clean_pathname(ditem_path);
 
                ditem_path = newstralloc(ditem_path, ditem->path);
                clean_pathname(ditem_path);
 
-               cmd = stralloc2("ORLD ", ditem_path);
+               qditem_path = quote_string(ditem_path);
+               cmd = stralloc2("ORLD ", qditem_path);
+               amfree(qditem_path);
                if(send_command(cmd) == -1) {
                    amfree(cmd);
                    amfree(ditem_path);
                if(send_command(cmd) == -1) {
                    amfree(cmd);
                    amfree(ditem_path);
@@ -1063,6 +1065,7 @@ delete_file(
     int  level = 0;
     off_t fileno;
     char *ditem_path = NULL;
     int  level = 0;
     off_t fileno;
     char *ditem_path = NULL;
+    char *qditem_path;
     char *l = NULL;
     int  deleted;
     char *s;
     char *l = NULL;
     int  deleted;
     char *s;
@@ -1128,7 +1131,9 @@ delete_file(
                ditem_path = newstralloc(ditem_path, ditem->path);
                clean_pathname(ditem_path);
 
                ditem_path = newstralloc(ditem_path, ditem->path);
                clean_pathname(ditem_path);
 
-               cmd = stralloc2("ORLD ", ditem_path);
+               qditem_path = quote_string(ditem_path);
+               cmd = stralloc2("ORLD ", qditem_path);
+               amfree(qditem_path);
                if(send_command(cmd) == -1) {
                    amfree(cmd);
                    amfree(ditem_path);
                if(send_command(cmd) == -1) {
                    amfree(cmd);
                    amfree(ditem_path);
index a3840a380520bb4c36d886ebff691e638a5d3bfb..c460d380d90d9a8433e7324b28bec5176c72354e 100644 (file)
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: set_commands.c,v 1.26 2006/07/05 13:14:58 martinea Exp $
+ * $Id: set_commands.c,v 1.26.2.1 2006/12/22 15:10:27 martinea Exp $
  *
  * implements the "set" commands in amrecover
  */
 
 #include "amanda.h"
  *
  * implements the "set" commands in amrecover
  */
 
 #include "amanda.h"
+#include "util.h"
 #include "amrecover.h"
 
 #ifdef SAMBA_CLIENT
 #include "amrecover.h"
 
 #ifdef SAMBA_CLIENT
@@ -42,6 +43,7 @@ set_date(
     char *     date)
 {
     char *cmd = NULL;
     char *     date)
 {
     char *cmd = NULL;
+    char *qdisk_path;
 
     clear_dir_list();
 
 
     clear_dir_list();
 
@@ -53,7 +55,9 @@ set_date(
        is still valid at the new date, and if not set directory to
        mount_point */
     if (disk_path != NULL) {
        is still valid at the new date, and if not set directory to
        mount_point */
     if (disk_path != NULL) {
-       cmd = newstralloc2(cmd, "OISD ", disk_path);
+       qdisk_path = quote_string(disk_path);
+       cmd = newstralloc2(cmd, "OISD ", qdisk_path);
+       amfree(qdisk_path);
        if (exchange(cmd) == -1)
            exit(1);
        if (server_happy())
        if (exchange(cmd) == -1)
            exit(1);
        if (server_happy())
@@ -156,6 +160,7 @@ set_disk(
     char *     mtpt)
 {
     char *cmd = NULL;
     char *     mtpt)
 {
     char *cmd = NULL;
+    char *qdsk;
 
     if (is_extract_list_nonempty())
     {
 
     if (is_extract_list_nonempty())
     {
@@ -171,7 +176,9 @@ set_disk(
     }
 
     clear_dir_list();
     }
 
     clear_dir_list();
-    cmd = stralloc2("DISK ", dsk);
+    qdsk = quote_string(dsk);
+    cmd = stralloc2("DISK ", qdsk);
+    amfree(qdsk);
     if (converse(cmd) == -1)
        exit(1);
     amfree(cmd);
     if (converse(cmd) == -1)
        exit(1);
     amfree(cmd);
@@ -226,9 +233,12 @@ list_disk(
     char *     amdevice)
 {
     char *cmd = NULL;
     char *     amdevice)
 {
     char *cmd = NULL;
+    char *qamdevice;
 
     if(amdevice) {
 
     if(amdevice) {
-       cmd = stralloc2("LISTDISK ", amdevice);
+       qamdevice = quote_string(amdevice);
+       cmd = stralloc2("LISTDISK ", qamdevice);
+       amfree(qamdevice);
        if (converse(cmd) == -1)
            exit(1);
        amfree(cmd);
        if (converse(cmd) == -1)
            exit(1);
        amfree(cmd);
@@ -388,6 +398,7 @@ set_directory(
 {
     char *cmd = NULL;
     char *new_dir = NULL;
 {
     char *cmd = NULL;
     char *new_dir = NULL;
+    char *qnew_dir;
     char *dp, *de;
     char *ldir = NULL;
 
     char *dp, *de;
     char *ldir = NULL;
 
@@ -484,7 +495,9 @@ set_directory(
        }
     }
 
        }
     }
 
-    cmd = stralloc2("OISD ", new_dir);
+    qnew_dir = quote_string(new_dir);
+    cmd = stralloc2("OISD ", qnew_dir);
+    amfree(qnew_dir);
     if (exchange(cmd) == -1) {
        exit(1);
        /*NOTREACHED*/
     if (exchange(cmd) == -1) {
        exit(1);
        /*NOTREACHED*/
index 6d4fb301b2a37a4e71b912d597bf93f9b8770fbd..ee23c557256437a9c7dc18d3b843df894ab8f362 100644 (file)
@@ -193,6 +193,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -223,6 +224,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index d1f2b7c3f2f9540807bb732a163465f92aa8a79e..fd1b783b6b6f753ad48713f6ba361e50d3ccd55d 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amfetchdump.c,v 1.16.2.1 2006/09/27 12:04:09 martinea Exp $
+ * $Id: amfetchdump.c,v 1.16.2.2 2007/01/18 20:07:55 martinea Exp $
  *
  * retrieves specific dumps from a set of amanda tapes
  */
  *
  * retrieves specific dumps from a set of amanda tapes
  */
@@ -472,6 +472,8 @@ main(
                 usage();
                /*NOTREACHED*/
             }
                 usage();
                /*NOTREACHED*/
             }
+           arg_state = ARG_GET_HOST;
+           break;
         }
     }
 
         }
     }
 
index 93d93506577a6b55531aba9b60122906e4ad545b..44f8c5b048d67da21ac3a1f8cd226752b964430c 100644 (file)
@@ -23,7 +23,7 @@
  * Authors: the Amanda Development Team.  Its members are listed in a
  * file named AUTHORS, in the root directory of this distribution.
  */
  * Authors: the Amanda Development Team.  Its members are listed in a
  * file named AUTHORS, in the root directory of this distribution.
  */
-/* $Id: amidxtaped.c,v 1.73.2.1 2006/09/27 12:04:09 martinea Exp $
+/* $Id: amidxtaped.c,v 1.73.2.3 2006/11/01 12:26:22 martinea Exp $
  *
  * This daemon extracts a dump image off a tape for amrecover and
  * returns it over the network. It basically, reads a number of
  *
  * This daemon extracts a dump image off a tape for amrecover and
  * returns it over the network. It basically, reads a number of
@@ -245,6 +245,10 @@ main(
     char *conf_tapetype;
     tapetype_t *tape;
     char *line;
     char *conf_tapetype;
     tapetype_t *tape;
     char *line;
+    char *tapedev;
+#ifndef DEBUG_CODE
+    int i;
+#endif
 
     safe_fd(DATA_FD_OFFSET, 4);
     safe_cd();
 
     safe_fd(DATA_FD_OFFSET, 4);
     safe_cd();
@@ -505,11 +509,11 @@ main(
        use_changer = 1;
     }
 
        use_changer = 1;
     }
 
+    tapedev = getconf_str(CNF_TAPEDEV);
     /* If we'll be stepping on the tape server's devices, lock them. */
     if(re_config &&
     /* If we'll be stepping on the tape server's devices, lock them. */
     if(re_config &&
-       (use_changer || (rst_flags->alt_tapedev &&
-                        strcmp(rst_flags->alt_tapedev,
-                               getconf_str(CNF_TAPEDEV)) == 0) ) ) {
+       (use_changer || (rst_flags->alt_tapedev && tapedev &&
+                        strcmp(rst_flags->alt_tapedev, tapedev) == 0) ) ) {
        dbprintf(("%s: Locking devices\n", get_pname()));
        parent_pid = getpid();
        atexit(cleanup);
        dbprintf(("%s: Locking devices\n", get_pname()));
        parent_pid = getpid();
        atexit(cleanup);
@@ -581,11 +585,11 @@ main(
              get_pname(), rst_flags->pipe_to_fd));
 
 
              get_pname(), rst_flags->pipe_to_fd));
 
 
+    tapedev = getconf_str(CNF_TAPEDEV);
     if(get_lock == 0 &&
        re_config && 
     if(get_lock == 0 &&
        re_config && 
-       (use_changer || (rst_flags->alt_tapedev &&
-                        strcmp(rst_flags->alt_tapedev,
-                               getconf_str(CNF_TAPEDEV)) == 0) ) ) {
+       (use_changer || (rst_flags->alt_tapedev && tapedev &&
+                        strcmp(rst_flags->alt_tapedev, tapedev) == 0) ) ) {
        send_message(cmdout, rst_flags, their_features,
                     "%s exists: amdump or amflush is already running, "
                     "or you must run amcleanup", 
        send_message(cmdout, rst_flags, their_features,
                     "%s exists: amdump or amflush is already running, "
                     "or you must run amcleanup", 
index 1410b9dccff09c2cb43f5487968c5a9bca14a82a..57746f59ae56d7849e8b2166a36dd30eb9aac50c 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amrestore.c,v 1.63 2006/07/25 18:58:10 martinea Exp $
+ * $Id: amrestore.c,v 1.63.2.1 2006/11/08 17:11:40 martinea Exp $
  *
  * retrieves files from an amanda tape
  */
  *
  * retrieves files from an amanda tape
  */
@@ -168,7 +168,7 @@ main(
        case 'p': rst_flags->pipe_to_fd = fileno(stdout); break;
        case 'h': rst_flags->headers = 1; break;
        case 'f':
        case 'p': rst_flags->pipe_to_fd = fileno(stdout); break;
        case 'h': rst_flags->headers = 1; break;
        case 'f':
-           filefsf = (off_t)strtoll(optarg, &e, 10);
+           filefsf = (off_t)OFF_T_STRTOL(optarg, &e, 10);
            /*@ignore@*/
            if(*e != '\0') {
                error("invalid fileno value \"%s\"", optarg);
            /*@ignore@*/
            if(*e != '\0') {
                error("invalid fileno value \"%s\"", optarg);
index 0e051698b80b2c9eacf93205733b8fbaff0ac838..8163b232666ff97488c53da1cf53d0d6ce629e85 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: restore.c,v 1.52.2.2 2006/09/27 14:04:27 martinea Exp $
+ * $Id: restore.c,v 1.52.2.7 2007/01/04 20:20:48 martinea Exp $
  *
  * retrieves files from an amanda tape
  */
  *
  * retrieves files from an amanda tape
  */
@@ -231,7 +231,7 @@ append_file_to_fd(
                error("restore: write error = %s", strerror(errno));
                /*NOTREACHED*/
            }
                error("restore: write error = %s", strerror(errno));
                /*NOTREACHED*/
            }
-           error("Short write: wrote %d bytes expected %d.", s, bytes_read);
+           error("Short write: wrote %zd bytes expected %zd.", s, bytes_read);
            /*NOTREACHCED*/
        }
        wc += (off_t)bytes_read;
            /*NOTREACHCED*/
        }
        wc += (off_t)bytes_read;
@@ -819,8 +819,8 @@ restore(
              amfree(tmp_filename);
              tmp_filename = tmpstr;
          } 
              amfree(tmp_filename);
              tmp_filename = tmpstr;
          } 
-         final_filename = stralloc(tmp_filename)
-         tmp_filename = newvstralloc(tmp_filename, ".tmp", NULL);
+         final_filename = tmp_filename
+         tmp_filename = vstralloc(final_filename, ".tmp", NULL);
          if((dest = open(tmp_filename, (O_CREAT | O_RDWR | O_TRUNC),
                          CREAT_MODE)) < 0) {
              error("could not create output file %s: %s",
          if((dest = open(tmp_filename, (O_CREAT | O_RDWR | O_TRUNC),
                          CREAT_MODE)) < 0) {
              error("could not create output file %s: %s",
@@ -882,7 +882,7 @@ restore(
                error("write error: %s", strerror(errno));
                /*NOTREACHED*/
            } else {
                error("write error: %s", strerror(errno));
                /*NOTREACHED*/
            } else {
-               error("write error: %d instead of %d", w, DISK_BLOCK_BYTES);
+               error("write error: %zd instead of %d", w, DISK_BLOCK_BYTES);
                /*NOTREACHED*/
            }
        }
                /*NOTREACHED*/
            }
        }
@@ -1093,7 +1093,7 @@ restore(
                error("restore: write error: %s", strerror(errno));
                /* NOTREACHED */
            } else if (s < bytes_read) {
                error("restore: write error: %s", strerror(errno));
                /* NOTREACHED */
            } else if (s < bytes_read) {
-               error("restore: wrote %d of %d bytes: %s",
+               error("restore: wrote %zd of %zd bytes: %s",
                    s, bytes_read, strerror(errno));
                /* NOTREACHED */
            }
                    s, bytes_read, strerror(errno));
                /* NOTREACHED */
            }
@@ -1400,7 +1400,7 @@ load_manual_tape(
                    "enter, ^D to finish reading tapes\n");
        }
        fflush(prompt_out);
                    "enter, ^D to finish reading tapes\n");
        }
        fflush(prompt_out);
-       if((input = agets(stdin)) == NULL)
+       if((input = agets(prompt_in)) == NULL)
            ret = -1;
     }
 
            ret = -1;
     }
 
@@ -1692,14 +1692,14 @@ search_tapes(
     seentapes_t *seentapes = NULL;
     int ret;
 
     seentapes_t *seentapes = NULL;
     int ret;
 
+    if(!prompt_out) prompt_out = stderr;
+
     dbprintf(("search_tapes(prompt_out=%d, prompt_in=%d,  use_changer=%d, "
              "tapelist=%p, "
              "match_list=%p, flags=%p, features=%p)\n",
              fileno(prompt_out), fileno(prompt_in), use_changer, tapelist,
              match_list, flags, their_features));
 
     dbprintf(("search_tapes(prompt_out=%d, prompt_in=%d,  use_changer=%d, "
              "tapelist=%p, "
              "match_list=%p, flags=%p, features=%p)\n",
              fileno(prompt_out), fileno(prompt_in), use_changer, tapelist,
              match_list, flags, their_features));
 
-    if(!prompt_out) prompt_out = stderr;
-
     if(flags->blocksize)
        blocksize = (size_t)flags->blocksize;
     else if(blocksize == (size_t)SSIZE_MAX)
     if(flags->blocksize)
        blocksize = (size_t)flags->blocksize;
     else if(blocksize == (size_t)SSIZE_MAX)
@@ -1731,8 +1731,14 @@ search_tapes(
 
     /* Suss what tape device we're using, whether there's a changer, etc. */
     if(!use_changer || (have_changer = changer_init()) == 0) {
 
     /* Suss what tape device we're using, whether there's a changer, etc. */
     if(!use_changer || (have_changer = changer_init()) == 0) {
-       if(flags->alt_tapedev) cur_tapedev = stralloc(flags->alt_tapedev);
-       else if(!cur_tapedev) cur_tapedev = getconf_str(CNF_TAPEDEV);
+       if (flags->alt_tapedev) {
+           cur_tapedev = stralloc(flags->alt_tapedev);
+       } else if(!cur_tapedev) {
+           cur_tapedev = getconf_str(CNF_TAPEDEV);
+           if (cur_tapedev == NULL) {
+               error("No tapedev specified");
+           }
+       }
        /* XXX oughta complain if no config is loaded */
        fprintf(stderr, "%s: Using tapedev %s\n", get_pname(), cur_tapedev);
        have_changer = 0;
        /* XXX oughta complain if no config is loaded */
        fprintf(stderr, "%s: Using tapedev %s\n", get_pname(), cur_tapedev);
        have_changer = 0;
index 2e8331143b8d9841cbf5f619a826d5dfe1935edb..e4fe23a598c462ecfd3c17f667cbfc5406393d36 100644 (file)
@@ -387,6 +387,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -417,6 +418,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index e54507600e71c1ae8b760f6f85c3cb91b43881a9..d1ea05784dbeba3b5bc7c60fdece7c29b4624642 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: amadmin.c,v 1.124 2006/07/26 15:17:37 martinea Exp $
+ * $Id: amadmin.c,v 1.124.2.1 2006/11/01 14:45:39 martinea Exp $
  *
  * controlling process for the Amanda backup system
  */
  *
  * controlling process for the Amanda backup system
  */
@@ -1750,8 +1750,6 @@ disklist_one(
     am_host_t *hp;
     interface_t *ip;
     sle_t *excl;
     am_host_t *hp;
     interface_t *ip;
     sle_t *excl;
-    time_t st;
-    struct tm *stm;
 
     hp = dp->host;
     ip = hp->netif;
 
     hp = dp->host;
     ip = hp->netif;
@@ -1901,15 +1899,7 @@ disklist_one(
 
     printf("        record %s\n", (dp->record? "YES" : "NO"));
     printf("        index %s\n", (dp->index? "YES" : "NO"));
 
     printf("        record %s\n", (dp->record? "YES" : "NO"));
     printf("        index %s\n", (dp->index? "YES" : "NO"));
-    st = dp->start_t;
-        if(st) {
-            stm = localtime(&st);
-           if (stm) 
-               printf("        starttime %d:%02d:%02d\n",
-                      stm->tm_hour, stm->tm_min, stm->tm_sec);
-           else
-               printf("        starttime BAD DATE\n");
-        }
+    printf("        starttime %04d\n", (int)dp->starttime);
    
     if(dp->tape_splitsize > (off_t)0) {
        printf("        tape_splitsize " OFF_T_FMT "\n",
    
     if(dp->tape_splitsize > (off_t)0) {
        printf("        tape_splitsize " OFF_T_FMT "\n",
index 2ccaf547a3a57b8ca9af8221fe39697dc0e15f91..2dd7322e5777a183622ea617c1b74eda3c5bf962 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amcheck.c,v 1.149.2.2 2006/09/21 11:16:57 martinea Exp $
+ * $Id: amcheck.c,v 1.149.2.10 2007/02/05 18:54:13 martinea Exp $
  *
  * checks for common problems in server and clients
  */
  *
  * checks for common problems in server and clients
  */
@@ -174,7 +174,7 @@ main(
                        exit(1);
 #endif
                        break;
                        exit(1);
 #endif
                        break;
-       case 's':       do_localchk = do_clientchk = do_tapechk = 1;
+       case 's':       do_localchk = do_tapechk = 1;
                        break;
        case 'c':       do_clientchk = 1;
                        break;
                        break;
        case 'c':       do_clientchk = 1;
                        break;
@@ -244,7 +244,7 @@ main(
       }
     }
 
       }
     }
 
-    conf_ctimeout = getconf_time(CNF_CTIMEOUT);
+    conf_ctimeout = getconf_int(CNF_CTIMEOUT);
 
     conf_diskfile = getconf_str(CNF_DISKFILE);
     if (*conf_diskfile == '/') {
 
     conf_diskfile = getconf_str(CNF_DISKFILE);
     if (*conf_diskfile == '/') {
@@ -481,7 +481,7 @@ main(
                    error("mailfd write: %s", strerror(errno));
                    /*NOTREACHED*/
                } else {
                    error("mailfd write: %s", strerror(errno));
                    /*NOTREACHED*/
                } else {
-                   error("mailfd write: wrote %d instead of %d", w, r);
+                   error("mailfd write: wrote %zd instead of %zd", w, r);
                    /*NOTREACHED*/
                }
            }
                    /*NOTREACHED*/
                }
            }
@@ -803,7 +803,13 @@ start_server_check(
        amfree(tape_dir);
        amfree(holdfile);
        tapename = getconf_str(CNF_TAPEDEV);
        amfree(tape_dir);
        amfree(holdfile);
        tapename = getconf_str(CNF_TAPEDEV);
-       if (strncmp(tapename, "null:", 5) == 0) {
+       if (tapename == NULL) {
+           if (getconf_str(CNF_TPCHANGER) == NULL) {
+               fprintf(outf, "WARNING: No tapedev or tpchanger specified\n");
+               testtape = 0;
+               do_tapechk = 0;
+           }
+       } else if (strncmp(tapename, "null:", 5) == 0) {
            fprintf(outf,
                    "WARNING: tapedev is %s, dumps will be thrown away\n",
                    tapename);
            fprintf(outf,
                    "WARNING: tapedev is %s, dumps will be thrown away\n",
                    tapename);
@@ -840,11 +846,6 @@ start_server_check(
                        quoted, (OFF_T_FMT_TYPE)holdingdisk_get_disksize(hdp));
                disklow = 1;
            }
                        quoted, (OFF_T_FMT_TYPE)holdingdisk_get_disksize(hdp));
                disklow = 1;
            }
-           else if(holdingdisk_get_disksize(hdp) == (off_t)0) {
-               fprintf(outf, "WARNING: holding disk %s: "
-                       "use nothing because 'use' is set to 0\n",
-                       quoted);
-           }
            else if(holdingdisk_get_disksize(hdp) > (off_t)0) {
                if(fs.avail < holdingdisk_get_disksize(hdp)) {
                    fprintf(outf,
            else if(holdingdisk_get_disksize(hdp) > (off_t)0) {
                if(fs.avail < holdingdisk_get_disksize(hdp)) {
                    fprintf(outf,
@@ -886,7 +887,7 @@ start_server_check(
                            quoted,
                            (OFF_T_FMT_TYPE)(fs.avail/(off_t)unitdivisor),
                            displayunit,
                            quoted,
                            (OFF_T_FMT_TYPE)(fs.avail/(off_t)unitdivisor),
                            displayunit,
-                           (OFF_T_FMT_TYPE)(fs.avail + holdingdisk_get_disksize(hdp) / (off_t)unitdivisor),
+                           (OFF_T_FMT_TYPE)((fs.avail + holdingdisk_get_disksize(hdp)) / (off_t)unitdivisor),
                            displayunit);
                }
            }
                            displayunit);
                }
            }
@@ -978,6 +979,20 @@ start_server_check(
 
         tape_status = taper_scan(NULL, &label, &datestamp, &tapename,
                                 FILE_taperscan_output_callback, outf);
 
         tape_status = taper_scan(NULL, &label, &datestamp, &tapename,
                                 FILE_taperscan_output_callback, outf);
+       if (tapename) {
+           if (tape_access(tapename,F_OK) == -1) {
+               fprintf(outf, "ERROR: Can't access device %s: %s\n", tapename,
+                       strerror(errno));
+           }
+           if (tape_access(tapename,R_OK) == -1) {
+               fprintf(outf, "ERROR: Can't read device %s: %s\n", tapename,
+                       strerror(errno));
+           }
+           if (tape_access(tapename,W_OK) == -1) {
+               fprintf(outf, "ERROR: Can't write to device %s: %s\n", tapename,
+                       strerror(errno));
+           }
+       }
         if (tape_status < 0) {
            tape_t *exptape = lookup_last_reusable_tape(0);
            fprintf(outf, "       (expecting ");
         if (tape_status < 0) {
            tape_t *exptape = lookup_last_reusable_tape(0);
            fprintf(outf, "       (expecting ");
@@ -1090,6 +1105,11 @@ start_server_check(
            amfree(conf_infofile);
            infobad = 1;
        } else {
            amfree(conf_infofile);
            infobad = 1;
        } else {
+           char *errmsg = NULL;
+           if (check_infofile(conf_infofile, &origq, &errmsg) == -1) {
+               fprintf(outf, "ERROR: Can't copy infofile: %s\n", errmsg);
+               amfree(errmsg);
+           }
            strappend(conf_infofile, "/");
        }
        amfree(quoted);
            strappend(conf_infofile, "/");
        }
        amfree(quoted);
index 2590932ca0841ff3a5e242260392da00337c70b7..f301c5c84ed7bdbf46d151c01db383e60ed19e76 100644 (file)
@@ -48,25 +48,26 @@ else
 fi
 
 if test -h /proc/1/exe ; then
 fi
 
 if test -h /proc/1/exe ; then
-       if test $# -eq 1 ; then
-               KILL_ENABLE=0
-               conf=$1
-               shift;
-       elif test $# -eq 2 && test "$1" == "-k" ; then
+       if test $# -ge 2 && test "$1" == "-k" ; then
                KILL_ENABLE=1
                conf=$2
                shift
                shift
                KILL_ENABLE=1
                conf=$2
                shift
                shift
+       elif test $# -ge 1 ; then
+               KILL_ENABLE=0
+               conf=$1
+               shift;
        else
                echo "Usage: amcleanup [-k] conf"
                exit 1
        fi
 else
        else
                echo "Usage: amcleanup [-k] conf"
                exit 1
        fi
 else
-       if test $# -ne 1 ; then
+       if test $# -lt 1 ; then
                echo "Usage: amcleanup conf"
                exit 1
        else
                conf=$1
                echo "Usage: amcleanup conf"
                exit 1
        else
                conf=$1
+               shift
                KILL_ENABLE=0
        fi
 fi
                KILL_ENABLE=0
        fi
 fi
index 9092313c304a6070de14251d43b186903d8f7914..c358194d1e2a6aa0d20ad48cddb24b9f3f1df17e 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amcleanupdisk.c,v 1.22 2006/07/25 18:27:57 martinea Exp $
+ * $Id: amcleanupdisk.c,v 1.22.2.1 2006/10/03 18:57:25 martinea Exp $
  */
 #include "amanda.h"
 
  */
 #include "amanda.h"
 
@@ -66,8 +66,8 @@ main(
     /* Don't die when child closes pipe */
     signal(SIGPIPE, SIG_IGN);
 
     /* Don't die when child closes pipe */
     signal(SIGPIPE, SIG_IGN);
 
-    if(main_argc != 2) {
-       error("Usage: amcleanupdisk%s <confdir>", versionsuffix());
+    if(main_argc < 2) {
+       error("Usage: amcleanupdisk%s <config>", versionsuffix());
        /*NOTREACHED*/
     }
 
        /*NOTREACHED*/
     }
 
index a66e6b2cc4dfd50f720df5ce7a3c644b4244fbbb..25471a5e599360cc0669d1185925ae613bc1da4e 100644 (file)
@@ -53,6 +53,7 @@ then
         exit 1
 fi
 
         exit 1
 fi
 
+exit_status=0;
 
 conf=$1
 if [ ! -d $confdir/$conf ]; then
 
 conf=$1
 if [ ! -d $confdir/$conf ]; then
@@ -100,26 +101,42 @@ fi
 
 umask 077
 
 
 umask 077
 
+exit_code=0
 # Plan and drive the dumps.
 #exec </dev/null >$errfile 2>&1
 touch $errfile
 # Plan and drive the dumps.
 #exec </dev/null >$errfile 2>&1
 touch $errfile
+exit_code=$?
+[ $exit_code -ne 0 ] && exit_status=$exit_code
 exec </dev/null 2>>$errfile 1>&2
 exec </dev/null 2>>$errfile 1>&2
+exit_code=$?
+[ $exit_code -ne 0 ] && exit_status=$exit_code
 echo "amdump: start at `date`"
 echo "amdump: datestamp `date +%Y%m%d`"
 echo "amdump: start at `date`"
 echo "amdump: datestamp `date +%Y%m%d`"
+echo "amdump: starttime `date +%Y%m%d%H%M%S`"
 $libexecdir/planner$SUF $conf "$@" | $libexecdir/driver$SUF $conf "$@"
 $libexecdir/planner$SUF $conf "$@" | $libexecdir/driver$SUF $conf "$@"
+exit_code=$?
+[ $exit_code -ne 0 ] && exit_status=$exit_code
 echo "amdump: end at `date`"
 
 # Send out a report on the dumps.
 $sbindir/amreport$SUF $conf "$@"
 echo "amdump: end at `date`"
 
 # Send out a report on the dumps.
 $sbindir/amreport$SUF $conf "$@"
+exit_code=$?
+[ $exit_code -ne 0 ] && exit_status=$exit_code
 
 # Roll the log file to its datestamped name.
 $libexecdir/amlogroll$SUF $conf "$@"
 
 # Roll the log file to its datestamped name.
 $libexecdir/amlogroll$SUF $conf "$@"
+exit_code=$?
+[ $exit_code -ne 0 ] && exit_status=$exit_code
 
 # Trim the log file to those for dumps that still exist.
 $libexecdir/amtrmlog$SUF $conf "$@"
 
 # Trim the log file to those for dumps that still exist.
 $libexecdir/amtrmlog$SUF $conf "$@"
+exit_code=$?
+[ $exit_code -ne 0 ] && exit_status=$exit_code
 
 # Trim the index file to those for dumps that still exist.
 $libexecdir/amtrmidx$SUF $conf "$@"
 
 # Trim the index file to those for dumps that still exist.
 $libexecdir/amtrmidx$SUF $conf "$@"
+exit_code=$?
+[ $exit_code -ne 0 ] && exit_status=$exit_code
 
 # Keep a debug log through the tapecycle plus a couple of days.
 maxdays=`expr $tapecycle + 2`
 
 # Keep a debug log through the tapecycle plus a couple of days.
 maxdays=`expr $tapecycle + 2`
@@ -133,8 +150,13 @@ done
 while [ $days -ge 2 ]; do
        ndays=`expr $days - 1`
        mv $errfile.$ndays $errfile.$days
 while [ $days -ge 2 ]; do
        ndays=`expr $days - 1`
        mv $errfile.$ndays $errfile.$days
+       exit_code=$?
+       echo $exit_code
+       [ $exit_code -ne 0 ] && exit_status=$exit_code
        days=$ndays
 done
 mv $errfile $errfile.1
        days=$ndays
 done
 mv $errfile $errfile.1
+exit_code=$?
+[ $exit_code -ne 0 ] && exit_status=$exit_code
 
 
-exit 0
+exit $exit_status
index 32bfe1cafa3b38a798878cccd712288ed93397c8..bb94630079340c81d543b67321ccef9fd6d6e5ac 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amflush.c,v 1.95 2006/07/25 21:41:24 martinea Exp $
+ * $Id: amflush.c,v 1.95.2.3 2007/02/01 19:25:15 martinea Exp $
  *
  * write files from work directory onto tape
  */
  *
  * write files from work directory onto tape
  */
@@ -92,6 +92,8 @@ main(
     char **new_argv, **my_argv;
     char *errstr;
     struct tm *tm;
     char **new_argv, **my_argv;
     char *errstr;
     struct tm *tm;
+    char *tapedev;
+    char *tpchanger;
 
     safe_fd(-1, 0);
     safe_cd();
 
     safe_fd(-1, 0);
     safe_cd();
@@ -228,6 +230,12 @@ main(
     logroll_program = vstralloc(libexecdir, "/", "amlogroll", versionsuffix(),
                                NULL);
 
     logroll_program = vstralloc(libexecdir, "/", "amlogroll", versionsuffix(),
                                NULL);
 
+    tapedev = getconf_str(CNF_TAPEDEV);
+    tpchanger = getconf_str(CNF_TPCHANGER);
+    if (tapedev == NULL && tpchanger == NULL) {
+       error("No tapedev or tpchanger specified");
+    }
+
     if(datearg) {
        sle_t *dir, *next_dir;
        int i, ok;
     if(datearg) {
        sle_t *dir, *next_dir;
        int i, ok;
@@ -291,6 +299,7 @@ main(
        error("BAD DATE"); /* should never happen */
     fprintf(stderr, "amflush: start at %s\n", date_string);
     fprintf(stderr, "amflush: datestamp %s\n", amflush_timestamp);
        error("BAD DATE"); /* should never happen */
     fprintf(stderr, "amflush: start at %s\n", date_string);
     fprintf(stderr, "amflush: datestamp %s\n", amflush_timestamp);
+    fprintf(stderr, "amflush: starttime %s\n", construct_timestamp(NULL));
     log_add(L_START, "date %s", amflush_timestamp);
 
     /* START DRIVER */
     log_add(L_START, "date %s", amflush_timestamp);
 
     /* START DRIVER */
index b775c43d2a5b551ad4f943bbcaffcca5cc352f75..6e50fe5a1b369c0fd13e550cc94bbe12500e808d 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: amindex.c,v 1.15 2006/05/25 01:47:19 johnfranks Exp $
+ * $Id: amindex.c,v 1.15.2.1 2006/11/24 18:05:05 martinea Exp $
  *
  * index control
  */
  *
  * index control
  */
@@ -95,3 +95,65 @@ getindexfname(
 
   return buf;
 }
 
   return buf;
 }
+
+char *
+getoldindexfname(
+    char *     host,
+    char *     disk,
+    char *     date,
+    int                level)
+{
+  char *conf_indexdir;
+  char *buf;
+  char level_str[NUM_STR_SIZE];
+  char datebuf[14 + 1];
+  char *dc = NULL;
+  char *pc;
+  int ch;
+
+  if (date != NULL) {
+    dc = date;
+    pc = datebuf;
+    while (pc < datebuf + SIZEOF(datebuf)) {
+      ch = *dc++;
+      *pc++ = (char)ch;
+      if (ch == '\0') {
+        break;
+      } else if (! isdigit (ch)) {
+        pc--;
+      }
+    }
+    datebuf[SIZEOF(datebuf)-1] = '\0';
+    dc = datebuf;
+
+    snprintf(level_str, SIZEOF(level_str), "%d", level);
+  }
+
+  host = old_sanitise_filename(host);
+  if (disk != NULL) {
+    disk = old_sanitise_filename(disk);
+  }
+
+  conf_indexdir = getconf_str(CNF_INDEXDIR);
+  if (*conf_indexdir == '/') {
+    conf_indexdir = stralloc(conf_indexdir);
+  } else {
+    conf_indexdir = stralloc2(config_dir, conf_indexdir);
+  }
+  /*
+   * Note: vstralloc() will stop at the first NULL, which might be
+   * "disk" or "dc" (datebuf) rather than the full file name.
+   */
+  buf = vstralloc(conf_indexdir, "/",
+                 host, "/",
+                 disk, "/",
+                 dc, "_",
+                 level_str, COMPRESS_SUFFIX,
+                 NULL);
+
+  amfree(conf_indexdir);
+  amfree(host);
+  amfree(disk);
+
+  return buf;
+}
index fb8e52641a000c821350f4bb5d6ea676c564e616..3e14b12dc8d20a1f684fa1c25b4c2f0eb2a68747 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: amindex.h,v 1.8 2006/05/25 01:47:19 johnfranks Exp $
+ * $Id: amindex.h,v 1.8.2.1 2006/11/24 18:05:06 martinea Exp $
  *
  * headers for index control
  */
  *
  * headers for index control
  */
@@ -36,5 +36,6 @@
 #include "conffile.h"
 
 char *getindexfname(char *host, char *disk, char *date, int level);
 #include "conffile.h"
 
 char *getindexfname(char *host, char *disk, char *date, int level);
+char *getoldindexfname(char *host, char *disk, char *date, int level);
 
 #endif /* AMINDEX_H */
 
 #endif /* AMINDEX_H */
index 34587d46eda991f76be13c0259de05df1cdf3f19..493a8089c2c7138f641d07b28a5a5478ffa5b943 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amindexd.c,v 1.106.2.2 2006/09/27 12:04:09 martinea Exp $
+ * $Id: amindexd.c,v 1.106.2.9 2007/02/07 15:23:45 martinea Exp $
  *
  * This is the server daemon part of the index client/server system.
  * It is assumed that this is launched from inetd instead of being
  *
  * This is the server daemon part of the index client/server system.
  * It is assumed that this is launched from inetd instead of being
@@ -55,6 +55,7 @@
 #include "tapefile.h"
 #include "util.h"
 #include "amandad.h"
 #include "tapefile.h"
 #include "util.h"
 #include "amandad.h"
+#include "pipespawn.h"
 
 #include <grp.h>
 
 
 #include <grp.h>
 
@@ -114,6 +115,7 @@ static int tapedev_is(void);
 static int are_dumps_compressed(void);
 static char *amindexd_nicedate (char *datestamp);
 static int cmp_date (const char *date1, const char *date2);
 static int are_dumps_compressed(void);
 static char *amindexd_nicedate (char *datestamp);
 static int cmp_date (const char *date1, const char *date2);
+static char *clean_backslash(char *line);
 int main(int, char **);
 
 static REMOVE_ITEM *
 int main(int, char **);
 
 static REMOVE_ITEM *
@@ -144,6 +146,18 @@ uncompress_file(
     struct stat stat_filename;
     int result;
     size_t len;
     struct stat stat_filename;
     int result;
     size_t len;
+    int pipe_from_gzip;
+    int pipe_to_sort;
+    int indexfd;
+    int nullfd;
+    int debugfd;
+    int debugnullfd;
+    char line[STR_SIZE];
+    FILE *pipe_stream;
+    pid_t pid_gzip;
+    pid_t pid_sort;
+    amwait_t  wait_status;
+
 
     filename = stralloc(filename_gz);
     len = strlen(filename);
 
     filename = stralloc(filename_gz);
     len = strlen(filename);
@@ -173,26 +187,95 @@ uncompress_file(
            return NULL;
        }
 
            return NULL;
        }
 
-       cmd = vstralloc(UNCOMPRESS_PATH,
 #ifdef UNCOMPRESS_OPT
 #ifdef UNCOMPRESS_OPT
-                       " ", UNCOMPRESS_OPT,
+#  define PARAM_UNCOMPRESS_OPT UNCOMPRESS_OPT
+#else
+#  define PARAM_UNCOMPRESS_OPT skip_argument
 #endif
 #endif
-                       " \'", filename_gz, "\'",
-                       " 2>/dev/null",
-                       " | (LC_ALL=C; export LC_ALL ; sort) ",
-                       " > ", "\'", filename, "\'",
-                       NULL);
-       dbprintf(("%s: uncompress command: %s\n",
-                 debug_prefix_time(NULL), cmd));
-       if (system(cmd) != 0) {
-           *emsg = newvstralloc(*emsg, "\"", cmd, "\" failed", NULL);
-           unlink(filename);
-           errno = -1;
+
+       debugfd = dbfd();
+       debugnullfd = 0;
+       if(debugfd < 0) {
+           debugfd = open("/dev/null", O_WRONLY);
+           debugnullfd = 1;
+       }
+
+       nullfd = open("/dev/null", O_RDONLY);
+       indexfd = open(filename,O_WRONLY|O_CREAT, 0600);
+       if (indexfd == -1) {
+           *emsg = newvstralloc(*emsg, "Can't open '",
+                                filename, "' for writting: ",
+                                strerror(errno),
+                                NULL);
+           dbprintf(("%s\n",*emsg));
+           amfree(filename);
+           return NULL;
+       }
+
+       /* start the uncompress process */
+       putenv(stralloc("LC_ALL=C"));
+       pid_gzip = pipespawn(UNCOMPRESS_PATH, STDOUT_PIPE,
+                            &nullfd, &pipe_from_gzip, &debugfd,
+                            UNCOMPRESS_PATH, PARAM_UNCOMPRESS_OPT,
+                            filename_gz, NULL);
+       aclose(nullfd);
+
+       pipe_stream = fdopen(pipe_from_gzip,"r");
+       if(pipe_stream == NULL) {
+           *emsg = newvstralloc(*emsg, "Can't fdopen pipe from gzip: ",
+                                strerror(errno),
+                                NULL);
+           dbprintf(("%s\n",*emsg));
            amfree(filename);
            amfree(filename);
-           amfree(cmd);
            return NULL;
        }
 
            return NULL;
        }
 
+       /* start the sort process */
+       pid_sort = pipespawn(SORT_PATH, STDIN_PIPE,
+                            &pipe_to_sort, &indexfd, &debugfd,
+                            SORT_PATH, NULL);
+       if (debugnullfd == 1)
+           aclose(debugfd);
+       aclose(indexfd);
+
+       /* send all ouput from uncompress process to sort process */
+       /* clean the data with clean_backslash */
+       while (fgets(line, STR_SIZE, pipe_stream) != NULL) {
+           if (line[0] != '\0') {
+               if (index(line,'/')) {
+                   clean_backslash(line);
+                   fullwrite(pipe_to_sort,line,strlen(line));
+               }
+           }
+       }
+
+       fclose(pipe_stream);
+       aclose(pipe_to_sort);
+       if (waitpid(pid_gzip, &wait_status, 0) < 0) {
+           if (!WIFEXITED(wait_status)) {
+               dbprintf(("Uncompress exited with signal %d",
+                         WTERMSIG(wait_status)));
+           } else if (WEXITSTATUS(wait_status) != 0) {
+               dbprintf(("Uncompress exited with status %d",
+                         WEXITSTATUS(wait_status)));
+           } else {
+               dbprintf(("Uncompres returned negative value: %s",
+                         strerror(errno)));
+           }
+       }
+       if (waitpid(pid_sort, &wait_status, 0)) {
+           if (!WIFEXITED(wait_status)) {
+               dbprintf(("Sort exited with signal %d",
+                         WTERMSIG(wait_status)));
+           } else if (WEXITSTATUS(wait_status) != 0) {
+               dbprintf(("Sort exited with status %d",
+                         WEXITSTATUS(wait_status)));
+           } else {
+               dbprintf(("Sort returned negative value: %s",
+                         strerror(errno)));
+           }
+       }
+
        /* add at beginning */
        remove_file = (REMOVE_ITEM *)alloc(SIZEOF(REMOVE_ITEM));
        remove_file->filename = stralloc(filename);
        /* add at beginning */
        remove_file = (REMOVE_ITEM *)alloc(SIZEOF(REMOVE_ITEM));
        remove_file->filename = stralloc(filename);
@@ -219,7 +302,7 @@ process_ls_dump(
     int                recursive,
     char **    emsg)
 {
     int                recursive,
     char **    emsg)
 {
-    char *line = NULL;
+    char line[STR_SIZE];
     char *old_line = NULL;
     char *filename = NULL;
     char *filename_gz;
     char *old_line = NULL;
     char *filename = NULL;
     char *filename_gz;
@@ -228,6 +311,7 @@ process_ls_dump(
     char *s;
     int ch;
     size_t len_dir_slash;
     char *s;
     int ch;
     size_t len_dir_slash;
+    struct stat statbuf;
 
     if (strcmp(dir, "/") == 0) {
        dir_slash = stralloc(dir);
 
     if (strcmp(dir, "/") == 0) {
        dir_slash = stralloc(dir);
@@ -237,6 +321,11 @@ process_ls_dump(
 
     filename_gz = getindexfname(dump_hostname, disk_name, dump_item->date,
                                dump_item->level);
 
     filename_gz = getindexfname(dump_hostname, disk_name, dump_item->date,
                                dump_item->level);
+    if (stat(filename_gz, &statbuf) < 0 && errno == ENOENT) {
+       amfree(filename_gz);
+       filename_gz = getoldindexfname(dump_hostname, disk_name,
+                                      dump_item->date, dump_item->level);
+    }
     if((filename = uncompress_file(filename_gz, emsg)) == NULL) {
        amfree(filename_gz);
        amfree(dir_slash);
     if((filename = uncompress_file(filename_gz, emsg)) == NULL) {
        amfree(filename_gz);
        amfree(dir_slash);
@@ -253,8 +342,10 @@ process_ls_dump(
 
     len_dir_slash=strlen(dir_slash);
 
 
     len_dir_slash=strlen(dir_slash);
 
-    while ((line = agets(fp)) != NULL) {
+    while (fgets(line, STR_SIZE, fp) != NULL) {
        if (line[0] != '\0') {
        if (line[0] != '\0') {
+           if(line[strlen(line)-1] == '\n')
+               line[strlen(line)-1] = '\0';
            if(strncmp(dir_slash, line, len_dir_slash) == 0) {
                if(!recursive) {
                    s = line + len_dir_slash;
            if(strncmp(dir_slash, line, len_dir_slash) == 0) {
                if(!recursive) {
                    s = line + len_dir_slash;
@@ -269,12 +360,10 @@ process_ls_dump(
                if(old_line == NULL || strcmp(line, old_line) != 0) {
                    add_dir_list_item(dump_item, line);
                    amfree(old_line);
                if(old_line == NULL || strcmp(line, old_line) != 0) {
                    add_dir_list_item(dump_item, line);
                    amfree(old_line);
-                   old_line = line;
-                   line = NULL;
+                   old_line = stralloc(line);
                }
            }
        }
                }
            }
        }
-       /*@i@*/ amfree(line);
     }
     afclose(fp);
     /*@i@*/ amfree(old_line);
     }
     afclose(fp);
     /*@i@*/ amfree(old_line);
@@ -687,7 +776,7 @@ is_dir_valid_opaque(
     char *dir)
 {
     DUMP_ITEM *item;
     char *dir)
 {
     DUMP_ITEM *item;
-    char *line = NULL;
+    char line[STR_SIZE];
     FILE *fp;
     int last_level;
     char *ldir = NULL;
     FILE *fp;
     int last_level;
     char *ldir = NULL;
@@ -753,15 +842,16 @@ is_dir_valid_opaque(
            amfree(ldir);
            return -1;
        }
            amfree(ldir);
            return -1;
        }
-       for(; (line = agets(fp)) != NULL; free(line)) {
+       while (fgets(line, STR_SIZE, fp) != NULL) {
            if (line[0] == '\0')
                continue;
            if (line[0] == '\0')
                continue;
+           if(line[strlen(line)-1] == '\n')
+               line[strlen(line)-1] = '\0';
            if (strncmp(line, ldir, ldir_len) != 0) {
                continue;                       /* not found yet */
            }
            amfree(filename);
            amfree(ldir);
            if (strncmp(line, ldir, ldir_len) != 0) {
                continue;                       /* not found yet */
            }
            amfree(filename);
            amfree(ldir);
-           amfree(line);
            afclose(fp);
            return 0;
        }
            afclose(fp);
            return 0;
        }
@@ -961,9 +1051,9 @@ tapedev_is(void)
        return 0;
     }
 
        return 0;
     }
 
-    dbprintf(("%s: No tapedev or changer in config site.\n",
+    dbprintf(("%s: No tapedev or tpchanger in config site.\n",
               debug_prefix_time(NULL)));
               debug_prefix_time(NULL)));
-    reply(501, "Tapedev or changer not set in config file.");
+    reply(501, "Tapedev or tpchanger not set in config file.");
     return -1;
 }
 
     return -1;
 }
 
@@ -1553,3 +1643,38 @@ cmp_date(
 {
     return strncmp(date1, date2, strlen(date2));
 }
 {
     return strncmp(date1, date2, strlen(date2));
 }
+
+static char *
+clean_backslash(
+    char *line)
+{
+    char *s = line, *s1, *s2;
+    char *p = line;
+    int i;
+
+    while(*s != '\0') {
+       if (*s == '\\') {
+           s++;
+           s1 = s+1;
+           s2 = s+2;
+           if (*s != '\0' && isdigit(*s) &&
+               *s1 != '\0' && isdigit(*s1) &&
+               *s2 != '\0' &&  isdigit(*s2)) {
+               /* this is \000, an octal value */
+               i = ((*s)-'0')*64 + ((*s1)-'0')*8 + ((*s2)-'0');
+               *p++ = i;
+               s += 3;
+           } else if (*s == '\\') { /* we remove one / */
+               *p++ = *s++;
+           } else { /* we keep the / */
+               *p++ = '\\';
+               *p++ = *s++;
+           }
+       } else {
+           *p++ = *s++;
+       }
+    }
+    *p = '\0';
+
+    return line;
+}
index ab5169bbc937819e6cd35c52aa5754ab7b65f962..b04dcff2732460737404b2c7e831dcc6c8ec90ad 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amlabel.c,v 1.53 2006/07/25 18:27:57 martinea Exp $
+ * $Id: amlabel.c,v 1.53.2.2 2007/02/06 14:07:44 martinea Exp $
  *
  * write an Amanda label on a tape
  */
  *
  * write an Amanda label on a tape
  */
@@ -188,7 +188,12 @@ main(
                    new_argv[0], conffile);
            usage();
        }
                    new_argv[0], conffile);
            usage();
        }
-       tapename = stralloc(getconf_str(CNF_TAPEDEV));
+       tapename = getconf_str(CNF_TAPEDEV);
+       if (tapename == NULL) {
+           error("No tapedev specified");
+       } else {
+           tapename = stralloc(tapename);
+       }
 #ifdef HAVE_LIBVTBLC
        rawtapedev = stralloc(getconf_str(CNF_RAWTAPEDEV));
 #endif /* HAVE_LIBVTBLC */
 #ifdef HAVE_LIBVTBLC
        rawtapedev = stralloc(getconf_str(CNF_RAWTAPEDEV));
 #endif /* HAVE_LIBVTBLC */
@@ -456,6 +461,10 @@ main(
                error("couldn't write tapelist: %s", strerror(errno));
                /*NOTREACHED*/
            }
                error("couldn't write tapelist: %s", strerror(errno));
                /*NOTREACHED*/
            }
+
+            if (have_changer) {
+                changer_label(outslot, label);
+            }
        } /* write tape list */
        printf(", done.\n");
     } else {
        } /* write tape list */
        printf(", done.\n");
     } else {
index 9f4ce99b71864faa3abe4fe4321d6e62d8cb81c4..07fdb975d3a4b0a251711596e02f18aad1f2e57b 100644 (file)
@@ -13,6 +13,9 @@ use Text::ParseWords;
 use Carp;
 use POSIX;
 
 use Carp;
 use POSIX;
 
+delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
+$ENV{'PATH'} = "/usr/bin:/usr/sbin:/sbin:/bin";
+
 sub Usage {
     print STDERR <<END;
 Usage: $0 [[-config] CONFIG] [-hostwidth width] [-diskwidth width] [-skipmissed] [-last] [-num0] [-togo0] [-verbose]
 sub Usage {
     print STDERR <<END;
 Usage: $0 [[-config] CONFIG] [-hostwidth width] [-diskwidth width] [-skipmissed] [-last] [-num0] [-togo0] [-verbose]
@@ -121,21 +124,35 @@ my $fh = new FileHandle "$amadmin $opt_config find|" or
     die "$0: error in opening `$amadmin $opt_config find' pipe: $!\n";
 <$fh>;
 while (<$fh>) {
     die "$0: error in opening `$amadmin $opt_config find' pipe: $!\n";
 <$fh>;
 while (<$fh>) {
-print "'$_'\n";
     chomp;
     next if /found Amanda directory/;
     next if /skipping cruft directory/;
     next if /skip-incr/;
     chomp;
     next if /found Amanda directory/;
     next if /skipping cruft directory/;
     next if /skip-incr/;
-    ($date, $host, $disk, $level, $tape, $file, $part, $status) = quotewords(" ", 0, $_);
+
+    ($date, $time, $host, $disk, $level, $tape, $file, $part, $status) = shellwords($_);
+
     next if $date eq 'date';
     next if $date eq 'Warning:';
     next if $date eq 'Scanning';
     next if $date eq "";
     next if $date eq 'date';
     next if $date eq 'Warning:';
     next if $date eq 'Scanning';
     next if $date eq "";
+
+    if($time !~/^\d\d:\d\d:\d\d$/) {
+       $status = $part;
+       $part = $file;
+       $file = $tape;
+       $tape = $level;
+       $level = $disk;
+       $disk = $host;
+       $host = $time;
+    }
+
     if ($date =~ /^\d\d\d\d-\d\d-\d\d$/) {
     if ($date =~ /^\d\d\d\d-\d\d-\d\d$/) {
-       defined($level{$host}{$disk}{$date}) or
-           $level{$host}{$disk}{$date} = '';
-       $level{$host}{$disk}{$date} .= ($status eq 'OK') ? $level : 'E';
-       $dates{$date}++;
+       if(defined $disks{$host}{$disk}) {
+           defined($level{$host}{$disk}{$date}) or
+               $level{$host}{$disk}{$date} = '';
+           $level{$host}{$disk}{$date} .= ($status eq 'OK') ? $level : 'E';
+           $dates{$date}++;
+       }
     }
     else {
        print "bad date $date in $_\n";
     }
     else {
        print "bad date $date in $_\n";
index f95d33c4a24bed99ccee4e4c93fad9087eebaf68..7edfb1065297e8033bd0fc842cfaeb7b182cc0d2 100644 (file)
@@ -9,6 +9,9 @@ eval '(exit $?0)' && eval 'exec @PERL@ -S $0 ${1+"$@"}'
 require "newgetopt.pl";
 use Time::Local;
 
 require "newgetopt.pl";
 use Time::Local;
 
+delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
+$ENV{'PATH'} = "/usr/bin:/usr/sbin:/sbin:/bin";
+
 $confdir="@CONFIG_DIR@";
 $prefix='@prefix@';
 $prefix=$prefix;               # avoid warnings about possible typo
 $confdir="@CONFIG_DIR@";
 $prefix='@prefix@';
 $prefix=$prefix;               # avoid warnings about possible typo
@@ -16,6 +19,12 @@ $exec_prefix="@exec_prefix@";
 $exec_prefix=$exec_prefix;     # ditto
 $sbindir="@sbindir@";
 
 $exec_prefix=$exec_prefix;     # ditto
 $sbindir="@sbindir@";
 
+#$STATUS_STRANGE =  2;
+$STATUS_FAILED  =  4;
+$STATUS_MISSING =  8;
+$STATUS_TAPE    = 16;
+$exit_status    =  0;
+
 $USE_VERSION_SUFFIXES='@USE_VERSION_SUFFIXES@';
 $suf = '';
 if ( $USE_VERSION_SUFFIXES =~ /^yes$/i ) {
 $USE_VERSION_SUFFIXES='@USE_VERSION_SUFFIXES@';
 $suf = '';
 if ( $USE_VERSION_SUFFIXES =~ /^yes$/i ) {
@@ -62,13 +71,15 @@ if ($conf =~ /^([\w.-]+)$/) {          # $1 is untainted
 }
 
 
 }
 
 
+if ( ! -e "$confdir/$conf" ) {
+    print "Configuration directory '" . $confdir/$conf . "' doesn't exist\n";
+    exit 1;
+}
 if ( ! -d "$confdir/$conf" ) {
 if ( ! -d "$confdir/$conf" ) {
-    die "amstatus$suf: could not find directory $confdir/$conf";
+    print "Configuration directory '" . $confdir/$conf . "' is not a directory\n";
+    exit 1;
 }
 
 }
 
-$oldPATH = $ENV{'PATH'};
-$ENV{'PATH'} = "/bin:/usr/bin:/usr/sbin:/sbin";       # force known path
-
 $pwd = `pwd`;
 chomp $pwd;
 chdir "$confdir/$conf";
 $pwd = `pwd`;
 chomp $pwd;
 chdir "$confdir/$conf";
@@ -105,7 +116,6 @@ if($nb_options == 0 ) {
 }
 
 $unit=`$sbindir/amgetconf$suf displayunit`;
 }
 
 $unit=`$sbindir/amgetconf$suf displayunit`;
-$ENV{'PATH'} = $oldPATH;
 chomp($unit);
 $unitdivisor=1;
 if($unit eq 'K') {
 chomp($unit);
 $unitdivisor=1;
 if($unit eq 'K') {
@@ -165,19 +175,23 @@ $ntpartition{$nb_tape} = 0;
 $ntsize{$nb_tape} = 0;
 $ntesize{$nb_tape} = 0;
 $tape_size = 0;
 $ntsize{$nb_tape} = 0;
 $ntesize{$nb_tape} = 0;
 $tape_size = 0;
+$driver_finished = 0;
 
 while(<AMDUMP>) {
        chomp;
        if(/(amdump|amflush): start at (.*)/) {
                print " from $2\n";
 
 while(<AMDUMP>) {
        chomp;
        if(/(amdump|amflush): start at (.*)/) {
                print " from $2\n";
-               $starttime=&unctime(split(/[    ]+/,$2));
        }
        }
-       elsif(/amdump: datestamp (\S+)/) {
-               $gdatestamp = $1;
+       elsif(/(amdump|amflush): datestamp (\S+)/) {
+               $gdatestamp = $2;
                if(!defined $datestamp{$gdatestamp}) {
                        $datestamp{$gdatestamp} = 1;
                        push @datestamp, $gdatestamp;
                }
                if(!defined $datestamp{$gdatestamp}) {
                        $datestamp{$gdatestamp} = 1;
                        push @datestamp, $gdatestamp;
                }
+               $starttime=&set_starttime($2);
+       }
+       elsif(/(amdump|amflush): starttime (\S+)/) {
+               $starttime=&set_starttime($2);
        }
        elsif(/planner: timestamp (\S+)/) {
                $gdatestamp = $1;
        }
        elsif(/planner: timestamp (\S+)/) {
                $gdatestamp = $1;
@@ -599,6 +613,7 @@ while(<AMDUMP>) {
                $taper_started{$hostpart}=1;
                $taper_finished{$hostpart}=0;
                $taper_time{$hostpart}=$1;
                $taper_started{$hostpart}=1;
                $taper_finished{$hostpart}=0;
                $taper_time{$hostpart}=$1;
+               $ntchunk_size = 0;
        }
        #features (maybe missing features)
        elsif(/driver: send-cmd time (\S+) to taper: FILE-WRITE (\d+-\d+) (\S+) (\S+) (\S*) (\S+) (\d*) (\S+)/){
        }
        #features (maybe missing features)
        elsif(/driver: send-cmd time (\S+) to taper: FILE-WRITE (\d+-\d+) (\S+) (\S+) (\S*) (\S+) (\d*) (\S+)/){
@@ -622,6 +637,7 @@ while(<AMDUMP>) {
                $taper_started{$hostpart}=1;
                $taper_finished{$hostpart}=0;
                $taper_time{$hostpart}=$1;
                $taper_started{$hostpart}=1;
                $taper_finished{$hostpart}=0;
                $taper_time{$hostpart}=$1;
+               $ntchunk_size = 0;
        }
        elsif(/driver: send-cmd time (\S+) to taper: PORT-WRITE (\d+-\d+) (\S+) (\S+) \d+( \d+|)/){
                $current_time=$1;
        }
        elsif(/driver: send-cmd time (\S+) to taper: PORT-WRITE (\d+-\d+) (\S+) (\S+) \d+( \d+|)/){
                $current_time=$1;
@@ -633,6 +649,7 @@ while(<AMDUMP>) {
                $taper_started{$hostpart}=1;
                $taper_finished{$hostpart}=0;
                $taper_time{$hostpart}=$1;
                $taper_started{$hostpart}=1;
                $taper_finished{$hostpart}=0;
                $taper_time{$hostpart}=$1;
+               $ntchunk_size = 0;
        }
        elsif(/driver: send-cmd time (\S+) to taper: PORT-WRITE (\d+-\d+) (\S+) (\S+) (\S+) \d+ \d+/){
                $current_time=$1;
        }
        elsif(/driver: send-cmd time (\S+) to taper: PORT-WRITE (\d+-\d+) (\S+) (\S+) (\S+) \d+ \d+/){
                $current_time=$1;
@@ -645,6 +662,7 @@ while(<AMDUMP>) {
                $taper_started{$hostpart}=1;
                $taper_finished{$hostpart}=0;
                $taper_time{$hostpart}=$1;
                $taper_started{$hostpart}=1;
                $taper_finished{$hostpart}=0;
                $taper_time{$hostpart}=$1;
+               $ntchunk_size = 0;
        }
        elsif(/driver: result time (\S+) from taper: (DONE|PARTIAL) (\d+-\d+) (\S+) (\d+) "?\[sec (\S+) kb (\d+) kps/) {
                $current_time=$1;
        }
        elsif(/driver: result time (\S+) from taper: (DONE|PARTIAL) (\d+-\d+) (\S+) (\d+) "?\[sec (\S+) kb (\d+) kps/) {
                $current_time=$1;
@@ -659,12 +677,12 @@ while(<AMDUMP>) {
                        $size{$hostpart}=$size;
                }
                $ntpartition{$nb_tape}++;
                        $size{$hostpart}=$size;
                }
                $ntpartition{$nb_tape}++;
-               $ntsize{$nb_tape} += $size{$hostpart};
+               $ntsize{$nb_tape} += $size{$hostpart} - $ntchunk_size;
                if(defined $esize{$hostpart} && $esize{$hostpart} > 1) {
                if(defined $esize{$hostpart} && $esize{$hostpart} > 1) {
-                       $ntesize{$nb_tape} += $esize{$hostpart};
+                       $ntesize{$nb_tape} += $esize{$hostpart} - $ntchunk_size;
                }
                else {
                }
                else {
-                       $ntesize{$nb_tape} += $size{$hostpart};
+                       $ntesize{$nb_tape} += $size{$hostpart} - $ntchunk_size;
                }
                if ($3 eq "PARTIAL") {
                        $partial{$hostpart} = 1;
                }
                if ($3 eq "PARTIAL") {
                        $partial{$hostpart} = 1;
@@ -672,6 +690,9 @@ while(<AMDUMP>) {
                else {
                        $partial{$hostpart} = 0;
                }
                else {
                        $partial{$hostpart} = 0;
                }
+               if($ntchunk_size > 0) {
+                       $ntchunk{$nb_tape}++;
+               }
        }
        elsif(/driver: result time (\S+) from taper: (TRY-AGAIN|TAPE-ERROR) (\d+-\d+) (.+)/) {
                $current_time=$1;
        }
        elsif(/driver: result time (\S+) from taper: (TRY-AGAIN|TAPE-ERROR) (\d+-\d+) (.+)/) {
                $current_time=$1;
@@ -738,6 +759,16 @@ while(<AMDUMP>) {
                $ntpartition{$nb_tape} = 0;
                $ntsize{$nb_tape} = 0;
                $ntesize{$nb_tape} = 0;
                $ntpartition{$nb_tape} = 0;
                $ntsize{$nb_tape} = 0;
                $ntesize{$nb_tape} = 0;
+               $ntchunk{$nb_tape} = 0;
+       }
+       elsif(/splitting chunk that started at \d*kb after (\d*)kb/) {
+               $ntchunk{$nb_tape}++;
+               $ntsize{$nb_tape} += $1;
+               $ntesize{$nb_tape} += $1;
+               $ntchunk_size += $1;
+       }
+       elsif(/driver: FINISHED/) {
+               $driver_finished = 1;
        }
        else {
                #print "Ignoring: $_\n";
        }
        else {
                #print "Ignoring: $_\n";
@@ -856,7 +887,9 @@ foreach $host (sort @hosts) {
                                                        printf "%-${maxnamelength}s%2d", "$host:$partition", $level{$hostpart};
                                                        printf "           no estimate\n";
                                                }
                                                        printf "%-${maxnamelength}s%2d", "$host:$partition", $level{$hostpart};
                                                        printf "           no estimate\n";
                                                }
+                                               $exit_status |= $STATUS_FAILED;
                                                $fpartition++;
                                                $fpartition++;
+                                               $fsize+=$esize{$hostpart};
                                        }
                                }
                                else {
                                        }
                                }
                                else {
@@ -877,7 +910,21 @@ foreach $host (sort @hosts) {
                                                $desize += $esize{$hostpart};
                                        }
                                        if(defined $dump_started{$hostpart} &&
                                                $desize += $esize{$hostpart};
                                        }
                                        if(defined $dump_started{$hostpart} &&
-                                               $dump_started{$hostpart} == 1 &&
+                                                       $dump_started{$hostpart} == 1 &&
+                                                       $dump_finished{$hostpart} == -1) {
+                                               if(defined $opt_failed) {
+                                                       printf "%8s ", $datestamp if defined $opt_date;
+                                                       printf "%-${maxnamelength}s%2d", "$host:$partition", $level{$hostpart};
+                                                       printf "%9d$unit", $esize{$hostpart};
+                                                       print " dump to tape failed: " . $error{$hostpart};
+                                                       print "\n";
+                                               }
+                                               $exit_status |= $STATUS_FAILED;
+                                               $fpartition++;
+                                               $fsize+=$esize{$hostpart};
+                                       }
+                                       elsif(defined $dump_started{$hostpart} &&
+                                                       $dump_started{$hostpart} == 1 &&
                                                        $dump_finished{$hostpart} == 0 &&
                                                        $taper_started{$hostpart} == 1) {
                                                if( defined $opt_dumpingtape ) {
                                                        $dump_finished{$hostpart} == 0 &&
                                                        $taper_started{$hostpart} == 1) {
                                                if( defined $opt_dumpingtape ) {
@@ -954,6 +1001,7 @@ foreach $host (sort @hosts) {
                                                        }
                                                        print "\n";
                                                }
                                                        }
                                                        print "\n";
                                                }
+                                               $exit_status |= $STATUS_TAPE;
 
                                                $tfpartition++;
                                                $tfsize += $xsize;
 
                                                $tfpartition++;
                                                $tfsize += $xsize;
@@ -983,8 +1031,10 @@ foreach $host (sort @hosts) {
                                                        if( defined $starttime ) {
                                                                print " (", &showtime($taper_time{$hostpart}), ")";
                                                        }
                                                        if( defined $starttime ) {
                                                                print " (", &showtime($taper_time{$hostpart}), ")";
                                                        }
-                                                       print ", PARTIAL" if defined $partial{$hostpart} &&
-                                                                                                          $partial{$hostpart} == 1;
+                                                       if(defined $partial{$hostpart} && $partial{$hostpart} == 1) {
+                                                               print ", PARTIAL";
+                                                               $exit_status |= $STATUS_FAILED;
+                                                       }
                                                        print "\n";
                                                }
                                                $tpartition++;
                                                        print "\n";
                                                }
                                                $tpartition++;
@@ -1009,6 +1059,8 @@ foreach $host (sort @hosts) {
                                                        printf "%-${maxnamelength}s%2d", "$host:$partition", $level{$hostpart};
                                                        printf " " . $error{$hostpart} . "\n";
                                                }
                                                        printf "%-${maxnamelength}s%2d", "$host:$partition", $level{$hostpart};
                                                        printf " " . $error{$hostpart} . "\n";
                                                }
+                                               $exit_status |= $STATUS_FAILED;
+                                               
                                                $fpartition++;
                                                $fsize+=$esize{$hostpart};
                                        }
                                                $fpartition++;
                                                $fsize+=$esize{$hostpart};
                                        }
@@ -1020,6 +1072,9 @@ foreach $host (sort @hosts) {
                                                                printf "%9d$unit", $esize{$hostpart};
                                                                print " wait for dumping $error{$hostpart}\n";
                                                        }
                                                                printf "%9d$unit", $esize{$hostpart};
                                                                print " wait for dumping $error{$hostpart}\n";
                                                        }
+                                                       if($driver_finished == 1) {
+                                                               $exit_status |= $STATUS_MISSING;
+                                                       }
                                                        $wpartition++;
                                                        $wsize += $esize{$hostpart};
                                                }
                                                        $wpartition++;
                                                        $wsize += $esize{$hostpart};
                                                }
@@ -1035,6 +1090,7 @@ foreach $host (sort @hosts) {
                                                        }
                                                        print "\n";
                                                }
                                                        }
                                                        print "\n";
                                                }
+                                               $exit_status |= $STATUS_FAILED;
                                                $fpartition++;
                                                $fsize+=$esize{$hostpart};
                                        }
                                                $fpartition++;
                                                $fsize+=$esize{$hostpart};
                                        }
@@ -1071,8 +1127,10 @@ foreach $host (sort @hosts) {
                                                                print " (", &showtime($dump_time{$hostpart}), ")";
                                                        }
                                                        print ", wait for writing to tape";
                                                                print " (", &showtime($dump_time{$hostpart}), ")";
                                                        }
                                                        print ", wait for writing to tape";
-                                                  print ", PARTIAL" if defined $partial{$hostpart} &&
-                                                                                                               $partial{$hostpart} == 1;;
+                                                       if(defined $partial{$hostpart} && $partial{$hostpart} == 1) {
+                                                               print ", PARTIAL";
+                                                               $exit_status |= $STATUS_FAILED;
+                                                       }
                                                        print "\n";
                                                }
                                                $dpartition++;
                                                        print "\n";
                                                }
                                                $dpartition++;
@@ -1094,8 +1152,10 @@ foreach $host (sort @hosts) {
                                                printf "%-${maxnamelength}s%2d", "$host:$partition", $level{$hostpart};
                                                printf "%9d$unit", $size{$hostpart};
                                                print " waiting to flush";
                                                printf "%-${maxnamelength}s%2d", "$host:$partition", $level{$hostpart};
                                                printf "%9d$unit", $size{$hostpart};
                                                print " waiting to flush";
-                                               print ", PARTIAL" if defined $partial{$hostpart} &&
-                                                                                                  $partial{$hostpart} == 1;
+                                               if(defined $partial{$hostpart} && $partial{$hostpart} == 1) {
+                                                       print ", PARTIAL";
+                                                       $exit_status |= $STATUS_FAILED;
+                                               }
                                                print "\n";
                                        }
                                        $wfpartition++;
                                                print "\n";
                                        }
                                        $wfpartition++;
@@ -1156,8 +1216,12 @@ if (defined $opt_summary) {
        if($nb_tape > 1 || $tape_size != 0) {
                for($i=1; $i <= $nb_tape; $i++) {
                        if($tape_size != 0) {
        if($nb_tape > 1 || $tape_size != 0) {
                for($i=1; $i <= $nb_tape; $i++) {
                        if($tape_size != 0) {
-                               printf "  tape %-3d      : %3d %9d$unit %9d$unit (%6.2f%%) %s\n",
+                               printf "  tape %-3d      : %3d %9d$unit %9d$unit (%6.2f%%) %s",
                                        $i, $ntpartition{$i}, $ntsize{$i}, $ntesize{$i}, 100*$ntsize{$i}/$tape_size, $ntlabel{$i};
                                        $i, $ntpartition{$i}, $ntsize{$i}, $ntesize{$i}, 100*$ntsize{$i}/$tape_size, $ntlabel{$i};
+                               if($ntchunk{$i} > 0) {
+                                       printf " (%d chunks)", $ntchunk{$i};
+                               }
+                               print "\n";
                        }
                        else {
                                printf "  tape %-3d      : %3d %9d$unit %9d$unit %s\n",
                        }
                        else {
                                printf "  tape %-3d      : %3d %9d$unit %9d$unit %s\n",
@@ -1227,6 +1291,8 @@ if(defined $opt_stats) {
        }
 }
 
        }
 }
 
+exit $exit_status;
+
 sub make_hostpart() {
        local($host,$partition,$datestamp) = @_;
 
 sub make_hostpart() {
        local($host,$partition,$datestamp) = @_;
 
@@ -1347,6 +1413,30 @@ sub unctime() {
        return $time;
 }
 
        return $time;
 }
 
+sub set_starttime() {
+       my (@tl);
+       my ($time);
+       my ($date);
+
+       # Preset an array of values in case some parts are not passed as
+       # arguments.  This lets the date, etc, be omitted and default to
+       # today.
+
+       ($date)=@_;
+       @tl = localtime;
+
+       $tl[5] = substr($date,  0, 4)   if(length($date) >= 4);
+       $tl[4] = substr($date,  4, 2)-1 if(length($date) >= 6);
+       $tl[3] = substr($date,  6, 2)   if(length($date) >= 8);
+       $tl[2] = substr($date,  8, 2)   if(length($date) >= 10);
+       $tl[1] = substr($date, 10, 2)   if(length($date) >= 12);
+       $tl[0] = substr($date, 12, 2)   if(length($date) >= 14);
+
+       $time = &timelocal (@tl);
+
+       return $time;
+}
+
 sub showtime() {
        my($delta)=shift;
        my($oneday)=24*60*60;
 sub showtime() {
        my($delta)=shift;
        my($oneday)=24*60*60;
index 72dcf17125de2fa3d960bbc72163e08bf9f72c16..8f3cee1a4839292b229b4b8e4117f3358a99a201 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: amtape.c,v 1.47 2006/07/25 18:27:57 martinea Exp $
+ * $Id: amtape.c,v 1.47.2.2 2006/10/30 12:00:19 martinea Exp $
  *
  * tape changer interface program
  */
  *
  * tape changer interface program
  */
@@ -102,7 +102,7 @@ usage(void)
 {
     int i;
 
 {
     int i;
 
-    fprintf(stderr, "Usage: amtape%s <conf> <command>\n", versionsuffix());
+    fprintf(stderr, "Usage: amtape%s <conf> <command> {<args>} [-o configoption]*\n", versionsuffix());
     fprintf(stderr, "\tValid commands are:\n");
     for (i = 0; i < NCMDS; i++)
        fprintf(stderr, "\t\t%s\n", cmdtab[i].usage);
     fprintf(stderr, "\tValid commands are:\n");
     for (i = 0; i < NCMDS; i++)
        fprintf(stderr, "\t\t%s\n", cmdtab[i].usage);
@@ -125,6 +125,8 @@ main(
     uid_t uid_dumpuser;
     char *dumpuser;
     struct passwd *pw;
     uid_t uid_dumpuser;
     char *dumpuser;
     struct passwd *pw;
+    int new_argc;
+    char **new_argv;
 
     safe_fd(-1, 0);
     safe_cd();
 
     safe_fd(-1, 0);
     safe_cd();
@@ -140,9 +142,10 @@ main(
 
     erroutput_type = ERR_INTERACTIVE;
 
 
     erroutput_type = ERR_INTERACTIVE;
 
-    if(argc < 3) usage();
+    parse_server_conf(argc, argv, &new_argc, &new_argv);
+    if(new_argc < 3) usage();
 
 
-    config_name = argv[1];
+    config_name = new_argv[1];
 
     config_dir = vstralloc(CONFIG_DIR, "/", config_name, "/", NULL);
     conffile = stralloc2(config_dir, CONFFILE_NAME);
 
     config_dir = vstralloc(CONFIG_DIR, "/", config_name, "/", NULL);
     conffile = stralloc2(config_dir, CONFFILE_NAME);
@@ -194,14 +197,14 @@ main(
 
     /* switch on command name */
 
 
     /* switch on command name */
 
-    argc -= 2; argv += 2;
+    new_argc -= 2; new_argv += 2;
     for (i = 0; i < NCMDS; i++)
     for (i = 0; i < NCMDS; i++)
-       if (strcmp(argv[0], cmdtab[i].name) == 0) {
-           (*cmdtab[i].fn)(argc, argv);
+       if (strcmp(new_argv[0], cmdtab[i].name) == 0) {
+           (*cmdtab[i].fn)(new_argc, new_argv);
            break;
        }
     if (i == NCMDS) {
            break;
        }
     if (i == NCMDS) {
-       fprintf(stderr, "%s: unknown command \"%s\"\n", argv0, argv[0]);
+       fprintf(stderr, "%s: unknown command \"%s\"\n", argv0, new_argv[0]);
        usage();
     }
 
        usage();
     }
 
index f32075af2e99e723abcf0d3a9b93e3d0c23bd661..79d0757a4f20bac862f6cbcad055430e66c56982 100644 (file)
@@ -129,6 +129,9 @@ sub init() {
 
 &init;
 
 
 &init;
 
+delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
+$ENV{'PATH'} = "/usr/bin:/usr/sbin:/sbin:/bin";
+
 $dir=$logfile;
 $dir =~ s/[^\/]*$//;
 
 $dir=$logfile;
 $dir =~ s/[^\/]*$//;
 
index 0d2898cd9fd949f39c5efd78f9a087b4348eaf44..0e4c36d8ac2ff406c9f714c4ddfb32e7b27b8e15 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: changer.c,v 1.36.2.1 2006/09/27 14:04:27 martinea Exp $
+ * $Id: changer.c,v 1.36.2.2 2007/01/25 19:47:37 martinea Exp $
  *
  * interface routines for tape changers
  */
  *
  * interface routines for tape changers
  */
@@ -421,7 +421,7 @@ changer_command(
        exitcode = 2;
        goto done;
     case 0:
        exitcode = 2;
        goto done;
     case 0:
-       if(dup2(fd[1], 1) == -1 || dup2(fd[1], 2) == -1) {
+       if(dup2(fd[1], 1) == -1 || dup2(dbfd(), 2) == -1) {
            changer_resultstr = vstralloc ("<error> ",
                                           "could not open pipe to \"",
                                           cmdstr,
            changer_resultstr = vstralloc ("<error> ",
                                           "could not open pipe to \"",
                                           cmdstr,
index 502287d05ceec8a9f9f156b1e971a5089446b662..5be24f2085886162d30963f09ed6dbdc1ee0bf37 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: conffile.c,v 1.156 2006/07/26 15:17:37 martinea Exp $
+ * $Id: conffile.c,v 1.156.2.9 2007/01/11 13:06:10 martinea Exp $
  *
  * read configuration file
  */
  *
  * read configuration file
  */
@@ -293,9 +293,9 @@ t_conf_var server_var [] = {
    { CONF_INPARALLEL           , CONFTYPE_INT      , read_int     , CNF_INPARALLEL           , validate_inparallel },
    { CONF_DUMPORDER            , CONFTYPE_STRING   , read_string  , CNF_DUMPORDER            , NULL },
    { CONF_MAXDUMPS             , CONFTYPE_INT      , read_int     , CNF_MAXDUMPS             , validate_positive1 },
    { CONF_INPARALLEL           , CONFTYPE_INT      , read_int     , CNF_INPARALLEL           , validate_inparallel },
    { CONF_DUMPORDER            , CONFTYPE_STRING   , read_string  , CNF_DUMPORDER            , NULL },
    { CONF_MAXDUMPS             , CONFTYPE_INT      , read_int     , CNF_MAXDUMPS             , validate_positive1 },
-   { CONF_ETIMEOUT             , CONFTYPE_TIME     , read_time    , CNF_ETIMEOUT             , NULL },
-   { CONF_DTIMEOUT             , CONFTYPE_TIME     , read_time    , CNF_DTIMEOUT             , validate_positive1 },
-   { CONF_CTIMEOUT             , CONFTYPE_TIME     , read_time    , CNF_CTIMEOUT             , validate_positive1 },
+   { CONF_ETIMEOUT             , CONFTYPE_INT      , read_int     , CNF_ETIMEOUT             , NULL },
+   { CONF_DTIMEOUT             , CONFTYPE_INT      , read_int     , CNF_DTIMEOUT             , validate_positive1 },
+   { CONF_CTIMEOUT             , CONFTYPE_INT      , read_int     , CNF_CTIMEOUT             , validate_positive1 },
    { CONF_TAPEBUFS             , CONFTYPE_INT      , read_int     , CNF_TAPEBUFS             , validate_positive1 },
    { CONF_RAWTAPEDEV           , CONFTYPE_STRING   , read_string  , CNF_RAWTAPEDEV           , NULL },
    { CONF_COLUMNSPEC           , CONFTYPE_STRING   , read_string  , CNF_COLUMNSPEC           , NULL },
    { CONF_TAPEBUFS             , CONFTYPE_INT      , read_int     , CNF_TAPEBUFS             , validate_positive1 },
    { CONF_RAWTAPEDEV           , CONFTYPE_STRING   , read_string  , CNF_RAWTAPEDEV           , NULL },
    { CONF_COLUMNSPEC           , CONFTYPE_STRING   , read_string  , CNF_COLUMNSPEC           , NULL },
@@ -313,6 +313,68 @@ t_conf_var server_var [] = {
    { CONF_AMRECOVER_CHECK_LABEL, CONFTYPE_BOOL     , read_bool    , CNF_AMRECOVER_CHECK_LABEL, NULL },
    { CONF_UNKNOWN              , CONFTYPE_INT      , NULL         , CNF_CNF                  , NULL }
 };
    { CONF_AMRECOVER_CHECK_LABEL, CONFTYPE_BOOL     , read_bool    , CNF_AMRECOVER_CHECK_LABEL, NULL },
    { CONF_UNKNOWN              , CONFTYPE_INT      , NULL         , CNF_CNF                  , NULL }
 };
+
+t_conf_var tapetype_var [] = {
+   { CONF_COMMENT  , CONFTYPE_STRING, read_string, TAPETYPE_COMMENT  , NULL },
+   { CONF_LBL_TEMPL, CONFTYPE_STRING, read_string, TAPETYPE_LBL_TEMPL, NULL },
+   { CONF_BLOCKSIZE, CONFTYPE_SIZE  , read_size  , TAPETYPE_BLOCKSIZE, validate_blocksize },
+   { CONF_LENGTH   , CONFTYPE_AM64  , read_am64  , TAPETYPE_LENGTH   , validate_positive0 },
+   { CONF_FILEMARK , CONFTYPE_AM64  , read_am64  , TAPETYPE_FILEMARK , NULL },
+   { CONF_SPEED    , CONFTYPE_INT   , read_int   , TAPETYPE_SPEED    , validate_positive0 },
+   { CONF_FILE_PAD , CONFTYPE_BOOL  , read_bool  , TAPETYPE_FILE_PAD , NULL },
+   { CONF_UNKNOWN  , CONFTYPE_INT   , NULL       , TAPETYPE_TAPETYPE , NULL }
+};
+
+t_conf_var dumptype_var [] = {
+   { CONF_COMMENT           , CONFTYPE_STRING   , read_string , DUMPTYPE_COMMENT           , NULL },
+   { CONF_AUTH              , CONFTYPE_STRING   , read_string , DUMPTYPE_SECURITY_DRIVER   , NULL },
+   { CONF_BUMPDAYS          , CONFTYPE_INT      , read_int    , DUMPTYPE_BUMPDAYS          , NULL },
+   { CONF_BUMPMULT          , CONFTYPE_REAL     , read_real   , DUMPTYPE_BUMPMULT          , NULL },
+   { CONF_BUMPSIZE          , CONFTYPE_AM64     , read_am64   , DUMPTYPE_BUMPSIZE          , NULL },
+   { CONF_BUMPPERCENT       , CONFTYPE_INT      , read_int    , DUMPTYPE_BUMPPERCENT       , NULL },
+   { CONF_COMPRATE          , CONFTYPE_REAL     , get_comprate, DUMPTYPE_COMPRATE          , NULL },
+   { CONF_COMPRESS          , CONFTYPE_INT      , get_compress, DUMPTYPE_COMPRESS          , NULL },
+   { CONF_ENCRYPT           , CONFTYPE_INT      , get_encrypt , DUMPTYPE_ENCRYPT           , NULL },
+   { CONF_DUMPCYCLE         , CONFTYPE_INT      , read_int    , DUMPTYPE_DUMPCYCLE         , validate_positive0 },
+   { CONF_EXCLUDE           , CONFTYPE_EXINCLUDE, get_exclude , DUMPTYPE_EXCLUDE           , NULL },
+   { CONF_INCLUDE           , CONFTYPE_EXINCLUDE, get_exclude , DUMPTYPE_INCLUDE           , NULL },
+   { CONF_IGNORE            , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_IGNORE            , NULL },
+   { CONF_HOLDING           , CONFTYPE_HOLDING  , get_holding , DUMPTYPE_HOLDINGDISK       , NULL },
+   { CONF_INDEX             , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_INDEX             , NULL },
+   { CONF_KENCRYPT          , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_KENCRYPT          , NULL },
+   { CONF_MAXDUMPS          , CONFTYPE_INT      , read_int    , DUMPTYPE_MAXDUMPS          , validate_positive1 },
+   { CONF_MAXPROMOTEDAY     , CONFTYPE_INT      , read_int    , DUMPTYPE_MAXPROMOTEDAY     , validate_positive0 },
+   { CONF_PRIORITY          , CONFTYPE_PRIORITY , get_priority, DUMPTYPE_PRIORITY          , NULL },
+   { CONF_PROGRAM           , CONFTYPE_STRING   , read_string , DUMPTYPE_PROGRAM           , NULL },
+   { CONF_RECORD            , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_RECORD            , NULL },
+   { CONF_SKIP_FULL         , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_SKIP_FULL         , NULL },
+   { CONF_SKIP_INCR         , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_SKIP_INCR         , NULL },
+   { CONF_STARTTIME         , CONFTYPE_TIME     , read_time   , DUMPTYPE_STARTTIME         , NULL },
+   { CONF_STRATEGY          , CONFTYPE_INT      , get_strategy, DUMPTYPE_STRATEGY          , NULL },
+   { CONF_TAPE_SPLITSIZE    , CONFTYPE_AM64     , read_am64   , DUMPTYPE_TAPE_SPLITSIZE    , validate_positive0 },
+   { CONF_SPLIT_DISKBUFFER  , CONFTYPE_STRING   , read_string , DUMPTYPE_SPLIT_DISKBUFFER  , NULL },
+   { CONF_ESTIMATE          , CONFTYPE_INT      , get_estimate, DUMPTYPE_ESTIMATE          , NULL },
+   { CONF_SRV_ENCRYPT       , CONFTYPE_STRING   , read_string , DUMPTYPE_SRV_ENCRYPT       , NULL },
+   { CONF_CLNT_ENCRYPT      , CONFTYPE_STRING   , read_string , DUMPTYPE_CLNT_ENCRYPT      , NULL },
+   { CONF_AMANDAD_PATH      , CONFTYPE_STRING   , read_string , DUMPTYPE_AMANDAD_PATH      , NULL },
+   { CONF_CLIENT_USERNAME   , CONFTYPE_STRING   , read_string , DUMPTYPE_CLIENT_USERNAME   , NULL },
+   { CONF_SSH_KEYS          , CONFTYPE_STRING   , read_string , DUMPTYPE_SSH_KEYS          , NULL },
+   { CONF_SRVCOMPPROG       , CONFTYPE_STRING   , read_string , DUMPTYPE_SRVCOMPPROG       , NULL },
+   { CONF_CLNTCOMPPROG      , CONFTYPE_STRING   , read_string , DUMPTYPE_CLNTCOMPPROG      , NULL },
+   { CONF_FALLBACK_SPLITSIZE, CONFTYPE_AM64     , read_am64   , DUMPTYPE_FALLBACK_SPLITSIZE, NULL },
+   { CONF_SRV_DECRYPT_OPT   , CONFTYPE_STRING   , read_string , DUMPTYPE_SRV_DECRYPT_OPT   , NULL },
+   { CONF_CLNT_DECRYPT_OPT  , CONFTYPE_STRING   , read_string , DUMPTYPE_CLNT_DECRYPT_OPT  , NULL },
+   { CONF_UNKNOWN           , CONFTYPE_INT      , NULL        , DUMPTYPE_DUMPTYPE          , NULL }
+};
+
+t_conf_var holding_var [] = {
+   { CONF_DIRECTORY, CONFTYPE_STRING, read_string, HOLDING_DISKDIR  , NULL },
+   { CONF_COMMENT  , CONFTYPE_STRING, read_string, HOLDING_COMMENT  , NULL },
+   { CONF_USE      , CONFTYPE_AM64  , read_am64  , HOLDING_DISKSIZE , validate_use },
+   { CONF_CHUNKSIZE, CONFTYPE_AM64  , read_am64  , HOLDING_CHUNKSIZE, validate_chunksize },
+   { CONF_UNKNOWN  , CONFTYPE_INT   , NULL       , HOLDING_HOLDING  , NULL }
+};
+
 /*
 ** ------------------------
 **  External entry points
 /*
 ** ------------------------
 **  External entry points
@@ -513,9 +575,13 @@ validate_chunksize(
        val->v.am64 = ((AM64_MAX / 1024) - (2 * DISK_BLOCK_KB));
     }
     else if(val->v.am64 < 0) {
        val->v.am64 = ((AM64_MAX / 1024) - (2 * DISK_BLOCK_KB));
     }
     else if(val->v.am64 < 0) {
-       conf_parserror("Negative chunksize (%lld) is no longer supported", val->v.am64);
+       conf_parserror("Negative chunksize ("OFF_T_FMT") is no longer supported",
+                      val->v.am64);
     }
     val->v.am64 = am_floor(val->v.am64, (off_t)DISK_BLOCK_KB);
     }
     val->v.am64 = am_floor(val->v.am64, (off_t)DISK_BLOCK_KB);
+    if (val->v.am64 < 2*DISK_BLOCK_KB) {
+       conf_parserror("chunksize must be at least %dkb", 2*DISK_BLOCK_KB);
+    }
 }
 
 void
 }
 
 void
@@ -538,11 +604,16 @@ getconf_byname(
     char *str)
 {
     static char *tmpstr;
     char *str)
 {
     static char *tmpstr;
-    char number[NUM_STR_SIZE];
     t_conf_var *np;
     keytab_t *kt;
     char *s;
     char ch;
     t_conf_var *np;
     keytab_t *kt;
     char *s;
     char ch;
+    char *first_delim;
+    char *second_delim;
+    tapetype_t *tp;
+    dumptype_t *dp;
+    interface_t *ip;
+    holdingdisk_t *hp;
 
     tmpstr = stralloc(str);
     s = tmpstr;
 
     tmpstr = stralloc(str);
     s = tmpstr;
@@ -550,44 +621,137 @@ getconf_byname(
        if(islower((int)ch))
            s[-1] = (char)toupper(ch);
     }
        if(islower((int)ch))
            s[-1] = (char)toupper(ch);
     }
-    for(kt = server_keytab; kt->token != CONF_UNKNOWN; kt++) {
-       if(kt->keyword && strcmp(kt->keyword, tmpstr) == 0)
-           break;
-    }
 
 
-    if(kt->token == CONF_UNKNOWN)
-       return NULL;
+    first_delim = strchr(tmpstr, ':');
+    if (first_delim) {
+       *first_delim = '\0';
+       first_delim++;
+       second_delim = strchr(first_delim,':');
+       if(!second_delim) {
+           amfree(tmpstr);
+           return(NULL);
+       }
+       *second_delim = '\0';
+       second_delim++;
 
 
-    for(np = server_var; np->token != CONF_UNKNOWN; np++) {
-       if(np->token == kt->token)
-           break;
-    }
+       for(kt = server_keytab; kt->token != CONF_UNKNOWN; kt++) {
+           if(kt->keyword && strcmp(kt->keyword, second_delim) == 0)
+               break;
+       }
 
 
-    if(np->token == CONF_UNKNOWN) return NULL;
+       if(kt->token == CONF_UNKNOWN)
+           return NULL;
 
 
-    if(np->type == CONFTYPE_INT) {
-       snprintf(number, sizeof(number), "%d", server_conf[np->parm].v.i);
-       tmpstr = newstralloc(tmpstr, number);
-    } else if(np->type == CONFTYPE_BOOL) {
-       if(getconf_boolean(np->parm) == 0) {
-           tmpstr = newstralloc(tmpstr, "off");
+       if (strcmp(tmpstr, "TAPETYPE") == 0) {
+           tp = lookup_tapetype(first_delim);
+           if (!tp) {
+               amfree(tmpstr);
+               return(NULL);
+           }
+           for(np = tapetype_var; np->token != CONF_UNKNOWN; np++) {
+               if(np->token == kt->token)
+                  break;
+           }
+           if (np->token == CONF_UNKNOWN) return NULL;
+           tmpstr = stralloc(conf_print(&tp->value[np->parm], 0));
+       } else if (strcmp(tmpstr, "DUMPTYPE") == 0) {
+           dp = lookup_dumptype(first_delim);
+           if (!dp) {
+               amfree(tmpstr);
+               return(NULL);
+           }
+           for(np = dumptype_var; np->token != CONF_UNKNOWN; np++) {
+               if(np->token == kt->token)
+                  break;
+           }
+           if (np->token == CONF_UNKNOWN) return NULL;
+           tmpstr = stralloc(conf_print(&dp->value[np->parm], 0));
+       } else if (strcmp(tmpstr, "HOLDINGDISK") == 0) {
+           hp = lookup_holdingdisk(first_delim);
+           if (!hp) {
+               amfree(tmpstr);
+               return(NULL);
+           }
+           for(np = holding_var; np->token != CONF_UNKNOWN; np++) {
+               if(np->token == kt->token)
+                  break;
+           }
+           if (np->token == CONF_UNKNOWN) return NULL;
+           tmpstr = stralloc(conf_print(&hp->value[np->parm], 0));
+       } else if (strcmp(tmpstr, "INTERFACE") == 0) {
+           ip = lookup_interface(first_delim);
+           if (!ip) {
+               amfree(tmpstr);
+               return(NULL);
+           }
+           for(np = holding_var; np->token != CONF_UNKNOWN; np++) {
+               if(np->token == kt->token)
+                  break;
+           }
+           if (np->token == CONF_UNKNOWN) return NULL;
+           tmpstr = stralloc(conf_print(&ip->value[np->parm], 0));
        } else {
        } else {
-           tmpstr = newstralloc(tmpstr, "on");
+           amfree(tmpstr);
+           return(NULL);
        }
        }
-    } else if(np->type == CONFTYPE_REAL) {
-       snprintf(number, sizeof(number), "%lf", server_conf[np->parm].v.r);
-       tmpstr = newstralloc(tmpstr, number);
-    } else if(np->type == CONFTYPE_AM64){
-       snprintf(number, sizeof(number), OFF_T_FMT, 
-                (OFF_T_FMT_TYPE)server_conf[np->parm].v.am64);
-       tmpstr = newstralloc(tmpstr, number);
     } else {
     } else {
-       tmpstr = newstralloc(tmpstr, getconf_str(np->parm));
+       for(kt = server_keytab; kt->token != CONF_UNKNOWN; kt++) {
+           if(kt->keyword && strcmp(kt->keyword, tmpstr) == 0)
+               break;
+       }
+
+       if(kt->token == CONF_UNKNOWN)
+           return NULL;
+
+       for(np = server_var; np->token != CONF_UNKNOWN; np++) {
+           if(np->token == kt->token)
+               break;
+       }
+
+       if(np->token == CONF_UNKNOWN) return NULL;
+
+       tmpstr = stralloc(conf_print(&server_conf[np->parm], 0));
     }
 
     return tmpstr;
 }
 
     }
 
     return tmpstr;
 }
 
+
+char *
+getconf_list(
+    char *listname)
+{
+    char *result = NULL;
+    tapetype_t *tp;
+    dumptype_t *dp;
+    interface_t *ip;
+    holdingdisk_t *hp;
+
+    if (strcasecmp(listname,"tapetype") == 0) {
+       result = stralloc("");
+       for(tp = tapelist; tp != NULL; tp=tp->next) {
+           result = vstrextend(&result, tp->name, "\n", NULL);
+       }
+    } else if (strcasecmp(listname,"dumptype") == 0) {
+       result = stralloc("");
+       for(dp = dumplist; dp != NULL; dp=dp->next) {
+           result = vstrextend(&result, dp->name, "\n", NULL);
+       }
+    } else if (strcasecmp(listname,"holdingdisk") == 0) {
+       result = stralloc("");
+       for(hp = holdingdisks; hp != NULL; hp=hp->next) {
+           result = vstrextend(&result, hp->name, "\n", NULL);
+       }
+    } else if (strcasecmp(listname,"interface") == 0) {
+       result = stralloc("");
+       for(ip = interface_list; ip != NULL; ip=ip->next) {
+           result = vstrextend(&result, ip->name, "\n", NULL);
+       }
+    }
+    return result;
+}
+
+
 int
 getconf_seen(
     confparm_t parm)
 int
 getconf_seen(
     confparm_t parm)
@@ -745,6 +909,18 @@ lookup_tapetype(
     return NULL;
 }
 
     return NULL;
 }
 
+holdingdisk_t *
+lookup_holdingdisk(
+    char *str)
+{
+    holdingdisk_t *p;
+
+    for(p = holdingdisks; p != NULL; p = p->next) {
+       if(strcasecmp(p->name, str) == 0) return p;
+    }
+    return NULL;
+}
+
 interface_t *
 lookup_interface(
     char *str)
 interface_t *
 lookup_interface(
     char *str)
@@ -792,7 +968,7 @@ init_defaults(
 #ifdef DEFAULT_TAPE_DEVICE
     s = DEFAULT_TAPE_DEVICE;
 #else
 #ifdef DEFAULT_TAPE_DEVICE
     s = DEFAULT_TAPE_DEVICE;
 #else
-    s = "/dev/rmt8";
+    s = NULL;
 #endif
     conf_init_string(&server_conf[CNF_TAPEDEV], s);
 #ifdef DEFAULT_CHANGER_DEVICE
 #endif
     conf_init_string(&server_conf[CNF_TAPEDEV], s);
 #ifdef DEFAULT_CHANGER_DEVICE
@@ -827,9 +1003,9 @@ init_defaults(
     conf_init_string   (&server_conf[CNF_TPCHANGER]            , "");
     conf_init_int      (&server_conf[CNF_RUNTAPES]             , 1);
     conf_init_int      (&server_conf[CNF_MAXDUMPS]             , 1);
     conf_init_string   (&server_conf[CNF_TPCHANGER]            , "");
     conf_init_int      (&server_conf[CNF_RUNTAPES]             , 1);
     conf_init_int      (&server_conf[CNF_MAXDUMPS]             , 1);
-    conf_init_time     (&server_conf[CNF_ETIMEOUT]             , (time_t)300);
-    conf_init_time     (&server_conf[CNF_DTIMEOUT]             , (time_t)1800);
-    conf_init_time     (&server_conf[CNF_CTIMEOUT]             , (time_t)30);
+    conf_init_int      (&server_conf[CNF_ETIMEOUT]             , 300);
+    conf_init_int      (&server_conf[CNF_DTIMEOUT]             , 1800);
+    conf_init_int      (&server_conf[CNF_CTIMEOUT]             , 30);
     conf_init_int      (&server_conf[CNF_TAPEBUFS]             , 20);
     conf_init_string   (&server_conf[CNF_RAWTAPEDEV]           , s);
     conf_init_string   (&server_conf[CNF_PRINTER]              , "");
     conf_init_int      (&server_conf[CNF_TAPEBUFS]             , 20);
     conf_init_string   (&server_conf[CNF_RAWTAPEDEV]           , s);
     conf_init_string   (&server_conf[CNF_PRINTER]              , "");
@@ -1063,14 +1239,6 @@ read_confline(
     return 1;
 }
 
     return 1;
 }
 
-t_conf_var holding_var [] = {
-   { CONF_DIRECTORY, CONFTYPE_STRING, read_string, HOLDING_DISKDIR  , NULL },
-   { CONF_COMMENT  , CONFTYPE_STRING, read_string, HOLDING_COMMENT  , NULL },
-   { CONF_USE      , CONFTYPE_AM64  , read_am64  , HOLDING_DISKSIZE , validate_use },
-   { CONF_CHUNKSIZE, CONFTYPE_AM64  , read_am64  , HOLDING_CHUNKSIZE, validate_chunksize },
-   { CONF_UNKNOWN  , CONFTYPE_INT   , NULL       , HOLDING_HOLDING  , NULL }
-};
-
 static void
 get_holdingdisk(
     void)
 static void
 get_holdingdisk(
     void)
@@ -1128,48 +1296,6 @@ save_holdingdisk(
 }
 
 
 }
 
 
-t_conf_var dumptype_var [] = {
-   { CONF_COMMENT           , CONFTYPE_STRING   , read_string , DUMPTYPE_COMMENT           , NULL },
-   { CONF_AUTH              , CONFTYPE_STRING   , read_string , DUMPTYPE_SECURITY_DRIVER   , NULL },
-   { CONF_BUMPDAYS          , CONFTYPE_INT      , read_int    , DUMPTYPE_BUMPDAYS          , NULL },
-   { CONF_BUMPMULT          , CONFTYPE_REAL     , read_real   , DUMPTYPE_BUMPMULT          , NULL },
-   { CONF_BUMPSIZE          , CONFTYPE_AM64     , read_am64   , DUMPTYPE_BUMPSIZE          , NULL },
-   { CONF_BUMPPERCENT       , CONFTYPE_INT      , read_int    , DUMPTYPE_BUMPPERCENT       , NULL },
-   { CONF_COMPRATE          , CONFTYPE_REAL     , get_comprate, DUMPTYPE_COMPRATE          , NULL },
-   { CONF_COMPRESS          , CONFTYPE_INT      , get_compress, DUMPTYPE_COMPRESS          , NULL },
-   { CONF_ENCRYPT           , CONFTYPE_INT      , get_encrypt , DUMPTYPE_ENCRYPT           , NULL },
-   { CONF_DUMPCYCLE         , CONFTYPE_INT      , read_int    , DUMPTYPE_DUMPCYCLE         , validate_positive0 },
-   { CONF_EXCLUDE           , CONFTYPE_EXINCLUDE, get_exclude , DUMPTYPE_EXCLUDE           , NULL },
-   { CONF_INCLUDE           , CONFTYPE_EXINCLUDE, get_exclude , DUMPTYPE_INCLUDE           , NULL },
-   { CONF_IGNORE            , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_IGNORE            , NULL },
-   { CONF_HOLDING           , CONFTYPE_HOLDING  , get_holding , DUMPTYPE_HOLDINGDISK       , NULL },
-   { CONF_INDEX             , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_INDEX             , NULL },
-   { CONF_KENCRYPT          , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_KENCRYPT          , NULL },
-   { CONF_MAXDUMPS          , CONFTYPE_INT      , read_int    , DUMPTYPE_MAXDUMPS          , validate_positive1 },
-   { CONF_MAXPROMOTEDAY     , CONFTYPE_INT      , read_int    , DUMPTYPE_MAXPROMOTEDAY     , validate_positive0 },
-   { CONF_PRIORITY          , CONFTYPE_PRIORITY , get_priority, DUMPTYPE_PRIORITY          , NULL },
-   { CONF_PROGRAM           , CONFTYPE_STRING   , read_string , DUMPTYPE_PROGRAM           , NULL },
-   { CONF_RECORD            , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_RECORD            , NULL },
-   { CONF_SKIP_FULL         , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_SKIP_FULL         , NULL },
-   { CONF_SKIP_INCR         , CONFTYPE_BOOL     , read_bool   , DUMPTYPE_SKIP_INCR         , NULL },
-   { CONF_STARTTIME         , CONFTYPE_TIME     , read_time   , DUMPTYPE_START_T           , NULL },
-   { CONF_STRATEGY          , CONFTYPE_INT      , get_strategy, DUMPTYPE_STRATEGY          , NULL },
-   { CONF_TAPE_SPLITSIZE    , CONFTYPE_AM64     , read_am64   , DUMPTYPE_TAPE_SPLITSIZE    , validate_positive0 },
-   { CONF_SPLIT_DISKBUFFER  , CONFTYPE_STRING   , read_string , DUMPTYPE_SPLIT_DISKBUFFER  , NULL },
-   { CONF_ESTIMATE          , CONFTYPE_INT      , get_estimate, DUMPTYPE_ESTIMATE          , NULL },
-   { CONF_SRV_ENCRYPT       , CONFTYPE_STRING   , read_string , DUMPTYPE_SRV_ENCRYPT       , NULL },
-   { CONF_CLNT_ENCRYPT      , CONFTYPE_STRING   , read_string , DUMPTYPE_CLNT_ENCRYPT      , NULL },
-   { CONF_AMANDAD_PATH      , CONFTYPE_STRING   , read_string , DUMPTYPE_AMANDAD_PATH      , NULL },
-   { CONF_CLIENT_USERNAME   , CONFTYPE_STRING   , read_string , DUMPTYPE_CLIENT_USERNAME   , NULL },
-   { CONF_SSH_KEYS          , CONFTYPE_STRING   , read_string , DUMPTYPE_SSH_KEYS          , NULL },
-   { CONF_SRVCOMPPROG       , CONFTYPE_STRING   , read_string , DUMPTYPE_SRVCOMPPROG       , NULL },
-   { CONF_CLNTCOMPPROG      , CONFTYPE_STRING   , read_string , DUMPTYPE_CLNTCOMPPROG      , NULL },
-   { CONF_FALLBACK_SPLITSIZE, CONFTYPE_AM64     , read_am64   , DUMPTYPE_FALLBACK_SPLITSIZE, NULL },
-   { CONF_SRV_DECRYPT_OPT   , CONFTYPE_STRING   , read_string , DUMPTYPE_SRV_DECRYPT_OPT   , NULL },
-   { CONF_CLNT_DECRYPT_OPT  , CONFTYPE_STRING   , read_string , DUMPTYPE_CLNT_DECRYPT_OPT  , NULL },
-   { CONF_UNKNOWN           , CONFTYPE_INT      , NULL        , DUMPTYPE_DUMPTYPE          , NULL }
-};
-
 dumptype_t *
 read_dumptype(
     char *name,
 dumptype_t *
 read_dumptype(
     char *name,
@@ -1264,7 +1390,7 @@ init_dumptype_defaults(void)
     conf_init_am64     (&dpcur.value[DUMPTYPE_BUMPSIZE]          , server_conf[CNF_BUMPSIZE].v.am64);
     conf_init_int      (&dpcur.value[DUMPTYPE_BUMPDAYS]          , server_conf[CNF_BUMPDAYS].v.i);
     conf_init_real     (&dpcur.value[DUMPTYPE_BUMPMULT]          , server_conf[CNF_BUMPMULT].v.r);
     conf_init_am64     (&dpcur.value[DUMPTYPE_BUMPSIZE]          , server_conf[CNF_BUMPSIZE].v.am64);
     conf_init_int      (&dpcur.value[DUMPTYPE_BUMPDAYS]          , server_conf[CNF_BUMPDAYS].v.i);
     conf_init_real     (&dpcur.value[DUMPTYPE_BUMPMULT]          , server_conf[CNF_BUMPMULT].v.r);
-    conf_init_time     (&dpcur.value[DUMPTYPE_START_T]           , (time_t)0);
+    conf_init_time     (&dpcur.value[DUMPTYPE_STARTTIME]         , (time_t)0);
     conf_init_strategy (&dpcur.value[DUMPTYPE_STRATEGY]          , DS_STANDARD);
     conf_init_estimate (&dpcur.value[DUMPTYPE_ESTIMATE]          , ES_CLIENT);
     conf_init_compress (&dpcur.value[DUMPTYPE_COMPRESS]          , COMP_FAST);
     conf_init_strategy (&dpcur.value[DUMPTYPE_STRATEGY]          , DS_STANDARD);
     conf_init_estimate (&dpcur.value[DUMPTYPE_ESTIMATE]          , ES_CLIENT);
     conf_init_compress (&dpcur.value[DUMPTYPE_COMPRESS]          , COMP_FAST);
@@ -1332,17 +1458,6 @@ copy_dumptype(void)
     }
 }
 
     }
 }
 
-t_conf_var tapetype_var [] = {
-   { CONF_COMMENT  , CONFTYPE_STRING, read_string, TAPETYPE_COMMENT  , NULL },
-   { CONF_LBL_TEMPL, CONFTYPE_STRING, read_string, TAPETYPE_LBL_TEMPL, NULL },
-   { CONF_BLOCKSIZE, CONFTYPE_SIZE  , read_size  , TAPETYPE_BLOCKSIZE, validate_blocksize },
-   { CONF_LENGTH   , CONFTYPE_AM64  , read_am64  , TAPETYPE_LENGTH   , validate_positive0 },
-   { CONF_FILEMARK , CONFTYPE_AM64  , read_am64  , TAPETYPE_FILEMARK , NULL },
-   { CONF_SPEED    , CONFTYPE_INT   , read_int   , TAPETYPE_SPEED    , validate_positive0 },
-   { CONF_FILE_PAD , CONFTYPE_BOOL  , read_bool  , TAPETYPE_FILE_PAD , NULL },
-   { CONF_UNKNOWN  , CONFTYPE_INT   , NULL       , TAPETYPE_TAPETYPE , NULL }
-};
-
 static void
 get_tapetype(void)
 {
 static void
 get_tapetype(void)
 {
@@ -1375,8 +1490,8 @@ init_tapetype_defaults(void)
     conf_init_string(&tpcur.value[TAPETYPE_COMMENT]  , "");
     conf_init_string(&tpcur.value[TAPETYPE_LBL_TEMPL], "");
     conf_init_size  (&tpcur.value[TAPETYPE_BLOCKSIZE], DISK_BLOCK_KB);
     conf_init_string(&tpcur.value[TAPETYPE_COMMENT]  , "");
     conf_init_string(&tpcur.value[TAPETYPE_LBL_TEMPL], "");
     conf_init_size  (&tpcur.value[TAPETYPE_BLOCKSIZE], DISK_BLOCK_KB);
-    conf_init_am64  (&tpcur.value[TAPETYPE_LENGTH]   , (off_t)2000 * 1024);
-    conf_init_am64  (&tpcur.value[TAPETYPE_FILEMARK] , (off_t)1000);
+    conf_init_am64  (&tpcur.value[TAPETYPE_LENGTH]   , (off_t)2000);
+    conf_init_am64  (&tpcur.value[TAPETYPE_FILEMARK] , (off_t)1);
     conf_init_int   (&tpcur.value[TAPETYPE_SPEED]    , 200);
     conf_init_bool  (&tpcur.value[TAPETYPE_FILE_PAD] , 1);
 }
     conf_init_int   (&tpcur.value[TAPETYPE_SPEED]    , 200);
     conf_init_bool  (&tpcur.value[TAPETYPE_FILE_PAD] , 1);
 }
@@ -1817,13 +1932,13 @@ get_exclude(
     if(tok == CONF_LIST) {
        file = 0;
        get_conftoken(CONF_ANY);
     if(tok == CONF_LIST) {
        file = 0;
        get_conftoken(CONF_ANY);
+       exclude = val->v.exinclude.sl_list;
     }
     else {
        file = 1;
        if(tok == CONF_EFILE) get_conftoken(CONF_ANY);
     }
     else {
        file = 1;
        if(tok == CONF_EFILE) get_conftoken(CONF_ANY);
+       exclude = val->v.exinclude.sl_file;
     }
     }
-    val->v.exinclude.type = file;
-    exclude = val->v.exinclude.sl;
     ckseen(&val->seen);
 
     if(tok == CONF_OPTIONAL) {
     ckseen(&val->seen);
 
     if(tok == CONF_OPTIONAL) {
@@ -1848,7 +1963,10 @@ get_exclude(
 
     if(got_one == 0) { free_sl(exclude); exclude = NULL; }
 
 
     if(got_one == 0) { free_sl(exclude); exclude = NULL; }
 
-    val->v.exinclude.sl = exclude;
+    if (file == 0)
+       val->v.exinclude.sl_list = exclude;
+    else
+       val->v.exinclude.sl_file = exclude;
     val->v.exinclude.optional = optional;
 }
 
     val->v.exinclude.optional = optional;
 }
 
@@ -2062,7 +2180,7 @@ dump_configuration(
        if(kt->token == CONF_UNKNOWN)
            error("server bad token");
 
        if(kt->token == CONF_UNKNOWN)
            error("server bad token");
 
-       printf("%-21s %s\n", kt->keyword, conf_print(&server_conf[i]));
+       printf("%-21s %s\n", kt->keyword, conf_print(&server_conf[i], 1));
     }
 
     for(hp = holdingdisks; hp != NULL; hp = hp->next) {
     }
 
     for(hp = holdingdisks; hp != NULL; hp = hp->next) {
@@ -2082,7 +2200,7 @@ dump_configuration(
            if(kt->token == CONF_UNKNOWN)
                error("holding bad token");
 
            if(kt->token == CONF_UNKNOWN)
                error("holding bad token");
 
-           printf("      %-9s %s\n", kt->keyword, conf_print(&hp->value[i]));
+           printf("      %-9s %s\n", kt->keyword, conf_print(&hp->value[i], 1));
        }
        printf("}\n");
     }
        }
        printf("}\n");
     }
@@ -2100,31 +2218,41 @@ dump_configuration(
            if(kt->token == CONF_UNKNOWN)
                error("tapetype bad token");
 
            if(kt->token == CONF_UNKNOWN)
                error("tapetype bad token");
 
-           printf("      %-9s %s\n", kt->keyword, conf_print(&tp->value[i]));
+           printf("      %-9s %s\n", kt->keyword, conf_print(&tp->value[i], 1));
        }
        printf("}\n");
     }
 
     for(dp = dumplist; dp != NULL; dp = dp->next) {
        }
        printf("}\n");
     }
 
     for(dp = dumplist; dp != NULL; dp = dp->next) {
-       if(dp->seen == -1)
-           prefix = "#";
-       else
-           prefix = "";
-       printf("\n%sDEFINE DUMPTYPE %s {\n", prefix, dp->name);
-       for(i=0; i < DUMPTYPE_DUMPTYPE; i++) {
-           for(np=dumptype_var; np->token != CONF_UNKNOWN; np++)
-               if(np->parm == i) break;
-           if(np->token == CONF_UNKNOWN)
-               error("dumptype bad value");
-
-           for(kt = server_keytab; kt->token != CONF_UNKNOWN; kt++)
-               if(kt->token == np->token) break;
-           if(kt->token == CONF_UNKNOWN)
-               error("dumptype bad token");
-
-           printf("%s      %-19s %s\n", prefix, kt->keyword, conf_print(&dp->value[i]));
+       if (strncmp(dp->name, "custom(", 7) != 0) {
+           if(dp->seen == -1)
+               prefix = "#";
+           else
+               prefix = "";
+           printf("\n%sDEFINE DUMPTYPE %s {\n", prefix, dp->name);
+           for(i=0; i < DUMPTYPE_DUMPTYPE; i++) {
+               for(np=dumptype_var; np->token != CONF_UNKNOWN; np++)
+                   if(np->parm == i) break;
+               if(np->token == CONF_UNKNOWN)
+                   error("dumptype bad value");
+
+               for(kt = server_keytab; kt->token != CONF_UNKNOWN; kt++)
+                   if(kt->token == np->token) break;
+               if(kt->token == CONF_UNKNOWN)
+                   error("dumptype bad token");
+
+               if (dp->value[i].type == CONFTYPE_EXINCLUDE) {
+                   printf("%s      %-19s %s\n", prefix, kt->keyword,
+                          conf_print_exinclude(&dp->value[i], 1, 0));
+                   printf("%s      %-19s %s\n", prefix, kt->keyword,
+                          conf_print_exinclude(&dp->value[i], 1, 1));
+               } else {
+                   printf("%s      %-19s %s\n", prefix, kt->keyword,
+                          conf_print(&dp->value[i], 1));
+               }
+           }
+           printf("%s}\n", prefix);
        }
        }
-       printf("%s}\n", prefix);
     }
 
     for(ip = interface_list; ip != NULL; ip = ip->next) {
     }
 
     for(ip = interface_list; ip != NULL; ip = ip->next) {
@@ -2144,7 +2272,7 @@ dump_configuration(
            if(kt->token == CONF_UNKNOWN)
                error("interface bad token");
 
            if(kt->token == CONF_UNKNOWN)
                error("interface bad token");
 
-           printf("%s      %-9s %s\n", prefix, kt->keyword, conf_print(&ip->value[i]));
+           printf("%s      %-9s %s\n", prefix, kt->keyword, conf_print(&ip->value[i], 1));
        }
        printf("%s}\n",prefix);
     }
        }
        printf("%s}\n",prefix);
     }
@@ -2302,6 +2430,31 @@ parse_server_conf(
     }
 }
 
     }
 }
 
+char **
+get_config_options(
+    int first)
+{
+    char             **config_options;
+    char            **config_option;
+    command_option_t  *command_options;
+    int                nb_server_options = 0;
+
+    for(command_options = server_options; command_options->name != NULL;
+       command_options++) {
+       nb_server_options++;
+    }
+    config_options = alloc((first+nb_server_options+1)*SIZEOF(char *));
+    for(command_options = server_options,
+        config_option = config_options + first;
+       command_options->name != NULL; command_options++) {
+       *config_option = vstralloc("-o", command_options->name, "=",
+                                  command_options->value, NULL);
+       config_option++;
+    }
+    *config_option = NULL;
+    return(config_options);
+}
+
 void
 report_bad_conf_arg(void)
 {
 void
 report_bad_conf_arg(void)
 {
index 4a46da51b0c63705b558c4efeb33b484b77774e5..1bb3043c179d87d0e57dd32c31dab39411546cf2 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: conffile.h,v 1.72 2006/07/26 15:17:37 martinea Exp $
+ * $Id: conffile.h,v 1.72.2.3 2006/11/09 14:35:10 martinea Exp $
  *
  * interface for config file reading code
  */
  *
  * interface for config file reading code
  */
@@ -159,7 +159,7 @@ typedef enum dumptype_e  {
     DUMPTYPE_BUMPSIZE,
     DUMPTYPE_BUMPDAYS,
     DUMPTYPE_BUMPMULT,
     DUMPTYPE_BUMPSIZE,
     DUMPTYPE_BUMPDAYS,
     DUMPTYPE_BUMPMULT,
-    DUMPTYPE_START_T,
+    DUMPTYPE_STARTTIME,
     DUMPTYPE_STRATEGY,
     DUMPTYPE_ESTIMATE,
     DUMPTYPE_COMPRESS,
     DUMPTYPE_STRATEGY,
     DUMPTYPE_ESTIMATE,
     DUMPTYPE_COMPRESS,
@@ -212,7 +212,7 @@ typedef struct dumptype_s {
 #define dumptype_get_bumpsize(dumptype)           get_conftype_am64     (&dumptype->value[DUMPTYPE_BUMPSIZE])
 #define dumptype_get_bumpdays(dumptype)           get_conftype_int      (&dumptype->value[DUMPTYPE_BUMPDAYS])
 #define dumptype_get_bumpmult(dumptype)           get_conftype_real     (&dumptype->value[DUMPTYPE_BUMPMULT])
 #define dumptype_get_bumpsize(dumptype)           get_conftype_am64     (&dumptype->value[DUMPTYPE_BUMPSIZE])
 #define dumptype_get_bumpdays(dumptype)           get_conftype_int      (&dumptype->value[DUMPTYPE_BUMPDAYS])
 #define dumptype_get_bumpmult(dumptype)           get_conftype_real     (&dumptype->value[DUMPTYPE_BUMPMULT])
-#define dumptype_get_start_t(dumptype)            get_conftype_time     (&dumptype->value[DUMPTYPE_START_T])
+#define dumptype_get_starttime(dumptype)          get_conftype_time     (&dumptype->value[DUMPTYPE_STARTTIME])
 #define dumptype_get_strategy(dumptype)           get_conftype_strategy (&dumptype->value[DUMPTYPE_STRATEGY])
 #define dumptype_get_estimate(dumptype)           get_conftype_estimate (&dumptype->value[DUMPTYPE_ESTIMATE])
 #define dumptype_get_compress(dumptype)           get_conftype_compress (&dumptype->value[DUMPTYPE_COMPRESS])
 #define dumptype_get_strategy(dumptype)           get_conftype_strategy (&dumptype->value[DUMPTYPE_STRATEGY])
 #define dumptype_get_estimate(dumptype)           get_conftype_estimate (&dumptype->value[DUMPTYPE_ESTIMATE])
 #define dumptype_get_compress(dumptype)           get_conftype_compress (&dumptype->value[DUMPTYPE_COMPRESS])
@@ -313,6 +313,7 @@ extern int num_holdingdisks;
 
 void parse_server_conf(int parse_argc, char **parse_argv, int *new_argc,
                       char ***new_argv);
 
 void parse_server_conf(int parse_argc, char **parse_argv, int *new_argc,
                       char ***new_argv);
+char **get_config_options(int);
 void report_bad_conf_arg(void);
 void free_server_config(void);
 
 void report_bad_conf_arg(void);
 void free_server_config(void);
 
@@ -328,9 +329,11 @@ double getconf_real(confparm_t parameter);
 char *getconf_str(confparm_t parameter);
 int getconf_taperalgo(confparm_t parameter);
 char *getconf_byname(char *confname);
 char *getconf_str(confparm_t parameter);
 int getconf_taperalgo(confparm_t parameter);
 char *getconf_byname(char *confname);
+char *getconf_list(char *listname);
 dumptype_t *lookup_dumptype(char *identifier);
 dumptype_t *read_dumptype(char *name, FILE *from, char *fname, int *linenum);
 tapetype_t *lookup_tapetype(char *identifier);
 dumptype_t *lookup_dumptype(char *identifier);
 dumptype_t *read_dumptype(char *name, FILE *from, char *fname, int *linenum);
 tapetype_t *lookup_tapetype(char *identifier);
+holdingdisk_t *lookup_holdingdisk(char *identifier);
 interface_t *lookup_interface(char *identifier);
 holdingdisk_t *getconf_holdingdisks(void);
 long int getconf_unit_divisor(void);
 interface_t *lookup_interface(char *identifier);
 holdingdisk_t *getconf_holdingdisks(void);
 long int getconf_unit_divisor(void);
index 0222a7de46caf5f72fec5daf670733964a870aa6..da5dd0c1710e9ac0b6aacd59374f27635db0b0b1 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: diskfile.c,v 1.95 2006/07/26 15:17:37 martinea Exp $
+ * $Id: diskfile.c,v 1.95.2.12 2007/01/26 14:33:24 martinea Exp $
  *
  * read disklist file
  */
  *
  * read disklist file
  */
@@ -369,6 +369,11 @@ parse_diskline(
     int ch, dup = 0;
     char *line = *line_p;
     int line_num = *line_num_p;
     int ch, dup = 0;
     char *line = *line_p;
     int line_num = *line_num_p;
+    struct tm *stm;
+    time_t st;
+    char *shost, *sdisk;
+    am_host_t *p;
+    disk_t *dp;
 
     assert(filename != NULL);
     assert(line_num > 0);
 
     assert(filename != NULL);
     assert(line_num > 0);
@@ -385,11 +390,33 @@ parse_diskline(
     s[-1] = '\0';
     host = lookup_host(fp);
     if (host == NULL) {
     s[-1] = '\0';
     host = lookup_host(fp);
     if (host == NULL) {
-      hostname = stralloc(fp);
-      malloc_mark(hostname);
+       hostname = stralloc(fp);
+       malloc_mark(hostname);
     } else {
     } else {
-      hostname = host->hostname;
+       hostname = stralloc(host->hostname);
+       if (strcmp(host->hostname, fp) != 0) {
+           disk_parserror(filename, line_num, "Same host with different case: \"%s\" and \"%s\".", host->hostname, fp);
+           return -1;
+       }
+    }
+
+    shost = sanitise_filename(hostname);
+    for (p = hostlist; p != NULL; p = p->next) {
+       char *shostp = sanitise_filename(p->hostname);
+       if (!strcmp(hostname, p->hostname) &&
+            strcmp(shost, shostp)) {
+           disk_parserror(filename, line_num, "Two host are mapping to the same name: \"%s\" and \"%s\"", p->hostname, hostname);
+           return(-1);
+       }
+       else if (strcasecmp(hostname, p->hostname) &&
+                match_host(hostname, p->hostname) &&
+                match_host(p->hostname, hostname)) {
+           disk_parserror(filename, line_num, "Duplicate host name: \"%s\" and \"%s\"", p->hostname, hostname);
+           return(-1);
+       }
+       amfree(shostp);
     }
     }
+    amfree(shost);
 
     skip_whitespace(s, ch);
     if(ch == '\0' || ch == '#') {
 
     skip_whitespace(s, ch);
     if(ch == '\0' || ch == '#') {
@@ -417,8 +444,8 @@ parse_diskline(
     /* diskdevice */
     dumptype = NULL;
     diskdevice = NULL;
     /* diskdevice */
     dumptype = NULL;
     diskdevice = NULL;
-    dumptype = unquote_string(fp);
     if(fp[0] != '{') {
     if(fp[0] != '{') {
+       dumptype = unquote_string(fp);
        if ((dtype = lookup_dumptype(dumptype)) == NULL) {
            diskdevice = dumptype;
            skip_whitespace(s, ch);
        if ((dtype = lookup_dumptype(dumptype)) == NULL) {
            diskdevice = dumptype;
            skip_whitespace(s, ch);
@@ -434,18 +461,36 @@ parse_diskline(
            fp = s - 1;
            skip_quoted_string(s, ch);
            s[-1] = '\0';
            fp = s - 1;
            skip_quoted_string(s, ch);
            s[-1] = '\0';
-           dumptype = unquote_string(fp);
+           if (fp[0] != '{') {
+               dumptype = unquote_string(fp);
+           }
        }
     }
        }
     }
-    else
-       amfree(dumptype);
 
     /* check for duplicate disk */
 
     /* check for duplicate disk */
-    if(host && (disk = lookup_disk(hostname, diskname)) != NULL) {
-       disk_parserror(filename, line_num,
-           "duplicate disk record, previous on line %d", disk->line);
-       dup = 1;
-    } else {
+    disk = NULL;
+    if (host) {
+       if ((disk = lookup_disk(hostname, diskname)) != NULL) {
+           dup = 1;
+       } else {
+           disk = host->disks;
+           do {
+               if (match_disk(diskname, disk->name) &&
+                   match_disk(disk->name, diskname)) {
+                   dup = 1;
+               } else {
+                   disk = disk->hostnext;
+               }
+           }
+           while (dup == 0 && disk != NULL);
+       }
+       if (dup == 1) {
+           disk_parserror(filename, line_num,
+                          "duplicate disk record, previous on line %d",
+                          disk->line);
+       }
+    }
+    if (!disk) {
        disk = alloc(SIZEOF(disk_t));
        malloc_mark(disk);
        disk->line = line_num;
        disk = alloc(SIZEOF(disk_t));
        malloc_mark(disk);
        disk->line = line_num;
@@ -457,6 +502,23 @@ parse_diskline(
        disk->inprogress = 0;
     }
 
        disk->inprogress = 0;
     }
 
+    if (host) {
+       sdisk = sanitise_filename(diskname);
+       for (dp = host->disks; dp != NULL; dp = dp->next) {
+           char *sdiskp = sanitise_filename(dp->name);
+           if (strcmp(diskname, dp->name) != 0 &&
+                strcmp(sdisk, sdiskp) == 0) {
+               disk_parserror(filename, line_num,
+                "Two disk are mapping to the same name: \"%s\" and \"%s\""
+                ", you must use different diskname",
+                dp->name, diskname);
+           return(-1);
+           }
+           amfree(sdiskp);
+       }
+       amfree(sdisk);
+    }
+
     if (fp[0] == '{') {
        s[-1] = (char)ch;
        s = fp+2;
     if (fp[0] == '{') {
        s[-1] = (char)ch;
        s = fp+2;
@@ -484,7 +546,7 @@ parse_diskline(
        amfree(line);
 
        dtype = read_dumptype(vstralloc("custom(", hostname,
        amfree(line);
 
        dtype = read_dumptype(vstralloc("custom(", hostname,
-                                       ":", disk->name, ")", 0),
+                                       ":", disk->name, ")", NULL),
                              diskf, (char*)filename, line_num_p);
        if (dtype == NULL || dup) {
            disk_parserror(filename, line_num,
                              diskf, (char*)filename, line_num_p);
        if (dtype == NULL || dup) {
            disk_parserror(filename, line_num,
@@ -537,23 +599,11 @@ parse_diskline(
 
     disk->dtype_name        = dtype->name;
     disk->program           = dumptype_get_program(dtype);
 
     disk->dtype_name        = dtype->name;
     disk->program           = dumptype_get_program(dtype);
-    if(dumptype_get_exclude(dtype).type == 0) {
-       disk->exclude_list   = duplicate_sl(dumptype_get_exclude(dtype).sl);
-       disk->exclude_file   = NULL;
-    }
-    else {
-       disk->exclude_file   = duplicate_sl(dumptype_get_exclude(dtype).sl);
-       disk->exclude_list   = NULL;
-    }
+    disk->exclude_list     = duplicate_sl(dumptype_get_exclude(dtype).sl_list);
+    disk->exclude_file     = duplicate_sl(dumptype_get_exclude(dtype).sl_file);
     disk->exclude_optional   = dumptype_get_exclude(dtype).optional;
     disk->exclude_optional   = dumptype_get_exclude(dtype).optional;
-    if(dumptype_get_include(dtype).type == 0) {
-       disk->include_list   = duplicate_sl(dumptype_get_include(dtype).sl);
-       disk->include_file   = NULL;
-    }
-    else {
-       disk->include_file   = duplicate_sl(dumptype_get_include(dtype).sl);
-       disk->include_list   = NULL;
-    }
+    disk->include_list     = duplicate_sl(dumptype_get_include(dtype).sl_list);
+    disk->include_file     = duplicate_sl(dumptype_get_include(dtype).sl_file);
     disk->include_optional   = dumptype_get_include(dtype).optional;
     disk->priority          = dumptype_get_priority(dtype);
     disk->dumpcycle         = dumptype_get_dumpcycle(dtype);
     disk->include_optional   = dumptype_get_include(dtype).optional;
     disk->priority          = dumptype_get_priority(dtype);
     disk->dumpcycle         = dumptype_get_dumpcycle(dtype);
@@ -568,7 +618,18 @@ parse_diskline(
     disk->bumpsize          = dumptype_get_bumpsize(dtype);
     disk->bumpdays          = dumptype_get_bumpdays(dtype);
     disk->bumpmult          = dumptype_get_bumpmult(dtype);
     disk->bumpsize          = dumptype_get_bumpsize(dtype);
     disk->bumpdays          = dumptype_get_bumpdays(dtype);
     disk->bumpmult          = dumptype_get_bumpmult(dtype);
-    disk->start_t           = dumptype_get_start_t(dtype);
+    disk->starttime         = dumptype_get_starttime(dtype);
+    disk->start_t = 0;
+    if (disk->starttime > 0) {
+       st = time(NULL);
+       disk->start_t = st;
+       stm = localtime(&st);
+       disk->start_t -= stm->tm_sec + 60 * stm->tm_min + 3600 * stm->tm_hour;
+       disk->start_t += disk->starttime / 100 * 3600 +
+                        disk->starttime % 100 * 60;
+       if ((disk->start_t - st) < -43200)
+           disk->start_t += 86400;
+    }
     disk->strategy          = dumptype_get_strategy(dtype);
     disk->estimate          = dumptype_get_estimate(dtype);
     disk->compress          = dumptype_get_compress(dtype);
     disk->strategy          = dumptype_get_strategy(dtype);
     disk->estimate          = dumptype_get_estimate(dtype);
     disk->compress          = dumptype_get_compress(dtype);
@@ -670,6 +731,8 @@ parse_diskline(
        host->start_t = 0;
        host->up = NULL;
        host->features = NULL;
        host->start_t = 0;
        host->up = NULL;
        host->features = NULL;
+    } else {
+       amfree(hostname);
     }
 
     host->netif = netif;
     }
 
     host->netif = netif;
index c8ad6742eea7a963e25fb7bce40b728cccfabfd5..915af8783c5364226f61480704295a4ae6452a96 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: diskfile.h,v 1.38 2006/06/22 20:41:33 martinea Exp $
+ * $Id: diskfile.h,v 1.38.2.1 2006/11/01 14:45:41 martinea Exp $
  *
  * interface for disklist file reading code
  */
  *
  * interface for disklist file reading code
  */
@@ -85,6 +85,7 @@ typedef struct disk_s {
     off_t      bumpsize;
     int                bumpdays;
     double     bumpmult;
     off_t      bumpsize;
     int                bumpdays;
     double     bumpmult;
+    time_t     starttime;              /* start this dump after this time */
     time_t     start_t;                /* start this dump after this time */
     int                strategy;               /* what dump strategy to use */
     int                estimate;               /* what estimate strategy to use */
     time_t     start_t;                /* start this dump after this time */
     int                strategy;               /* what dump strategy to use */
     int                estimate;               /* what estimate strategy to use */
index 6ee07a9e4645a7727269eb3a4bd690d51eaff25a..594f694ec052b660c1e0839479752537c4a57994 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: driver.c,v 1.198 2006/08/24 01:57:16 paddy_s Exp $
+ * $Id: driver.c,v 1.198.2.6 2006/12/27 14:44:48 martinea Exp $
  *
  * controlling process for the Amanda backup system
  */
  *
  * controlling process for the Amanda backup system
  */
@@ -242,16 +242,18 @@ main(
 
     /* check that we don't do many dump in a day and usetimestamps is off */
     if(strlen(driver_timestamp) == 8) {
 
     /* check that we don't do many dump in a day and usetimestamps is off */
     if(strlen(driver_timestamp) == 8) {
-       char *conf_logdir = getconf_str(CNF_LOGDIR);
-       char *logfile    = vstralloc(conf_logdir, "/log.",
-                                    driver_timestamp, ".0", NULL);
-       char *oldlogfile = vstralloc(conf_logdir, "/oldlog/log.",
-                                    driver_timestamp, ".0", NULL);
-       if(access(logfile, F_OK) == 0 || access(oldlogfile, F_OK) == 0) {
-           log_add(L_WARNING, "WARNING: This is not the first amdump run today. Enable the usetimestamps option in the configuration file if you want to run amdump more than once per calendar day.");
-       }
-       amfree(oldlogfile);
-       amfree(logfile);
+       if (!nodump) {
+           char *conf_logdir = getconf_str(CNF_LOGDIR);
+           char *logfile    = vstralloc(conf_logdir, "/log.",
+                                        driver_timestamp, ".0", NULL);
+           char *oldlogfile = vstralloc(conf_logdir, "/oldlog/log.",
+                                        driver_timestamp, ".0", NULL);
+           if(access(logfile, F_OK) == 0 || access(oldlogfile, F_OK) == 0) {
+               log_add(L_WARNING, "WARNING: This is not the first amdump run today. Enable the usetimestamps option in the configuration file if you want to run amdump more than once per calendar day.");
+           }
+           amfree(oldlogfile);
+           amfree(logfile);
+       }
        hd_driver_timestamp = construct_timestamp(NULL);
     }
     else {
        hd_driver_timestamp = construct_timestamp(NULL);
     }
     else {
@@ -535,7 +537,7 @@ wait_children(int count)
                        dumper->pid = -1;
                        break;
                    }
                        dumper->pid = -1;
                        break;
                    }
-                   if (pid == dumper->chunker->pid) {
+                   if (dumper->chunker && pid == dumper->chunker->pid) {
                        who = stralloc(dumper->chunker->name);
                        dumper->chunker->pid = -1;
                        break;
                        who = stralloc(dumper->chunker->name);
                        dumper->chunker->pid = -1;
                        break;
@@ -1378,7 +1380,7 @@ dumper_result(
        update_info_dumper(dp, sched(dp)->origsize,
                           sched(dp)->dumpsize, sched(dp)->dumptime);
        log_add(L_STATS, "estimate %s %s %s %d [sec %ld nkb " OFF_T_FMT
        update_info_dumper(dp, sched(dp)->origsize,
                           sched(dp)->dumpsize, sched(dp)->dumptime);
        log_add(L_STATS, "estimate %s %s %s %d [sec %ld nkb " OFF_T_FMT
-               " ckb " OFF_T_FMT " kps %d]",
+               " ckb " OFF_T_FMT " kps %lu]",
                dp->host->hostname, dp->name, sched(dp)->datestamp,
                sched(dp)->level,
                sched(dp)->est_time, (OFF_T_FMT_TYPE)sched(dp)->est_nsize, 
                dp->host->hostname, dp->name, sched(dp)->datestamp,
                sched(dp)->level,
                sched(dp)->est_time, (OFF_T_FMT_TYPE)sched(dp)->est_nsize, 
@@ -1464,7 +1466,7 @@ handle_dumper_result(
            /* result_argv[2] always contains the serial number */
            sdp = serial2disk(result_argv[2]);
            if (sdp != dp) {
            /* result_argv[2] always contains the serial number */
            sdp = serial2disk(result_argv[2]);
            if (sdp != dp) {
-               error("%s: Invalid serial number", get_pname(), result_argv[2]);
+               error("%s: Invalid serial number: %s", get_pname(), result_argv[2]);
                /*NOTREACHED*/
            }
        }
                /*NOTREACHED*/
            }
        }
@@ -1613,7 +1615,7 @@ handle_chunker_result(
            /* result_argv[2] always contains the serial number */
            sdp = serial2disk(result_argv[2]);
            if (sdp != dp) {
            /* result_argv[2] always contains the serial number */
            sdp = serial2disk(result_argv[2]);
            if (sdp != dp) {
-               error("%s: Invalid serial number", get_pname(), result_argv[2]);
+               error("%s: Invalid serial number: %s", get_pname(), result_argv[2]);
                /*NOTREACHED*/
            }
        }
                /*NOTREACHED*/
            }
        }
@@ -1949,6 +1951,10 @@ read_schedule(
     int ch;
     off_t flush_size = (off_t)0;
     char *qname = NULL;
     int ch;
     off_t flush_size = (off_t)0;
     char *qname = NULL;
+    OFF_T_FMT_TYPE nsize_;
+    OFF_T_FMT_TYPE csize_;
+    OFF_T_FMT_TYPE degr_nsize_;
+    OFF_T_FMT_TYPE degr_csize_;
 
     (void)cookie;      /* Quiet unused parameter warning */
 
 
     (void)cookie;      /* Quiet unused parameter warning */
 
@@ -2039,19 +2045,21 @@ read_schedule(
        s[-1] = '\0';
 
        skip_whitespace(s, ch);                 /* find the native size */
        s[-1] = '\0';
 
        skip_whitespace(s, ch);                 /* find the native size */
-       if(ch == '\0' || sscanf(s - 1, OFF_T_FMT, 
-                               (OFF_T_FMT_TYPE *)&nsize) != 1) {
+       nsize_ = (OFF_T_FMT_TYPE)0;
+       if(ch == '\0' || sscanf(s - 1, OFF_T_FMT, &nsize_) != 1) {
            error("schedule line %d: syntax error (bad nsize)", line);
            /*NOTREACHED*/
        }
            error("schedule line %d: syntax error (bad nsize)", line);
            /*NOTREACHED*/
        }
+       nsize = nsize_;
        skip_integer(s, ch);
 
        skip_whitespace(s, ch);                 /* find the compressed size */
        skip_integer(s, ch);
 
        skip_whitespace(s, ch);                 /* find the compressed size */
-       if(ch == '\0' || sscanf(s - 1, OFF_T_FMT, 
-                               (OFF_T_FMT_TYPE *)&csize) != 1) {
+       csize_ = (OFF_T_FMT_TYPE)0;
+       if(ch == '\0' || sscanf(s - 1, OFF_T_FMT, &csize_) != 1) {
            error("schedule line %d: syntax error (bad csize)", line);
            /*NOTREACHED*/
        }
            error("schedule line %d: syntax error (bad csize)", line);
            /*NOTREACHED*/
        }
+       csize = csize_;
        skip_integer(s, ch);
 
        skip_whitespace(s, ch);                 /* find the time number */
        skip_integer(s, ch);
 
        skip_whitespace(s, ch);                 /* find the time number */
@@ -2088,19 +2096,21 @@ read_schedule(
            s[-1] = '\0';
 
            skip_whitespace(s, ch);             /* find the degr native size */
            s[-1] = '\0';
 
            skip_whitespace(s, ch);             /* find the degr native size */
-           if(ch == '\0'  || sscanf(s - 1, OFF_T_FMT, 
-                       (OFF_T_FMT_TYPE *)&degr_nsize) != 1) {
+           degr_nsize_ = (OFF_T_FMT_TYPE)0;
+           if(ch == '\0'  || sscanf(s - 1, OFF_T_FMT, &degr_nsize_) != 1) {
                error("schedule line %d: syntax error (bad degr nsize)", line);
                /*NOTREACHED*/
            }
                error("schedule line %d: syntax error (bad degr nsize)", line);
                /*NOTREACHED*/
            }
+           degr_nsize = degr_nsize_;
            skip_integer(s, ch);
 
            skip_whitespace(s, ch);             /* find the degr compressed size */
            skip_integer(s, ch);
 
            skip_whitespace(s, ch);             /* find the degr compressed size */
-           if(ch == '\0'  || sscanf(s - 1, OFF_T_FMT, 
-                       (OFF_T_FMT_TYPE *)&degr_csize) != 1) {
+           degr_csize_ = (OFF_T_FMT_TYPE)0;
+           if(ch == '\0'  || sscanf(s - 1, OFF_T_FMT, &degr_csize_) != 1) {
                error("schedule line %d: syntax error (bad degr csize)", line);
                /*NOTREACHED*/
            }
                error("schedule line %d: syntax error (bad degr csize)", line);
                /*NOTREACHED*/
            }
+           degr_csize = degr_csize_;
            skip_integer(s, ch);
 
            skip_whitespace(s, ch);             /* find the degr time number */
            skip_integer(s, ch);
 
            skip_whitespace(s, ch);             /* find the degr time number */
@@ -2799,6 +2809,7 @@ dump_to_tape(
 
        free_serial(result_argv[2]);
 
 
        free_serial(result_argv[2]);
 
+       dumpsize = (off_t)0;
        if (*result_argv[5] == '"') {
            /* String was quoted */
            rc = sscanf(result_argv[5],"\"[sec %lf kb " OFF_T_FMT " ",
        if (*result_argv[5] == '"') {
            /* String was quoted */
            rc = sscanf(result_argv[5],"\"[sec %lf kb " OFF_T_FMT " ",
index acf850edbe840030afbdffe16d07a53b822f3e58..04ed8527b451044c38e936f35f0f647e00697e09 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: driverio.c,v 1.92 2006/08/24 01:57:16 paddy_s Exp $
+ * $Id: driverio.c,v 1.92.2.2 2006/12/12 14:56:39 martinea Exp $
  *
  * I/O-related functions for driver program
  */
  *
  * I/O-related functions for driver program
  */
@@ -84,7 +84,8 @@ void
 startup_tape_process(
     char *taper_program)
 {
 startup_tape_process(
     char *taper_program)
 {
-    int fd[2];
+    int    fd[2];
+    char **config_options;
 
     if(socketpair(AF_UNIX, SOCK_STREAM, 0, fd) == -1) {
        error("taper pipe: %s", strerror(errno));
 
     if(socketpair(AF_UNIX, SOCK_STREAM, 0, fd) == -1) {
        error("taper pipe: %s", strerror(errno));
@@ -110,7 +111,10 @@ startup_tape_process(
        aclose(fd[0]);
        if(dup2(fd[1], 0) == -1 || dup2(fd[1], 1) == -1)
            error("taper dup2: %s", strerror(errno));
        aclose(fd[0]);
        if(dup2(fd[1], 0) == -1 || dup2(fd[1], 1) == -1)
            error("taper dup2: %s", strerror(errno));
-       execle(taper_program, "taper", config_name, (char *)0, safe_env());
+       config_options = get_config_options(2);
+       config_options[0] = "taper";
+       config_options[1] = config_name;
+       execve(taper_program, config_options, safe_env());
        error("exec %s: %s", taper_program, strerror(errno));
        /*NOTREACHED*/
 
        error("exec %s: %s", taper_program, strerror(errno));
        /*NOTREACHED*/
 
@@ -126,7 +130,8 @@ startup_dump_process(
     dumper_t *dumper,
     char *dumper_program)
 {
     dumper_t *dumper,
     char *dumper_program)
 {
-    int fd[2];
+    int    fd[2];
+    char **config_options;
 
     if(socketpair(AF_UNIX, SOCK_STREAM, 0, fd) == -1) {
        error("%s pipe: %s", dumper->name, strerror(errno));
 
     if(socketpair(AF_UNIX, SOCK_STREAM, 0, fd) == -1) {
        error("%s pipe: %s", dumper->name, strerror(errno));
@@ -142,11 +147,10 @@ startup_dump_process(
        aclose(fd[0]);
        if(dup2(fd[1], 0) == -1 || dup2(fd[1], 1) == -1)
            error("%s dup2: %s", dumper->name, strerror(errno));
        aclose(fd[0]);
        if(dup2(fd[1], 0) == -1 || dup2(fd[1], 1) == -1)
            error("%s dup2: %s", dumper->name, strerror(errno));
-       execle(dumper_program,
-              dumper->name ? dumper->name : "dumper",
-              config_name,
-              (char *)0,
-              safe_env());
+       config_options = get_config_options(2);
+       config_options[0] = dumper->name ? dumper->name : "dumper",
+       config_options[1] = config_name;
+       execve(dumper_program, config_options, safe_env());
        error("exec %s (%s): %s", dumper_program,
              dumper->name, strerror(errno));
         /*NOTREACHED*/
        error("exec %s (%s): %s", dumper_program,
              dumper->name, strerror(errno));
         /*NOTREACHED*/
@@ -191,7 +195,8 @@ startup_chunk_process(
     chunker_t *chunker,
     char *chunker_program)
 {
     chunker_t *chunker,
     char *chunker_program)
 {
-    int fd[2];
+    int    fd[2];
+    char **config_options;
 
     if(socketpair(AF_UNIX, SOCK_STREAM, 0, fd) == -1) {
        error("%s pipe: %s", chunker->name, strerror(errno));
 
     if(socketpair(AF_UNIX, SOCK_STREAM, 0, fd) == -1) {
        error("%s pipe: %s", chunker->name, strerror(errno));
@@ -209,11 +214,10 @@ startup_chunk_process(
            error("%s dup2: %s", chunker->name, strerror(errno));
            /*NOTREACHED*/
        }
            error("%s dup2: %s", chunker->name, strerror(errno));
            /*NOTREACHED*/
        }
-       execle(chunker_program,
-              chunker->name ? chunker->name : "chunker",
-              config_name,
-              (char *)0,
-              safe_env());
+       config_options = get_config_options(2);
+       config_options[0] = chunker->name ? chunker->name : "chunker",
+       config_options[1] = config_name;
+       execve(chunker_program, config_options, safe_env());
        error("exec %s (%s): %s", chunker_program,
              chunker->name, strerror(errno));
         /*NOTREACHED*/
        error("exec %s (%s): %s", chunker_program,
              chunker->name, strerror(errno));
         /*NOTREACHED*/
@@ -546,7 +550,7 @@ chunker_cmd(
            amfree(qdest);
            amfree(qname);
        } else {
            amfree(qdest);
            amfree(qname);
        } else {
-               error("Write command without disk and holding disk.\n",
+               error("%s command without disk and holding disk.\n",
                      cmdstr[cmd]);
                /*NOTREACHED*/
        }
                      cmdstr[cmd]);
                /*NOTREACHED*/
        }
index e8aff88e05f5930b942d0f29724c455df853eba5..a663612fe565d73bdb4a0550ef758a7ca677eec0 100644 (file)
@@ -23,7 +23,7 @@
  * Authors: the Amanda Development Team.  Its members are listed in a
  * file named AUTHORS, in the root directory of this distribution.
  */
  * Authors: the Amanda Development Team.  Its members are listed in a
  * file named AUTHORS, in the root directory of this distribution.
  */
-/* $Id: dumper.c,v 1.190 2006/08/30 19:53:57 martinea Exp $
+/* $Id: dumper.c,v 1.190.2.2 2006/11/08 17:11:41 martinea Exp $
  *
  * requests remote amandad processes to dump filesystems
  */
  *
  * requests remote amandad processes to dump filesystems
  */
@@ -327,7 +327,7 @@ main(
 
     signal(SIGPIPE, SIG_IGN);
 
 
     signal(SIGPIPE, SIG_IGN);
 
-    conf_dtimeout = getconf_time(CNF_DTIMEOUT);
+    conf_dtimeout = getconf_int(CNF_DTIMEOUT);
 
     protocol_init();
 
 
     protocol_init();
 
@@ -1692,7 +1692,6 @@ bad_nak:
     }
 
 #if 1
     }
 
 #if 1
-//#if defined(PACKET_DEBUG)
     fprintf(stderr, "got response:\n----\n%s\n----\n\n", pkt->body);
 #endif
 
     fprintf(stderr, "got response:\n----\n%s\n----\n\n", pkt->body);
 #endif
 
index 40dfc0cd8d86c2b029af0924afa143ca0842df93..4b4ebee789f8a879aef0e755c2e8f82573f1f2ab 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: getconf.c,v 1.26 2006/07/25 19:00:56 martinea Exp $
+ * $Id: getconf.c,v 1.26.2.3 2007/01/16 12:36:47 martinea Exp $
  *
  * a little wrapper to extract config variables for shell scripts
  */
  *
  * a little wrapper to extract config variables for shell scripts
  */
@@ -424,9 +424,11 @@ main(
     char *conffile;
     char *parmname;
     int i;
     char *conffile;
     char *parmname;
     int i;
+    int asklist;
     char number[NUM_STR_SIZE];
     int    new_argc,   my_argc;
     char **new_argv, **my_argv;
     char number[NUM_STR_SIZE];
     int    new_argc,   my_argc;
     char **new_argv, **my_argv;
+    int myarg;
 
     safe_fd(-1, 0);
 
 
     safe_fd(-1, 0);
 
@@ -447,14 +449,25 @@ main(
     signal(SIGPIPE, SIG_IGN);
 
     if(my_argc < 2) {
     signal(SIGPIPE, SIG_IGN);
 
     if(my_argc < 2) {
-       fprintf(stderr, "Usage: %s [config] <parmname> [-o configoption]*\n", pgm);
+       fprintf(stderr, "Usage: %s [config] [--list] <parmname> [-o configoption]*\n", pgm);
        exit(1);
     }
 
        exit(1);
     }
 
-    if (my_argc > 2) {
+    asklist = 0;
+    myarg = 1;
+    if (strcmp(my_argv[1],"--list") == 0) {
+       asklist = 1;
+       myarg = 2;
+    } else if (my_argc > 2 && strcmp(my_argv[2],"--list") == 0) {
+       asklist = 1;
+       myarg = 3;
+    } else if (my_argc > 2) {
+       myarg = 2;
+    }
+
+    if (myarg > asklist+1) {
        config_name = stralloc(my_argv[1]);
        config_dir = vstralloc(CONFIG_DIR, "/", config_name, "/", NULL);
        config_name = stralloc(my_argv[1]);
        config_dir = vstralloc(CONFIG_DIR, "/", config_name, "/", NULL);
-       parmname = my_argv[2];
     } else {
        char my_cwd[STR_SIZE];
 
     } else {
        char my_cwd[STR_SIZE];
 
@@ -466,8 +479,11 @@ main(
        if ((config_name = strrchr(my_cwd, '/')) != NULL) {
            config_name = stralloc(config_name + 1);
        }
        if ((config_name = strrchr(my_cwd, '/')) != NULL) {
            config_name = stralloc(config_name + 1);
        }
-       parmname = my_argv[1];
     }
     }
+    if (myarg >= my_argc) {
+       error("Must specify a parameter");
+    }
+    parmname = my_argv[myarg];
 
     safe_cd();
 
 
     safe_cd();
 
@@ -569,7 +585,11 @@ main(
        amfree(conffile);
        dbrename(config_name, DBG_SUBDIR_SERVER);
        report_bad_conf_arg();
        amfree(conffile);
        dbrename(config_name, DBG_SUBDIR_SERVER);
        report_bad_conf_arg();
-       result = getconf_byname(parmname);
+       if (asklist) {
+           result = getconf_list(parmname);
+       } else {
+           result = getconf_byname(parmname);
+       }
     }
 
     if (result == NULL) {
     }
 
     if (result == NULL) {
@@ -577,7 +597,10 @@ main(
                get_pname(), parmname);
        fflush(stderr);
     } else {
                get_pname(), parmname);
        fflush(stderr);
     } else {
-       puts(result);
+       if (asklist)
+           fputs(result, stdout); /* don't add a '\n' */
+       else
+           puts(result); /* add a '\n' */
     }
 
     free_new_argv(new_argc, new_argv);
     }
 
     free_new_argv(new_argc, new_argv);
index 160b860f38d89b4cb5b38741e0fa3ce70cdd5982..af97336cc83bf2755e9b5590b33960a56b031fc8 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: planner.c,v 1.206.2.1 2006/09/27 11:24:39 martinea Exp $
+ * $Id: planner.c,v 1.206.2.6 2006/11/24 18:05:06 martinea Exp $
  *
  * backup schedule planner for the Amanda backup system.
  */
  *
  * backup schedule planner for the Amanda backup system.
  */
@@ -172,7 +172,7 @@ int main(int argc, char **argv)
     int    new_argc,   my_argc;
     char **new_argv, **my_argv;
     int    nb_disk;
     int    new_argc,   my_argc;
     char **new_argv, **my_argv;
     int    nb_disk;
-    char  *errstr;
+    char  *errstr = NULL;
 
     safe_fd(-1, 0);
 
 
     safe_fd(-1, 0);
 
@@ -326,6 +326,10 @@ int main(int argc, char **argv)
        error("could not open info db \"%s\"", conf_infofile);
        /*NOTREACHED*/
     }
        error("could not open info db \"%s\"", conf_infofile);
        /*NOTREACHED*/
     }
+    if (check_infofile(conf_infofile, &origq, &errstr) == -1) {
+       log_add(L_WARNING, "problem copying infofile: %s", errstr);
+       amfree(errstr);
+    }
     amfree(conf_infofile);
 
     conf_tapetype = getconf_str(CNF_TAPETYPE);
     amfree(conf_infofile);
 
     conf_tapetype = getconf_str(CNF_TAPETYPE);
@@ -334,7 +338,7 @@ int main(int argc, char **argv)
     conf_dumpcycle = getconf_int(CNF_DUMPCYCLE);
     conf_runspercycle = getconf_int(CNF_RUNSPERCYCLE);
     conf_tapecycle = getconf_int(CNF_TAPECYCLE);
     conf_dumpcycle = getconf_int(CNF_DUMPCYCLE);
     conf_runspercycle = getconf_int(CNF_RUNSPERCYCLE);
     conf_tapecycle = getconf_int(CNF_TAPECYCLE);
-    conf_etimeout = getconf_time(CNF_ETIMEOUT);
+    conf_etimeout = getconf_int(CNF_ETIMEOUT);
     conf_reserve  = getconf_int(CNF_RESERVE);
     conf_autoflush = getconf_boolean(CNF_AUTOFLUSH);
     conf_usetimestamps = getconf_boolean(CNF_USETIMESTAMPS);
     conf_reserve  = getconf_int(CNF_RESERVE);
     conf_autoflush = getconf_boolean(CNF_AUTOFLUSH);
     conf_usetimestamps = getconf_boolean(CNF_USETIMESTAMPS);
@@ -1595,7 +1599,7 @@ static void getsize(
         * We use ctimeout for the "noop" request because it should be
         * very fast and etimeout has other side effects.
         */
         * We use ctimeout for the "noop" request because it should be
         * very fast and etimeout has other side effects.
         */
-       timeout = getconf_time(CNF_CTIMEOUT);
+       timeout = getconf_int(CNF_CTIMEOUT);
     }
 
     secdrv = security_getdriver(hostp->disks->security_driver);
     }
 
     secdrv = security_getdriver(hostp->disks->security_driver);
@@ -1653,6 +1657,7 @@ static void handle_result(
     int tch;
     char *qname;
     char *disk;
     int tch;
     char *qname;
     char *disk;
+    OFF_T_FMT_TYPE size_;
 
     hostp = (am_host_t *)datap;
     hostp->up = HOST_READY;
 
     hostp = (am_host_t *)datap;
     hostp->up = HOST_READY;
@@ -1758,10 +1763,11 @@ static void handle_result(
        s = t;
        ch = tch;
 
        s = t;
        ch = tch;
 
-       if (sscanf(t - 1, "%d SIZE " OFF_T_FMT , &level,
-                  (OFF_T_FMT_TYPE *)&size) != 2) {
+       size_ = (OFF_T_FMT_TYPE)0;
+       if (sscanf(t - 1, "%d SIZE " OFF_T_FMT , &level, &size_) != 2) {
            goto bad_msg;
        }
            goto bad_msg;
        }
+       size = size_;
        dp = lookup_hostdisk(hostp, disk);
        amfree(disk);
 
        dp = lookup_hostdisk(hostp, disk);
        amfree(disk);
 
@@ -2274,10 +2280,18 @@ static void delay_dumps(void)
        full_size = est_tape_size(dp, 0);
        if (full_size > tapetype_get_length(tape) * (off_t)avail_tapes) {
            char *qname = quote_string(dp->name);
        full_size = est_tape_size(dp, 0);
        if (full_size > tapetype_get_length(tape) * (off_t)avail_tapes) {
            char *qname = quote_string(dp->name);
-           log_add(L_WARNING, "disk %s:%s, full dump (" OFF_T_FMT 
-                   "KB) will be larger than available tape space",
-                   dp->host->hostname, qname,
-                   (OFF_T_FMT_TYPE)full_size);
+           if (conf_runtapes > 1 && dp->tape_splitsize == (off_t)0) {
+               log_add(L_WARNING, "disk %s:%s, full dump (" OFF_T_FMT 
+                       "KB) will be larger than available tape space"
+                       ", you could define a splitsize",
+                       dp->host->hostname, qname,
+                       (OFF_T_FMT_TYPE)full_size);
+           } else {
+               log_add(L_WARNING, "disk %s:%s, full dump (" OFF_T_FMT 
+                       "KB) will be larger than available tape space",
+                       dp->host->hostname, qname,
+                       (OFF_T_FMT_TYPE)full_size);
+           }
            amfree(qname);
        }
 
            amfree(qname);
        }
 
index 73acd3d183f1d79c8cdc095201f46691d0d39841..c0889ff9cf884439a0b0467eaa4782e2f22b0073 100644 (file)
@@ -25,7 +25,7 @@
  *                        University of Maryland at College Park
  */
 /*
  *                        University of Maryland at College Park
  */
 /*
- * $Id: reporter.c,v 1.132 2006/08/28 17:02:48 martinea Exp $
+ * $Id: reporter.c,v 1.132.2.1 2007/01/26 13:12:43 martinea Exp $
  *
  * nightly Amanda Report generator
  */
  *
  * nightly Amanda Report generator
  */
 /* don't have (or need) a skipped type except internally to reporter */
 #define L_SKIPPED      L_MARKER
 
 /* don't have (or need) a skipped type except internally to reporter */
 #define L_SKIPPED      L_MARKER
 
+
+#define STATUS_STRANGE   2
+#define STATUS_FAILED    4
+#define STATUS_MISSING   8
+#define STATUS_TAPE     16
+
 typedef struct line_s {
     struct line_s *next;
     char *str;
 typedef struct line_s {
     struct line_s *next;
     char *str;
@@ -113,6 +119,7 @@ static double total_time, startup_time, planner_time;
 /* count files to tape */
 static int tapefcount = 0;
 
 /* count files to tape */
 static int tapefcount = 0;
 
+static int exit_status = 0;
 static char *run_datestamp;
 static char *tape_labels = NULL;
 static int last_run_tapes = 0;
 static char *run_datestamp;
 static char *tape_labels = NULL;
 static int last_run_tapes = 0;
@@ -773,7 +780,7 @@ main(
     }
 
     dbclose();
     }
 
     dbclose();
-    return 0;
+    return exit_status;
 }
 
 /* ----- */
 }
 
 /* ----- */
@@ -1393,6 +1400,7 @@ output_summary(void)
                fprintf(mailf, "%s\n",
                        tmp=TextRule(OrigKB, TapeRate, "FAILED"));
                amfree(tmp);
                fprintf(mailf, "%s\n",
                        tmp=TextRule(OrigKB, TapeRate, "FAILED"));
                amfree(tmp);
+               exit_status |= STATUS_FAILED;
                continue;
            }
 
                continue;
            }
 
@@ -1830,6 +1838,7 @@ handle_stats(void)
            if(dp == NULL) {
                addtostrange(hostname, diskname, level,
                             "ERROR [not in disklist]");
            if(dp == NULL) {
                addtostrange(hostname, diskname, level,
                             "ERROR [not in disklist]");
+               exit_status |= STATUS_FAILED;
                amfree(hostname);
                amfree(diskname);
                amfree(datestamp);
                amfree(hostname);
                amfree(diskname);
                amfree(datestamp);
@@ -1893,6 +1902,7 @@ handle_error(void)
                tapestart_error = newstralloc(tapestart_error, s - 1);
                if(nl) *nl = '\n';
                degraded_mode = 1;
                tapestart_error = newstralloc(tapestart_error, s - 1);
                if(nl) *nl = '\n';
                degraded_mode = 1;
+               exit_status |= STATUS_TAPE;;
                return;
            }
            /* else some other tape error, handle like other errors */
                return;
            }
            /* else some other tape error, handle like other errors */
@@ -2228,6 +2238,7 @@ handle_success(
     dp = lookup_disk(hostname, diskname);
     if(dp == NULL) {
        addtostrange(hostname, qdiskname, level, "ERROR [not in disklist]");
     dp = lookup_disk(hostname, diskname);
     if(dp == NULL) {
        addtostrange(hostname, qdiskname, level, "ERROR [not in disklist]");
+       exit_status |= STATUS_FAILED;
        amfree(hostname);
        amfree(diskname);
        amfree(datestamp);
        amfree(hostname);
        amfree(diskname);
        amfree(datestamp);
@@ -2392,6 +2403,7 @@ handle_strange(void)
 
     str = vstralloc("STRANGE", " ", strangestr, NULL);
     addtostrange(repdata->disk->host->hostname, qdisk, repdata->level, str);
 
     str = vstralloc("STRANGE", " ", strangestr, NULL);
     addtostrange(repdata->disk->host->hostname, qdisk, repdata->level, str);
+    exit_status |= STATUS_STRANGE;
     amfree(qdisk);
     amfree(str);
     amfree(strangestr);
     amfree(qdisk);
     amfree(str);
     amfree(strangestr);
@@ -2508,6 +2520,7 @@ handle_failed(void)
            addline(&errdet, curstr);
        }
        addline(&errdet,"\\--------");
            addline(&errdet, curstr);
        }
        addline(&errdet,"\\--------");
+       exit_status |= STATUS_FAILED;
     }
     return;
 }
     }
     return;
 }
@@ -2523,6 +2536,7 @@ generate_missing(void)
        if(dp->todo && data(dp) == NULL) {
            qdisk = quote_string(dp->name);
            addtostrange(dp->host->hostname, qdisk, -987, "RESULTS MISSING");
        if(dp->todo && data(dp) == NULL) {
            qdisk = quote_string(dp->name);
            addtostrange(dp->host->hostname, qdisk, -987, "RESULTS MISSING");
+           exit_status |= STATUS_MISSING;
            amfree(qdisk);
        }
     }
            amfree(qdisk);
        }
     }
index 9f8835e47bb33b81f4b052aa3d2a51bc1295f83a..b238f1217a6f8bb64d389cf6c5be26cf0dd033f2 100644 (file)
@@ -24,7 +24,7 @@
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: server_util.c,v 1.17 2006/05/25 01:47:20 johnfranks Exp $
+ * $Id: server_util.c,v 1.17.2.1 2006/11/24 18:05:07 martinea Exp $
  *
  */
 
  *
  */
 
@@ -127,3 +127,60 @@ amhost_get_security_conf(
 
     return(NULL);
 }
 
     return(NULL);
 }
+
+int check_infofile(
+    char        *infodir,
+    disklist_t  *dl,
+    char       **errmsg)
+{
+    disk_t      *dp, *diskp;
+    char        *hostinfodir, *old_hostinfodir, *Xhostinfodir;
+    char        *diskdir,     *old_diskdir,     *Xdiskdir;
+    char        *infofile,    *old_infofile,    *Xinfofile;
+    struct stat  statbuf;
+    int other_dle_match;
+
+    if (stat(infodir, &statbuf) != 0) {
+       return 0;
+    }
+
+    for (dp = dl->head; dp != NULL; dp = dp->next) {
+       hostinfodir = sanitise_filename(dp->host->hostname);
+       diskdir     = sanitise_filename(dp->name);
+       infofile = vstralloc(infodir, "/", hostinfodir, "/", diskdir,
+                            "/info", NULL);
+       if (stat(infofile, &statbuf) == -1 && errno == ENOENT) {
+           old_hostinfodir = old_sanitise_filename(dp->host->hostname);
+           old_diskdir     = old_sanitise_filename(dp->name);
+           old_infofile    = vstralloc(infodir, old_hostinfodir, "/",
+                                       old_diskdir, "/info", NULL);
+           if (stat(old_infofile, &statbuf) == 0) {
+               other_dle_match = 0;
+               diskp = dl->head;
+               while (diskp != NULL) {
+                   Xhostinfodir = sanitise_filename(diskp->host->hostname);
+                   Xdiskdir     = sanitise_filename(diskp->name);
+                   Xinfofile = vstralloc(infodir, "/", Xhostinfodir, "/",
+                                         Xdiskdir, "/info", NULL);
+                   if (strcmp(old_infofile, Xinfofile) == 0) {
+                       other_dle_match = 1;
+                       diskp = NULL;
+                   }
+                   else {
+                       diskp = diskp->next;
+                   }
+               }
+               if (other_dle_match == 0) {
+                   if(mkpdir(infofile, (mode_t)02755, (uid_t)-1,
+                             (gid_t)-1) == -1) 
+                       *errmsg = vstralloc("Can't create directory for ",
+                                           infofile, NULL);
+                       return -1;
+                   if(copy_file(infofile, old_infofile, errmsg) == -1) 
+                       return -1;
+               }
+           }
+       }
+    }
+    return 0;
+}
index 7087231bb4695b331fc7f831b98ed4995a4d4dd4..601525ff54d5e28e5605da2e36d3c29ca109ff1b 100644 (file)
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: server_util.h,v 1.11 2006/05/25 01:47:20 johnfranks Exp $
+ * $Id: server_util.h,v 1.11.2.1 2006/11/24 18:05:07 martinea Exp $
  *
  */
 #ifndef SERVER_UTIL_H
 #define        SERVER_UTIL_H
 
 #include "util.h"
  *
  */
 #ifndef SERVER_UTIL_H
 #define        SERVER_UTIL_H
 
 #include "util.h"
+#include "diskfile.h"
 
 #define MAX_ARGS 32
 
 
 #define MAX_ARGS 32
 
@@ -70,5 +71,6 @@ struct dumper_s;
 int dumper_cmd(struct dumper_s *dumper, cmd_t cmd, struct disk_s *dp);
 
 char *amhost_get_security_conf(char *string, void *arg);
 int dumper_cmd(struct dumper_s *dumper, cmd_t cmd, struct disk_s *dp);
 
 char *amhost_get_security_conf(char *string, void *arg);
+int check_infofile(char *infodir, disklist_t *dl, char **errmsg);
 
 #endif /* SERVER_UTIL_H */
 
 #endif /* SERVER_UTIL_H */
index 37d17ee51054e0b5017ca32c155a7dcfeebf3d74..647dba277870d32cb189caedd10842b2200f0ccd 100644 (file)
@@ -23,7 +23,7 @@
  * Authors: the Amanda Development Team.  Its members are listed in a
  * file named AUTHORS, in the root directory of this distribution.
  */
  * Authors: the Amanda Development Team.  Its members are listed in a
  * file named AUTHORS, in the root directory of this distribution.
  */
-/* $Id: taper.c,v 1.144 2006/08/24 11:23:32 martinea Exp $
+/* $Id: taper.c,v 1.144.2.7 2007/01/18 12:57:16 martinea Exp $
  *
  * moves files from holding disk to tape, or from a socket to tape
  */
  *
  * moves files from holding disk to tape, or from a socket to tape
  */
@@ -315,7 +315,7 @@ main(
        /*NOTREACHED*/
     }
 
        /*NOTREACHED*/
     }
 
-    tapedev    = stralloc(getconf_str(CNF_TAPEDEV));
+    tapedev    = getconf_str(CNF_TAPEDEV);
     tapetype    = getconf_str(CNF_TAPETYPE);
     tt         = lookup_tapetype(tapetype);
 #ifdef HAVE_LIBVTBLC
     tapetype    = getconf_str(CNF_TAPETYPE);
     tt         = lookup_tapetype(tapetype);
 #ifdef HAVE_LIBVTBLC
@@ -377,7 +377,7 @@ main(
        if ((buffers = attach_buffers(size)) != NULL) {
            break;
        }
        if ((buffers = attach_buffers(size)) != NULL) {
            break;
        }
-       log_add(L_INFO, "attach_buffers: (%d tapebuf%s: %d bytes) %s",
+       log_add(L_INFO, "attach_buffers: (%d tapebuf%s: %zu bytes) %s",
                        conf_tapebufs,
                        (conf_tapebufs == 1) ? "" : "s",
                        size,
                        conf_tapebufs,
                        (conf_tapebufs == 1) ? "" : "s",
                        size,
@@ -605,8 +605,8 @@ create_split_buffer(
        dbprintf(("create_split_buffer: fallback size " OFF_T_FMT "\n",
                  (OFF_T_FMT_TYPE)splitsize));
        log_add(L_INFO,
        dbprintf(("create_split_buffer: fallback size " OFF_T_FMT "\n",
                  (OFF_T_FMT_TYPE)splitsize));
        log_add(L_INFO,
-               "%s: using fallback split size of %dkb to buffer %s in-memory",
-               buff_err, splitsize, id_string);
+               "%s: using fallback split size of " OFF_T_FMT "kb to buffer %s in-memory",
+               buff_err, (OFF_T_FMT_TYPE)splitsize, id_string);
        amfree(buff_err);
        if (splitsize > mem_splitsize) {
            amfree(mem_splitbuf);
        amfree(buff_err);
        if (splitsize > mem_splitsize) {
            amfree(mem_splitbuf);
@@ -628,8 +628,10 @@ free_split_buffer(void)
     if (mmap_splitbuffer_fd != -1) {
 #ifdef HAVE_MMAP
 #ifdef HAVE_SYS_MMAN_H
     if (mmap_splitbuffer_fd != -1) {
 #ifdef HAVE_MMAP
 #ifdef HAVE_SYS_MMAN_H
-       if (splitbuf != NULL)
-           munmap(splitbuf, (size_t)mmap_splitsize);
+       if (mmap_splitbuf != NULL) {
+           munmap(mmap_splitbuf, (size_t)mmap_splitsize);
+           mmap_splitbuf = NULL;
+       }
 #endif
 #endif
        aclose(mmap_splitbuffer_fd);
 #endif
 #endif
        aclose(mmap_splitbuffer_fd);
@@ -637,7 +639,7 @@ free_split_buffer(void)
        mmap_splitsize = 0;
     }
     if (mem_splitbuf) {
        mmap_splitsize = 0;
     }
     if (mem_splitbuf) {
-       amfree(splitbuf);
+       amfree(mem_splitbuf);
        mem_splitsize = 0;
     }
 }
        mem_splitsize = 0;
     }
 }
@@ -706,6 +708,17 @@ file_reader_side(
 
     taper_timestamp = newstralloc(taper_timestamp, cmdargs.argv[2]);
 
 
     taper_timestamp = newstralloc(taper_timestamp, cmdargs.argv[2]);
 
+    if (tapedev == NULL) {
+       if (getconf_str(CNF_TPCHANGER) == NULL) {
+           putresult(TAPE_ERROR, "[No tapedev or tpchanger defined]\n");
+           log_add(L_ERROR, "No tapedev or tpchanger defined");
+           dbprintf(("taper: No tapedev or tpchanger defined\n"));
+           exit(1);
+       }
+    } else {
+       tapedev = stralloc(tapedev);
+    }
+
     tape_started = 0;
     if (syncpipe_put('S', 0) == -1) {
        put_syncpipe_fault_result(NULL);
     tape_started = 0;
     if (syncpipe_put('S', 0) == -1) {
        put_syncpipe_fault_result(NULL);
@@ -1577,7 +1590,6 @@ read_file(
                        }
                        file.blocksize = tt_blocksize;
                        build_header(bp->buffer, &file, tt_blocksize);
                        }
                        file.blocksize = tt_blocksize;
                        build_header(bp->buffer, &file, tt_blocksize);
-                       kbytesread += (off_t)(tt_blocksize/1024); /* XXX shady */
  
                        file.type = F_CONT_DUMPFILE;
  
  
                        file.type = F_CONT_DUMPFILE;
  
@@ -2108,6 +2120,9 @@ tape_writer_side(
     syncpipe_init(getp, putp);
     tape_started = 0;
     idlewait = times_zero;
     syncpipe_init(getp, putp);
     tape_started = 0;
     idlewait = times_zero;
+    if (tapedev != NULL) {
+       tapedev = stralloc(tapedev);
+    }
 
     while (1) {
        startclock();
 
     while (1) {
        startclock();
@@ -2998,8 +3013,8 @@ label_tape(void)
     }
     if ((tape_fd = tape_open(tapedev, O_WRONLY)) == -1) {
        if (errno == EACCES) {
     }
     if ((tape_fd = tape_open(tapedev, O_WRONLY)) == -1) {
        if (errno == EACCES) {
-           errstr = newstralloc(errstr,
-                                "writing label: tape is write protected");
+           errstr = newstralloc2(errstr,
+                                "writing label: tape is write protected or I don't have write permission on ", tapedev);
        } else {
            errstr = newstralloc2(errstr,
                                  "writing label: ", strerror(errno));
        } else {
            errstr = newstralloc2(errstr,
                                  "writing label: ", strerror(errno));
index b39302cad5119fdbb23f004bfc8fc0f9c3d21e00..d4a0faa66e1fa5fa80f9f56783565011143a7e71 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 /*
  */
 
 /*
- * $Id: taperscan.c,v 1.17 2006/07/12 12:28:19 martinea Exp $
+ * $Id: taperscan.c,v 1.17.2.1 2006/10/03 11:35:52 martinea Exp $
  *
  * This contains the implementation of the taper-scan algorithm, as it is
  * used by taper, amcheck, and amtape. See the header file taperscan.h for
  *
  * This contains the implementation of the taper-scan algorithm, as it is
  * used by taper, amcheck, and amtape. See the header file taperscan.h for
@@ -314,10 +314,16 @@ int taper_scan(char* wantlabel,
     }
     else {
        *tapedev = stralloc(getconf_str(CNF_TAPEDEV));
     }
     else {
        *tapedev = stralloc(getconf_str(CNF_TAPEDEV));
-       result =  scan_read_label(*tapedev, wantlabel,
-                                 gotlabel, timestamp, &error_message);
-       taperscan_output_callback(data, error_message);
-       amfree(error_message);
+       if (*tapedev == NULL) {
+           result = -1;
+           taperscan_output_callback(data, "No tapedev spefified");
+       } else {
+           *tapedev = stralloc(*tapedev);
+           result =  scan_read_label(*tapedev, wantlabel,
+                                     gotlabel, timestamp, &error_message);
+           taperscan_output_callback(data, error_message);
+           amfree(error_message);
+       }
     }
 
     return result;
     }
 
     return result;
index 72449cccc3c10e312d69982803d9666286becf07..d8b15c22d2a1d73dc51467b9799939c3f15e9724 100644 (file)
@@ -197,6 +197,7 @@ LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
 LIBTOOL = @LIBTOOL@
 LIBTOOL_DEPS = @LIBTOOL_DEPS@
 LL_FMT = @LL_FMT@
+LL_RFMT = @LL_RFMT@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
 LN_S = @LN_S@
 LTALLOCA = @LTALLOCA@
 LTLIBOBJS = @LTLIBOBJS@
@@ -227,6 +228,7 @@ SETUID_GROUP = @SETUID_GROUP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SNAPSHOT_STAMP = @SNAPSHOT_STAMP@
+SORT = @SORT@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
 STRIP = @STRIP@
 USE_VERSION_SUFFIXES = @USE_VERSION_SUFFIXES@
 VDUMP = @VDUMP@
index 63e00d9d771a168026c76950dce6dc42ebf64aa9..eaa32ca0cb7dadc9f4db2db026c5661736fe4bd7 100644 (file)
@@ -26,7 +26,7 @@
  */
 
 /*
  */
 
 /*
- * $Id: output-file.c,v 1.14 2006/07/06 15:04:18 martinea Exp $
+ * $Id: output-file.c,v 1.14.2.1 2006/11/20 22:34:39 martinea Exp $
  *
  * tapeio.c virtual tape interface for a file device.
  *
  *
  * tapeio.c virtual tape interface for a file device.
  *
@@ -355,11 +355,16 @@ file_open(
        if (volume_info[fd].fd >= 0 && fi->ri_count == 0 &&
                (rfd = open(recordfilename, O_RDONLY)) >= 0) {
            for (; (line = areads(rfd)) != NULL; free(line)) {
        if (volume_info[fd].fd >= 0 && fi->ri_count == 0 &&
                (rfd = open(recordfilename, O_RDONLY)) >= 0) {
            for (; (line = areads(rfd)) != NULL; free(line)) {
-               n = sscanf(line,
-                          OFF_T_FMT " "  OFF_T_FMT " " SIZE_T_FMT,
-                          (OFF_T_FMT_TYPE *)&start_record,
-                          (OFF_T_FMT_TYPE *)&end_record,
-                          (SIZE_T_FMT_TYPE *)&record_size);
+                /* We play this game because OFF_T_FMT_TYPE is not
+                   necessarily the same as off_t, and we need to cast the
+                   actual value (not just the pointer. */
+                OFF_T_FMT_TYPE start_record_ = (OFF_T_FMT_TYPE)0;
+                OFF_T_FMT_TYPE end_record_ = (OFF_T_FMT_TYPE)0;
+               n = sscanf(line, OFF_T_FMT " " OFF_T_FMT " " SIZE_T_FMT,
+                           &start_record_, &end_record_, &record_size);
+                start_record = start_record_;
+                end_record = end_record_;
+
                if (n == 3) {
                     ri_p = &fi->ri;
                    amtable_alloc((void **)ri_p,
                if (n == 3) {
                     ri_p = &fi->ri;
                    amtable_alloc((void **)ri_p,