Before you start using the LFS book, we should point out that all of the commands here assume that you are using the bash shell. If you aren't, the commands may work but we can't guarantee it. If you want a simple life, use bash.
Before you can actually start doing something with a package, you need to unpack it first. Often the package files are tar'ed and gzip'ed or bzip2'ed. We're not going to write down every time how to unpack an archive. We'll explain how to do that once, in this section.
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:
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, the y or the j tar parameter, which works the same as the z tar parameter to handle gzip archives. The above construction works no matter how your host system decided to patch bzip2.
If a file is just tar'ed, it is unpacked by running:
tar xvf filename.tar |
When an archive is unpacked, a new directory will be created under the current directory (and this book assumes that the archives are unpacked under the $LFS/usr/src directory). Please enter that new directory before continuing with the installation instructions. Again, every time this book is going to install a package, it's up to you to unpack the source archive and cd into the newly created directory.
From time to time you will be dealing with single files such as patch files. These files are generally gzip'ed or bzip2'ed. Before such files can be used they need to be uncompressed first.
If a file is gzip'ed, it is unpacked by running:
gunzip filename.gz |
If a file is bzip2'ed, it is unpacked by running:
bunzip2 filename.bz2 |
After a package has been installed, two things can be done with it: either the directory that contains the sources can be deleted, or it can be kept. We highly recommend deleting it. If you don't do this and try to re-use the same source later on in the book (for example re-using the source trees from chapter 5 for use in chapter 6), it may not work as you expect it to. Source trees from chapter 5 will have your host distribution's settings, which don't always apply to the LFS system after you enter the chroot'ed environment. Even running something like make clean doesn't always guarantee a clean source tree.
So, save yourself a lot of hassle and just remove the source directory immediately after you have installed it.
There is one exception; the kernel source tree. Keep it around as you will need it later in this book when building a kernel. Nothing will use the kernel tree so the source tree won't be in your way. If, however, you are short of disk space, you can remove the kernel tree and re-untar it later when required.