Questions, comments, complaints, etc. to Les Mikesell . Most of this stuff originated elsewhere. I just put the pieces together. The original attributions are mostly in the source. This is basically GNUtar 1.11.2 with the addition of several drivers built in that are accessed through magic names: SCSI tape drives are called: --------------------------- /dev/ct for the "rewind" device /dev/nrct for the "no-rewind" device The details of the ASPI driver are the same as in the ASPI patches: Set an environment variable: TAPEID=0:5:0 | | | adapter-num (0 if you just have 1 controller)-| | | | | scsi-target-id (0-7) ---------------------------| | | logical-unit-number ------------------------------| On most systems, you just have one host adapter, so the adapter-num will almost always be "0". The same is true for the logical unit number. All streamers support only logical unit number "0". Only the scsi-target ID depends on your scsi-setup. The default TAPEID is 0:5:0. ***WARNING*** if you have a hard drive on SCSI id 5 you should be very careful about running these programs. If your TAPEID is not set correctly you might write to the hard drive accidentally (just like unix...). Actually the progam does test to see if the device is a tape drive, but it is still a good idea to get this right. You can specify --density and --physrecsz on the tar command line but I don't know what the actual effects are. They were included in a modified version of the original ASPI patches and seem to be unnecessary with DAT tapes. The ctctrl program is the same as the one supplied with the ASPI patches with the addition of the -u (unload) option to eject tapes from DAT and similar drives. Note that the -p N number positions to an absolute number of filemarks from the beginning (-1), not relative to the current position. That is, -p 1 always goes to the beginning of the tape. Network devices are: ------------------- "/dev/rexec/host:user:password:command" "/dev/rsh/host:remote-user:local-user:command" "/dev/rshd/host:remote-user:local-user:command" Be sure to enclose the whole thing in double quotes if there are any spaces in the command. If the host, user, password, or command fields are ommitted, the program will prompt for them. The /dev/rshd device will wait for an inbound rsh connection but will ignore the command passed from the remote and observe the dos command line instead, using the connection for the archive. In addition if the only thing on the tar command line is: --wait or --rshd a remote machine may pass the entire tar command using rsh. For example: On the PC: tar --wait On a unix host: rsh pc "tar -cvf - c:/" |dd bs=10240 of=/dev/rmt/c0s0n This allows writing many PC backups to a single tape on the unix host by connecting to them in sequence and writing to the no-rewind tape device. To allow more than a single backup on the same pc from a remote host: Using both --rshd and --wait on dos command line re-runs continuously until host passes --exit. Passing --rshd in remote rsh command causes one more re-run on the PC. Passing --exit in remote rsh command ends re-runs after the current one. Network support relies on the WATTCP library and needs a working wattcp.cfg file in the current directory or accessable through the WATTCP.CFG environment variable. For /dev/rsh to work, the unix machine must be able to reverse-resolve the IP address to a name, and the name must have the usual setup in hosts.equiv or .rhosts. For /dev/rexec, the service must be enabled on the host. Unix SysVr4.0 and 4.2 machines typically have this service disabled. There is no access or permission checking on inbound rsh connections. Raw floppy disks: ----------------- a:dio b:dio These emulate the unix style raw floppy access. Note that it does not use the dos directory structure and will happily wipe out anything currently on a disk. This is essentially the PAX code and relies on DOS understanding the number of tracks and sectors on the disk, which can be arranged by doing a DIR on a similar density dos-formatted disk before using this access. (This is currently pretty rough but it appears to work in combination with the -L length and -M options). Note that the value for -L is given in K. Other changes: Unix-style wildcard expansion is performed on the command line, and the the command line can contain file inclusions in the form @filename to avoid the length restriction of the dos command line. A reasonable level of recursion should work with @file inclusion. These files may contain options separated by spaces or on multiple lines. Note that quoting may not work as expected. In particular, you ***must*** use single quotes to prevent command line expansion of wild-cards in an extract command. Single or double quotes may be used to enclose options containing spaces. Quotes may not span lines in @files. Directory references should use the unix-style forward slash (/). You can specify a dos-style incremental backup using --archive which will cause any files that do not have the dos archive bit set to be skipped, and --reset-archive to clear the archive bit after saving. The --reset-archive option may also be used when extracting to clear the bit on files that are restored. The user name field will be filled with a value obtained from the USER, NAME, or HOME environment variables if available. The group name has a visible encoding of the system, hidden, and archive attributes using a scheme that matches AT&T's StarGroup Lan Manager server for unix. The system and hidden bits are also encoded into the group and world execute bits of the file modes for compatibility with GTAK. If you use --same-permissions when extracting, these will be restored. This may not be handled correctly for files that exist on the disk with different settings before the restore. NOTES: The main purpose for these changes are to allow frequent backups to be made of dos machines to be made along with a group of unix machines to a common tape over an IP network link. Files can be restored either with the unix version of GNUtar or back over the network, or with a directly attached SCSI tape drive which provides a certain amount of disaster recovery capability. A good portable combination is an external DAT tape drive that will connect to the SCSI adapter on a unix host and a parallel port ->SCSI adapter like the Trantor that comes with ASPI drivers for the PC's. There are probably better ways to exchange data - perhaps the zip or zoo format. TODO: Add magic names for aspi devices that encode the controler, id, and lun. Add magic names for floppies with support for various formats. Add other device drivers (QIC02, etc). Create a program that hooks two interfaces together under dos (like dd) so a dos machine can operate the tape drive for a nework. Add netbios connections for peer-to-peer mode without tcp/ip. Command line options for uid, gid, user name so meaningful values can be passed from a unix host in an rsh command. Option to omit directory entries. (Currently all directories are stored even if they are not needed). Sensible file renaming for non-dos names. Option to allow interactive rename if file either conflicts with existing filename or does not match dos name restrictions. Option to remove a specified number of directories during extraction. (i.e you archived x/y/x/stuff/* but you want stuff/* extracted into the current directory). Option to remove all path info during extraction and put the specified file(s) in the current directory.. Compression. Option to add a final entry to the archive which can be parsed and logged by by a remote program that is collecting the output and writing to tape. Include date/time, size of archive, number of errors. Write the remote program to collect this info.