在这一章,我们进入“建筑工地”,开始精心构建LFS系统。也就是指我们通过 chroot 命令进入一个临时的微型Linux系统,并作一些最后的准备,然后开始安装软件包。
软件的安装非常明了。尽管许多情况下安装说明可以做的更加简短通用,但为了消除可能出现的错误,我们为每一个包都提供了全面的说明。明白每一个包的用途以及为什么用户(或系统)需要它是学习Linux系统是如何工作的关键。对每一个安装的包,我们都给出了对其内容的简要说明并对该包所安装的程序和库也作了简要的描述。
如果在本章中进行编译器优化,那么请看看编译器优化提示: http://www.linuxfromscratch.org/hints/downloads/files/optimization.txt [译者注:也可以看看本书译者的一篇帖子: http://www.linuxsir.org/bbs/showthread.php?t=222670 ] 编译器优化可以使程序运行的稍快一些,但也会出现某些编译问题。如果某个包在使用优化的情况下无法通过编译,试试不用优化编译能不能解决问题。即使使用优化编译成功,由于源码与编译工具之间复杂的相互作用,程序仍有可能被错误的编译了。使用编译器优化得到的小幅度性能提升,与它带来的风险相比微不足道。所以初次编译LFS的用户最好不要使用任何优化,你的系统依然会又快又稳定。
本章中软件包的安装顺序应当严格遵守,以确保没有一个程序会把 /tools 作为路径硬连接到代码中。同样不要并行编译包。并行编译可能会节省时间(特别是在双CPU的机器上),但也可能造成程序包含/tools硬连接路径,以致在 /tools 目录删除之后,程序无法运行。
在每个安装说明页首部都提供了有关该包的信息,包括:内容的简要说明、编译大约所需时间、编译过程所需磁盘空间、成功编译所依赖的其它软件包。在安装说明之后有该包所安装的程序和库的列表以及对它们的简要说明。
你可以使用一个包管理工具来跟踪每个包安装和修改了那些程序。你可以参考下列页面看看各种不同风格的包管理工具: http://www.linuxfromscratch.org/blfs/view/svn/introduction/important.html。有一个我们推荐的特别适合于LFS的管理包的方法请参见: http://www.linuxfromscratch.org/hints/downloads/files/more_control_and_pkg_man.txt
这本书剩余的部分我们将以 root 用户登陆,而不再是 lfs 用户。同时请再一次检查 $LFS 环境变量的设置。