This is freeze.man in view mode; [Download] [Up]
FREEZE(1) UNIX Programmer's Manual FREEZE(1)
NAME
freeze, melt, fcat - compress and uncompress files
SYNOPSIS
freeze [ -cdfvVg ] [ _f_i_l_e_n_a_m_e | +_t_y_p_e ... ]
melt [ -cfvV ] [ _f_i_l_e_n_a_m_e ... ]
fcat [ _f_i_l_e_n_a_m_e ... ]
DESCRIPTION
Compresses the specified files or standard input. Each file
is replaced by a file with the extension .F, but only if the
file got smaller. If no files are specified, the compression
is applied to the standard input and is written to standard
output regardless of the results. Compressed files can be
restored to their original form by specifying the -d option,
or by running _m_e_l_t (linked to _f_r_e_e_z_e), on the .F files or
the standard input.
If the output file exists, it will not be overwritten unless
the -f flag is given. If -f is not specified and _f_r_e_e_z_e is
run in the foreground, the user is prompted as to whether
the file should be overwritten.
If the -g flag is given, a slightly less powerful (compres-
sion rate is 1.5% less), but 40% faster heuristic is used.
If the -f flag is given, all files specified are replaced
with .F files - even if the file didn't get smaller.
When file names are given, the ownership (if run by root),
modes, accessed and modified times are maintained between
the file and its .F version. In this respect, _f_r_e_e_z_e can be
used for archival purposes, yet can still be used with
_m_a_k_e(1) after melting.
The -c option causes the results of the freeze/melt opera-
tion to be written to stdout; no files are changed. The
_f_c_a_t program is the same as specifying -c to _m_e_l_t (all files
are unpacked and written to stdout).
The -v (verbose) option causes the diagnostics (at the end
of each file processing) to be printed to stderr, and the
-vv option causes the progress indicator to be drawn to the
same place.
_T_y_p_e is a token preceded by a '+', which defines the type of
following files in the command string. An explicite defini-
tion of the file's type can give up to 2% of additional
compression. The list of types is stored in file
/_e_t_c/_d_e_f_a_u_l_t/_f_r_e_e_z_e. Types may be abbreviated while not
ambigious. You can also determine values for the static
Huffman table by using a list of 8 numbers separated by
commas instead of _t_y_p_e.
_F_r_e_e_z_e uses the Lempel-Ziv algorithm on the first pass and
the dynamic Huffman algorithm on the second one. The size of
sliding window is 8K, and the maximum length of matched
string is 256. The positions on the window are coded using
a static Huffman table.
A two byte magic number is prepended to the file to ensure
that neither melting of random text nor refreezing of
already frozen text are attempted. In addition, the charac-
teristics of the static Huffman table being used during
_f_r_e_e_z_e is written to the file so that these characteristics
may be adapted to concrete conditions.
The amount of compression obtained depends on the size of
the input file and the distribution of character substrings
and their probabilities. Typically, text files, such as C
programs, are reduced by 60-75%, executable files are
reduced by 50%. Compression is generally much better than
that achieved by LZW coding (as used in _c_o_m_p_r_e_s_s), or Huff-
man coding (_p_a_c_k), though takes more time to compute.
If the -V (version) flag is given, the program's version
number and compilation options are printed.
The exit status is normally 0; if the last file gets bigger
after freezing, the exit status is 2; if an error occurs,
the exit status is 1.
SEE ALSO
compact(1), pack(1), compress(1)
DIAGNOSTICS
Unknown flag: '_x'; Usage: freeze [-cdfvVg] [file|+type ...]
Invalid options were specified on the command line.
_f_i_l_e: not in frozen format
The specified file has not been frozen.
_f_i_l_e: already has .F suffix -- no change
Cannot compress a file that has a ".F" suffix.
_m_v(1) the file to a different name and try again.
_f_i_l_e: filename too long to tack on .F
The specified file cannot be compressed because its
filename is longer than 12 characters. _m_v(1) the
file to a different name and try again. This mes-
sage does not occur on 4.XBSD systems.
_f_i_l_e already exists; do you wish to overwrite (y or n)?
Respond "y" if you want the output file to be
replaced; "n" if you want it to be left alone.
_f_i_l_e: _x_x%
or
_x_x_xK
These message fragments are written during the pro-
cessing of a file, if -vv option was given in the
command line (in percents, if the length of file
being processed is known; in Kbytes otherwise).
Freezing: _x_x._x_x% (_y._y_y bits)
This message fragment gives the percentage of the
input file that has been saved by freezing and the
number of remaining bits per byte of original file.
-- not a regular file: unchanged
This message fragment is written when the input file
is not a regular file. The input file is left
unchanged.
-- has _x_x other links: unchanged
This message fragment is written when the input file
has links. The input file is left unchanged. See
_l_n(1) for more information.
-- file unchanged
This message fragment is written when no savings are
achieved by freezing. The input file is left
unchanged.
-- replaced with _f_i_l_e
This message fragment is written when a file has
been sucessfully frozen/melt.
Using " _t_y_p_e " type
This message indicates a successful switching to
position table for mentioned file type.
" _x_x_x " - no such file type
or
_x_x_x - a list of 8 numbers expected
This message means the given file type does not
exist or the given string contains a comma, but is
not a valid list of values for static Huffman table.
melt: corrupt input
This message fragment is written when an error in
header or unexpected end of frozen file is detected.
Partial (or empty, is there was an error in the
header) file is created.
already frozen -- file unchanged
This message fragment is written when an input file
already has Freeze's magic header.
Invalid position table
or
" _t_y_p_e " - invalid entry
These messages appear only if Freeze has been made
with incorrect data for static Huffman table. It
does never appear when freeze is called from a pub-
lic access directory.
Unknown header format
Unknown values of flag bits were discovered in the
header of frozen file.
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.