Q Why aren't you responding to my e-mail?

See the 00IMPORTANT file for details


-------------------------------------------------------------------------------
Q How do I de-select a file in backup?

Use the TAB keys to go to the selected files box, move the cursor (using the
arrow keys) to the item you wish to de-select and then press 'd' or 'D' and
after confirmation, the file will be de-selected. Alternatively, you can
press 'u' or 'U' on the file in the selected files box or the directory box.


-------------------------------------------------------------------------------
Q How do I de-select a file in restore?

The same as above.


-------------------------------------------------------------------------------
Q How do I move between YES and NO in message boxes?

You can press 'y', 'Y', 'n', 'N' to select yes or no directly. Alternatively, 
use TAB or spacebar to move the highlight between YES and NO. Press ENTER when
the highlight is on what you wish.


------------------------------------------------------------------------------
Q I am mid-way through backing up in the directory /proc and I get funny 
   messages such as '-7% done' and the program seems to hang?

The /proc directory does not contain files. It contains run-time system 
information, such as the environment of running processes, an image of
system memory etc.. Therefore, you should not need to backup the /proc 
directory. If you do, you will get spurious results such as the above.
See TAPER.DOC for how to automatically exclude the /proc system.


-----------------------------------------------------------------------------
Q Where do I get the latest ncurses?

It is available from ftp.netcom.com in /pub/zm/zmbenhal. You will need
at least ncurses 1.9.6 to compile taper. Earlier versions will NOT work. 
Later version will.

It is also available from sunsite.unc.edu in /pub/Linux/libs. Please
do not use sunsite if you have a close by mirror since it is very
heavily loaded.

Taper also requires the forms library (which comes with ncurses). Compile 
ncurses and then do:

        rm /usr/include/form.h
	rm /usr/lib/libform.a
	rm /usr/lib/libform_g.a
	cp ncurses-1.9.6/form.h /usr/include
   	cp ncurses-1.9.6/lib/libform.a /usr/lib
	cp ncurses-1.9.6/lib/libform_g.a /usr/lib



-----------------------------------------------------------------------------
Q  After doing a backup or mkinfo, taper exists saying 
   "Unable to create info file"

Check that taper is able to create the info file directory (the default is
 /$HOME/.taper_info). If it can't, taper generates this error. Reasons include
no disk space, and you don't have permission to. Note that after this error, 
the backup is still intact. You just have to fix the problem and then select
mkinfo, not do the whole backup again.


----------------------------------------------------------------------------
Q   After doing a restore, the permissions on the files are correct, but 
    all the files are owned by the user running restore (ie. ownership of
    files and directories is not correctly set).

This will happen if a user other than root runs the restore program. Under
UN*X, only the root can change the ownership of files. Therefore, if wish
to restore the correct ownerships, run restore as root. 


----------------------------------------------------------------------------
Q   Restore give me a lot of warnings about Unable to set times, and
    permissions.
    
See above


--------------------------------------------------------------------------
Q  I keep on getting the error message "Device or resource busy while 
   trying to open backup device".

. Make sure that another user is not using the tape drive.
. Make sure that no processes that use the tape drive are running in the
  background.
. If you are using a floppy controller, make sure that there are no floppy
  drives mounted.


---------------------------------------------------------------------------
Q I compile and get many errors saying ANSI does not support long long

Don't worry about that. This means that you are using early kernels in
which the header files were not strictly ANSI compliant. This shouldn't
affect taper.


---------------------------------------------------------------------------
Q  I backed up using taper-5.1.3 or earlier and when I try and restore,
   not all my files are being printed on the restore screen, or funny
   filenames appear in my restore screen.

There was an obscure bug in taper-5.0 to taper-5.1.3 which caused incorrect
file counts to be occassionally written to the archive. Unfortunately,
other than recreating the backup, this can't be rectified. However,
if you run mkinfo on your archive, taper will create a 'fudged' info
file that will allow you to use your archive normally.


----------------------------------------------------------------------------
Q  I get a "No such device" error when trying to backup or restore.

You have not enabled support for your tape drive. If you have a SCSI
tape drive, make sure your kernel was compiled with support for
CSI devices, support for SCSI tape drives, and support for your interface
card, enabled. Also make sure that you have edited the Makefile and removed
the '#' in the line '#DEFINES=-DHAVE_SCSI' and then re-compile and re-install.

Also, if you have a SCSI drive, make sure that it is turned on
when you boot Linux. If it isn't turned on when you boot, Linux
won't register its presence, and even if you turn it on after,
it may still not work.

If you have a floppy tape drive, make sure you have ftape, and you
have installed it with "insmod ftape.o". 


----------------------------------------------------------------------------
Q  Why is taper already up to version 6 when a lot of programs that have
   been around a lot longer only up to versions 2,3 etc..

The version scheme for taper is version x.y.z

	x = major version number. Generally, new version archives
	    will not be compatible with older versions. Thus,
	    archives created under version 2 will not be usable under
	    version 4, and version 4 archives are not compatible with
	    version 5. There was no public release of version 1 or 3.
	    Version 1 was a private development and version 3 was only
	    released to a few alpha testers and then ditched because
	    of problems
	y = minor version number. When new features are added, this 
	    number is increased. For example, the addition of new
	    options would necessitate a minor version number increase
	z = bug fix. If the new version contains minor changes
	    or bug fixes only, then only the bug fix number is increased.
	    If a new feature is added, then the minor version number is
	    increased.

Taper was originally developed for my own use with no thought to public
release. It was only after I saw many messages on USENET etc.. that I
realized other people may benefit from taper and that's when I went
public. Therefore, there has been no structured taper development
plan. New features are being added as users request them, and as
I try to respond as quickly as possible, taper versions have been
appearing quite regularly (in some cases, days apart). Even now, 
I am not formulating a plan, but adding features in (rough) order
of frequency that they are being requested, and how easily it can
be implemented.


------------------------------------------------------------------------------
Q  Why does taper use so much memory

Backup programs that have some degree of error correction and reporting
need to know in advance how many bytes they are going to write to the
archive, which files they are going to write and the sizes of these files.

In a multi-user system, this can be a problem, since a file may have 
changed between the time of writing the tape header and coming to backup
the actual file. For this reason, a lot of backup programs insist that
the filesystem is read-only while doing a backup.

This is awkward and requires all users to log-off and the system to be
down, so I have implemented another approach. Basically, taper gets all
the information it wants before starting to backup an archive and thus,
if a file is changed later, it doesn't matter. This requires a lot of
memory, but the advantage is that the active filesystem can be backed up.

See the file SPEED&MEMORY for more details.


--------------------------------------------------------------------------
Q  Why does taper say "Rewinding tape" for a flash and then before it
   starts to read, takes a long time to start actually read.
   
This is the way the ftape/zftape driver works. When taper (or anyone) does
a request for the tape to be rewound or fast forwarded, it doesn't actually
move the tape at that point - it just remembers that the tape needs to
be rewound/fast forwarded. When a read/write command is given, then the
tape is actually moved. So, when taper issues a rewind, the driver 
instantly returns to taper, but then when taper issues a read, then
the tape is positioned - hence it looks like it is taking a long time
to read. This is why "Rewinding tape" only stays for a second, but 
before the read can begin, the tape has to be physically moved.


--------------------------------------------------------------------------
Q  Why does restore print "Can't give warning/error count"

If you do not enable triple buffering, taper assumes that you haven't
got SYSV_IPC support for shared memory aspects of SYSV_IPC. Taper restores
in a child process in the background, independently of the main taper
program and requires shared memory for the child to communicate with
the main program. If you don't have shared memory, then the child
can't communicate with the parent, and let the parent know
how many errors the child encoutnered, hence the error message and warning
message count will be incorrect.


--------------------------------------------------------------------------
Q  Why does taper say "Tape drive type has not been set" when started

You must tell taper what type of tape drive you have. There are several
types taper supports. You start taper like

   taper -T SCSI    (taper -T s) or   
   taper -T ftape   (taper -T f) or 
   taper -T zftape  (taper -T z) or
   taper -T removable  (taper -T r) or
   taper -T file (taper -T l) or
   taper -T ide  (taper -T i)
   
depending on what type of tape drive you have. You can then save
this to a preference file using the menu option so you don't have to
start taper like this again. Note that you can use the shortened
version shown in brackets.

Alternatively, you can set the environment variable, TAPE_TYPE to 
scsi, zftape, removable, ide, file or ftape. 


------------------------------------------------------------------------
Q  Why do I get a gcc fatal signal 11 message when compiling taper

I have taken this straight from the GCC-FAQ:

30) What does the message "Internal compiler error: cc1 got fatal signal 11,4" mean ?

Ans:	Gcc is probably the biggest memory hog you likely to run on your
	machine and it will surely eat up a lot of your RAM. Usually a fatal
	signal 11 will mean some sort of parity errors in your RAM or other
	hardware faults. I had this once when `cc1' got corrupted due to a
	race condition and bad blocks on my hard disk. There have also been
	reports that overheating chips, (not french fries), can also produce
	such errors. And watch for poor IDE controller/drive combos that
	are being run faster than the standard 8MHz AT bus clock. These
	can give the same errors by causing corruption of the swap space.

	Usually, a signal 11 (segmentation violation) means that a process
	tried to access memory out of its process space, or tried to write
	into a read-only location.  Sometimes, this signal is caused by
	software bugs, not by hardware faults (or your system would hang
	repeatedly, because the same thing happened to the kernel).  With
	gcc 2.3.3, some people could reproduce a lot of "signal 11"'s.

	A "fatal signal 4" has been reported to be generated due to lack of
	memory (happened on a 4MB system).

	Also it can mean a failure in one of the `ld' or `as' stages. Try
	recompiling whatever with a -v flag to gcc and see if it is failing
	in one of the cc1, cpp, as or ld stages possibly.


I will also add that sometimes it is due to the fact that gcc can't find
the libraries. Make sure your libraries are in a location accessible to
gcc (and that they are readable), and if not, change the LINK_LIB path
in the Makefile.



----------------------------------------------------------------------------
Q  How do I restore my files in the directory from which they were 
   originally backed up?

By default, taper will restore files into the current directory (the
same as tar). Subdirectories will be created as necessary. For example,
if you back up the /etc directory and then run taper from /home/joe and
try and restore this archive, a directory called /home/joe/etc will
be made and all files will be in this directory. 

To restore files from whence they came, start taper with the -r option 
like:

	taper -r / [rest of your options]

Alternatively, you can use the restore preferences menu. Simply set the
restore path preference to /


----------------------------------------------------------------------------
Q  How do I exclude a subdirectory

To facilitate incremental backups on an ever changing UN*X directory tree,
when you select a directory for backup, taper only stores the directory
name, not its contents of subdirectories. This means that it is not possible
to select a directory (eg. /usr) and then enter the directory and 
then unselect a subdirectory (eg. /usr/tmp). If you try and do this, taper
will give you an error message.

There is a way around this, however, using the exclude directories preference.
Enter backup preferences, and in the exclude directories preference, type
the name(s) of the directories you don't want to backup (in the example
above, you would type /usr/tmp). Multiple directories should be separated
with a space. Then, when taper comes accross /usr/tmp in the backup, it
will not back it up. Note that all subdirectories under /usr/tmp will
also be excluded from the backup.


----------------------------------------------------------------------------
Q  I notice that zftape has a compressed mode. Should I use taper compression
   or zftape compression

If you use zftape compression, you may find your backups will be quicker, 
and they certainly will be easier on system load. However, should a segment
of tape become corrupted, then it will be virtually impossible to 
reconstruct your backup and retrieve any files beyond the corrupted segment.

If you use taper's compression, however, it may be possible to retrieve
data beyond the corrupted section, depending on exactly which pieces of
data were corrupted. This is because taper compresses each file
individually and hence, the corruption won't affect other files.


----------------------------------------------------------------------------
Q  I get an error : compress/gzip.h: conflicting types for 'basename' when
   compiling taper

This means that you are using C libraries that are too old. Ideally,
upgrade your C libraries. Alternatively, you have to edit the file
gzip.h found in the compress subdirectory of taper.

Find the line:

	extern char *basename 	OF((char *fname));

and change it so it reads:

	/* extern char *basename OF((char *fname)); */

and try compiling taper again. 


----------------------------------------------------------------------------
Q  Why was there such a long gap between the release of 6.2 and 6.3? Does
   this mean support for taper is dying?

Absolutely not. I am fully committed to continually improving taper. However,
over the last few months, work (ie. real work - $$$ work) has been getting
very busy and thus my free time is dwindling. Therefore, I have less
time to work on taper. I do not intend to 'give up' taper for a few years
yet.


-----------------------------------------------------------------------------
Q   In version 6.5, taper is not using preferences in my preference file
    In version 6.5, taper can't find my info files
    
From 6.5, the names of the preference file, log files and info directories
have been changed. Rename the following files/directories:

     .taper_log   ---> taper_log
     .taper_prefs ---> taper_prefs
     .taper_info  ---> taper_info
     
    
------------------------------------------------------------------------------
Q   How do I compress my info files which are currently uncompressed?

Just recreate the info files from the main menu


------------------------------------------------------------------------------
Q   Why does looking for recursive links result in a seg fault?

The recursive link utility goes through your filesystem looking for links that
are recursive (ie. end up pointing to themselves so that there is an
infinite loop). This utility tries to find such recursive links. It finds
them in one of two ways :

  1. It finds & tells you about the offending link
  2. It seg faults at the offending link
  
This way you can find & correct the offending link. 
Note recursive links are only a problem if you are backing up with 
hard links set to ON (ie. the file and not the link is backed up).


------------------------------------------------------------------------------
Q   Why does taper seg fault at the end of a backup or while updating the
    header files.
    
There seems to be a bug in either libc 5.3.12 and/or binutils 2.6.0.12.
To find out what version of libc you are using, do a
   ls -l /lib/libc.so.5
and you will see what version of libc you are using.

To find out what version of binutils you are using, do a
   ld -v
which will print your version.

If you are using one or both of the above, then you can do one of the
following:

1.  Downgrade your C libraries to 5.2.18
2.  Upgrade your binutils to 2.6.0.14

Option 2 is the easier (and more logical choice), however, it may not
work all the time. Option 1 should always work.


------------------------------------------------------------------------------
Q   Why do I get an error about not being able to find form.h?

You need the forms package that comes with ncurses. See above for how
to get the latest ncurses package. 


------------------------------------------------------------------------------
Q   Why is taper not compressing my files even though I have compression
    turned on?

The most common cause is that taper cannot find bg_backup which is the 
program that compresses programs in the background. Make sure that you
have this program compiled and either in the current directory or on 
your path.


------------------------------------------------------------------------------
Q   I am getting errors such as :

         syntax error before `int'
	 syntax error before `int'

    while compiling.	 
	 
You are using an old linux kernel. To overcome this, in the Makefile.common
file, there is a line 

   CFLAGS_NOLNK = -ansi
   
Change this line to

   CFLAGS_NOLNK =
   
   
------------------------------------------------------------------------------
Q  Does taper support parallel port tape drives

Taper does not deal with low level I/O. It uses the high level routines 
provided by the C library. Translation into low level I/O is done by
things called device drivers (eg. ftape, zftape, SCSI driver). If you
can find a device driver for your drive which supports conventional
UNIX interfaces, then taper should work with no problem. 

The best place to find out if you tape drive has a driver is to ask the
tape drive manufacturer. There is a problem with some parallel port tape
drives because the manufactures have made the interface non-standard and
proprietary and are very strict about releasing the details so that 
people are unable to write device drivers. By nagging your tape drive
manufacturer, you will make them realize that such a policy is harming
their sales and they may change it.


----------------------------------------------------------------------------
Q  Does taper support the IOMEGA parallel port ZIP drive?

Yes. Full details on how to compile & install it can be found at

              www.torque.net/zip.html

Thanks to Jeff Blaine for this information

Note that the drive cannot do a fast fsf nor can it do a seek. Make sure
the appropriate preferences are set correctly.


-----------------------------------------------------------------------------
Q  When compiling, the compiler complains that it cannot find 
   curses.h
   

Make sure that your curses.h file is in /usr/include. Some older versions
of ncurses places it in a directory called /usr/include/ncurses. If this is
the case, you have two options:

Move all the files in /usr/include/ncurses to /usr/include

OR

Change the line 

INCLUDE=

your Makefile.common to

INCLUDE = -I/usr/include/ncurses



----------------------------------------------------------------------------
Q  I get error messages wattron and wattroff not found when compiling.

You do not have the correct curses.h header file. Make sure that you 
have the latest curses.h file and there are no old ones lying around.


----------------------------------------------------------------------------
Q  I make a backup and all seems well, but then when I try to restore or
   verify, taper says `This is not a taper archive' or taper says
   `This is tape 0. Insert tape 1'
   
The most likely explanation is that you have not set up your rewinding &
non-rewinding devices correctly.  Look at the table below and check that
your preference file has the correct devices set under tape drive preferences.

                  rewinding               non-rewinding
    ====================================================
    ftape         /dev/ftape              /dev/nftape
    zftape        /dev/qft0               /dev/nqft0
    scsi          /dev/st0                /dev/nst0
    floppy a      /dev/fd0                /dev/fd0
    floppy b      /dev/fd1                /dev/fd1
    
These device names may be different if you have configured your system
differently. 

See the section in the docs about tape devices for further information.


-----------------------------------------------------------------------------
Q  I make a backup OK but when I try and restore, taper gives errors in 
   the log file such as `Creating device xxxx' when xxx should be a file.
   
You have set your preference `can seek' (under tape drive preferences) to TRUE
when your tape drive cannot seek properly. Run the utility `test can seek'. 
If this utility says that your tape drive cannot seek, change the preference
via a command line option, preference file or manually. 

If the utility says your tape drive can seek, but you are getting these sorts
of errors, please contact me with details.





$Id: FAQ,v 1.20 1996/08/05 19:22:50 yusuf Exp $	
