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 $