xref: /freebsd/usr.bin/mkuzip/mkuzip.8 (revision 6af83ee0d2941d18880b6aaa2b4facd1d30c6106)
1.\" ----------------------------------------------------------------------------
2.\" "THE BEER-WARE LICENSE" (Revision 42):
3.\" <sobomax@FreeBSD.ORG> wrote this file. As long as you retain this notice you
4.\" can do whatever you want with this stuff. If we meet some day, and you think
5.\" this stuff is worth it, you can buy me a beer in return.       Maxim Sobolev
6.\" ----------------------------------------------------------------------------
7.\"
8.\" $FreeBSD$
9.\"
10.Dd September 10, 2004
11.Dt MKUZIP 8
12.Os
13.Sh NAME
14.Nm mkuzip
15.Nd compress disk image for use with
16.Xr geom_uzip 4
17class
18.Sh SYNOPSIS
19.Nm
20.Op Fl v
21.Op Fl o Ar outfile
22.Op Fl s Ar cluster_size
23.Ar infile
24.Sh DESCRIPTION
25The
26.Nm
27utility compresses a disk image file in such a way that the
28.Xr geom_uzip 4
29class will be able to decompress resulting image in run-time.
30This allows for significant reduction of size of disk image at
31the expense of some CPU time required to decompress the data each
32time it is read.
33Internally, operation is done in two phases as follows:
34.Bl -enum
35.It
36An
37.Ar infile
38image is split into clusters and each cluster compressed using
39.Xr zlib 3 .
40.It
41Resulting set of compressed clusters along with headers allowing to
42independently locate each individual cluster is written into
43output file.
44.El
45.Pp
46The options are:
47.Bl -tag -width indent
48.It Fl o Ar outfile
49Name the output file
50.Ar outfile .
51The default is to use the input name with the suffix
52.Pa .uzip .
53.It Fl s Ar cluster_size
54Use
55.Ar cluster_size
56as the size of chunks the file being split up into.
57Default value is 16384 bytes.
58The
59.Ar cluster_size
60should be a multiple of 512 bytes.
61.It Fl v
62Display verbose messages.
63.El
64.Sh NOTES
65Compression ratio largely depends on the cluster size used.
66For large cluster sizes (16K and higher), typical compression ratios
67are only 1-2% less than those achieved with the
68.Xr gzip 1
69utlity.
70However, it should be kept in mind that larger cluster
71sizes lead to higher overhead in the
72.Xr geom_uzip 4
73class, as the class has to decompress the whole cluster even if
74only several bytes from that cluster have to be read.
75.Pp
76The
77.Nm
78inserts tiny shell script at the beginning of the generated image,
79which makes it possible to
80.Dq run
81the image just like any other shell script.
82This script tries
83to load
84.Xr geom_uzip 4
85class if it is not loaded, configure image as an
86.Xr md 4
87disk device using
88.Xr mdconfig 8
89utility, and automatically mount it using
90.Xr mount_cd9660 8
91utility to the mount point provided as a first argument.
92.Sh EXIT STATUS
93.Ex -std
94.Sh SEE ALSO
95.Xr gzip 1 ,
96.Xr zlib 3 ,
97.Xr geom 4 ,
98.Xr geom_uzip 4 ,
99.Xr md 4 ,
100.Xr mdconfig 8 ,
101.Xr mount_cd9660 8
102.Sh AUTHORS
103.An Maxim Sobolev Aq sobomax@FreeBSD.org
104