home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd2.bin
/
dosutils
/
untgz
/
UNTGZ.DOC
< prev
next >
Wrap
Text File
|
1997-02-17
|
16KB
|
371 lines
U N T G Z
D e c o m p r e s s i o n U t i l i t y
Version 0.95 - Feb 17, 1997
"useful and easy tool"
"It is making a big difference to my quality of life."
"It's great for those Unix type zip files 'tar' on a lot of these ftp sites"
(statements from UNTGZ users)
Overview of this documentation:
1. INTRODUCTION - What is UNTGZ ?
2. HOW TO USE UNTGZ
3. UNTGZ OUTPUT
4. OVERWRITE QUERY
5. HOW DO I CREATE .TGZ ARCHIVES ?
6. PROBLEMS ?
7. ERROR / WARNING MESSAGES
8. HOW GOOD IS THE .TGZ ARCHIVE FORMAT ?
0. TO DO: What further UNTGZ versions will feature
10. THANKS AND CREDITS TO:
11. WHERE TO GET THE LATEST VERSION
12. LICENSE / CONTACTING THE AUTHOR
1. INTRODUCTION - What is UNTGZ ?
UNTGZ is a utility that lets you decompress archives created with the UNIX
TAR/GZIP programs under MS-DOS. These archives usually have the extension .TGZ
and are a very common standard for ftp-servers or UNIX-oriented CD-ROMs.
Note that there are also DOS versions of TAR and GZIP, however, if you want to
decompress TGZ archives with these programs, large temporary files will be cre-
ated. The result is that TGZ decompression under MS-DOS used to be very slow.
With UNTGZ, you can decompress these archives in a single step without creating
temporary files, which means it is much faster.
In addition to this, UNTGZ provides a conveniant way to extract uncompressed
TAR files. UNTGZ can also uncompress gzip'ed files that do not contain a TAR
archive. Plus, there is support for PKZIP compressed TAR archives.
Another feature of UNTGZ is the filename conversion. If an archive contains
long (UNIX-style) pathnames, these will automatically be converted into the
MS-DOS '8.3' format (not in the Windows NT version, of course).
If the archive contains subdirectories, these will be created automatically.
If you are familiar with UNIX: UNTGZ does the same as the 'tar xfz' command.
There are several versions of UNTGZ: UNTGZ.EXE, UNTGZ386.EXE and UNTGZ32.EXE.
An OS/2 Version is now also available (UNTGZOS2.EXE) thanks to Nitin Chandra.
UNTGZ is the standard version which runs on any PC-compatible computer, in-
cluding XTs. UNTGZ/386 is smaller and faster, but requires at least a 386SX
to run. If you have a 386/486/pentium computer, I would suggest renaming
UNTGZ386.EXE to UNTGZ.EXE.
UNTGZ32 is the Windows NT/Windows 95 version. It is a true 32-bit WIN32
application (character mode) and can be run within a Windows NT/95 DOS box.
If you have Windows NT or Windows 95, then I would strongly recommand using
UNTGZ/32bit, as it is _by far_ faster than the DOS version and supports long
filenames.
If you are interested in how UNTGZ works, the source code is also available.
2. HOW TO USE UNTGZ
USAGE: UNTGZ <filename> <filespec> to extract from TGZ/TAR archive
UNTGZ -l <filename> <filespec> to list/test TGZ/TAR archive
UNTGZ -t <filename> to test CRC of GZ/TGZ archive
UNTGZ -d <infile> <outfile> to decompress GZ archive
GZIP compressed , PKZIP compressed and uncompressed TAR archives
are supported. You can also use UNTGZ to extract the first file of
a "normal" PKZIP archive, using the -d option.
To decompress an archive, just type 'UNTGZ archive.tgz'. If you wish to
extract only specific files, you may specify a filename to extract, or a
combination of wildcards. Example: 'UNTGZ archive.tgz *.c'.
(UNTGZ supports UNIX-style wildcards: * ? [a-b] [!a-b] [^a-b])
Wildcards are not case-sensitive.
UNTGZ will also perform a CRC-check while extracting and inform you if the
archive is damaged.
To list the contents of an archive without extracting anything, type the
following: 'UNTGZ -l archive.tgz'. You can also specify wildcards to list
only selected files. Example: 'UNTGZ -l archive.tgz *.exe'.
Either '-' or '/' may be used as switch char. Commandline arguments are
case insensitive. E.g. 'UNTGZ -l test.tgz' is equivalent to 'UNTGZ /L test.tgz'.
Note that listing an archive will also automatically perform a CRC check.
3. UNTGZ OUTPUT
When you decompress an archive, UNTGZ will tell you the date and time of its
creation as well as the platform on which the archive was created. At this time
the following platforms are recognized:
MS-DOS, OS/2, UNIX, Windows NT / Win32, VAX/VMS, Amiga, Atari, Macintosh,
PRIMOS, TOPS20.
If the platform is not recognized, UNTGZ will report 'unknown platform' as well
as the ID number of the platform.
UNTGZ will then show which files are currently decompressed. If filename con-
version is performed, the MS-DOS name will also be displayed. Example:
' Extracting verylong-name.c to verylong.c'.
You can abort decompression by pressing Ctrl-Break. Note that this may cause
the file which is currently decompressed to be corrupt.
4. OVERWRITE QUERY
If UNTGZ tries to create a file which is already present on the hard disk, it
will show a prompt in the form 'overwrite (Y/N/A/S/R/Q)'. Valid answers are:
Y (Yes) : the file will be overwritten.
N (No) : the file will not be overwritten.
A (Always) : all files will be overwritten - no more queries
S (Skip) : no files will be overwritten - no more queries
Q (Quit) : abort decompression
R (Rename) : prompt for new filename.
When entering the new filename, type the whole path.
Remember to use UNIX-style path separators ('/')
Note that you may sometimes get this overwrite-query even when decompressing an
archive to an empty directory. This is due to the conversion of long filenames
to the MS-DOS format. For instance, the file 'verylong-1.name' and the file
'verylong-2.name' will both be called 'verylong.nam' after converting their
names to the '8.3'-format. You will then get the overwrite-query. So, be care-
full when you get the (Y/N/A/S/R/Q)-query while decompressing long-filename
archives.
5. HOW DO I CREATE .TGZ ARCHIVES ?
To create .TGZ archives, you need two programs: TAR and GZIP. Type:
tar cvf archive.tar *.*
gzip archive.tar
ren archive.taz archive.tgz
This will compress all files in the current directory and its subdirs into the
archive 'archive.tgz'
Of course, this is complicated and slow. If you want real fast compression,
use the UNIX tar program.
There is also a program called X1 that can create .TGZ archives. X1 is
very fast and supports many other archive formats, too - including ZIP, ARJ
LZH, etc. If you're looking for a versatile compression program that can
also create TGZ archives, then get X1.
X1 is job(free)ware and you can get the most recent version from
ftp://ftp.elf.stuba.sk:/pub/pc/pack/x1dos???.zip.
Make sure you get the latest X1 version. Older versions use '\' as path
seperator (dos style) and not '/', as other tar implementations do.
This means that X1-created TGZ archives containing subdirectories are
incompatible with the UNIX tar.
UNTGZ can't decompress these archives, either.
This problem is present in X1 0.94e and older versions.
6. PROBLEMS ?
At the moment, UNTGZ can only decompress files compressed with the 'deflation'
algorithm (GZIP method 8). This is the same algorithm used by PKZIP.
UNTGZ cannot decompress archives created by the COMPRESS command. This is due
to licensing restrictions; the LZW algorithm used by COMPRESS is patented by
Unisys.
Archives created using SCO 'PACK' aren't supported, either. Maybe I'll imple-
ment this some day ...
When decompressing a broken archive, and you answer 'No' at the query
"untgz: warning - possibly invalid tar archive, skip to next block",
weird things may occur. This may even lead to a crash. Answer N only if you
are 100% sure about what you are doing.
The 'No' is only to allow decompression of archives having a broken checksum
field.
The OS/2 version may not work correctly if you extract an archive with long
filenames on a FAT drive. If you extract such an archive on a FAT partition,
use UNTGZ for DOS. No Problems on HPFS Partitions.
Sorry, but as I don't have access to an OS/2 machine, I cannot implement
OS/2 specific checking routines.
7. ERROR / WARNING MESSAGES
untgz: error - can't open archive.tgz
- the archive name you have specified is invalid (file not found).
- the archive cannot be opened for another reason (SHARE problem).
untgz: error - missing filename
- you have used the -l option without specifying an archive name.
untgz: error - '.' is not a valid filespec.
- '.' is not usable as a specification of files to extract
untgz: decompression engine error - bad compressed data.
- the archive is severely damaged and cannot be decompressed.
untgz: error - unknown archive type.
- the archive is not a gzip archive or uncompressed TAR archive.
PKZIP archives are not supported at the moment.
untgz: error - unknown compression (0)
- the gzip archive uses a compression type unknown to UNTGZ.
Only deflation (method 8) is supported, as gzip 1.2.4 does
not support other compression methods.
untgz: error - multi-volume archives not supported
- UNTGZ cannot decompress the archive, because it is a multi-
volume archive.
untgz: error - don't know how to handle extended gzip header.
- extended gzip headers are not supported. I have never seen a
gzip file with extended header, as they are totally uncommon.
If anyone needs extended header support anyway, please send mail.
I will then implement it.
untgz: error - unexpected EOF
- the tar archive is truncated and cannot be correctly decompressed.
untgz: error - unexpected end of file
- the gzip archive is truncated and cannot be correctly decompressed.
untgz: error - file is encrypted.
- decryption is not supported and probably never will be.
(Export restrictions?)
untgz: internal error - nothing to do.
- congratulations, you have found a bug in UNTGZ! (I hope you'll
never see this message). Please report what circumstances have
caused this message.
untgz: error - aborted, file may be corrupt.
- you have pressed ctrl-break (DOS versions only)
untgz: error - unable to create directory
- the directory cannot be created. The most common reason for
this problem is that a _file_ already exists having the same
name as the directory to be created.
untgz: error - can't create file, skipping file.txt
- disk write-protected?
- disk full?
- file read-only?
- SHARE problem?
untgz: error - can't write file, disk full?
- This message is self-explanatory.
untgz: warning - possibly invalid tar archive, skip to next block (Y/N/A/Q)
- The archive is a 'normal' gzip file and does not contain a TAR
archive, (this is most likely. Use -d switch!)
- The TAR archive contains redundand date (between headers).
- The TAR archive is broken.
- RECOMMENDED OPERATION: JUST PRESS ENTER.
If you are sure this is _not_ a TAR archive, then press Q.
Answering 'Yes' will cause UNTGZ to check if the next block is
a valid TAR header. Answering 'Always' or pressing Enter will
cause UNTGZ to search for a valid TAR header.
Answering 'No' will ignore that the header information is not
valid and will attempt decompression anyway. (Warning! This may
even cause a crash!) Answer 'No' only if you know what you are
doing (e.g. when trying to fix a broken TAR archive).
untgz: warning - duplicate directory name
- the directory UNTGZ tried to create already exists.
untgz: warning - broken file(s), crc32 error!
- CRC error. The decompressed data is invalid.
- Due to the GZIP/TAR archive format, it is not possible to say
in which file the error occured.
8. HOW GOOD IS THE .TGZ ARCHIVE FORMAT?
Here's a short comparison between .TGZ and other common archive formats:
I've compressed the Borland CLIB source (C+ASM source) into a single archive.
(C:\BORLANDC\CTRL\CLIB\*.*). If you don't believe the test results, then
TRY THIS AT HOME!
Original size: 1.294.460 bytes
Packer: Command: Archive size:
ARJ 2.41a ARJ -jm clib.arj *.* 398.834 bytes
LHA 2.13 LHA a clib.lzh *.* 395.336 bytes
PKZIP 2.04g PKZIP -ex clib.zip *.* 412.316 bytes
Ultra Compress II UC2 a clib.uc2 257.932 bytes
TGZ TAR cvf clib.tar *.*; gzip -9 clib.tar 240.866 bytes
TGZ (X1) X1 a CLIB.TGZ 234.080 bytes
RAR 2.00 (solid) RAR a -m5 -s clib.rar 231.564 bytes
All archivers, including UC2, were configured to provide maximum compression.
This comparison is not meant to show that other archivers are bad. It should
just show that the .TGZ archive format is quite competitive in terms of
compression performance.
9. TO DO: What further UNTGZ versions will feature
- whatever YOU suggest
10. THANKS AND CREDITS TO:
- Mark Adler: for putting his INFLATE.C in the public domain.
INFLATE.C provides the decompression routines
for UNTGZ.
- Nitin Chandra: OS/2 Version. Compilation of Win32 version (0.93).
nitin@indiagate.com Useful hints and source modifications.
- Joan Poveda Compilation of OS/2 and Win32 versions (0.94 and
sheltie@ctv.es 0.95)
- The authors of UNZIP: for their wildcard matching routines (MATCH.C)
- Mateusz Majer: for providing moral support and for trying to
develop a freeware TGZ packer.
- Chin-yuan Kuo: for his very detailed and useful bug report
- my girlfried: for not complaining that I spend so much time
programming ;-)
Yes, it's still the same girlfriend as in
Version 0.93.
- all those who sent e-mail to encourage further development!
Thanks! Without you, UNTGZ wouldn't be what it is today - so
continue writing and support freeware.
11. WHERE TO GET THE LATEST VERSION
On the world wide web, go to the page
http://people.darmstadt.netsurf.de/tst/untgz.htm
If this doesn't work, then download it from:
ftp://ftp.elf.stuba.sk/pub/pc/pack/untgz???.zip
There are some mirror sites, too.
UNTGZ is also available from the SimTel.net software archive.
Simply search for "untgz". There are over 60 mirror sites all
over the world.
UNTGZ is available from The Solutions! BBS. +91-11-6855362, 6965881, 6867674
24 Hrs, FREE, Over 2 GB Online, IndiaNet, OS/2 newsgroups.
For a more or less complete list of other programs that can handle TAR/TGZ/GZIP
files, visit:
http://people.darmstadt.netsurf.de/tst/tar.htm
The location for my homepage may change in the future.
An AltaVista search for "Tillmann Steinbrecher" should find the
new location.
12. LICENSE / CONTACTING THE AUTHOR
This freeware program may be distributed according to
the terms of the GNU general public license version 2.
See file 'copying' for details.
You can contact me via e-mail: tst@bigfoot.com
If you have any suggestions to make, don't hesi-
tate to send e-mail.
If you can find a bug in UNTGZ, I URGE YOU to report
it accompanied my the information I need in order to
fix it. Thanks a lot.
Here's my snail-mail address:
Tillmann Steinbrecher
Im Wiesengrund 10
D-64372 Ober-Ramstadt
GERMANY
Amazing that somebody actually _read_ this doc.
All trade marks are property of their respective owners.