xenial (1) fiz.1.gz

Provided by: zoo_2.10-28_amd64 bug

NAME

       fiz - analyze damaged zoo archive for data recovery

SYNOPSIS

       fiz archive[.zoo]

DESCRIPTION

       Fiz  is  used  to  analyze  damaged zoo archives and locate directory entries and file data in them.  The
       current version of fiz is 2.0 and it is meant to be used in conjunction with zoo version 2.0.  Fiz  makes
       no  assumptions  about archive structure.  Instead, it simply searches the entire subject archive for tag
       values that mark the locations of directory entries and file data.  In a zoo archive, a  directory  entry
       contains  information about a stored file such as its name, whether compressed or not, and its timestamp.
       The file data are the actual data for the archived file, and may be either  the  original  data,  or  the
       result of compressing the file.

       For  each  directory  entry  found, fiz prints where in the archive it is located, the directory path and
       filename(s) found in it, whether the  directory  entry  appears  to  be  corrupted  (indicated  by  [*CRC
       Error*]),  and  the value of the pointer to the file data that is found in the directory entry.  For each
       block of file data found in the archive, fiz prints where in the archive the block begins.  In  the  case
       of an undamaged archive, the pointer to file data found in a directory entry will correspond to where fiz
       actually locates the data.  Here is some sample output from fiz:

       ****************
           2526: DIR  [changes] ==>   95
           2587: DATA
       ****************
           3909: DIR  [copyrite] ==> 1478
           3970: DATA
           4769: DATA
       ****************

       In such output, DIR indicates where fiz found a directory entry in the archive, and DATA indicates  where
       fiz  found  file  data in the archive.  Filenames located by fiz are enclosed in square brackets, and the
       notation "==>   95" indicates that the directory entry found by fiz at position  2526  has  a  file  data
       pointer  to position 95.  In actuality, fiz found file data at positions 2587, 3970, and 4769.  Since fiz
       found only two directory entries, and each directory entry corresponds to one file, one of the file  data
       positions is an artifact.

       Once the locations of directory entries and file data are found, the @ modifier to zoo's archive list and
       extract commands can be used and the archive contents  selectively  listed  or  extracted,  skipping  the
       damaged portion.  This is further described in the documentation for zoo(1).

       In  the  above  case,  commands  to try giving to zoo might be x@2526,2587 (extract beginning at position
       2526, and get file data from position 2587), x@3090,3970 (extract  at  3090,  get  data  from  3970)  and
       x@3909,4769  (extract  at  3909, get data from 4769).  Once a correctly-matched directory entry/file data
       pair is found, zoo will in most cases synchronize with and correctly extract all files subsequently found
       in  the archive.  Trial and error should allow all undamaged files to be extracted.  Also note that self-
       extracting archives created using sez (the Self-Extracting Zoo utility for MS-DOS),  which  are  normally
       executed on an MS-DOS system for extraction, can be extracted on non-MSDOS systems in a similar way.

SEE ALSO

       zoo(1)

BUGS

       Random  byte patterns can occasionally be incorrectly recognized as tag values.  This occurs very rarely,
       however, and trial and error will usually permit all undamaged data to be extracted.

DIAGNOSTICS

       Fiz always exits with a status code of 0.

FUTURE DIRECTIONS

       Automation of data recovery from a damaged archive is potentially  achievable.   However,  since  damaged
       archives occur only rarely, fiz as it currently stands is unlikely to change much in the near future.

AUTHOR

       Rahul Dhesi

                                                  Jan 31, 1988                                            FIZ(1)