How to install the software 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. To start with, change to the $LFS/usr/src directory by running:
cd $LFS/usr/src
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:
tar xvzf filename.tar.gz tar xvzf filename.tgz
If a file is tar'ed and bzip2'ed, it is unpacked by running:
bzcat filename.tar.bz2 | tar xv
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. If a file is just tar'ed, it is unpacked by running:
tar xvf filename.tar
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. f a file is gzip'ed, it is unpacked by running:
gunzip filename.gz
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. 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.