rsalz@uunet.uu.net (Rich Salz) (07/02/88)
Submitted-by: hyc@math.lsa.umich.edu Posting-number: Volume 15, Issue 78 Archive-name: arc5.21/part02 #--------------------------------CUT HERE------------------------------------- #! /bin/sh # # This is a shell archive. Save this into a file, edit it # and delete all lines above this comment. Then give this # file to sh by executing the command "sh file". The files # will be extracted into the current directory owned by # you with default permissions. # # The files contained herein are: # # -rw-r--r-- 1 hyc 54144 Jun 13 05:26 Arc521.doc # -rw-r--r-- 1 hyc 7232 Jun 12 19:31 arc.1 # echo 'x - Arc521.doc' if test -f Arc521.doc; then echo 'shar: not overwriting Arc521.doc'; else sed 's/^X//' << '________This_Is_The_END________' > Arc521.doc X X X X X X X X X X X X X ARC X X File Archive Utility X Version 5.20 X X X X X X X X X X X X X X X X X X X X X X X X X X (C)COPYRIGHT 1985,86 X by X System Enhancement Associates, Inc. X ALL RIGHTS RESERVED X X X X X XThis document describes version 5.20 of the ARC file Xutility, which was created by System Enhancement XAssociates, Inc. in October of 1986. X X X TABLE OF CONTENTS X X X XSection Page X X XIntroduction .................................... 1 XUsing ARC ....................................... 3 XARC commands .................................... 5 X Adding files ................................ 5 X Extracting files ............................ 7 X Deleting files .............................. 8 X Listing archive entries ..................... 8 X Running files ............................... 10 X Printing files .............................. 11 X Testing an archive .......................... 11 X Converting an archive ....................... 12 XARC options ..................................... 13 X Suppressing compression ..................... 13 X Backup retention ............................ 14 X Message suppression ......................... 15 X Encryption/Decryption ....................... 17 XRAMdisk support ................................. 18 XMARC ............................................ 19 XARCE ............................................ 20 XVersion numbers ................................. 21 XCommon questions and answers .................... 22 XMaintenance contracts ........................... 24 XRevision history ................................ 25 X Changes in version 3 ........................ 25 X Changes in version 4 ........................ 25 X Changes in version 4.1 ...................... 26 X Changes in version 4.3 ...................... 26 X Changes in version 4.4 ...................... 27 X Changes in version 4.5 ...................... 27 X Changes in version 5.0 ...................... 28 X Changes in version 5.1 ...................... 29 X Changes in version 5.2 ...................... 30 XProgram history and credits ..................... 31 XBulletin boards ................................. 33 XSite licenses ................................... 34 X X X X X X X X X X X X X X INTRODUCTION X X X XARC is the copyrighted property of System Enhancement XAssociates, Inc. You are granted a limited license to Xuse ARC, and to copy it and distribute it, provided Xthat the following conditions are met: X X1) No fee may be charged for such copying and X distribution. X X2) ARC may ONLY be distributed in its original, X unmodified state. X X3) ARC may *not* be distributed, in whole or in part, as X part of any commercial product or service without X the express written permission of System X Enhancement Associates. X X XContributions for the use of this program will be Xappreciated, and should be sent to: X X System Enhancement Associates, Inc. X 21 New Street, Wayne NJ 07470 X XYou may not use this product in a commercial Xenvironment or a governmental organization without Xpaying a license fee of $35. Site licenses and Xcommercial distribution licenses are available. A Xprogram disk and printed documentation are available Xfor $50. See the order form enclosed with this manual Xfor more details. X X X XARC is user supported software. This means that you Xmay copy it freely and give the copies away to anyone Xyou wish, at no cost. They are in turn requested to Xsend in a contribution if they decide to use it. X XThe user supported software concept (often referred to Xas "shareware") is an attempt to provide software at low Xcost. The cost of offering a new product by Xconventional means is staggering, and hence dissuades Xmany independent authors and small companies from Xdeveloping and promoting their ideas. User supported Xsoftware is an attempt to develop a new marketing Xchannel, where products can be introduced at low cost. X X X X XARC Page 1 XIf user supported software works, then everyone will Xbenefit. The user will benefit by receiving quality Xproducts at low cost, and by being able to "test Xdrive" software thoroughly before purchasing it. The Xauthor benefits by being able to enter the commercial Xsoftware arena without first needing large sources of Xventure capital. X XBut it can only work with your support. We're not Xjust talking about ARC here, but about all user Xsupported software. If you obtain a user supported Xprogram from a friend or colleague, and are still Xusing it after a couple of weeks, then it is obviously Xworth something to you, and a contribution should be Xsent. X X X XAnd now, back to ARC: X XARC is used to create and maintain file archives. An Xarchive is a group of files collected together into Xone file in such a way that the individual files may Xbe recovered intact. X XARC is different from other archive and library Xutilities in that it automatically compresses the Xfiles being archived, so that the resulting archive Xtakes up a minimum amount of space. X XWhen ARC is used to add a file to an archive it Xanalyzes the file to determine which of three storage Xmethods will result in the greatest savings. These Xthree methods are: X X1) No compression; the file is stored as is. X X2) Repeated-character compression; repeated sequences X of the same byte value are collapsed into a three- X byte code sequence. X X3) Dynamic Lempel-Zev compression; the file is stored X as a series of variable size bit codes which X represent character strings, and which are created X "on the fly". X XNote that since one of the three methods involves no Xcompression at all, the resulting archive entry will Xnever be larger than the original file. X X X X X XARC Page 2 X USING ARC X X X XARC is invoked with a command of the following format: X X ARC <x> <arcname> [<template> . . .] X XWhere: X X <x> is an ARC command letter (see below), in X either upper or lower case. X X <arcname> is the name of the archive to act on, X with or without an extension. If no extension is X supplied, then ".ARC" is assumed. The archive X name may include path and drive specifiers. X X <template> is one or more file name templates. X The "wildcard" characters "*" and "?" may be used. X A file name template may include a path or drive X specifier, though it isn't always meaningful. X X XIf ARC is invoked with no arguments (by typing "ARC", Xand pressing "enter"), then a brief command summary is Xdisplayed. X X X XFollowing is a brief summary of the available ARC Xcommands: X X a = add files to archive X m = move files to archive X u = update files in archive X f = freshen files in archive X d = delete files from archive X x,e = extract files from archive X r = run files from archive X p = copy files from archive to standard output X l = list files in archive X v = verbose listing of files in archive X t = test archive integrity X c = convert entry to new packing method X X X X X X X X X XARC Page 3 XFollowing is a brief summary of the available ARC Xoptions, which may alter how a command works: X X b = retain backup copy of archive X s = suppress compression (store only) X w = suppress warning messages X n = suppress notes and comments X o = overwrite existing files when extracting X g = encode or decode archive entry X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X XARC Page 4 X ARC COMMANDS X X X XThis section describes each of the commands. ARC will Xaccept any one command at a time. If no commands are Xgiven, then a brief command list is displayed. X X X XADDING FILES X XFiles are added to an archive using the "A" (Add), "M" X(Move), "U" (Update), or "F" (Freshen) commands. Add Xalways adds the file. Move differs from Add in that Xthe source file is deleted once it has been added to Xthe archive. X XUpdate differs from Add in that the file is only added Xif it is not already in the archive, or if it is newer Xthat the corresponding entry in the archive. X XFreshen is similar to Update, except that new files Xare not added to the archive; only files already in Xthe archive are updated. X X XFor example, if you wish to add a file named X"TEST.DAT" to an archive named "MY.ARC", you would use Xa command of the form: X X ARC a my test.dat X XIf you wanted to add all files with a ".C" extension, Xand all files named "STUFF" to an archive named X"JUNK.ARC", you could type: X X ARC a junk *.c stuff.* X XIf you wanted to move all files in your current Xdirectory into an archive named "SUM.ARC", you could Xuse a command of the form: X X ARC m sum *.* X XIf you have an archive named "TEXT.ARC", and you Xwanted to add to it all of your files with an Xextension of ".TXT" which have been created or changed Xsince they were last archived, then you would type: X X ARC u text *.txt X X X XARC Page 5 XIf you have a bunch of files in your current Xdirectory, with backup copies being stored in an Xarchive named "SAFE.ARC", then if you wanted to make Xsure that every file in the archive is the latest Xversion of that file, you would type: X X ARC f safe X X XA word about Update and Freshen: These are similar in Xthat they look at the date and time of last change on Xthe file, and only add it if the file has been changed Xsince it was last archived. They differ in that XUpdate will add new files, while Freshen will not. X XIn other words, Update looks for the files on disk, Xand adds them if they are new or have changed, while XFreshen looks in the archive, and tries to update the Xfiles which are already there. X X XArchive entries are always maintained in alphabetic Xorder. Archive entries may not have duplicate names. XIf you add a file to an archive that already contains Xa file by that name, then the existing entry in the Xarchive is replaced. Also, the archive itself and its Xbackup will not be added. X XYou may also add a file which is in a directory other Xthan your current directory. For example, it is Xperfectly legal to type: X X ARC a junk c:\dustbin\stuff.txt X XYou cannot add two files with the same name. In other Xwords, if you have a file named "C:\DUSTBIN\STUFF.TXT" Xand another file named "C:\BUCKET\STUFF.TXT", then Xtyping: X X arc a junk c:\dustbin\*.* c:\bucket\*.* X Xwill not work. X X XARC does not save the path name. In other words, if Xyou specify a drive and/or path when adding a file, Xonly the actual file name is stored in the archive. X X X X X X X XARC Page 6 XARC will never add an archive to itself, nor will it Xadd the temporary copy or a backup copy of the Xarchive. X X XAn interesting note: It has been brought to our Xattention that BASIC programs compress to a smaller Xsize when they are *not* tokenized. If you are more Xconcerned with space than speed, you may wish to Xconvert your BASIC programs to ASCII form before Xadding them to an archive. Your BASIC manual should Xgive instructions on how to do this. X X X XEXTRACTING FILES X XArchive entries are extracted with the "E" (Extract) Xand "X" (eXtract) commands. For example, if you had Xan archive named "JUNK.ARC", and you wanted all files Xin it with an extension of ".TXT" or ".DOC" to be Xrecreated on your disk, you could type: X X ARC x junk *.txt *.doc X XIf you wanted to extract all of the files in an Xarchive named "JUNK.ARC", you could simply type: X X ARC x junk X XWhatever method of file compression was used in Xstoring the files is reversed, and uncompressed copies Xare created in the current directory. X XYou can also specify a path name, in which case the Xdecompressed copy is placed in the specified Xdirectory. For example, if you had an archive named X"JUNK.ARC", and you wanted all files in it with an Xextension of ".TXT" to be placed in the directory X"C:\WASTE\LAND", then you could type: X X ARC x junk c:\waste\land\*.txt X XIf you wanted to put the file "TRASH.TXT" on your A: Xdrive, and the file "LITTER.TXT" on your B: drive, you Xcould type: X X ARC x junk a:trash.txt b:litter.txt X X X X X X XARC Page 7 XIf you give more than one path for a file, then only Xthe first one is used. For example, if you typed: X X ARC x junk a:trash.txt b:trash.txt X Xthen TRASH.TXT will be placed on your A: drive. X X X XDELETING FILES X XArchive entries are deleted with the "D" (Delete) Xcommand. For example, if you had an archive named X"JUNK.ARC", and you wished to delete all entries in it Xwith a filename extension of ".C", you could type: X X ARC d junk *.c X X X XLISTING ARCHIVE ENTRIES X XYou can obtain a list of the contents of an archive by Xusing the "L" (List) command or the "V" (Verbose list) Xcommand. For example, to see what is in an archive Xnamed "JUNK.ARC", you could type: X X ARC l junk X XIf you are only interested in files with an extension Xof ".DOC", then you could type: X X ARC l junk *.doc X X XARC prints a short listing of an archive's contents Xlike this: X X Name Length Date X ============ ======== ========= X ALPHA.TXT 6784 16 May 85 X BRAVO.TXT 2432 16 May 85 X COCO.TXT 256 16 May 85 X ==== ======== X Total 3 9472 X X X"Name" is simply the name of the file. X X X X X X XARC Page 8 X"Length" is the unpacked file length. In other words, Xit is the number of bytes of disk space which the file Xwould take up if it were extracted. X X"Date" is the date on which the file had last been Xmodified, as of the time when it was added to the Xarchive. X X"Total" is pretty obvious, I think. X X XARC prints a verbose listing of an archive's contents Xlike this: X XName Length Stowage SF Size now Date Time CRC X============ ======== ======== ==== ======== ========= ====== ==== XALPHA.TXT 6784 Crunched 35% 4413 16 May 85 11:53a 8708 XBRAVO.TXT 2432 Crunched 41% 1438 16 May 85 11:53a 5BD6 XCOCO.TXT 256 Packed 5% 244 16 May 85 11:53a 3AFB X ==== ======== ==== ======== XTotal 3 9472 27% 6095 X X X"Name", "Length", and "Date" are the same as for a Xshort listing. X X"Stowage" is the compression method used. The Xfollowing compression methods are currently known: X X -- No compression. X X Packed Runs of repeated byte values are X collapsed. X X Crunched Lempel-Zev compression technique X employed. X X Squeezed Huffman encoding compression X technique, as employed by an X earlier version of ARC. X X"SF" is the stowage factor. In other words, it is the Xpercentage of the file length which was saved by Xcompression. The total stowage factor is the stowage Xfactor for the archive as a whole, not counting Xarchive overhead. X X"Size now" is the number of bytes the file is Xoccupying while in the archive. X X X X X XARC Page 9 X"Time" is the time of last modification, and is Xassociated with the date of last modification. X X"CRC" is the CRC check value which has been stored Xwith the file. Another CRC value will be calculated Xwhen the file is extracted or tested to ensure data Xintegrity. There is no especially good reason for Xdisplaying this value. X X X XRUNNING FILES X XArchive entries may be run without being extracted by Xuse of the "R" (Run) command. For example, if you had Xan archive named "JUNK.ARC" which contained a file Xnamed "LEMON.COM", which you wished to run, you could Xtype: X X ARC r junk lemon X XYou can run any file from an archive which has an Xextension of ".COM", ".EXE", ".BAT", or ".BAS". You Xdo not have to specify the extension, but all matching Xfiles are run if you do not. In other words, if you Xhad an archive named "JUNK.ARC" which contained the Xfiles "LEMON.COM", "LEMON.EXE", and "LEMON.BAS", and Xyou typed: X X ARC r junk lemon X XThen all three programs will be run. You can avoid Xthis by specifying an extension in this case. X XYou can give arguments to the program you are running Xby appending them to the command line. For example, Xif you have an archive named "JUNK.ARC" which contains Xa program named "LEMON.COM", and you wanted to run it Xgiving it the argument "JUICE", you would type: X X ARC r junk lemon juice X XYou will need a fair amount of memory to run a program Xfrom an archive. It probably cannot be done with less Xthan 256k. X X X X X X X X X XARC Page 10 XIn practice, the file to be run is extracted, run, and Xthen deleted. In other words, the above example is Xequivalent to: X X ARC x junk lemon.com X lemon juice X erase lemon.com X XIf you have an archive which contains a program that Xyou will be running often, then you should probably Xextract the program from the archive and use it Xnormally. X X X XPRINTING FILES X XArchive entries may be examined with the "P" (Print) Xcommand. This works the same as the Extract command, Xexcept that the files are not created on disk. XInstead, the contents of the files are written to Xstandard output. For example, if you wanted to see Xthe contents of every ".TXT" file in an archive named X"JUNK.ARC", but didn't want them saved on disk, you Xcould type: X X ARC p junk *.txt X XIf you wanted them to be printed on your printer Xinstead of on your screen, you could type: X X ARC p junk *.txt >prn X X X XTESTING AN ARCHIVE X XThe integrity of an archive may be tested by use of Xthe "T" (Test) command. This checks to make sure that Xall of the file headers are properly placed, and that Xall of the files are in good shape. X XThis can be very useful for critical archives, where Xdata integrity must be assured. When an archive is Xtested, all of the entries in the archive are unpacked X(without saving them anywhere) so that a CRC check Xvalue may be calculated and compared with the recorded XCRC value. X X X X X X XARC Page 11 XFor example, if you just received an archive named X"JUNK.ARC" over a phone line, and you want to make Xsure that you received it properly, you could type: X X ARC t junk X XIt defeats the purpose of the T command to combine it Xwith N or W. X X X XCONVERTING AN ARCHIVE X XThe "C" (Convert) command is used to convert an Xarchive entry to take advantage of newer compression Xtechniques. This is occasionally desirable when a new Xversion of ARC is released. Please refer to the Xrevision history section for details on when new Xcompression methods were implemented. X XFor example, if you had an archive named "JUNK.ARC", Xand you wanted to make sure that all files with an Xextension of ".DOC" were encoded using the very latest Xmethods, you could type: X X ARC c junk *.doc X XOr if you wanted to convert every file in the archive, Xyou could type: X X ARC c junk X X X X X X X X X X X X X X X X X X X X X X X XARC Page 12 X ARC OPTIONS X X X XThis section describes the options which are available Xto modify how ARC works. Any of these options can be Xcombined with any of the commands, though the result Xmay not always be something you'd want to do. X X X XSUPPRESSING COMPRESSION X XThe "S" (Suppress compression) option can be combined Xwith any command that updates archive entries. These Xinclude Add, Move, Update, Freshen, and Convert. The Xeffect of the S option is to prevent any compression Xtechniques from being employed. This is intended to Xallow you to add a few files at a time to an archive Xquickly, and then later convert the archive to Xcompress everything at once. X XFor example, over the course of a day you might give Xeach of the following commands: X X ARC as junk *.txt X ARC as junk *.mac X ARC as junk *.doc X XAt the end of the day, when you have finished adding Xthings to the archive, you could have all of the Xarchive entries compressed at once by typing: X X ARC c junk X XYou could also decompress the archive by typing: X X ARC cs junk X Xthough I can't imagine why you'd want to. X X X X X X X X X X X X X X XARC Page 13 XBACKUP RETENTION X XWhen ARC changes an archive (during an Add, Move, XUpdate, Freshen, Delete, or Convert) it creates a new Xarchive with the same name, but with an extension of X".$$$". For example, if you add a file to an archive Xnamed STUFF.ARC, then ARC will create a new archive Xnamed STUFF.$$$. ARC will read from your existing Xarchive and write out the new archive with any changes Xto the ".$$$" copy. X XNormally when ARC is finished it deletes the original Xand renames the new archive to the original name (ie. XSTUFF.ARC goes away, and STUFF.$$$ becomes the new XSTUFF.ARC). Among other things, this means that if Xanything goes wrong and ARC is unable to finish, then Xyour original archive will still be intact. X X XIn some circumstances you may wish to retain the Xoriginal version of the archive as a backup copy. You Xcan do this easily by using the Backup option. Add Xthe letter "B" to your command, and ARC will rename Xyour original archive to have an extension of ".BAK" Xinstead of deleting it. X X XIn other words, if you wanted to add "WASTE.TXT" to an Xarchive named "JUNK.ARC", but wanted to keep a backup Xcopy, then you would type: X X ARC ab junk waste.txt X XYour original archive would become "JUNK.BAK", while X"JUNK.ARC" would contain the new "WASTE.TXT" file. X X XIf you keep a backup of an archive which already has a Xbackup, then the older backup copy is deleted. X X X X X X X X X X X X X X X XARC Page 14 XMESSAGE SUPPRESSION X XARC prints three types of messages: warnings, Xcomments, and errors. X XWarnings are messages about suspected error Xconditions, such as when a file to be extracted Xalready exists, or when an extracted file fails the XCRC error check. Warnings may be suppressed by use of Xthe "W" (Warn) command. You should use this command Xsparingly. In fact, you should probably not use this Xcommand at all. X XComments (or notes) are informative messages, such as Xnaming each file as it is added to the archive. XComments and notes may be suppressed by use of the "N" X(Note) command. X XErrors are actual system problems, such as running out Xof disk space. You cannot suppress errors. X X XFor example, suppose you extracted all files with an Xextension of ".BAS" from an archive named "JUNK.ARC" XThen, after making some changes which you decide not Xto keep, you decide that you want to extract them all Xagain, but you don't want to be asked to confirm every Xone. In this case, you could type: X X ARC xw junk *.bas X XOr, if you are going to add a hundred files with an Xextension of ".MSG" to an archive named "TRASH.ARC", Xand you don't want ARC to list them as it adds them, Xyou could type: X X ARC an trash *.msg X XOr, if you want to extract the entire contents of an Xarchive named "JUNK.ARC", and you don't want to hear Xanything, then type: X X ARC xnw junk X X XA special case is provided when extracting files from Xan archive. One of the various warnings that can Xoccur is when a file being extracted already exists on Xdisk. Normally, ARC will stop and ask you if you want Xto overwrite the file. This can be suppressed with Xthe "W" command, but that will also suppress any X X X XARC Page 15 Xwarnings about other things, like failed CRC checks Xand such. X XThe "O" (Overwrite) option suppresses *only* the warning Xthat the file already exists. For example, in our Xearlier case of extracting all the ".BAS" files from X"JUNK.ARC", a much safer way to do it is to type: X X ARC xo junk *.BAS X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X XARC Page 16 XENCRYPTION/DECRYPTION X XArchive entries may be encrypted and decrypted by Xusing the "G" (Garble) option. The Garble option Xtakes the remainder of the command string as the Xpassword to use, so it must be the *last* option. X X XFor example, if you wanted to add a file named X"WASTE.TXT" to an archive named "JUNK.ARC", and you Xwanted to encrypt it using the password "DEBRIS", then Xyou would type: X X ARC agdebris junk waste.txt X XLater on, when you want to extract it again, you would Xtype: X X ARC xgdebris junk waste.txt X XThe password you supply is used to encrypt (or Xdecrypt) the archive entry by performing an exclusive XOR between each byte of the packed data and each byte Xof the password. The password can be any length, and Xeach of its bytes is used in rotation. The password Xis converted to uppercase before it is used, so it is X*not* case sensitive. Since the encryption is performed Xon the packed data, it has no effect on stowage Xfactors. X XThis is not a particularly sophisticated means of Xencryption, and it is theoretically possible to crack. XStill, since it is performed on the packed data, the Xresult should be quite sufficient for casual use. X X XYou can, if you wish, use different passwords for Xdifferent files in an archive, but we advise against Xit. If you are going to encrypt an archive, we Xsuggest you use the same password for every file, and Xgive the password whenever you do anything at all with Xthe archive. It is possible to list the entries in an Xencrypted archive using the "L" and "V" commands Xwithout giving the password, but nothing else will Xwork properly. X X XWe advise that you use this option sparingly, if at Xall. If you should forget or mistype your password, Xit is highly unlikely that you will ever recover your Xdata. X X X XARC Page 17 X RAMDISK SUPPORT X X X XIf you have a RAMdisk, or other high-speed storage, Xthen you can speed up ARC somewhat by telling it to Xput its temporary files on the RAMdisk. You do this Xby setting the ARCTEMP environment string with the MS- XDOS SET command. For example, if drive B: is your XRAMdisk, then you would type: X X set ARCTEMP=B: X XRefer to the MS-DOS manual for more details about the XSET command. You need only set the ARCTEMP string Xonce, and ARC will use it from then on until you Xchange its value or reboot your system. X X XIf ARC does not find an environment string named XARCTEMP, then it looks for one named TEMP to use Xinstead. Several packages already use the TEMP string Xfor exactly this purpose. If you have need of an Xenvironment string named TEMP for something else, then Xyou should be sure to define ARCTEMP. X X XThere are a limited number of temporary files created Xby ARC. The Convert command uses a file named X"$ARCTEMP.CVT" to hold each file as it is being Xconverted. The Run command also creates a temporary Xfile, which has the name "$ARCTEMP", and whose Xextension matches that of the file being run. X X X X X X X X X X X X X X X X X X X X X XARC Page 18 X MARC X X X XMARC is a separate program which is used to merge Xarchives created by ARC. MARC moves files from one Xarchive to another without unpacking them. X X XMARC is used as follows: X X MARC <target> <source> [<template> . . .] X XWhere: X X <target> is the name of the archive to add files X to. X X <source> is the name of the archive to read files X from. X X <template> is one or more file name templates. X The wildcard characters "*" and "?" may be used. X If no template is supplied, then all of the files X in <source> are added to <target>. X XIt is not necessary for the target to exist. If it Xdoes not exist, then it is created. Thus, MARC can be Xused as an "extractor" as well as a "merger". X X XFor example, if you wanted to create an archive named X"JUNK.ARC", which is to contain all of the files with Xan extension of ".TXT" which are currently contained Xin another archive named "WASTE.ARC", then you could Xtype: X X MARC junk waste *.txt X XIf you wanted to create an archive named "JUNK.ARC", Xwhich is to contain all of the files currently in the Xarchives "WASTE.ARC" and "TRASH.ARC", you could type: X X MARC junk waste X MARC junk trash X X XIf MARC is invoked with no arguments, then it gives Xbrief directions in its use. X X X X X XARC Page 19 X ARCE X X X XARCE is a program which is used to extract files from Xan archive. It will *only* extract files, and it will X*not* extract encrypted files. It doesn't do anything Xthat ARC can't do, but it is highly optimized for the Xsole purpose of archive extraction, so it is very Xsmall and very fast. X XARCE is used in a fashion very similar to the "ARC E" Xcommand (hence the name). The first argument is the Xname of the archive to extract files from, and may Xinclude a drive and path specifier. Up to sixteen Xadditional arguments can be supplied, which specify Xthe files to extract. The wildcard characters "*" and X"?" are allowed, as with ARC. If no files are named, Xthen all files are extracted from the archive. If the Xfile being extracted already exists, you are asked Xwhether or not you want to overwrite it. You can use Xthe "/R" option to bypass this. X XFor example, if you had an archive named "WASTE.ARC" Xthat you wanted to extract everything from, then you Xcould type: X X ARCE waste X XOr if you just wanted to extract the files with a Xfilename extension of ".ASM", you could type: X X ARCE waste *.asm X XIf you already have a few files from the archive that Xyou want replaced, then you could type: X X ARCE waste *.asm /R X XIf you run ARCE with no arguments at all, then it will Xgive you a brief reminder of how to use it. X X XNOTICE:NOTICE: ARCE is the copyrighted property of Vernon D. X Buerg and Wayne Chin. It is included on the X ARC program disk as a service to ARC users. X X Vernon D. Buerg X 456 Lakeshire Drive X Daly City, CA 94015 X RBBS: (415) 994-2944 X X X XARC Page 20 X VERSION NUMBERS X X X XThere seems to be some confusion about our version Xnumbering scheme. All of our version numbers are Xgiven as a number with two decimal places. X XThe units indicate a major revision, such as adding a Xnew packing algorithm. X XThe first decimal place (tenths) indicates a minor Xrevision that is not essential, but which may be Xdesired. X XThe second decimal place (hundredths) indicates a Xtrivial revision that will probably only be desired by Xspecific individuals or by die-hard "latest version" Xfanatics. X XARC also displays its date and time of last edit. A Xchange of the date and time without a corresponding Xchange in version number indicates a truly trivial Xchange, such as fixing a spelling error. X X XTo sum up: If the units change, then you should get Xthe newer version as soon as you can. If the tenths Xchange, then you may want to get the newer version, Xbut there's no hurry. If anything else changes, then Xyou probably shouldn't bother. X X X X X X X X X X X X X X X X X X X X X X X XARC Page 21 X COMMON QUESTIONS AND ANSWERS X X X XHere are some of the more common questions we've Xreceived about ARC, along with their answers: X X XQ: Why does ARC run out of room if I make an archive X bigger than about 180k? X XA: Because you are working on a floppy disk. ARC X creates a copy of your archive, incorporating any X new files as it goes. When it is done, it deletes X the original and renames the new one. There are a X number of reasons for doing it this way, one being X that your original archive is still intact if X anything happens while ARC is running. X X You can save some space by using drive specifiers X and having the archive and the files to add on X separate disks, but you still won't be able to make X an archive larger than about 180k. If you need to X make a larger archive, and if you have a fixed X disk, then you can create the archive on the fixed X disk and then copy it to the floppy. X X XQ: I've seen an ARC.COM and an ARC.EXE. Which one is X the right one? X XA: ARC.EXE. One or more people have been running ARC X through a utility that converts an ".EXE" file to a X ".COM" file. But this utility is designed to save X space, not speed. On ARC it saves about 250 bytes, X and makes no measurable difference in program X speed. We've decided that the savings are not X worth the extra step in development in this case. X X XQ: How can I get the latest version of ARC? X XA: ARC updates are distributed through normal X shareware channels, and by FidoNet. We also ship a X program update disk on every order of $50 or more. X Also, please refer to the next section for X information about our maintenance contracts. X X X X X X X XARC Page 22 XQ: Can I use ARC to distribute my public domain or X shareware program? X XA: Yes, of course. X X XQ: Can I use ARC to distribute my commercial software X package? X XA: Yes, provided that you obtain a commercial X distribution license from us. Please contact us X for details. X X XQ: I'm a commercial user. Why should I pay for X shareware that others get for free? X XA: Because you cannot credibly plead poverty. X ___ Shareware, all shareware, is an attempt to develop X a new marketing channel to the benefit of everyone. X You can still "test drive" shareware for a short X period, but if you decide to use it in your X business, then you should pay for it. X X XQ: Why not allow me to select which method of X compression I want ARC to use? X XA: It would needlessly complicate ARC, both internally X and in use. The exact nature of the compression X methods used are complex, and quite different. The X only sure way to tell which will be best in any X given case is to analyze the data, as ARC does. X The method chosen may not always be what you X expect. X X X X X X X X X X X X X X X X X X X XARC Page 23 X MAINTENANCE CONTRACTS X X X XRegistered users of ARC receive 90 days of telephone Xsupport at no extra charge. If you wish, you can Xextend this by pruchasing a maintenance contract. X XA maintenance contract costs $50 per year and entitles Xyou to unlimited telephone support, as well as free Xupdates to ARC as they come out. X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X XARC Page 24 X REVISION HISTORY X X X XCHANGES IN VERSION 3 X XThe function used to calculate the CRC check value in Xprevious versions has been found to be in error. It Xhas been replaced with the proper function. ARC will Xstill read archives created with earlier versions of XARC, but it will report a warning that the CRC value Xis in error. All archives created prior to version X3.0 should be unpacked and repacked with the latest Xversion of ARC. X X XTransmitting a file with XMODEM protocol rounds the Xsize up to the next multiple of 128 bytes, adding Xgarbage to the end of the file. This used to confuse XARC, causing it to think that the end of the archive Xwas invalidly formatted. This has been corrected in Xversion 3.01. Older archives may still be read, but XARC may report them to be improperly formatted. All Xfiles can be extracted, and no data is lost. In Xaddition, ARC will automatically correct the problem Xwhen it is encountered. X X X XCHANGES IN VERSION 4 X XARC is adding another data compression technique in Xthis version. We have been looking for some technique Xthat could improve on Huffman squeezing in at least a Xfew cases. So far, Lempel-Zev compression seems to be Xfulfilling our fondest hopes, often achieving Xcompression rates as much as 20% better than Xsqueezing, and sometimes even better. Huffman Xsqueezing depends on some bytes being more "popular" Xthan others, taking the file as a whole. Lempel-Zev Xcompression is instead looking for strings of bytes Xwhich are repeated at various points (such as an end Xof line followed by spaces for indentation). Lempel- XZev compression is therefore looking for repetition at Xa more "macro" level, often achieving impressive Xpacking rates. X XIn the typical case a file is added to an archive once Xand then extracted many times, so the increased time Xfor an update should more than pay for itself in Xincreased disk space and reduced transmission time. X X X XARC Page 25 XCHANGES IN VERSION 4.1 X XLempel-Zev coding has been improved somewhat by Xperforming non-repeat compression on the data before Xit is coded (as was already done with Huffman Xsqueezing). This has the two fold advantage of (a) Xreducing to some extent the amount of data to be Xencoded, and (b) increasing the time it takes for the Xstring table to fill up. Performance gains are small, Xbut noticeable. X XThe primary changes are in internal organization. ARC Xis now much "cleaner" inside. In addition to the Xaesthetic benefits to the author, this should make Xlife easier for the hackers out there. There is also Xa slight, but not noticeable, improvement in overall Xspeed when doing an update. X X X XCHANGES IN VERSION 4.3 X XVersion 4.3 adds the much-demanded feature of using Xpathnames when adding files to an archive. X XVersion 4.3 is also using a slightly different Xapproach when adding a file to an archive. The end Xresult is twofold: X X1) Slightly more disk space is required on the drive X containing the archive. This should only be X noticeable to those creating very large archives on X a floppy based system. X X2) A 30% reduction in packing time has been achieved X in most cases. This should be noticeable to X everyone. X XAs always, version 4.3 is still fully upwards Xcompatible, and is backwards compatible as far as Xversion 4.1. X X X X X X X X X X X X X XARC Page 26 XCHANGES IN VERSION 4.4 X XThe temporary file introduced in version 4.3 Xoccasionally caused problems for people who had not Xadded a FILES= statement to their CONFIG.SYS file. XThis has now been corrected. Also, support of the XARCTEMP environment string was added to allow placing Xof the temporary file on a RAMdisk. X XA bug was reported in the Run command, which has been Xfixed. From the nature of the bug, and the extreme Xtime required before the bug was reported, it is Xdeduced that the Run command is probably the least Xused feature of ARC. X XThe Update command was changed. It is no longer a Xstraight synonym for Add. Instead, Update now only Xadds a file if it is newer than the version already in Xthe archive, as shown by the MS-DOS date/time stamp. X X X XCHANGES IN VERSION 4.5 X XThe Convert command was not making use of RAMdisk Xsupport. Now it is. X XThe Freshen command was added. Our first choice for a Xname was Refresh, but we already had a Run command. XAssuming that you have an archive which already Xcontains everything you want in it (for software Xdistribution, perhaps), then Freshen would be used to Xupdate the archive. It was pointed out to us that ARC Xalready knows what is in the archive, so it should be Xable to look on disk for newer versions. Now it can. X XThe Suppress compression option was added by popular Xdemand. It allows files to be added quickly to an Xarchive, since the files are not analyzed or Xcompressed, but merely stored straight. The intent is Xto allow users to build an archive "in pieces", and Xthen compress all of the entries at once with the XConvert command. The conversion is much faster if you Xtake advantage of RAMdisk support. X XA minor bug was detected in our handling of date/time Xstamps which occasionally resulted in stamping an Xarchive with the wrong date and time. This has been Xcorrected. X X X X X XARC Page 27 XCHANGES IN VERSION 5.0 X XThe Move command used to delete the files as it went. XIt now waits until it is finished updating the Xarchive, and deletes them all at once. (You *did* know Xthat Move is just an Add where the file gets deleted, Xdidn't you?) This, along with the changes made in Xversion 4.5, means that it is now much safer to Xinterrupt ARC while it is working. X XThe Print command no longer prints the name of each Xfile. Instead, it prints a formfeed after each file. X XThe Run command now supports BASICA programs. Also, Xthe filename extension is no longer required on the XRun command. X XThe Garble option was added. It provides a convenient Xmeans of low level data security for the casual user. XUse it sparingly, if at all. X XARC no longer tests for the presence of $ARCTEMP.CRN Xbefore creating a new one. If you interrupt ARC a Xlot, you'll find this much more convenient. If you Xhappen to have a file named $ARCTEMP.CRN which you Xwant to keep, too bad. X XImproved error recovery was added when reading an Xarchive. ARC now has a good chance of recovering the Xdata from a corrupted archive (the corrupted entry is Xstill lost, of course). X XPath support has been added for all commands, though Xit doesn't do anything on most of them. For example, Xthere isn't much we can do with a path in the List Xcommand. But many users will be glad to know that a Xpath can be used when extracting a file, and specifies Xwhere the file is to be placed. X XSupport for the TEMP environment string was added. If XARC doesn't find an environment string named ARCTEMP, Xthen it looks for one named TEMP to use instead. XSeveral packages already use the TEMP string for Xexactly this purpose. With any luck, maybe we can get Xa standard going. X X X X X X X X X XARC Page 28 XARC is now using a different variation of Lempel-Zev Xcoding, courtesy of Kent Williams, who found it on XUSENET and adapted it to the IBM PC. The new method Xdiffers from the old in several respects. The most Xsignificant differences are: X X1) Where our previous implementation used a fixed code X size of twelve bits, the new one starts with a code X size of nine bits and increases it as it needs to. X X2) The earlier method tended to "choke" on large files X when its string table filled up. The new method X has a rather ingenious scheme its authors call X "adaptive reset." When it notices that its string X table has filled, and its compression ratio is X starting to suffer, it clears the table and starts X defining new strings. X XOur benchmarks show an improvement in compression on Xthe order of 10% when crunching is used. XAdditionally, ARC 5.0 is on the order of 23% faster at Xadding a file when crunching is used, or 13% faster Xwhen squeezing is used. Extracting a file crunched Xwith the new method is 27% faster than it is with the Xold method. Extraction of any other type of file X(including those crunched with the older method) is no Xfaster than before. These figures are based on our Xown benchmark tests; your results may vary. X XThe previous implementation of Lempel-Zev coding is no Xlonger used to pack files. The "V" (Verbose listing) Xcommand distinguishes between the two by referring to Xthe older method as "crunched" (with a lower-case X"c"), and the newer method as "Crunched" (with a Xcapital "C"). X XARC 5.0 can still read archives created by earlier Xversions of ARC, but once again it creates archives Xwhich older versions cannot read. X X X XCHANGES IN VERSION 5.1 X XRick Moore discovered that ARC was occasionally adding Xan archive to itself. This would only happen when the Xarchive is in the same directory as the files being Xadded, and its name comes last. This bug has been Xfixed, though it is still possible to fool ARC into Xadding an archive to itself by getting tricky with Xpath names. X X X XARC Page 29 XDana Montgomery found the upper limit on how many Xfiles can be added to an archive. There's always been Xan upper limit, but it depends on memory, and used to Xbe larger than anyone could possibly want (knock on Xwood). However, the added memory requirements in Xversion 5.0 lowered this limit into the realm of Xpossibility, somewhere around 300 files. We change Xsome things around, and effectively, there is no Xlonger a limit on how many files you can add at once. XARC will add the files in batches of as many as it can Xhandle at one time. X XWe've also introduced a new packaging method for ARC Xand its documentation, since we are in the unique Xposition of being unable to use ARC for this purpose. XWe've created a program called ARC51.COM which, when Xexecuted, attempts to create the ARC program and Xmanual. You must be in the same directory as XARC51.COM when you run it. X X X XCHANGES IN VERSION 5.2 X XWe've made some changes to Lempel-Zev coding to Xfurther improve its compression ability on "poor fit" Xfiles (mainly .EXE and .COM files). The result is Xthat crunching now works better than squeezing on Xalmost all files, and comes close on most of the rest X(within 5%, by our benchmarks). Accordingly, we have Xdropped Huffman encoding in this version. Our Xbenchmarks show a speed improvement of around 14% when Xadding a file to an archive. X XA low-level file copy routine was implemented to speed Xup bulk data moves. Deleting or adding a file to a Xlarge existing archive is now much faster. X XThe Run command has been modified to allow passing Xcommand line arguments to the program being run. X XThe temporary file introduced in version 4.3 has been Xeliminated. Crunched output generated in the analysis Xphase is now placed directly in the output archive, Xand is rewritten if crunching turns out not to be the Xbest choice. This can, in rare circumstances, cause Xan archive to be slightly larger than it should be, Xbut it also makes ARC considerably faster at adding Xfiles to an archive. X X X X X XARC Page 30 X PROGRAM HISTORY AND CREDITS X X X XIn its short life thus far, ARC has astounded us with Xits popularity. We first wrote it in March of 1985 Xbecause we wanted an archive utility that used a Xdistributive directory approach, since this has Xcertain advantages over the then popular central Xdirectory approach. We added automatic squeezing in Xversion 2 at the prompting of a friend. In version X2.1 we added the code to test for the best compression Xmethod. In less than a year we found that our humble Xlittle program had spread across the country, and Xseems to have become a new institution. X XWe are thankful for the support and appreciation we Xhave received. We hope that you find this program of Xuse. X X XIf we have achieved greatness, it is because we have Xstood upon the shoulders of giants. Nothing is Xcreated as a thing unto itself, and ARC is no Xexception. Therefore, we would like to give credit to Xthe following people, without whose efforts ARC could Xnot exist: X X XBrian W. Kernighan and P. J. Plauger, whose book X"Software Tools" provided many of the ideas behind the Xdistributive directory approach used by ARC. X XDick Greenlaw, who wrote the public domain SQ and USQ Xprograms, in which the Huffman squeezing algorithm was Xfirst developed. X XRobert J. Beilstein, who adapted SQ and USQ to XComputer Innovations C86 (the language we use), thus Xproviding us with important parts of our squeezing Xlogic. X XKent Williams, who graciously allowed us to use his XLZWCOM and LZWUNC programs as a basis for our Lempel- XZev compression logic, and who continues to make Xvaluable contributions. X XDavid Schwaderer, whose article in the April 1985 Xissue of PC Tech Journal provided us with the logic Xfor calculating the CRC 16 bit polynomial. X X X X XARC Page 31 XTerry A. Welch, whose article "A Technique for High XPerformance Data Compression", IEEE Computer Vol 17 No X6 (June 1984) seems to have started all the research Xon Lempel-Zev coding. X XSpencer W. Thomas, Jim McKie, Steve Davies, Ken XTurkowski, James A. Woods, and Joe Orost, who are the Xauthors of the UNIX compress utility. X XAlex Jacobs, who in June of 1985 sent us the very Xfirst shareware contribution we ever received. X X XAnd many, many others whom we could not identify. X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X XARC Page 32 X BULLETIN BOARDS X X X XARC is distributed mainly through shareware channels. XAmong other things, this means that ARC is available Xfrom many bulletin board systems. In fact, the system Xoperators (sysops) of many bulletin boards have taken Xto storing almost all of their downloadable files in Xarchives to save themselves disk space and to save Xtheir users time. X XThis also makes things more convenient for the Xbulletin board users, since one archive may contain Xseveral programs, any related data files, and the Xdocumentation. Many shareware authors have taken to Xdistributing their software in archives to help ensure Xthat the users receive everything. X XObviously, we can't do that with ARC. As a result, Xmany of our users have ARC, but don't have the manual. XMost of our customer support calls come from people Xwho have never seen the manual, and in many cases Xdidn't even know that one exists! X XTo solve this problem we developed what is in essence Xa self-unpacking archive. We distribute this as X"ARCxxx.COM", where "xxx" is the current version Xnumber. For example, ARC version 5.20 would be Xdistributed as "ARC520.COM". This program, when run, Xunpacks itself into a copy of ARC plus its Xdocumentation. X XNow that we've gone to all that work, we'd really Xappreciate it if you would use this program when you Xdistribute ARC. X X X X X X X X X X X X X X X X X X XARC Page 33 X SITE LICENSES X X X XCorporate users may wish to obtain a site license for Xthe use of ARC. Please use the order form in this Xmanual to order a site license. Site licenses are Xgranted as of when we receive your payment. License Xfees vary depending on the number of computers on Xwhich ARC will be used, as follows: X X 1 to 9 machines $35 each X 10 to 24 machines $25 each X 25 to 49 machines $20 each X 50 to 99 machines $15 each X over 99 machines $1500 one time fee X X X XEnclosed is a site license agreement, which should be Xsigned and sent with your payment when ordering a Xcommercial site license. X X XA commercial site license does not include additional Xcopies of the ARC program disk and the ARC manual. XInstead, you make your own copies of the disk and Xmanual as you need them. If you wish, you can order Xadditional program disks and manuals from us. X XAdditional program disks cost $10 each. Additional Xmanuals cost $20 each. If you wish, you can order Xprogram sets for $40 each. A "program set" is a Xprogram disk and manual enclosed in a vinyl binder. XThere is a $50 minimum on all orders. X X X X X X X X X X X X X X X X X X X XARC Page 34 X SITE LICENSE APPLICATION X X X XThe use of ARC in a commercial environment or government organization Xis granted under the following terms: X X1. Payment of the license fee must be made to System Enhancement X Associates, Inc. The fee is based on the number of computers X which will be used to run ARC, as follows: X X 1 to 9 machines $35 each X 10 to 24 machines $25 each X 25 to 49 machines $20 each X 50 to 99 machines $15 each X over 99 machines $1500 one time fee X X2. You may use ARC on the number of computers included in the license X fee. If you have paid the fee for over 99 machines, then you may X use ARC on any number of computers within your organization. X X3. You may make copies of the program and documentation, in their X original, unmodified form, without restriction. You may X distribute these copies without restriction. X X4. If these copies are distributed outside of your organization, you X have no obligation to control the use of those copies which are X outside of your organization. X X5. You may make copies of the program documentation, in both its X printed form and machine readable form, without restriction. X X6. You may use all future versions of ARC under this license. X X7. You may *not* modify the program or charge a fee for copying or X distributing the program or its documentation. X X8. It is your responsibility to make the necessary copies and to X deliver them to the computers which they will be used on. If you X wish, you can order additional ARC program disks and manuals. X X9. We are not responsible for *anything* that may happen or not happen X if you use ARC. You're on your own. X X X I agree to abide by the terms and conditions of this license. X X _____________________________ __________________________ X Signature Date X X _____________________________ X Name (please print or type) X X _____________________________ X Title X X _____________________________ X Company X X X ORDER FORM X X X XCheck which items you wish to purchase: X X [] Noncommercial license for the use of ARC. X X [] Commercial license for the use of ARC on ___ computers (see X attached price schedule and terms). X X [] Program disk and documentation (only on orders of $50 or more, X not counting maintenance contracts). X X [] ____ additional program disks at $10 per disk. X X [] ____ additional manuals at $20 per manual X X [] ____ additional program sets (disk, manual, and binder) at $40 X per program set. X X [] One year maintenance agreement at $50 per year. X X [] Payment of $_____ is enclosed (check or money order). X X [] Please charge $_____ to my [] Visa or [] MasterCard: X X Card number: _______________________________ X X Expiration date: ___________________________ X X Signature: _________________________________ X X _______________________________________________ X Name X X _______________________________________________ X X X _______________________________________________ X Address X X ______________________ ________ ____________ X City State Zip X X _______/_______ X FidoNet address X X XSend this completed form to: X X System Enhancement Associates, Inc. X 21 New Street, Wayne NJ 07470 X XFor program disk orders outside the U.S., please add an additional $5, Xand enclose an international money order payable in U.S. currency. X XFor commercial site license orders, please enclose a signed copy of Xthe site license agreement. X ________This_Is_The_END________ if test `wc -c < Arc521.doc` -ne 54144; then echo 'shar: Arc521.doc was damaged during transit (should have been 54144 bytes)' fi fi ; : end of overwriting check echo 'x - arc.1' if test -f arc.1; then echo 'shar: not overwriting arc.1'; else sed 's/^X//' << '________This_Is_The_END________' > arc.1 X.TH ARC 1L "12 Jun 1988" "Local" "LOCAL COMMANDS" X.SH NAME Xarc \- pc archive utility X.SH SYNOPSIS X.B arc Xa|m|u|f|d|x|e|r|p|l|v|t|c [ biswnoq ] [ g\fIpassword\fR ] X.I archive X[ \fIfilename\fR ...] X.SH DESCRIPTION X.I Arc Xis a general archive and file compression utility, used to maintain Xa compressed archive of files. XAn X.I archive Xis a single file that combines many files, reducing storage space Xand allowing multiple files to be handled as one. X.I Arc Xuses one of several compression methods for each file within the X.IR archive , Xbased on whichever method yields the smallest result. X.SH INSTRUCTIONS XExecute X.I arc Xwith no arguments for fairly verbose, usable instructions. X.SH COMMAND SWITCHES X.TP 3 Xa Xadd files to archive. Copies the indicated files to the archive. X.TP Xm Xmove files to archive. Same as 'a' switch except Xthat the files are deleted from the directory as Xthey are moved to the archive. X.TP Xu Xupdate files in archive. This switch will replace archived Xfiles when the named file is newer than the archived copy. XNew files will be added automatically. X.TP Xf Xfreshen files in archive. Same as 'u' except that Xnew files will not be added. X.TP Xd Xdelete files in archive. The named files are removed from the archive. X.TP Xx,e Xextract files from archive. The named files are extracted Xfrom the archive and created in the current directory Xin an uncompressed state. X.TP Xr Xrun one file with arguments from archive. Any Xprogram may be executed directly from the archive. XThe parameters given after the program name are passed to Xthe program without modification. X.TP Xp Xcopy files from archive to standard output. Useful Xwith I/O redirection. A form-feed is appended after each file, Xto ease use with printers. X.TP Xl Xlist files in archive. Limited information listing Xof files contained in an archive. Displays the Xfilename, original length, and date last modified. XIf the 'n' option (see below) is used, only the Xfilename is displayed. X.TP Xv Xverbose listing of files in archive. Complete Xinformation listing of files contained in an archive. XDisplays the filename, original length, storage method, Xstorage factor (% savings), compressed size, date, time, Xand CRC. X.TP Xt Xtest archive integrity. Computes CRC values for each member of Xthe archive and compares against the previously saved value. X.TP Xc Xconvert entry to new packing method. Convert files Xstored with older methods to newer methods that are Xmore efficient. Also useful for files previously Xarchived with the 's' option. X.SH OPTIONS X.TP 3 Xb Xretain backup copy of archive. Keep the original Xarchive file and rename to .BAK. XThis switch may be used with the Xfollowing commands: a, m, u, f, d, c. X.TP Xi Xsuppress image mode. This switch causes files to Xbe treated as text files, and will translate their Xend-of-line sequence. (Unix's '\\n' vs. '\\r\\n' used Xon many other systems.) The default is to perform Xno translation when compressing or extracting files. XThis option makes dealing with text files much nicer, Xthough the 'tr' command can also be used. ('\\r' in Xmakefiles and C source code is such a nuisance...) X.TP Xs Xsuppress compression. This forces new files to be Xsaved using Method 2 (no compression). This switch Xmay be used with the following commands: a, m, u, f, c. X.TP Xw Xsuppress warning messages. This switch will keep Xwarning messages from being displayed which is the default. XMost warnings concern the deletion or existence of Xfiles with the same name. X.TP Xn Xsuppress notes and comments. This switch will keep Xuseful notes from being displayed which is the default. XMost notes indicate what stage of compression is Xbeing run (analyze, compaction, storage). X.TP Xo Xoverwrite existing files when extracting. This switch Xwill make existing files silently get overwritten, instead Xof asking for confirmation, which is the default. X.TP Xq Xforce Squash compression method. This switch causes Xthe Squash compression method to be used, instead of XCrunch, which is the default. X.TP Xg Xencrypt/decrypt archive entry. This is used to encode Xfiles so that others may not read them. BE CAREFUL! XThis must be the last parameter in the switches because Xeverything following is part of the password. X.SH PROGRAMMING NOTES X.I Arc XVersion 2 differs from version 1 in that archive entries Xare automatically compressed when they are added to the archive, Xmaking a separate compression step unecessary. The nature of the Xcompression is indicated by the header version number placed in Xeach archive entry, as follows: X.nf X 1 = Old style, no compression X 2 = New style, no compression X 3 = Compression of repeated characters only X 4 = Compression of repeated characters plus Huffman SQueezing X 5 = Lempel-Zev packing of repeated strings (old style) X 6 = Lempel-Zev packing of repeated strings (new style) X 7 = Lempel-Zev Williams packing with improved hash function X 8 = Dynamic Lempel-Zev packing with adaptive reset X 9 = Squashing X.fi X XType 5, Lempel-Zev packing, was added as of version 4.0 X XType 6 is Lempel-Zev packing where runs of repeated characters Xhave been collapsed, and was added as of version 4.1 X XType 7 is a variation of Lempel-Zev using a different hash Xfunction which yields speed improvements of 20-25%, and was Xadded as of version 4.6 X XType 8 is a different implementation of Lempel-Zev, using a Xvariable code size and an adaptive block reset, and was added Xas of version 5.0 X XType 9 is another variation of Lempel-Zev, using a larger Xhash table. This method was developed by Phil Katz, and is Xnot supported by the "official" \fBARC\fP programs. X X.I Arc Xwill look for environment variables named \fIARCTEMP\fP or X\fITMPDIR\fP, which, if present, indicates the pathname Xwhere temporary files should be created. This is typically Xthe location of a RAMdisk on a microcomputer, "/tmp/" or Xleft unset. X XSee the included documentation file for more details. X.SH HISTORY X\fIArc\fP has been in use in the CP/M and MSDOS world for many years. XThom Henderson developed the original version, but it is important to note that X\fIarc\fP is based on the file compression theories developed by Huffman, Welch, XKnott, Knuth, and many other scientists. This implementation is based on Xversion 5.21 of the MSDOS program. X.SH BUGS X\fIArc\fP behaves just like the PC version of the program; all functions Xof the "usage" display are working. XFull compatibility with PC ARC files is maintained, the price for which is Xthat \fIarc\fP doesn't like long filenames, and can only archive files with Xnames of up to 12 characters. XIt will *sometimes* do The Right Thing with them, but I suggest Xyou put long-winded filenames in a "shar" before X.IR arc ing Xthem. X XThere shouldn't be any problems, (hah!) but if you find any, please Xsend them to me at: X X hyc@umix.cc.umich.edu X {rutgers, uunet}!umix!hyc X X.SH AUTHORS XOriginal MSDOS program by Thom Henderson X.br XCOPYRIGHT(C) 1985-87 by System Enhancement Associates; ALL RIGHTS RESERVED X XOriginal Lempel-Zev code derived from compress 4.0. XModified to support Squashing by Dan Lanciani (ddl@harvard.edu) XPorted from MSDOS by Howard Chu (umix!hyc), Xwith help from John Gilmore (hoptoad!gnu), James Turner (daisy!turner) Xand others. ________This_Is_The_END________ if test `wc -c < arc.1` -ne 7232; then echo 'shar: arc.1 was damaged during transit (should have been 7232 bytes)' fi fi ; : end of overwriting check exit 0 -- Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.