1FREEZE(1) General Commands Manual FREEZE(1)
2
3
4
6 freeze, unfreeze, melt, fcat - compress and uncompress files
7
9 freeze [ -cdfvVgx ] [ filename | type ... ]
10 unfreeze [ -cfvV ] [ filename ... ]
11 melt [ -cfvV ] [ filename ... ]
12 fcat [ filename ... ]
13
15 Compresses the specified files or standard input. Each file is
16 replaced by a file with the extension .F, but only if the file got
17 smaller. If no files are specified, the compression is applied to the
18 standard input and is written to standard output regardless of the
19 results. Compressed files can be restored to their original form by
20 specifying the -d option, or by running melt or unfreeze (both linked
21 to freeze), on the .F files or the standard input.
22
23 If the output file exists, it will not be overwritten unless the -f
24 flag is given. If -f is not specified and freeze is run in the fore‐
25 ground, the user is prompted as to whether the file should be overwrit‐
26 ten.
27
28 If the -g flag is given, a slightly less powerful (compression rate is
29 1.5% less), but somewhat faster heuristic is used. This flag can be
30 used more than once (this mode is quite useful when freezing bitmaps)
31 for additional speedup.
32
33 If you want to improve compression rate at the cost of speed, use -x
34 flag. It means "maximum compression" (the speed may degrade substan‐
35 tially when freezing bitmaps).
36
37 If the -f flag is given, all files specified are replaced with .F files
38 - even if the file didn't get smaller.
39
40 When file names are given, the ownership (if run by root), modes,
41 accessed and modified times are maintained between the file and its .F
42 version. In this respect, freeze can be used for archival purposes,
43 yet can still be used with make(1) after melting.
44
45 The -c option causes the results of the freeze/melt operation to be
46 written to stdout; no files are changed. The fcat program is the same
47 as specifying -c to melt (all files are unpacked and written to std‐
48 out).
49
50 The -v (verbose) option causes the diagnostics (at the end of each file
51 processing) to be printed to stderr, and the -vv option causes the
52 progress indicator to be drawn to the same place.
53
54 Type is a token preceded by a '+' or a '--', which defines the type of
55 following files in the command string. An explicite definition of the
56 file's type can give up to 2% of additional compression. The list of
57 types is stored in file /usr/lib/freeze.cnf. Types may be abbreviated
58 while not ambigious. You can also determine values for the static Huff‐
59 man table by using a list of 8 numbers separated by commas instead of
60 type.
61
62 Freeze uses the Lempel-Ziv algorithm on the first pass and the dynamic
63 Huffman algorithm on the second one. The size of sliding window is 8K,
64 and the maximum length of matched string is 256. The positions on the
65 window are coded using a static Huffman table.
66
67 A two byte magic number is prepended to the file to ensure that neither
68 melting of random text nor refreezing of already frozen text are
69 attempted. In addition, the characteristics of the static Huffman ta‐
70 ble being used during freeze is written to the file so that these char‐
71 acteristics may be adapted to concrete conditions.
72
73 The amount of compression obtained depends on the size of the input
74 file and the distribution of character substrings and their probabili‐
75 ties. Typically, text files, such as C programs, are reduced by
76 60-75%, executable files are reduced by 50%. Compression is generally
77 much better than that achieved by LZW coding (as used in compress), or
78 Huffman coding (pack), though takes more time to compute.
79
80 If the -V (version) flag is given, the program's version number and
81 compilation options are printed.
82
83 The exit status is normally 0; if the last file gets bigger after
84 freezing, the exit status is 2; if an error occurs, the exit status is
85 1.
86
88 compact(1), pack(1), compress(1)
89
91 Unknown flag: ´x´; Usage: freeze [-cdfvVg] [file|+type ...]
92 Invalid options were specified on the command line.
93 file: not in frozen format
94 The specified file has not been frozen.
95 file: already has .F suffix -- no change
96 Cannot compress a file that has a ".F" suffix. mv(1) the file
97 to a different name and try again.
98 file: filename too long to tack on .F
99 The specified file cannot be compressed because its filename is
100 longer than 12 characters. mv(1) the file to a different name
101 and try again. This message does not occur on 4.XBSD systems.
102 file already exists; do you wish to overwrite (y or n)?
103 Respond "y" if you want the output file to be replaced; "n" if
104 you want it to be left alone.
105 file: xx%
106 or
107 xxxK
108 These message fragments are written during the processing of a
109 file, if -vv option was given in the command line (in percents,
110 if the length of file being processed is known; in Kbytes oth‐
111 erwise).
112 Freezing: xx.xx% (y.yy bits)
113 This message fragment gives the percentage of the input file
114 that has been saved by freezing and the number of remaining
115 bits per byte of original file.
116 -- not a regular file: unchanged
117 This message fragment is written when the input file is not a
118 regular file. The input file is left unchanged.
119 -- has xx other links: unchanged
120 This message fragment is written when the input file has links.
121 The input file is left unchanged. See ln(1) for more informa‐
122 tion.
123 -- file unchanged
124 This message fragment is written when no savings are achieved
125 by freezing. The input file is left unchanged.
126 -- replaced with file
127 This message fragment is written when a file has been sucess‐
128 fully frozen/melt.
129 Using " type " type
130 This message indicates a successful switching to position table
131 for mentioned file type.
132 " xxx " - no such file type
133 or
134 xxx - a list of 8 numbers expected
135 This message means the given file type does not exist or the
136 given string contains a comma, but is not a valid list of val‐
137 ues for static Huffman table.
138 melt: corrupt input
139 This message fragment is written when an error in header or
140 unexpected end of frozen file is detected. Partial (or empty,
141 is there was an error in the header) file is created.
142 already frozen -- file unchanged
143 This message fragment is written when an input file already has
144 Freeze's magic header.
145 Invalid position table
146 or
147 " type " - invalid entry
148 These messages appear only if Freeze has been made with incor‐
149 rect data for static Huffman table. It does never appear when
150 freeze is called from a public access directory.
151 Unknown header format
152 Unknown values of flag bits were discovered in the header of
153 frozen file.
154
156 Found bugs descriptions, incompatibilities, etc. please send to
157 leo@ipmce.su.
158
159
160
161 local FREEZE(1)