各种库的代码经常被几个程序调用。它的好处是让每一个程序去调用相应的库而不是重复的复制每一个库文件在程序里(减少了出错的几率)。最显著的例子就是我们在LFS阶段安装的glibc库.它包括了所有程序需要的 C 函数库。
库分为两种:静态库和共享库。共享库(通常是libXXX.so)在运行的时候从共享的拷贝里加载到内存(象它的名字一样)。静态库(libXXX.a)是真正连接到运行程序本身,因而使程序变的庞大. 在你的系统里,你经常会发现同一个库的静态和共享两个版本。
一般来说,在你安装软件时,你才需要安装此软件需要的库。在这本 BLFS 书中, 每一个软件包都有一个自己的依赖列表(已知的)。因此在安装每个软件前你可以知道那些库文件你是需要先安装的。如果你没有按照 BLFS 介绍的方法安装某个软件,软件包里的 README 或者 INSTALL 文件会有详细的软件需求及安装信息。
有些库文件是每一个人 在某些时候都需要的。我们将在本章列出这些文件并且告诉你为什么要安装它们。