前面已经提到,LFS的目标是提供一个完整的,功能级可用的系统。这包含了那些所有要把自己需要从一个相对小的基复制到用户定制的完整系统中的包。这并不意味着LFS是最小可能的系统。一些包含的重要包严格讲老并不是必须的。下面给出本书中使用的所有包的理由。
· Autoconf
该包包含了从开发人员模板中产生用于自动配置代码的脚本文件的程序。当构建过程升级后重新编译一个包的时候往往需要这个。
· Automake
该包包含了从模板中产生Make文件的程序。当构建过程升级后重新编译一个包的时候往往需要这个。
· Bash
该包满足LSB 核心需要,提供了系统的Bourne Shell接口. 选择这个而不是其他shell包是因为它最常用而且提供了远远超出基本shell操作的功能。
· Binutils
该包包含链接器,汇编器以及洽谈用于处理编译后目标文件的工具。
· Bison
该包包含了YACC的GUN版实现,用来构建几个其他LFS程序。
· Bzip2
该包包含了用于压缩和解压缩文件的程序。解压缩许多LFS包需要它。
· Coreutils
该包包含了一些查看以及操纵文件和目录的基本工具。
· DejaGNU
该包包含了测试其他程序的一个框架。仅仅在构建临时工具链时安装。
· Diffutils
该包包含了显示文件和目录差异的程序。
· Expect
该包包含了与其他交互式程序执行脚本化对话的工具。常用于测试其他的包。仅仅在构建临时工具链时安装。
· E2fsprogs
该包包含可用来操作ext2, ext3和ext4文件系统的工具. 这些文件系统是是Linux支持的最常用的,也是测试最完备的
· File
该包包含了用于探测给定文件类型的工具。
· Findutils
该包包含了在文件系统中查找文件的工具。
· Flex
该包包含了用来产生识别模式文本的程序的工具。是GUN版的LEX实现。编译几个LFS包是需要它。
· Gawk
该包包含了用来操作文本文件的工具,是GNU版的awk实现。
· Gcc
该包是GNU编译器基。包含了C和C++以及其他一些LFS不支持的编译器。
· GDBM
该包包含了GUN数据库管理包,另一个LFS包Man-DB会用到它。
· Gettext
该包包含了大多数包的国际化和本地化的工具和库。
· Glibc
该包包含了主要的C库。没有它Linux程序就无法运行。
· GMP
该包包含了数学库,以及非常有用的处理任意精度算术运算的函数。编译GCC的时候需要它。
· Grep
该包包含了在多个文件中查找的程序。
· Groff
该包包含了处理和格式化文本的程序。一个主要的功能是格式化man手册页。
· GRUB
这是大一统启动加载器。多个可用的加载器之一,非常灵活。
· Gzip
该包包含了用来压缩和解压缩文件的程序。
· Iana-etc
该包提供网络服务和协议的数据。在记过合适的网络功能的时候需要。
· Inetutils
该包包含了基本的网络管理的程序。
· IProute2
该包包含了基本以及高级的IPv4和IPv6 联网的程序。选择这个而不是其他是由于其特有的IPv6支持能力。
· Kbd
该包包含了非US键盘的键映射表文件一个键盘工具。
· Less
该包包含了了一个非常好的查看文本的工具,查看文件时可以向上或者向下滚动。
· Libtool
该包包含了GUN通用库支持脚本。它把使用共享库的复杂性封装起来,提供了一致的,可移植的的接口。洽谈LFS包的测试套件需要它。
· Linux Kernel
该包是操作系统,是GUN/Linux环境中的Linux。
· M4
该包包含了一个统一的宏处理器,用作一些程序的编译工具。
· Make
该包包含了用来指导编译一个包的程序。LFS中几乎所有的包都要使用它。
· Man-DB
该包包含了查找以及查看man页的工具。选择这个是因为其优越的国际化支持。是man程序的补充。
· Man-pages
该包包含了基本Linux man页的实际内容。
· Module-Init-Tools
告别包含了管理Linux内核模块的程序。
· MPFR
该包包含了高精度算术乘函数。GCC需要。
· Ncurses
该包包含了用于处理终端无关的字符屏幕的库。常用在菜单系统中控制光标。
· Patch
该包包含了用来通过大补丁开修改和创建文件的程序,补丁文件一般是由diff工具生成。几个LFS包在编译过程中会用到。
· Perl
该包是运行时语言Perl的解释器。
· Pkg-config
该包包含了一个工具,用来在配置和编译过中传递头文件包含路径或者库路径到编译工具。许多LFS包会用到。
· Procps
该包包含了监控进程的工具。
· Psmisc
该包包含了显示运行中进程信息的工具。
· Readline
该包是一些库,提供了命令行编辑和历史记录的能力。Bash会使用。
· Sed
该包允许不打开编辑器就编辑文本。大多数LFS包的配置脚本都会用到。
· Shadow
该包包含了一安全的方式处理密码的程序。
· Sysklogd
该包包含了记录系统日志,特别是当不寻常的事件发生时由内核以及其他守护进程给出的日志信息,的程序
· Sysvinit
该包包含了inti程序,该程序是Linux系统中所有其他程序的父程序。
· Tar
该包提供了归档,抽取几乎所有LFS使用的包的能力。
· Tcl
该包包含了许多LFS包使用的Tool Command 语言。仅仅在构建临时工具链时安装。
· Texinfo
该包包含了读取,写入以及转化信息页的工具。安装许多LFS包都会用到它。
· Udev
该包包含了动态创建设备节点的工具。这是一次性在/dev目录下创建上千个静态设备的一种替代方法。
· Util-linux-ng
该包包含了一些其他的工具,其中包含处理文件系统,控制台,分区以及消息的工具。
· Vim
该包包含了一个编辑器。选择这个是因为它仅兼容于经典的vi编辑器,还提供许多的强大的功能。对许多用户来说,选择编辑器是一个非常个人化的决定,所以如果需要可以选择其他的。
· Zlib
该包包含了一些程序使用的压缩和解压缩的例程。
原始链接 http://www.linuxfromscratch.org/lfs/view/stable/prologue/package-choices.html