Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ unshrink(1) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

shrink(4)

lseek(2)

write(2)

read(2)



shrink(1)                                               shrink(1)



NAME
     shrink, unshrink - shrink and unshrink sparse files.

SYNOPSIS
     shrink [ -v ] name...
     unshrink [ -v ] name...

DESCRIPTION
     shrink reduces the size of sparse files by removing the
     "holes" from them and creating compact files in the shrink
     format.  The actual data is kept in its original format;
     that is, no data compression is performed.  The offsets in
     the file are changed to provide a continuous stream of
     blocks.  For each name on the command line, shrink will
     write a file called name.S (to distinguish it from the ori-
     ginal file) in the shrink format.  If the conversion
     succeeds and the shrink format file is smaller in size than
     the original file, name will be removed; otherwise, a notice
     of the failure is written to standard error, and name.S is
     removed.  See shrink(4) for a description of the shrink for-
     mat.

     Unshrink restores a file in shrink format to its original
     size.  For each name on its command line, the shrink format
     file is expanded into a sparse file with the "holes"
     restored.  The name of the shrink format file is expected to
     end in ".S;" if it doesn't, then ".S" is appended to it to
     obtain the shrink file.  If the conversion is successful,
     the shrink format file is removed; otherwise, a notice of
     the failure is printed on standard error, and the failed
     sparse file is removed.

     A sparse file is a regular UNIX file (i.e., byte stream);
     however, through a series of lseek(2) and write(2) opera-
     tions, some of the data blocks have not been allocated.
     Note that the last block will always be present.  These
     "missing" blocks constitute what is called "holes" in UNIX
     terminology; they are returned as zero-filled blocks by the
     read(2) system call.

OPTIONS
     -v   Be verbose.
          This option instructs both shrink and unshrink to out-
          put verbose messages as they process the individual
          files.

SEE ALSO
     shrink(4), lseek(2), write(2), read(2)

WARNINGS
     During the operation of these tools, actual disk usage by
     the regular UNIX file and its shrink format version



Page 1                              CX/UX User's Reference Manual





shrink(1)                                               shrink(1)



     increases to slightly over twice the amount of actual data.

NOTES
     shrink is unable to detect holes of less than 8192 bytes (8
     Kb) or 8 Kb holes that are not aligned on an 8 Kb boundary.

     Some examples of sparse files are system crash dumps created
     by savecore(1M) and file system quota files.















































Page 2                              CX/UX User's Reference Manual



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026