AATAR(1)

NAME
aatar - archangel archive maintenance program

SYNOPSIS
aatar [-Actvx] [-C dir] [-L logfile] [-S chunksize] [-T filelist] [-X exclude-list] [-f archive] [-o option] [-s transform-pattern] [file ...]

DESCRIPTION
The aatar utility manages an archangel archive. It allows new archives to be created, and entries added, appended, and extracted from the archive, as well as listing the contents of an archive.

Each entry in an archangel archive is compressed individually, rather than the whole archive being compressed. This allows better access to individual entries within the archive.

In addition, each entry in the archive can be digitally signed, or encrypted using the gpg(1) program, or a combination of both. If an entry is signed or encrypted, it will be decrypted when being extracted. Encryption allows the contents of individual backups to be transmitted across a network in clear, without the need for (computationally) expensive VPN software or hardware.

Each entry in an archangel archive has its own two magic values, at the beginning and end of the entry's header. The archangel archive itself does not contain a header or a trailer, being a sequential stream of entries.

OPTIONS
The following command line arguments, similar to tar(1), are supported:

-c  Create the archive

-t  List the contents of the archive

-x  Extract named contents from the archive, or every entry in the archive if none is specified.

-A  Append further entries to the archive

    In addition,

-v  may be specified to be more verbose in the above operations. This argument is a counter, and successively more information is displayed when the argument is specified repeatedly.

-C directory
    Before performing any operations, use chdir(2) to change into the named directory.

-L logfile
    Log all actions to the named log file.

-S chunksize
    Each entry will be split up into a number of chunks, and this parameter specifies the maximum size of a chunk. The default size is 1 Megabyte. This size cannot be set to be less than 1 Kilobyte, or more than 256 Megabytes.

-T filelist
    Instead of taking entry names from the command line, use the contents of the named file. Please note that the directory argument may also be specified in this file.

-X excludelist
    Do not add the files mentioned in the exclude list into the archive.

-f archive
    Specify the archive name to be used. This may be '-' for standard input when listing or extracting an archive, or for standard output when creating or appending to an archive.

-o option
    Specify the protection option to be used when creating or appending to an archive. This can be one of "signed" or "encrypted", for digitally signed, or encrypted entries in the archive, respectively. Entries can be signed, encrypted or both, or left in clear with no protection. If any of these options is specified, the user will be prompted to provide the identity or passphrase.

-s transform-pattern
    A transformation pattern will be applied to entries in the file when adding or extracting, in the same manner as the pax(1) utility.

The utility uses a callout to the gpg(1) program, which is a program written and distributed under the GPL. This will be revisited when a BSD-licensed privacy guard library becomes available.

The information as stored in the archive does not depend on structure packing on any architecture, nor does it depend on the endian-ness of the architecture itself.

EXAMPLES

These commands all create an archive

    % aatar cf archive.aa file1 file2 file3
    % aatar -cf archive.aa file1 dir1

The verbose count adds progressively more information.

    % aatar cvf archive.aa file1 file2 file3
    % aatar cvvf archive.aa file1 file2 file3

To extract entries from an archive

    % aatar xvf archive.aa
    % aatar xvf archive.aa entry1 entry2

To list the entries in an archive

    % aatar tvf archive.aa
    % aatar tvvf archive.aa
    % aatar tvvvf archive.aa

The greater levels of verbosity will show compression levels, including a percentage, and an indication of the compression method used. zlib(3) is used for most of the compression work, since it tends to produce better results for most files. For large entries, the libraries from the bzip2(1) utility are used - they usually become more effective than zlib(3) around the 1 Megabyte size of entry.

If a file will not compress into less space than the original, then the entry is entered into the archive uncompressed. This is also known as literal encoding.

To create a signed archive

    % aatar cvf archive.aa -o signed file1 file2 dir1

and a signed and encrypted archive is created using the following command

    % aatar cvf archive.aa -o signed -o encrypted file1 file2 dir1

EXIT STATUS
The aatar utility exits 0 on success, and 0 if an error occurs.

SEE ALSO
bzip2(1), gpg(1), pax(1), tar(1), chdir(2), zlib(3).

HISTORY
A aatar utility appeared in NetBSD 4.0.