- New triple buffering system - forks off a child to do its
writing so should improve backup performance. The tape drive
won't have to stop so much. You'll really notice this in
uncompressed backups - performance gains in compressed backups
depend on your processor speed. If you wish to utilise this,
your kernel must have SYSV_IPC support.
- Internal compression support. Taper now uses LZRW-3 compression
code, written by Ross Williams. It has been modified for use
under Linux by Claus-Justus Heine (the author of zftape) and to both
people I am eternally grateful (saved me a lot of hassle). The
internal compression support is a lot faster than gzip, however
not as efficient - it can produce compressed files that are
about 30% larger than gzip would have produced. Thus you have
the option of still using gzip - change using preference
files, command line options or the preference menu. You can
mix different compression methods in an archive, but not
within a volume. Note that the compression option is
now --compress-type and the preference is COMPRESS_TYPE
- New option - --comp-head-start (preference COMP_HEAD_START). This
gives the compression program a head start to allow taper to
continually stream the tape drive on very slow systems. You
may need to give a value as high as 10 minutes
so that there is enough compressed programs in the buffer for taper.
- Uncompressing of files in restore is now done in the background.
This should speed restore operations considerably
- You can now abort backups. Press q or Q during the backup.
- Changed the backup/mkinfo/restore rate messages - now prints
the actual tape transfer rate and then the effective tape
transfer rate. Also changed from K/sec to M/min
- Changed everything from bytes to MB.
- Few changes to the Makefile - separate Makefiles are now
distributed for different tape drives. Also changes
to enable easier version upgrades for me
- A further level of logging has been provided - level 4. This
is very verbose and really shouldn't be used unless debugging.
I'll need it if you have a bug report
- Disabled ctrl-c - no interruption now. To stop a backup,
restore or compress operation, press q.
- Added .jpg files in default of files not to compress
- Lots of changes to common.c code to reduce its size and
place code more appropriately amongst files
- Improved memory usage when compressing in background
- Prints Checksum OK messages in restore/mkinfo in log level 1
- No longer checks if the compressed file is larger than the
original file using gzip. This situation occurs very rarely, and
if it does occur, the compressed file is seldom more than a few bytes
longer than the original file - thus the overhead of checking
each file is not worth it.
- Mkinfo will update volume counts if they differ
- Bug in mktape - not closing the tape device --> giving
resource busy errors
- Mkinfo was not restoring volume counts and volume selections
properly in a few obscure cases
- Plugged another memory leak - occurred if got a memory allocation
error while allocating blocks
- Errors if tried to overwrite a regular file. Now the regular
file is correctly deleted.
- Counts etc.. in restore
- Backup crashed if it couldn't read a directory it needed to -
now ignores it and doesn't back it up
- When selecting which archive to restore from, wasn't printing
all the entries on screen correctly
- Seg fault after printing usage
- Errors with the FIFO in backup don't cause the file to be not
backed up. It now saves the file uncompressed.
- When saving preferences to a command line file, was always saving
to start_taper despite what you typed in
- In main menu, put Check archive after mkinfo to reflect its
- Exit key from preferences (default F10) can be changed in
- No .. entry provided if in root directory for backup/file set
- Enabled support for get block size ioctl of zftape - if you
are going to use zftape, you must use at least version 1.02
- Can now unselect from the top directory window in backup. If
the file is indirectly selected, then an error is printed.
Similarly, can unselect from restore menu.
- Unselecting a file has changed from `d' to `u'.
- Fixed problem with zftape-1.02 and taper interaction. Causing
multiple "unknown tape data" errors. Downside is that it
takes longer to identify a tape.
- Fixed problem with zftape-1.02 when using different block sizes
in different volumes.
- Fixed a couple of compile time warnings - they were only warnings
- Problem if information messages, etc. were too long for
- Seg fault when trying to load a file set
- Bug in testzero caused a segfault
- Was ignoring all files if the exclusion list was empty. Same
with the compression list.
- Not setting the SCSI default block size correctly
- Incorrectly adding the size of directory entries (not directory
contents) to backup sizes
- AT LAST - support for unattended backups. See documentation
for details on how to do it. New preferences menu for
- Support for the new floppy tape driver, zftape.
- Drives that have leading zeroes do not need a compile time
option - it is automatically built in. You still, however,
need to using mktape on tape before you can use them with
- Support for fully fixed block reading and writing. All transfers
to/from the tape drive are in strictly blocksize blocks.
- It is possible to get taper to call MTSETBLK to set the tape
block size before doing an erase. Define
SET_BLOCK_SIZE in the Makefile. With the option, the block
size is also set using an ioctl call after each open (but
only for zftape).
- Support for quick fast forwarding. Some tape drives are able to
fast forward a volume while in the middle of a tape. In addition,
they correctly fast forward if at the end of a volume.
If your tape drive is one of these, performance can be
improved up considerably by defining -DFAST_FSF in the
Makefile. A new program, testfast_fsf will tell you
if your tape drive is capable of this.
- When selecting entry from on_archive list, prints
an error message if the file/directory no longer
exists, as opposed to just ignoring you.
- Using the --version option also prints which options taper
was compiled with
- When doing a backup, prints the total size of archive.
- Changed the Makefile option MEMORY to MEMORY_TIGHT
- Changed the output of the log file slightly if an
error was encountered
- More logging for tape changes
- In incremental backups, if a file needs to be backed up,
all the relevant directory entries will be backed up
even if they haven't changed - saves having to get a
directory entry from one volume and the files from another.
- Not recognizing some long options (specifically, those
that required a -on or -off)
- Size of files to be backed up didn't take into account the
length of the filename or the file_info structure
- Seg fault if using a regular file, only restored a part of
- If there was a fatal error, was recording this as a
warning in the error/warning count
- When creating a directory from a `made up' one, was setting
permissions as --------- instead of rwxr-xr-x
- When retrieving files for backup from file set, wasn't taking
into account the hard-links option
- Problem if there was an unexpected blank line in file set
- Write code optimised.
- Read code optimised.
- When loading a file set, was not taking links into
- In Makefile, was a reference to do_compress which is
no longer used
- Cursor wasn't being turned off after changing preferences
- Problem if info file was >100K in size
- In backup and restore, you can select files & directories
for backup & restore from the "on_archive" window
(ie. the top right). Just press 's' and the appropriate
file will be selected, the same as if you had pressed
's' in the top left window.
- New option (-A id [--archive-diff]) lets you print a list of files
that have changed since the last backup was made. The
list is printed to the screen. id is archive ID to
compare, -1 means use the archive in the tape drive
- In backup, compression of programs in now done in the
background to speed up execution time
- Memory is now allocated in blocks when required. This
has the slight overhead of increased memory requirements,
(maximum extra is 100K) but means that reallocation of memory
blocks is greatly reduced, reducing system overhead &
- Auto-descend option in restore. If a directory only has
one directory entry in it, it will automatically descend
into this directory. Similarly, it will auto-ascend.
- In effect, two versions of taper are available - one is a
fast, but memory & resource hungry taper. The other is
much more modest in memory requirements (but still improved
over earlier tapers - approx 15% memory required than
5.1.5) but you pay with an increase in load and decrease
in speed. Define the appropriate option in the Makefile
- If you overwrite an archive, taper will delete the old
- Optimised code for calculating directory sizes. Much quicker
- Optimised code for selecting files to restore. Much quicker.
- Changed the most recent restore handling. For restoration, the
file on the latest volume is regarded as the most recent.
This has speeded up the code considerably, the penalty is
that if a file on an older volume is actually more recent,
it won't be picked up. This will happen extremely rarely.
- When selecting directories in restore, will now print the
size of the directory that will be restored taking into
account most recent restore.
- Tightened up handling of /proc device
- Make common path takes into account volume restriction
- Minor changes in the log file messages printed by restore
- When saving file sets, will create set directory if
- The -d (--print-dir) option now requires the archive_id
of the archive whose contents you wish to print. A
-1 will print the directory of the archive currently
in the tape drive
- Not allowed to change directories when selecting an info
- Does not have to traverse through a whole regular file
archive now while restoring - will stop when all files
- Few more status boxes etc.. to give user idea of what's
- Mkinfo will verify checksums. Prints an error to the log
if it doesn't match
- Minor screen corruption in backup after restoring from
- Not reading all entries in when restoring from file set
- Changing directories inadvertantly after reading in
- When calculating total selected sizes in restore, was
including the size of the directory entry, as well
as the sizes of the files in the directory
- Was not backing up backup device entry in /dev.
- Not a bug, but in backup, was getting file info for a file
twice - waste of time.
- Not backing up missing directories when found.
- If entry was too long in on_archive window, was not truncating
- If backup didn't correctly make missing directories,
restore was stuffing up
- When doing an incremental backup, sometimes had problems
with missing volumes in restore
- Problem with incremental backups of recursive directories
- Not printing title line correctly if tape not in drive
- Minor changes to LSM file to fit the auto-daemon
- Remove trailing spaces in volume & archive title
- If you try to select a file that would be automatically
excluded (eg. test.o), then you will get a message to
- Fixed problem with deleting selections in backup & restore.
Also fixed problem of jumping to end of window when
- When trying to go into a directory in which you have no
permission, occassionally was segfaulting
- Long filenames were causing minor screen problems
- When toggling between most-recent-restore mode in restore &
between incremental-backup mode in backup, doesn't scroll
the screen to bottom anymore.
- When paging down, occassionally would print some garbage
after last entry
- After many requests, memory usage has been dramatically reduced by
re-organization of the way taper handles files currently on the
archive. Unfortunately, no-one gets anything for free and this
memory saving comes about by taper suffering a bit of a
performance hit. It doesn't affect backing up/restoring - only
selecting files. It shouldn't make too much of a difference,
but if you have a large number of files on your archive, you
may notice the keyboard a bit sluggish. However, your
memory usage will only be 30% of that in taper 5.1.3.
- Not correctly storing missing directories - resulted in problems
with incorrect file counts. Most common symptom is restore not
printing all the files on the archive, or funny files in the
restore screen. The archives written with earlier versions will
still contain the incorrect file count, however, to overcome
it, run mkinfo on your old archives, and the info file will
be fudged to overcome the error. A message will be printed
in your log file saying that the info file has been fudged.
- Minor bug in .sgml file - stuffed up a bit of formatting
- Restore screen was cutting out last digit of size
- Problem with getting volume & archive title in backup
- Fixed Makefile to correctly install man page
- I now use linuxdoc-sgml for documentation hence taper.ps, taper.txt,
and taper.1 are supplied as documentation. Because taper.1 is
already formatted, it is placed in /usr/man1/cat1, rather than
- When going up directories in restore, goes up to the volume that
you were in
- In restore window, prints the volume we are restricted to
- In restore module, if you have selected most recent restore,
will print the volume from which it will restore the file
- Problems with restore tree
- Major bug with --exclude-files option corrected
- Prints "F10 to exit" in changing preference menus
NOTE: You now need ncurses 1.9.6 for taper to work
- New option (-X --exclude-compress) which allows you to specify
which group of files to exclude from compressing.
- New option (-F --exclude-files) which allows you to specify
which group of files to exclude from archives.
- Files selection sets
- Fixed minor problems that arose with updating to ncurses 1.9.6 -
mainly with \n and \r
- Volume title & archive title have been removed from the preference
file. You are now prompted for them both before entering
backup module. They are still in the command line options.
- Upper case command line options are now different from lowercase
- Not initialising all variables correctly
Allowed you to select a file twice in backup module
In restore, printing the size of compressed file rather than
- If two files are the same in an archive, then most recent
restore will restore the file in the latest volume
- Changed status screens in restore & mkinfo a bit
- When doing a backup, if a taper archive is found, user is
given the option of appending or erasing (ie. the append
preference is ignored - it's left in for when I get
around to doing unattended backups)
- Default is now not prompting for directories.
- Bug in mkinfo so that if you did a mkinfo after a restore,
it didn't restore volume header details correctly
- In backup, it was ignoring the fact that do_read_voldir
could return an I/O error
- When saving to a preference file, if you didn't change
the default name, the filename was garbage
- When read preferences, was not ignoring the quotes
used to surround volume & archive title
- Changed the colour of the help screen so that it was
clearer using shells under X
- Prints the volume number when restoring from regular files
- Few bugs in the tape_readheader code with regard to tape
drives that have a leading zero problem
- Was changing the global preference strip inadvertantly. Only
mattered if you saved preferences after running
backup or restore.
- Slight problem trying to overwrite existing archives
- At last, a man page! Finally got around to doing it.
- New option in Makefile - make install will automatically
place files in correct location - binaries in /sbin and
man page in /usr/man/man1. make uninstall will
remove the files
- New option: +/-k [--erase-tape] - allows one to specify
whether taper will erase a new tape before using it.
Default is yes but some SCSI drives don't need erasing
before use. Floppy tape drives need it set to yes.
- When changing preferences within program, for YES/NO
options, can use y/Y and n/N keys.
- Changed to preference & environment names for the tape
devices. Non-rewinding preference and environment is
NTAPE and rewinding preference & environment is TAPE.
This was done to accommodate SCSI users who don't use
- If you press an illegal key, automatically prints help
- Prompts for tape insertion before commencing mkinfo
- Prints a cursor in changing preferences if the string
line is NULL
- The HAVE_SCSI line in Makefile should have been
- Added a QUIT signal handler so that if you abort or terminate,
your screen is not mucked up and memory is not lost.
- In restore, when you go up a directory, the cursor points to
the directory you were in (like backup & mc)
- Reworked the missing directories search. It was working in 5.0
but was so slow that people thought taper had crashed. Was only
evident on >1000 files.
- Slight optimization of cp counter
- Change to Makefile - have another variable HAVE_SCSI, which if set
sets the default device names to SCSI device names rather than
floppy device names
- Prints error message for info file mismatch now
- Updated select_box to handle changes to ncurses 1.9.6.
- Wasn't handling restore to different paths properly
- Added trailing '/' to recursively included directories
- Added a zero to the time so that it prints as 21:08 not, 21:8
- Blank cursor line in on_vol window for blank lines
- Clears title line at program end
MY ADDRESS HAS CHANGED TO: firstname.lastname@example.org
- Major archive format change - basically, more information was
added to volume headers to make incremental backups easier.
This means that archives created under taper 4.x are not
compatible with 5.0. The volume & archive magic numbers have
been changed to reflect this.
- Restore even more intelligent with regular file restores -
doesn't have to traverse the whole archive now. Stops
when restored all files required
- Info files have been renamed from taper_xxx to taper_info_xxx
(to allow use of backup sets which will be named taper_set_xxx)
- In restore, you get to select which archive you wish to restore from.
Taper prints a list of all archives it knows about. The default
archive selected is the one in the tape drive (or the one
that pertains to the regular filename given). The tape doesn't
have to be in the drive to peruse an archive.
- Changes to incremental backup & incremental restore. See TAPER.DOC
- In selecting files for a backup, when you move up a directory,
the cursor points to the directory you were in (like mc)
- If there is no title (archive, volume etc..), rather than printing
a NULL string, the string <no title> is printed
- In backup & restore, permissions are no longer printed. They were
wasting too much valuable screen real-estate, and really, are
not of much use in an archiving system. In restore, the date/time
the file/directory was backed up is not printed - that information
can be obtained from the right hand window (volume information)
- Restore now prints details of what's on archive like backup
- Major change to TAPER.DOC to reflect all new features
- Better handling of status reports in restore
- Mktape - was proceeding even if you answered 'no'
- Mktape - better error handling
- Testzero - better error handling
- Better handling of errors when erasing a tape in backup
- Mkinfo - was closing standard input accidently if no archive
- Backup - incorrect archive size if no archive existed
- Allowed abort if don't have correct tape in drive
- Backup/Restore - confusing directories with files for recursive
- Problem creating extra directories when restricting restore to
a certain volume