]> git.cworth.org Git - gzip/blob - gzexe.1
Avoid creating an undersized buffer for the hufts table.
[gzip] / gzexe.1
1 .TH GZEXE 1
2 .SH NAME
3 gzexe \- compress executable files in place
4 .SH SYNOPSIS
5 .B gzexe
6 .I "name .\|.\|."
7 .SH DESCRIPTION
8 The
9 .I  gzexe
10 utility allows you to compress executables in place and have them
11 automatically uncompress and execute when you run them (at a penalty
12 in performance).  For example if you execute ``gzexe /usr/bin/gdb'' it
13 will create the following two files:
14 .nf
15 .br
16     -rwxr-xr-x  1 root root 1026675 Jun  7 13:53 /usr/bin/gdb
17     -rwxr-xr-x  1 root root 2304524 May 30 13:02 /usr/bin/gdb~
18 .fi
19 /usr/bin/gdb~ is the original file and /usr/bin/gdb is the self-uncompressing
20 executable file.  You can remove /usr/bin/gdb~ once you are sure that
21 /usr/bin/gdb works properly.
22 .PP
23 This utility is most useful on systems with very small disks.
24 .SH OPTIONS
25 .TP
26 .B \-d
27 Decompress the given executables instead of compressing them.
28 .SH "SEE ALSO"
29 gzip(1), znew(1), zmore(1), zcmp(1), zforce(1)
30 .SH CAVEATS
31 The compressed executable is a shell script.  This may create some
32 security holes.  In particular, the compressed executable relies
33 on the PATH environment variable to find
34 .I gzip
35 and some standard utilities
36 .RI ( basename ,
37 .IR chmod ,
38 .IR ln ,
39 .IR mkdir ,
40 .IR mktemp ,
41 .IR rm ,
42 .IR sleep ,
43 and
44 .IR tail ).
45 .SH "BUGS"
46 .I gzexe
47 attempts to retain the original file attributes on the compressed executable,
48 but you may have to fix them manually in some cases, using
49 .I chmod
50 or
51 .IR chown .