aboutsummaryrefslogtreecommitdiffstats
path: root/chapter02/install.xml
blob: 1ab16935e4efa74fdae34032028df280f1ff803d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<sect1 id="ch02-install">
<title>How to install the software</title>

<para>
Before a user can actually start doing something with a package, he needs
to unpack it first. Often the package files are tar'ed and
gzip'ed. (that can determined by looking at the extension of the file.
tar'ed and gzip'ed archives have a .tar.gz or .tgz extension, for
example.) I'm not going to write down every time how to ungzip and how 
to untar an archive. I will tell how to do that once, in this section. 
There is also the possibility  that a .tar.bz2 file can be downloaded.
Such a file is tar'ed and compressed with the bzip2 program. 
Bzip2 achieves a better compression than the commonly used gzip does. In 
order to use bz2 archives the bzip2 program needs to be installed. 
Most if not every distribution comes with this program so chances are 
high it is already installed on the host-system. If not, it's installed using 
the distribution's installation tool.
</para>

<para>
To start with, change to the $LFS/usr/src directory by running:
</para>

<blockquote><literallayout>

        <userinput>cd $LFS/usr/src</userinput>

</literallayout></blockquote>

<para>
If a file is tar'ed and gzip'ed, it is unpacked by
running either one of the following two commands, depending on the
filename format:
</para>

<blockquote><literallayout>

        <userinput>tar xvzf filename.tar.gz</userinput>
        <userinput>tar xvzf filename.tgz</userinput>

</literallayout></blockquote>


<para>
If a file is tar'ed and bzip2'ed, it is unpacked by
running:
</para>

<blockquote><literallayout>

        <userinput>bzcat filename.tar.bz2 | tar xv</userinput>

</literallayout></blockquote>

<para>
Some tar programs (most of them nowadays but not all of them) are
slightly modified to be able to use bzip2 files directly using either
the I or the y tar parameter which works the same as the z tar parameter
to handle gzip archives.
</para>

<para>
If a file is just tar'ed, it is unpacked by running:
</para>

<blockquote><literallayout>

        <userinput>tar xvf filename.tar</userinput>

</literallayout></blockquote>

<para>
When the archive is unpacked a new directory will be created under the
current directory (and this document assumes that the archives are unpacked
under the $LFS/usr/src directory). A user has to enter that new directory
before continuing with the installation instructions. So every time the
book is going to install a program, it's up to the user to unpack the source
archive.
</para>

<para>
f a file is gzip'ed, it is unpacked by running:
</para>

<blockquote><literallayout>

	<userinput>gunzip filename.gz</userinput>

</literallayout></blockquote>

<para>
After a package is installed two things can be done with it. 
Either the directory that contains the sources can be deleted 
or it can be kept.
If it is kept, that's fine with me. But, if the same package is needed
again in a later chapter, the directory needs to be deleted first before using
it again. If this is not done, it might end up in trouble because old
settings will be used (settings that apply to the normal Linux system but
which don't always apply to the LFS system). Doing a simple make clean
or make distclean does not always guarantee a totally clean source tree. 
The configure script can also have files lying around in various 
subdirectories which aren't always removed by a make clean process.
</para>

<para>
There is one exception to that rule: don't remove the linux kernel source
tree. A lot of programs need the kernel headers, so that's the only
directory that should not be removed, unless no software is to be compiled
anymore.
</para>

</sect1>