# KDat Documentation

KDat is a tar-based tape archiver, that is designed to work with multiple archives on a single tape. KDat was inspired by two separate goals. The first, was to provide a nice, GUI front-end to tar that supported the fast selective extraction features of the dds2tar program. The second goal was to answer my wife's question, "How much longer is it going to be backing up?!?".

KDat is distrubuted under the GNU Public License, version 2.

## Features

- Simple graphical interface to local filesystem and tape contents.
- Multiple archives on the same physical tape.
- Complete index of archives and files is stored on local hard disk.
- Selective restore of files from an archive.
- Backup profiles for frequently used backups.

## Using KDat

- Mounting/unmounting a tape
- Formatting a tape
- Backing up files to tape
- Verifying tape files against local files
- Restoring files from tape
- Recreating an index from tape
- Creating a backup profile
- Configuring user preferences
- KDat tape format

### Mounting/unmounting a tape

Before a tape can be used it must be mounted by KDat. There are three ways to mount a tape:

1. Select "Mount Tape" from the "File" menu.
2. Click on the tape drive icon on the toolbar.
3. Right-click on the tape drive tree node, and select "Mount Tape".

KDat will rewind the tape, and read the header information from the tape. If KDat does not recognize the header on the tape, you will be prompted to format the tape.

If KDat recognizes the header it will look for the corresponding tape index on your local disk. If the tape index cannot be found you will be prompted to recreate the index from tape.

If all goes well, the tape drive icon will change to indicate that the tape has been mounted, and a message will appear in the status bar. The contents of the tape can be explored under the tape drive tree node.

Before ejecting a tape, you must unmount the tape. There are three ways to unmount the tape:

1. Select "Unmount Tape" from the "File" menu.
2. Click on the tape drive icon on the toolbar.
3. Right-click on the tape drive tree node, and select "Unmount Tape".

KDat will acknowledge that the tape has been unmounted by changing the tape drive icon, and displaying a message in the status bar. The tape may now be safely ejected.

### Formatting a tape

Before a tape can be used by KDat, it must be formatted by KDat. Some types of tapes must be formatted before they can be used to store data. This is not what KDat does when formatting a tape. If your tape drive requires that the tapes be formatted before using them, then they must be formatted before they can be "formatted" by KDat. Typically floppy tape drives require that their media be formatted, but DAT drives do not.

There are two ways to format a tape:

1. Select "Format Tape..." from the "File" menu.
2. Right-click on the tape drive tree node, and select "Format Tape...".

You will be prompted for a name for the tape, and the stated capacity of the tape. Both of these parameters can be changed after the tape has been formatted. The tape name is only used to identify the tape to the user; it is not used to identify the tape index associated with the tape. Instead, a unique tape identifier is automatically generated and written to the tape. The stated capacity of the tape is used by KDat to warn the user if there will not be enough space to complete a backup.

After entering the tape name and capacity, KDat will proceed to format the tape. ALL DATA ON THE TAPE WILL BE LOST. Once KDat has finished formatting the tape, the tape will be automatically mounted and is ready for use.

### Backing up files to tape

Before initiating a backup, you must select some files to archive. There are three ways to select files for backup:

1. Highlight a file or directory in the local file tree. Only the selected file or subdirectory will be archived.
2. Highlight a backup profile in the tree. Only the files in the backup profile will be archived.
3. Checkmark selected files in the local file tree. Only the checked files and/or subdirectories will be archived.

Three are four ways to initiate a backup:

1. Select "Backup..." from the "File" menu.
2. Click on the backup icon in the toolbar.
3. Right-click on a file or directory in the local file tree, and select "Backup...".
4. Right-click on a backup profile, and select "Backup...".

Once the backup has been initiated, the "Backup Options" dialog will appear. This dialog gives you a chance to review the selected files, and change the backup options.

After accepting the backup options, the "Backup" dialog will appear. This dialog shows the progress of the backup including throughput and time remaining.

### Verifying tape files against local files

Before initiating a verify, you must select some files to verify. There are two ways to select files for verification:

1. Highlight a file or directory in one of the archives under the tape drive tree node. Only the selected file or subdirectory will be verified.
2. Checkmark selected files in one of the archives under the tape drive tree node. Only the checked files and/or subdirectories will be verified.

There are three ways to initiate a verify:

1. Select "Verify..." from the "File" menu.
2. Click on the verify icon in the toolbar.
3. Right-click on a file or directory in one of the archives, and select "Verify...".

Once the verify has been initiated, the "Verify Options" dialog will appear. This dialog gives you a chance to review the selected files, and change the working directory for the verifyication.

After accepting the verify options, the "Verify" dialog will appear. This dialog shows the progress of the verification including throughput and time remaining.

### Restoring files from tape

Before initiating a restore, you must select some files to restore. There are two ways to select files for restoring:

1. Highlight a file or directory in one of the archives under the tape drive tree node. Only the selected file or subdirectory will be restored.
2. Checkmark selected files in one of the archives under the tape drive tree node. Only the checked files and/or subdirectories will be restored.

There are three ways to initiate a restore:

1. Select "Restore..." from the "File" menu.
2. Click on the restore icon in the toolbar.
3. Right-click on a file or directory in one of the archives, and select "Restore...".

Once the restore has been initiated, the "Restore Options" dialog will appear. This dialog gives you a chance to review the selected files, and change the working directory for the restore.

After accepting the restore options, the "Restore" dialog will appear. This dialog shows the progress of the restore including throughput and time remaining.

### Recreating an index from tape

Sometimes it may be necessary to receate the tape index file from the tape contents. This process will overwrite any existing index file for the tape. There are two way to recreate an index from tape:

1. Select "Recreate Tape Index" from the "File" menu.
2. Right-click on the tape drive tree node, and select "Recreate Tape Index".

The "Index" dialog will appear. This dialog shows KDat's progress as it creates the index file.

### Creating and editing a backup profile

There are two ways to create a backup profile:

1. Select "Create Backup Profile" from the "File" menu.
2. Right-click on the "Backup Profiles" tree node, and select "Create Backup Profile".

This should create a new backup profile using the currently checked files and the default backup options. The following options can be set for the backup profile:

Archive name
  The symbolic name for the archive. It can be changed later.
Working directory
  The current working directory to perform the bakcup in. The list of files to backup is automatically updated to reflect the selected working directory.
Stay on one filesystem
  For each directory that is listed under "Backup files", only the files under that directory that are on the same filesystem as the directory will be archived. Directories on different filesystems can be listed under "Backup files", and each will be treated independently of the others, by tar.
GNU listed incremental
  Perform an incremental backup. A snapshot file is used to determine which files have changed since the last incremental backup. Only the files that have changed will be archived.
Snapshot file
  The name of the file that is used to determine which files have changed since the last incremental backup.
Remove snapshot file before backup.
  Remove the snapshot file before invoking tar. This has the effect of backing up all of the files, and creating the snapshot file for use next time.

The list of files to backup can be modified by pressing the "Files >>" button. This will make the currently checked files become the list of files to backup. The "<< Files" button can be used to make the set of checked files be the files listed for backup.

You must press the "Apply" button to commit any changes made to the backup profile.

### Configuring user preferences

User preferences can be configured by selecting "Preferences..." from the "Edit" menu. The following preferences can be configured:

Default tape size
  This value will be used as the default tape size when formatting a tape.
Tape block size
  The hardware block size for the tape drive. For floppy tape drives this value should be 10240 bytes.
Tape device
  The full path to your tape device (usually /dev/tape). This path must point to the non-rewind version of you tape device.
Tar command
  The full path to the tar command on your system.
Load tape on mount
  If enabled, before trying to mount a tape KDat will issue an "mt load" command to the tape drive. Some drives may require this before reading and writing the tape.
Lock tape drive on mount
  If enabled, whenever a tape is mounted by KDat, the tape drive will be asked to disable the eject button. This option may not work with all tape drives.
Eject tape on unmount
  If enabled, whenever a tape is unmounted by KDat, the tape will automatically be ejected from the drive. Do not use this option with floppy tape drives.
Variable block size
  If enabled, KDat will attempt to change the hardware block size used by the tape drive. Not all drives support variable block size. Whether this feature is enabled or not, you must tell KDat the block size that your tape drive uses (i.e. 10240 for ftape users).

### KDat tape format

When KDat formats a tape it writes a single file at the beginning of the tape. This file should only occupy a single tape block. The contents of the file are:

- (9 bytes) The string literal "KDatMAGIC"
- (4 bytes) The file format version number (currently 1).
- (4 bytes) The length in bytes of the tape ID string.
- (n bytes) The tape ID string. The format of this string is "<hostname>:<seconds>", where <hostname> is the full name of the machine that the tape was formatted on and <seconds> is the number of seconds since the epoch when the tape was formatted.

The tape ID is used to locate a file, with the same name, in the $HOME/.kdat directory. Each of the remaining files on the tape are plain-old tar archives. You should be able to manipulate them directly with GNU tar. Even non-GNU tar should work for non-incremental backups.

Last modified: Mon Sep 7 22:30:22 EST 1998