source: introduction/important/unpacking.xml@ aa15d3e

10.0 10.1 11.0 6.0 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 ken/refactor-virt krejzi/svn lazarus nosym perl-modules qt5new systemd-11177 systemd-13485 trunk v5_1 xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since aa15d3e was aa15d3e, checked in by Igor Živković <igor@…>, 17 years ago

applied Randy's grammar and spelling fixes

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@2232 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 3.7 KB
Line 
1<sect1 id="intro-important-unpacking">
2<?dbhtml filename="unpacking.html"?>
3<title>Notes on downloading, unpacking and compiling software</title>
4
5<para>Those people who have built a <acronym>LFS</acronym> system will be aware
6of the general principles of downloading and unpacking software. We will
7however repeat some of that information here for those new to building
8their own software.</para>
9
10<para>Each set of installation instructions contains a <acronym>URL</acronym>
11from which you can download the package. We do however keep a selection of
12patches available via http. These are referenced as needed in the
13installation instructions.</para>
14
15<para>While you can keep the source <acronym>TAR</acronym> balls anywhere you like, we
16assume that you have unpacked them and unzipped any required patches
17into <filename>/usr/src</filename>.</para>
18
19<para>We can not emphasize strongly enough that you should start from a
20<emphasis>clean source tree</emphasis> each time. This means that if
21you have had an error, it's usually best to delete the source tree and
22re-unpack it <emphasis>before</emphasis> trying again. This obviously
23doesn't apply if you're an advanced user used to hacking Makefiles and C
24code, but if in doubt, start from a clean tree.</para>
25
26<sect2>
27<title>Unpacking the software</title>
28
29<para>If a file is tar'ed and gzip'ed, it is unpacked by running one of
30the following two commands, depending on the filename:</para>
31
32<screen><command>tar -xvzf filename.tar.gz
33tar -xvzf filename.tgz
34tar -xvzf filename.tar.Z</command></screen>
35
36<para>If a file is tar'ed and bzip2'ed, it can usually be unpacked by
37running:</para>
38
39<screen><command>tar -jxvf filename.tar.bz2</command></screen>
40
41<para>You can also use a slightly different method:</para>
42
43<screen><command>bzcat filename.tar.bz2 | tar -xv</command></screen>
44
45<para>Finally, you need to be able to unpack patches which are generally
46not tar'ed. The best way to do this is to copy the patch file to
47<filename>/usr/src</filename> and then to run one of the following
48commands depending on whether the file is .gz or .bz2:</para>
49
50<screen><command>gunzip patchname.gz
51bunzip2 patchname.bz2</command></screen>
52
53</sect2>
54
55<sect2>
56<title>Verifying file integrity using md5sum</title>
57
58<para>Generally, to verify that the downloaded file is genuine and complete,
59most package maintainers also distribute md5sums of the files.
60To verify the md5sum of the downloaded files, download both the file and the
61corresponding md5sum file to the same directory (preferably from different
62on-line locations), and (assuming file.md5sum is the md5sum file downloaded)
63run the following command:</para>
64
65<screen><command>md5sum -c file.md5sum</command></screen>
66
67<para>If there are any errors, they will be reported.</para>
68
69</sect2>
70
71<sect2>
72<title>Creating Log files during installation</title>
73
74<para>For larger packages, it is convenient to create log files instead of
75staring at the screen hoping to catch a particular error or warning. Log files
76are also useful for debugging and keeping records. The following command
77allows you to create an installation log. Replace &lt;command&gt; with the
78command you intend to execute.</para>
79
80<screen><command>( &lt;command&gt; 2&gt;&amp;1 | tee compile.log &amp;&amp; exit $PIPESTATUS )</command></screen>
81
82<para><parameter>2&gt;&amp;1</parameter> redirects error messages
83to the same location as standard output. The <command>tee</command> command
84allows viewing of the output while logging the results to a file. The parentheses
85around the command run the entire command in a subshell and finally the
86<command>exit $PIPESTATUS</command> ensures the result of the &lt;command&gt;
87is returned as the result and not the result of the <command>tee</command> command.</para>
88
89</sect2>
90
91</sect1>
Note: See TracBrowser for help on using the repository browser.