home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
- ArcAnal
-
- Archive Analysis BBS Utility, version 1.30 User Manual
-
- Copyright 1992, 1993 by David G. Fisher. All rights reserved.
-
-
-
- LiveNet OS/2 BBS
- 1:170/110@fidonet, 40:4372/0 (ibmNET), 81:202/201 (OS2NET)
-
-
-
- TABLE OF CONTENTS
-
- Overview
- What Is ArcAnal?.................................3
- Disclaimer.......................................4
- Disclaimer.......................................4
- Description of Syntax............................5
- Limitations......................................6
- General Use......................................7
-
- Using ArcAnal
- The Configuration File...........................8
- Common Qualifiers................................9
- Building a Database.............................10
- Updating a Database.............................12
- Analyzing a Database and Creating Reports.......13
- Description of Options.....................14
- Archive Filename Report (DUPARCHIVENAMES)..16
- Archive Contents Report (DUPCONTENTS)......17
- Resetting Archive Dates.........................19
- Displaying A Database...........................20
- Purging Your File Collection....................21
-
- Examples
- Cleaning Up Your File Sections..................22
-
-
-
- ArcAnal 1.30 Users Manual Page 3
- ------------------------------------------------------------------
-
- What Is ArcAnal?
-
- ArcAnal was originally conceived out of the necessity to recover
- disk space--which was rapidly disappearing! I wanted the ability
- to determine which archives were identical in the file collection
- (but which had different archive file names) and which archives
- are really only older versions of the same files. Using ArcAnal,
- I was able to easily recover over 35MB of disk space from a 250MB
- file collection, and improve the accuracy of that file collection.
- The accuracy was improved by being able to select the "best"
- descriptions for duplicate files, set the dates of the archives
- themselves to the date of the newest file *within* the archive,
- eliminate duplicate archives, and delete old versions of the same
- archive/program.
-
- In this document, I will be using the term "archive" to mean any
- file that has been compressed and contains one or more files
- within it. I will be using the term "contents" to refer to all
- the files within an archive. Also, whenever a command is given as
- an example, I will break the command apart over several lines for
- readability. When this command is actually executed, however, it
- would all be contained on one line.
-
- ArcAnal will create a database of the file areas you select. The
- database contains information on all your archives (*.ARJ, *.ZIP,
- *.LZH, *.ZOO, etc.) in the file areas. This information includes
- how many files are within the archives, and the names, dates, and
- sizes of these files.
-
- This database can then be continually updated as new files are
- added to your collection, or these files are moved to different
- directories. Reports on your file areas can be generated using
- the database. These reports can then be used when instructing
- ArcAnal which files are to be purged, have descriptions changed,
- or simply left alone.
-
- A side benefit of ArcAnal is the ability to test files before they
- are released into your downloadable sections. This is especially
- helpful if you are part of a File Distribution Network and want to
- make sure that the file has not been previously "hatched" under a
- different name, or *has* been hatched under a different name, but
- has the same contents.
-
- The most recent ARCANAL release is always available here with the
- magic File Request name of ARCANAL.
-
- Dave Fisher
- LiveNet, 1:170/110@fidonet.org
- 40:4372/0 (ibmNET)
- 81:202/201 (OS2NET)
-
- Please don't hesitate to send suggestions. Find a bug and I'll
- promptly try to make a new version, or at least a temporary work-
- around, available to you.
-
-
-
- ArcAnal 1.30 Users Manual Page 4
- ------------------------------------------------------------------
-
- Disclaimer
-
- Disclaimer
-
- This program is shareware. There is absolutely no warranty for
- this program or guarantee it will work. The user of this program
- assumes all risk. While I feel confident this program will not
- harm your system in any way, by using this program, you agree to
- assume full responsibility for any adverse effect to your system.
-
- PLEASE BACKUP YOUR SYSTEM! Since this program can be used to
- modify files in your downloadable file sections, I strongly advise
- that you make sure your entire file collection is backed up before
- running ArcAnal.
-
- While I don't demand a contribution, if you find this program
- useful and would like to contribute to ongoing shareware
- development, please feel free to send a contribution of $10 or
- more to:
-
- Dave Fisher
- 5131 East 88th Court
- Tulsa, Oklahoma 74137
- USA
-
- Where applicable, all trademarks referred to here are the property
- of their owners.
-
-
-
- ArcAnal 1.30 Users Manual Page 5
- ------------------------------------------------------------------
-
- Description of Syntax
-
- Please note that any [action] command keyword or qualifier (all
- /xxxx keywords) are only significant to 4 characters. Thus,
- "/Config" can be expressed as "/Conf".
-
- ArcAnal [action] [qualifiers...]
-
- Common qualifiers to all [action] commands: Defaults
-
- /Config = <path+file name> : ArcAnal.cfg
- /[no]Log : NoLog
- /LogFile = <path+file name> : None
- /LogLevel = <1..4> : 4
- /[no]Quiet : NoQuiet
-
- Specific [action] commands and qualifiers:
-
- ArcAnal BUILD DATABASE <database name>
-
- ArcAnal UPDATE DATABASE <database name>
-
- ArcAnal ANALYZE DATABASE <database name>
- /Output=<filename> : STDOUT
- /Report=(DUPARCHIVENAMES, DUPCONTENTS) : DUPARCHIVENAMES
- /Include=(PATHS, DESCRIPTIONS, ADDRESSES) : No Includes
- /Basenum=<number> : 5
- /Percent=<percent threshold> : 80%
- /DateMatch : NoDateMatch
- /SizeMatch : NoSizeMatch
-
- ArcAnal RESETDATES DATABASE <database name>
-
- ArcAnal DISPLAY DATABASE <database name>
-
- ArcAnal TEST FILE <filename>
- /Database=<database name> : (first defined
- database)
- ArcAnal PURGE DATABASE <database name>
- /Input=<report filename> : None
-
-
-
- ArcAnal 1.30 Users Manual Page 6
- ------------------------------------------------------------------
-
- Limitations
-
- The single greatest limitation of ArcAnal right now is its
- availability under multiple operating systems. Currently ArcAnal
- will only run under OS/2 version 2.0 or greater. This is a 32-bit
- application and has the potential of consuming a great amount of
- memory as it runs. It would be possible to compile the program as
- a 16-bit application, and thus have it available for OS/2 version
- 1.3 or earlier, as well as MS-DOS, but to do so would require time
- that I do not currently have since I would have to re-design some
- of the data structures that can exceed the 64k segment limitation
- under 16-bit operating systems.
-
- The TEST FILE command is not yet implemented.
-
-
-
- ArcAnal 1.30 Users Manual Page 7
- ------------------------------------------------------------------
-
- General Use
-
- The basic use of ArcAnal is as an analysis tool. To use ArcAnal
- as an analysis tool with the intent to clean up your file
- sections, you would take the following basic steps:
-
- 1. Define all your file sections in the ArcAnal
- configuration file and assign them a Database Name.
-
- 2. Create the Database.
-
- 3. Create an analysis report.
-
- 4. Edit the report file, marking the entries you wish to
- change or delete in the file sections.
-
- 5. Purge the file sections using the edited report file.
-
-
-
- ArcAnal 1.30 Users Manual Page 8
- ------------------------------------------------------------------
-
- The Configuration File
-
- The configuration file provides ArcAnal with information
- concerning default behavior, as well as definitions for you file
- areas and archival programs.
-
- The configuration file included with ArcAnal is the file that I
- use on my own system. It is highly documented, and is meant to be
- a companion to this document. It can be modified to reflect your
- file areas and the default behaviors you wish to see ArcAnal use
- (logging levels, work directories, etc).
-
-
-
- ArcAnal 1.30 Users Manual Page 9
- ------------------------------------------------------------------
-
- Common Qualifiers
-
- The qualifiers discussed in this section can be used on any
- ArcAnal command.
-
- /Config = <path+file name>
-
- This is the name of the configuration file. The default
- is ArcAnal.Cfg in the current directory. You can also
- define the environment variable ARCANAL_CONFIG=<path+file
- name> instead of using this qualifier.
-
- /[no]Log
-
- This qualifier will turn the logging function on and off.
-
- /LogFile = <path+file name>
-
- This qualifier defines the name of the log file.
-
- /LogLevel = <1..4>
-
- This qualifier defines the level of message detail in the
- log file. Level 1 is the least detailed, while Level 4 is
- the most verbose. The levels indicate the 'importance' of
- a message, where Level 1 is the most important (usually
- error messages).
-
- /[no]Quiet
-
- This qualifier controls whether the program should emit an
- printed output. If /Quiet, the only output will be the
- program copyright line and any error messages. The
- default is /NoQuiet.
-
-
-
- ArcAnal 1.30 Users Manual Page 10
- ------------------------------------------------------------------
-
- Building a Database
-
- The database created by ArcAnal is the central aspect of the
- program. ArcAnal will create three files:
-
- [databasename].ARC
-
- Not to be confused with the archival program ARC, this file
- contains information on each archive file within your file
- areas.
-
- [databasename].CON
-
- This file contains information on the actual contents of the
- files within the archives, and is linked back to the archive
- entry within the file [databasename].ARC.
-
- [databasename].DIR
-
- This file is a list of all the physical directories where
- your downloadable files are kept, and is linked back to the
- archive entry within the file [databasename].ARC.
-
- [databasename] is an 8 character name that you define in the
- configuration file.
-
- A database definition in the configuration file consists of two
- primary sections: the (1) database definition, and (2) file
- sections belonging to that database. The latter section is
- optional. It is possible to receive the database file another
- system and perform analysis or file checks against that database.
- This would primarily be used by File Networks to avoid releasing
- duplicate files into the network.
-
- The Database Definition
-
- DatabaseName [database name]
-
- The database is used both as the base name of the actual
- database files, and also as the name used on the command
- line when referencing a database. Unless you are using
- HPFS and do intend on sending your database to another
- system, it would be wise to keep the database name limited
- to 8 characters.
-
- DatabaseDirectory [database directory]
-
- The database directory is the physical place your database
- resides on your system. Depending upon the number of
- files in your collection, it could become quite large.
- For example, a database of my OS/2 file collection of
- around 2400 files took a total of about 700K. My DOS
- sections of around 450 files took a total of about 200K.
-
- After the above information is defined, all the file sections that
- belong to this database must be defined.
-
-
-
- ArcAnal 1.30 Users Manual Page 11
- ------------------------------------------------------------------
-
- FileSection_FILESBBS [file name of FILES.BBS]
-
- This is the full path and filename of the FILES.BBS
- associated with the file area. Since some systems keep
- their FILES.BBS files in a different directory, both this
- file and the directory must be defined separately.
-
- FileSection_Directory [directory for downloadable files]
-
- This is the full path where the actual files are stored in
- your file areas.
-
- There is no functional limit on the number of areas that can be
- defined. However, the areas must be defined in "couplets" with
- FileSection_FILESBBS first, and then FileSection_Directory last.
-
- Once the database is defined in the configuration, execute ArcAnal
- as follows to create the database:
-
- ARCANAL BUILD DATABASE [databasename]
-
- ArcAnal will then search each file area defined, determine if the
- file is an archive that has been defined in the configuration
- file, get a listing from the compressed file, and add the
- information from that archive to the database.
-
-
-
- ArcAnal 1.30 Users Manual Page 12
- ------------------------------------------------------------------
-
- Updating a Database
-
- Once an initial database has been created, ArcAnal can be used to
- scan the file areas for new files that are not within the
- database. ArcAnal will also check to see if an archive has been
- moved or deleted. If it has, it will delete the entry in the
- database, and add the entry for the new file if it has been moved.
-
- To update the database, periodically (perhaps once a day in a
- scheduled event) execute the following command:
-
- ARCANAL UPDATE DATABASE [databasename]
-
- Execute this command for each database defined on your system that
- has file areas associated with it.
-
-
-
- ArcAnal 1.30 Users Manual Page 13
- ------------------------------------------------------------------
-
- Analyzing a Database and Creating Reports
-
- There are two types of analyses that can be performed. One on the
- actual archive file names, and one on the contents of the
- archives.
-
- Originally, the analysis of a database was "disk-bound". This
- means that very little of the database was read into RAM, but
- instead accessed directly from the disk. The reason for this was
- because the database could grow quite huge, and would consume a
- great amount of RAM just to run. However, after performing an
- analysis on the contents of the archives which took about 6 hours
- to run on a 486/33Mhz ESDI drive system, I decided to use RAM.
- Please note that if you run OS/2 with 8MB of RAM, that you very
- well may be hitting the SWAPPER quite a bit. On an 486/33, 8MB
- machine, ArcAnal could take up to 40 minutes on a large file
- collection. On a 16MB machine, it would take a couple of minutes!
-
- In order to execute an analysis and create a report, use the
- following command:
-
- ARCANAL ANALYZE DATABASE [databasename]
- /Output=<filename> : STDOUT
- /Report=(DUPARCHIVENAMES, DUPCONTENTS) : DUPARCHIVENAMES
- /Include=(PATHS, DESCRIPTIONS, ADDRESSES) : No Includes
- /Basenum=<number> : 5
- /Percent=<percent threshold> : 80%
- /[no]DateMatch : NoDateMatch
- /[no]SizeMatch : NoSizeMatch
-
-
-
- ArcAnal 1.30 Users Manual Page 14
- ------------------------------------------------------------------
-
- Description of Options
-
- /Output=<filename>
-
- This is the file name of the report to produce. If a
- report file name is not specified, "standard out" (i.e.,
- the screen) will be used.
-
- /Report=<report type>
-
- This is the type of report/analysis desired.
- DUPARCHIVENAMES will create a report on the actual archive
- file names. DUPCONTENTS will create a comparison report
- of all files against the files INSIDE the archive.
-
- /Include=<include keyword>
-
- This qualifier allows you to specify what additional
- information you wish to be listed with each file entry in
- the report.
-
- PATHS
-
- This will add the physical path name where the archive
- resides on the disk at the end of the line entry in the
- report.
-
- DESCRIPTIONS
-
- This will add the description as found in the FILES.BBS of
- the file at the end of the line entry in the report.
- Please be sure to use an editor that can accept VERY long
- lines if you use this option!
-
- ADDRESSES
-
- This will add the address location of the entry in the
- Database for the archive information at the end of the
- line entry in the report. If you decide to use this
- report file as the input to the PURGE command of ArcAnal,
- then this option is required.
-
- /Basenum=<number>
-
- This is only relevant for the DUPARCHIVENAMES report. It
- indicates how many characters of the filename to consider
- "significant". Thus, if /Basenum is 3, all files that
- begin with the first 3 same letters will be grouped
- together in the report.
-
- /Percent=<percent threshold>
-
- This is only relevant for the DUPCONTENTS report. It
- indicates how "close" a match is to be listed. For
- example, if you only want archives that match by at least
- 90%, then set /Percent to 90. Unless /DateMatch or
-
-
-
- ArcAnal 1.30 Users Manual Page 15
- ------------------------------------------------------------------
-
- /SizeMatch is indicated, only file names will be used for
- the percent threshold.
-
- /DateMatch
-
- This is only relevant for the DUPCONTENTS report. This
- indicates that you also want to use the dates of the files
- when comparing the "percentage match". Thus, if /Percent
- is 90, and your specify /DateMatch, then only files that
- match 90% of the filenames as well as 90% of the dates on
- these files will be listed.
-
- /SizeMatch
-
- This is only relevant for the DUPCONTENTS report. This
- indicates that you also want to use the sizes of the files
- when comparing the "percentage match". Thus, if /Percent
- is 90, and your specify /SizeMatch, then only files that
- match 90% of the filenames as well as 90% of the sizes on
- these files will be listed.
-
- The most stringent Archive Contents Report that can be created
- would be one which only lists perfect matches. This report would
- be produced with the following command:
-
- ARCANAL ANALYZE DATABASE [databasename]
- /Report = DUPCONTENTS
- /Percent = 100
- /DateMatch
- /SizeMatch
-
-
-
- ArcAnal 1.30 Users Manual Page 16
- ------------------------------------------------------------------
-
- Archive Filename Report (DUPARCHIVENAMES)
-
- This report will report how many actual archive names are similar
- to N number of characters. For example, if you desire to know all
- the files that all have the same first 5 characters, this report
- will list them. This is helpful to identify old versions of the
- same program, since most archives simply change a version number
- at the end of the archive name. For example, Rob Hamerling's BBS
- utility DOWNSORT (source code archive) uses the following naming
- conventions:
-
- DWNSRS54.ZIP | 83319 | 12/19/1991 20:06:00 | 14
- DWNSRS53.ZIP | 81567 | 10/18/1991 22:20:00 | 20
- DWNSRS55.ZIP | 88120 | 01/31/1992 20:41:00 | 16
-
- These three files are reported as a "group" with matching file
- names to 7 characters.
-
- The fields on each line of the report are as follows:
-
- [archive file name]
-
- The name of the archive with no path.
-
- [archive size]
-
- The size of the archive file in bytes.
-
- [archive date]
-
- The date (last write date) of the archive.
-
- [number of files]
-
- The number of files within the archive.
-
- [additional included information]
-
- Depending upon the /Include option, there may also
- additional information at the end of the line.
-
-
-
- ArcAnal 1.30 Users Manual Page 17
- ------------------------------------------------------------------
-
- Archive Contents Report (DUPCONTENTS)
-
- This report is much more extensive than the 'Archive Filename
- Report'. This analysis will compare the contents of each archive
- against the contents within all other archives in the database.
- It will report on all the "best matches". Matches are determined
- by the amount of "likeness" the files are to files within other
- archives. This "likeness" is expressed as a percentage. Thus, if
- ARCHIVE A is like ARCHIVE B by 82%, this means that 82% of the
- files in ARCHIVE A match ARCHIVE B. Thus, if there is a 100%
- match, this means one of two things:
-
- ARCHIVE A is identical to ARCHIVE B, or
- ARCHIVE A is wholly contained with ARCHIVE B.
-
- Matches less than 100% usually indicate a previous version of the
- same program.
-
- Percentage matches are given on three different aspects of the
- archive:
-
- 1. Percentage likeness of filenames.
- 2. For all filenames that are identical, percentage
- likeness of the dates of these files.
- 3. For all filenames that are identical, percentage
- likeness of the sizes of these files.
-
- Thus, a match of 100% of all these aspects means that, as in the
- above example, the report will indicate one of the following:
-
- "Perfect Match"
-
- This means that all the above percentages are 100% and that
- there are exactly the same number of files in each archive.
- This is a "perfect match", regardless of the archive
- filenames.
-
- "Included Within"
-
- This means that there is a 100% percent match on all the
- above aspects (filename, dates, and sizes), but that there
- are more files in ARCHIVE B than ARCHIVE A. Thus ARCHIVE A
- is "included within" ARCHIVE B.
-
- Thus, when comparing 'DWNSRS54.ZIP' to the database, it finds two
- matching references.
-
- DWNSRS54.ZIP | 83319 | 12/19/1991 20:06:00 | 14
-
- DWNSRS53.ZIP | 81567 | 10/18/1991 22:20:00 | 20 |
- 100% match on filenames
- 0% match on file dates
- 14% match on file sizes
-
- DWNSRS55.ZIP | 88120 | 01/31/1992 20:41:00 | 16 |
- 100% match on filenames
- 7% match on file dates
-
-
-
- ArcAnal 1.30 Users Manual Page 18
- ------------------------------------------------------------------
-
- 14% match on file sizes
-
- The fields on each line of the report are as follows:
-
- [archive file name]
-
- The name of the archive with no path. This will be either
- the "Source" archive (i.e., the first name listed in the
- group), or the "Match" archive (all other files in the
- group) that match the source archive.
-
- [archive size]
-
- The size of the archive file in bytes.
-
- [archive date]
-
- The date (last write date) of the archive.
-
- [number of files]
-
- The number of files within the archive.
-
- [percent file name match]
-
- The percentage of file names within the archive that match
- the Source archive.
-
- [percent file date match]
-
- The percentage of file names with the same file name and
- date within the archive that match the Source archive.
-
- [percent file size match]
-
- The percentage of file names with the same file name and
- size within the archive that match the Source archive.
-
- PLEASE NOTE: The above three percentages may be replaced
- with the following keywords: "Perfect Match" or "Included
- Within".
-
- [additional included information]
-
- Depending upon the /Include option, there may also
- additional information at the end of the line.
-
-
-
- ArcAnal 1.30 Users Manual Page 19
- ------------------------------------------------------------------
-
- Resetting Archive Dates
-
- A side benefit of having all the archive information "at your
- fingertips" is the ability to reset the dates on the archives to
- something more appropriate. Many times the "true" date of the
- archive becomes lost during the uploading of a file, or transfer
- of the file through a network. Thus, ArcAnal can stamp the date
- of the archive with the date of the newest file WITHIN the archive
- with a valid date. I say "valid" since, in the process of writing
- this program, I have found many archives with incorrect dates
- and/or times. Some archives had files within them that were dated
- years into the future, while others had files that were stamped
- with the time "02:62" where "62" was in the minutes field. If
- ArcAnal cannot find any files with a valid date, then it will to
- attempt to change the date on the archive.
-
- To execute ArcAnal to time stamp the archives, issue the following
- command:
-
- ARCANAL RESETDATES DATABASE [databasename]
- /LastWrite
- /Creation
-
- Description of Options
-
- /LastWrite
- /Creation
-
- Under HPFS, most programs and commands, such as DIR,
- display the "last write" date of a file. This is the date
- that the file was last modified. Some also access the
- creation date. This is normally the date the program
- arrived on your system. Thus, as in the case of Rob
- Hamerling's program DOWNSORT, it is possible to list the
- true file date, but indicate that this file is new to your
- system. This is also true of Maximus. When it is
- displaying "new files", it will display the date of the
- "last write", but base the date search on the "creation
- date" of the file.
-
- The default for ArcAnal is /Lastwrite (reset the "last
- write" date) and /NoCreation (do not reset the "creation
- date" of the file).
-
-
-
- ArcAnal 1.30 Users Manual Page 20
- ------------------------------------------------------------------
-
- Displaying A Database
-
- During the testing of ArcAnal, I wanted to see what the database
- said was really in the database. So, being naturally curious, as
- well as suspicious, I created the following command:
-
- ARCANAL DISPLAY DATABASE [databasename]
-
-
-
- ArcAnal 1.30 Users Manual Page 21
- ------------------------------------------------------------------
-
- Purging Your File Collection
-
- At this point, I will assume that you have read the sections on
- building a database and creating an analysis report. You must do
- these two things before you can purge and/or update your file
- collection based on the information in your analysis report.
-
- Purging your file collection is easy. It is so easy, in fact,
- that I strongly urge you to perform a full backup of your file
- collection before executing this command. In order to use a
- report as input to the PURGE command, you must be sure to specify
- /Include=(Addresses,...), or else ArcAnal will not know where to
- find the archive information in the database.
-
- BE SURE TO ONLY USE CURRENT REPORTS! If you use a report file
- that was based on an old database, the address locations of file
- entries may have changed. There is "safety net" logic to attempt
- to stop this from happening if you use an out-dated report, but it
- is still a good idea to make sure that your report file matches
- the current database.
-
- You will notice that each report created by ArcAnal has two
- leading blanks before each line. This is so you can put an
- "action character" before a line entry in the report. The action
- characters available are as follows:
-
- "-" (minus sign)
-
- If you put a minus sign in the first column of the report,
- ArcAnal will purge the file from the system. This means
- that it will delete the entry from the database, delete
- the actual physical file, and remove the entry from the
- FILES.BBS. In other words, it is GONE!
-
- "+" (plus sign)
-
- If you put a plus sign in the first column of the report,
- ArcAnal will update the file description of the entry.
- This means that you must specify
- /Include=(descriptions,...) when creating the report.
- This is handy when you have several matches for a file,
- and want to choose the "best" file description for the
- entry. Simply "cut-and-paste" the description from one of
- the other entries that are going to be deleted from your
- system to the file line that you are keeping. ArcAnal
- will update the appropriate FILES.BBS.
-
- It is very important to make sure that your editor is in
- "overwrite" mode. DO NOT CHANGE THE COLUMN ALIGNMENT of the
- report. ArcAnal will become confused as to where the actual
- archive file name is located.
-
-
-
- ArcAnal 1.30 Users Manual Page 22
- ------------------------------------------------------------------
-
- Cleaning Up Your File Sections
-
- The following is an example of exactly how I used ArcAnal to find
- duplicate archives and purge/update my file sections.
-
- 1. Define all the file sections.
-
- Look with the ArcAnal.Cfg file included with the program.
- Within it you will find all the definitions for my file
- sections called LocalOS2 (case is not significant). File
- sections must first be defined before creating a database.
-
- 2. Create the Database.
-
- I executed the command:
-
- ARCANAL BUILD DATABASE LocalOS2
-
- On a 2400 file collection, this took about 30 minutes to
- run. ArcAnal must execute the archive program for each
- file, get the listing, and update the database with this
- information.
-
- 3. Reset all the dates on the archive files.
-
- In order to produce an accurate report, I reset all the
- archive dates. This made it much easier to identify
- archives which were really older than others which were
- "close matches".
-
- 4. Create an analysis report.
-
- I executed the command:
-
- ARCANAL ANALYZE DATABASE LocalOS2
- /Output=OS2.RPT
- /Report=dupcont
- /Include=(path,desc,address)
- /Percent=100
-
- 5. Edit the report file
-
- Here are sections of the report OS2.RPT and how I changed
- them. Please note that I am not including the /Include
- information that was at the end of each file line since it
- would not fit within an 80 column document. But when you
- execute ArcAnal, you will see all the path, address, and
- description information after column 80.
-
-
-
- ArcAnal 1.30 Users Manual Page 23
- ------------------------------------------------------------------
-
-
- Example sections from report file OS2.RPT:
-
- ==============================================================================
- Archive Contents Analysis Report
-
- Report contents: A comparison of all archives against one another based on
- actual contents of the archive, regardless of archive
- filename. Content match of at least 100% will be reported.
-
- Selection for 100% threshold will be based on:
- File names within the archives
- ==============================================================================
-
- - Source : DLC_221.ARJ | 12600 | 01/15/1992 23:04:12 | 3
- - Matches: DLC_223.ARJ | 14437 | 02/15/1992 15:14:24 | 3 | 100%/ 0%/ 0%
- - DLC_230.ARJ | 16049 | 06/24/1992 01:26:40 | 3 | 100%/ 0%/ 0%
- DLC_243.ARJ | 28476 | 08/26/1992 14:31:18 | 6 | 100%/ 0%/ 0%
- ------------------------------------------------------------------------------
- - Source : LASTCALL.ZIP | 6360 | 11/07/1991 21:06:00 | 2
- + Matches: LASTCAL2.LZH | 10907 | 12/23/1991 20:51:28 | 3 | 100%/ 0%/ 0%
- ------------------------------------------------------------------------------
-
- The above are two good examples of how ArcAnal identifies older
- versions of the same program. Notice that I marked 'LASTCAL2.LZH'
- with a plus sign. I liked the description on 'LASTCALL.ZIP', which I
- marked for deletion, so I replaced the description at the end of the
- line (not shown here) of 'LASTCAL2.LZH' with the description of
- 'LASTCALL.ZIP'.
-
- - Source : ANSIFUN.ZIP | 5018 | 09/18/1990 19:13:00 | 1
- + Matches: REXXANSI.ZIP | 5024 | 09/18/1990 19:13:00 | 1 | Perfect Match
- ------------------------------------------------------------------------------
-
- The above is a good example of two files which are internally
- identical, but have different archive names.
-
- - Source : TIME10.ZIP | 7366 | 03/04/1990 17:18:00 | 2
- Matches: FREEMEM2.ZIP | 17723 | 03/04/1990 17:18:00 | 4 | Included Within
- METZ.ZIP | 18432 | 03/04/1990 17:18:00 | 4 | Included Within
- ------------------------------------------------------------------------------
-
- The above is a good example of a program that is wholly included
- within another archive. Probably at some point someone extracted only
- the 'TIME' utility from the set and sent it out on the network,
- instead of keeping all the utilities together in one archive.
-
- - Source : EABK10.ZIP | 53526 | 04/21/1992 18:37:00 | 3
- - Matches: EABK101.ZIP | 53526 | 04/21/1992 18:37:00 | 3 | Perfect Match
- EABK20.ZIP | 106147 | 07/09/1992 19:50:00 | 4 | 100%/ 0%/ 0%
- ------------------------------------------------------------------------------
-
- The above is interesting in that supposedly version 1.0 and 1.01 are
- different, as would be expected from their different version numbers,
- but are really identical when looking at the contents of each archive.
- 'EABK20.ZIP' is clearly an update, since 100% of the file names are
- the same, but there is no match on date or file size.
-
-
-
- ArcAnal 1.30 Users Manual Page 24
- ------------------------------------------------------------------
-
-
- - Source : KEYLOCKS.ZIP | 11624 | 04/03/1992 19:26:00 | 2
- - Matches: KLOCKS.ZIP | 11624 | 04/03/1992 19:26:00 | 2 | Perfect Match
- + KLOCKS10.ZIP | 12203 | 04/03/1992 19:26:00 | 2 | Perfect Match
- ------------------------------------------------------------------------------
-
- The above is a perfect example of releasing several archives into a
- file distribution network, but changing their file names. Notice I
- deleted two archives, and updated the description on the one I kept.
-
- - Source : MEMSIZ.ZIP | 50137 | 02/17/1992 12:46:00 | 15
- - Matches: MEMSZ124.ZIP | 50036 | 04/03/1992 11:17:00 | 15 | 100%/ 67%/ 80%
- MEMSZ125.ZIP | 50095 | 05/15/1992 10:09:00 | 15 | 100%/ 67%/ 80%
- ------------------------------------------------------------------------------
-
- The above is another good example of multiple versions of the same
- program, where 100% of the file names matched identical, 67% of the
- file dates were the same, and 80% of the file sizes were the same.
-
-
- Source : BOOT20.ZIP | 27982 | 08/21/1992 08:33:00 | 5
- - Matches: SE20BOOT.ZOO | 25661 | 08/21/1992 08:33:12 | 5 | Perfect Match
- ------------------------------------------------------------------------------
-
- Once again, regardless of archive file name or archive TYPE, archives
- with identical contents are matched.
-
- - Source : KRNL0617.ZIP | 455907 | 06/19/1992 16:38:00 | 5
- Matches: OS2KRNL.ZIP | 455907 | 06/19/1992 16:38:00 | 5 | Perfect Match
- ------------------------------------------------------------------------------
-
- Here is a very good example of a perfect matched file, and how ArcAnal
- can save you quite a bit of room in your download areas (or prevent
- something from being redundantly released within a file distribution
- network).
-
-
-
- ArcAnal 1.30 Users Manual Page 25
- ------------------------------------------------------------------
-
-
-
- 5. Purge the file sections using the edited report file.
-
- Now that the report has been edited with the appropriate
- "action characters" in column 1, I used this report as an
- input file for ArcAnal. I executed the following command:
-
- ARCANAL PURGE DATABASE LocalOS2
- /Input=OS2.RPT
-
- After the operation for each file marked with an "action
- character" has been successfully completed, the action character
- will be replaced with an asterick (*). Thus, if the purge is not
- entirely successful, it can be restarted with the same report file
- after the problem has been corrected.
-
- And that's it! The file areas are purged and/or updated depending
- upon the actions indicated in the report OS2.RPT.