lfs/chapter06/gzip.xml
2006-09-09 17:17:18 +00:00

263 lines
8.4 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-gzip" role="wrap">
<?dbhtml filename="gzip.html"?>
<title>Gzip-&gzip-version;</title>
<indexterm zone="ch-system-gzip">
<primary sortas="a-Gzip">Gzip</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>The Gzip package contains programs for compressing and decompressing
files.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&gzip-ch6-sbu;</seg>
<seg>&gzip-ch6-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Gzip</title>
<para>Gzip has 2 known security vulnerabilities. The following patch
addresses both of them:</para>
<screen><userinput>patch -Np1 -i ../&gzip-security_fix-patch;</userinput></screen>
<para>The <command>gzexe</command> command calls <command>tail</command>
with options that do not conform to newer versions of the POSIX standard,
and therefore are not accepted by current versions of Coreutils. Fix this
problem by issuing the following command:</para>
<screen><userinput>sed -i 's/tail +/tail -n +/' gzexe.in</userinput></screen>
<para>Prepare Gzip for compilation:</para>
<screen><userinput>./configure --prefix=/usr</userinput></screen>
<para>The <command>gzexe</command> script has the location of the
<command>gzip</command> binary hard-wired into it. Because the
location of the binary is changed later, the following command ensures
that the new location gets placed into the script:</para>
<screen><userinput>sed -i 's@"BINDIR"@/bin@g' gzexe.in</userinput></screen>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
<para>This package does not come with a test suite.</para>
<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
<para>Move the <command>gzip</command> program to the <filename
class="directory">/bin</filename> directory and create some commonly used
symlinks to it:</para>
<screen><userinput>mv -v /usr/bin/gzip /bin
rm -v /usr/bin/{gunzip,zcat}
ln -sv gzip /bin/gunzip
ln -sv gzip /bin/zcat
ln -sv gzip /bin/compress
ln -sv gunzip /bin/uncompress</userinput></screen>
</sect2>
<sect2 id="contents-gzip" role="content">
<title>Contents of Gzip</title>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem>
<seg>compress (link to gzip), gunzip (link to gzip), gzexe, gzip,
uncompress (link to gunzip), zcat (link to gzip), zcmp, zdiff,
zegrep, zfgrep, zforce, zgrep, zless, zmore, and znew</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="compress">
<term><command>compress</command></term>
<listitem>
<para>Compresses and decompresses files</para>
<indexterm zone="ch-system-gzip compress">
<primary sortas="b-compress">compress</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gunzip">
<term><command>gunzip</command></term>
<listitem>
<para>Decompresses gzipped files</para>
<indexterm zone="ch-system-gzip gunzip">
<primary sortas="b-gunzip">gunzip</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gzexe">
<term><command>gzexe</command></term>
<listitem>
<para>Creates self-decompressing executable files</para>
<indexterm zone="ch-system-gzip gzexe">
<primary sortas="b-gzexe">gzexe</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gzip">
<term><command>gzip</command></term>
<listitem>
<para>Compresses the given files using Lempel-Ziv (LZ77) coding</para>
<indexterm zone="ch-system-gzip gzip">
<primary sortas="b-gzip">gzip</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="uncompress">
<term><command>uncompress</command></term>
<listitem>
<para>Decompresses compressed files</para>
<indexterm zone="ch-system-gzip uncompress">
<primary sortas="b-uncompress">uncompress</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zcat">
<term><command>zcat</command></term>
<listitem>
<para>Decompresses the given gzipped files to standard output</para>
<indexterm zone="ch-system-gzip zcat">
<primary sortas="b-zcat">zcat</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zcmp">
<term><command>zcmp</command></term>
<listitem>
<para>Runs <command>cmp</command> on gzipped files</para>
<indexterm zone="ch-system-gzip zcmp">
<primary sortas="b-zcmp">zcmp</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zdiff">
<term><command>zdiff</command></term>
<listitem>
<para>Runs <command>diff</command> on gzipped files</para>
<indexterm zone="ch-system-gzip zdiff">
<primary sortas="b-zdiff">zdiff</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zegrep">
<term><command>zegrep</command></term>
<listitem>
<para>Runs <command>egrep</command> on gzipped files</para>
<indexterm zone="ch-system-gzip zegrep">
<primary sortas="b-zegrep">zegrep</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zfgrep">
<term><command>zfgrep</command></term>
<listitem>
<para>Runs <command>fgrep</command> on gzipped files</para>
<indexterm zone="ch-system-gzip zfgrep">
<primary sortas="b-zfgrep">zfgrep</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zforce">
<term><command>zforce</command></term>
<listitem>
<para>Forces a <filename class="extension">.gz</filename> extension on
all given files that are gzipped files, so that <command>gzip</command>
will not compress them again; this can be useful when file names were
truncated during a file transfer</para>
<indexterm zone="ch-system-gzip zforce">
<primary sortas="b-zforce">zforce</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zgrep">
<term><command>zgrep</command></term>
<listitem>
<para>Runs <command>grep</command> on gzipped files</para>
<indexterm zone="ch-system-gzip zgrep">
<primary sortas="b-zgrep">zgrep</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zless">
<term><command>zless</command></term>
<listitem>
<para>Runs <command>less</command> on gzipped files</para>
<indexterm zone="ch-system-gzip zless">
<primary sortas="b-zless">zless</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zmore">
<term><command>zmore</command></term>
<listitem>
<para>Runs <command>more</command> on gzipped files</para>
<indexterm zone="ch-system-gzip zmore">
<primary sortas="b-zmore">zmore</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="znew">
<term><command>znew</command></term>
<listitem>
<para>Re-compresses files from <command>compress</command> format to
<command>gzip</command> format&mdash;<filename
class="extension">.Z</filename> to <filename
class="extension">.gz</filename></para>
<indexterm zone="ch-system-gzip znew">
<primary sortas="b-znew">znew</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>