首页 > 代码库 > LFS(1)——软件包及其功能
LFS(1)——软件包及其功能
为了让自己更加深入理解Linux整个系统架构及工作原理,最近通过LFS学习研究自制Linux系统。参考LFS简体中文7.7版本。
软件包及其功能:
Acl
管理访问控制列表(ACL)的工具,用于定义文件和目录更细微粒的自主访问权。
Attr
管理文件系统的对象扩展属性的程序。
Autoconf
能根据开发者的模版自动生成配置源代码的shell脚本的程序。更新了构建过程之后重新构建软件包通常需要这个。
Automake
包括了从模版生成Make文件的程序。更新了构建过程之后重新构建软件包通常需要这个。
Bash
满足提供到系统的Bourne Shell接口的LSB核心需求。由于其通用性和在基本shell功能上的扩展能力,所以选择了它而不是其它的shell软件包。
Bc
提供了一种任意精度的数值处理语言。在构建Linux内核时需要它。
Binutils
包括了一个链接器、汇编器和其它处理对象文件的工具。编译LFS系统以及之上的大部分软件包需要这个软件包中的程序。
Bison
具有yacc(Yet Another Compiler Compiler)的GNU版本,需要构建一些其它的LFS程序。
Bzip2
用来压缩和解压缩文件的程序。在解压缩很多LFS软件包的时候需要它。
Check
一个用于其它工具的测试工具。它只安装在临时工具链中。
Coreutils
包括了一些查看和管理文件和目录的重要程序。在命令行里管理文件和每个LFS软件包的安装过程中需要它。
D-Bus
一个用于提供消息总线的程序,消息总线是一种应用程序之间通信的简单方式。systemd也许要它。
DejaGNU
一个测试其它程序的框架。只安装在临时工具链中。
Diffutils
包括了一些显示文件和目录差异的程序。这些程序可以用来创建补丁,也用于很多软件包的构建过程。
E2fsprogs
包括了一些处理ext2、ext3和ext4文件系统的工具。这些是Linux上支持的最常用而且完全经过考验的文件系统。
Expat
包括一个相对小的XML解析库。Perl模块XML::Parser需要用到这个。
Expect
包括了一个生成与其它程序交互的脚本对话框的程序。通常用来测试其它软件包。只安装在临时工具链中。
File
这个软件包包括了一个能判断给定文件的类型的工具。一些软件包需要用它来构建。
Findutils
包括了一些在文件系统中查找文件的程序。在很多软件包构建脚本中会用到它。
Flex
包括了一个能生成识别文本模式程序的工具。是lex(lexical analyzer)程序的GNU版本。构建很多LFS软件包需要用到它。
Gawk
包括了一些操作文本文件的程序。是awk(Aho-Weinberg-Kernigan)的GNU版本。在很多软件包的构建脚本中会用到它。
Gcc
GNU编译器工具集。它包括C和C++的编译器以及其它一些不是由LFS构建的软件包。
GDBM
包括了GNU数据库管理库。LFS的另一个软件包Man-DB会用到它。
Gettext
包括了很多软件包国际化和本地化需要用到的工具和库。
Glibc
包括了主要的C语言库。缺少它Linux程序就运行不了。
GMP
包括能提供任意精度数值运算的数学库。编译Gcc会用到它。
Gperf
一个能从一个链集生成完美哈希函数的程序。systemd会用到它。
Grep
包括了一些在文件中搜索的程序。大部分软件包的构建脚本会用到它。
Groff
包括了处理和格式化文本的程序。其中一个重要的功能是格式化man页面。
GRUB
Grand Unified Boot Loader。是可用的引导加载器之一,但最灵活。
Gzip
压缩和解压缩文件的程序。解压很多LFS以及之上的软件包时会需要它。
Iana-etc
提供网络服务和协议的数据。启用合适的网络功能会用到它。
Inetutils
包括了基本网络管理的程序。
Intltool
包括了能从源文件中抽取可翻译字符串的工具。
IProute2
包括了一些基本和高级的IPv4和IPv6网络的程序。由于其IPv6功能,所以选择它而不选择其它的网络常见工具包(net-tools)。
Kbd
包括了一些键盘映射文件,用于非US键盘的键盘工具以及一些控制台字体。
Kmod
包括了一些用于管理Linux内核模块的程序。
Less
这个软件包括的一个很好的文本文件查看器,允许查看文件的时候向上或向下滚动。Man-DB用它来查看man页面。
Libcap
实现了可以用于Linux内核的,从用户空间到POSIX1003.1e的接口。
Libpipeline
包括了一个以灵活和便捷的方式操作子进程流水线的库。Man-DB软件包会用到它。
Libtool
包括了一些GNU通用库支持脚本。它降低了在一致、可移植的接口上使用共享库的复杂度。在其它LFS软件包的测试套件里需要它。
Linux Kernel
操作系统。即我们常说的“GNU/Linux”中的“Linux”。
M4
包括了一个普通的文本宏处理器,作为其它程序的构建工具使用。
Make
包括了一个指导软件包构建的程序。LFS中的几乎每个包都需要它。
Man-DB
包括了一些查找和查看man页面的程序。由于其更好的国际化功能,用来代替man软件包。它提供了man程序。
Man-pages
包括了基本的Linux man页面的真正内容。
MPC
包括了复数运算的函数。Gcc需要它。
MPFR
包括了多精度运算的函数。Gcc需要它。
Ncurses
包括了一些处理字符界面的不依赖特定终端的库。通常用来为菜单系统提供光标控制。一些LFS的软件包会用到它。
Patch
包括了一个通过补丁文件来修改或新建文件的程序,补丁文件通常是由diff程序创建的。一些LFS软件包的构建过程会需要它。
Perl
包括了一个运行时语言PERL的解析器。一些LFS软件包的安装和测试套件会需要它。
Pkg-config
提供了一个返回已安装库或软件包的元数据的程序。
Procps-NG
包括了一些监视进程的程序。这些程序对系统管理非常有用,也用于LFS的启动脚本。
Psmisc
包括了一些显示运行中进程信息的程序。这些程序对系统管理非常有用。
Readline
提供了一些命令行编辑和历史功能的库。Bash会使用它。
Sed
提供了不通过文本编辑器而直接编辑文本的功能。大部分LFS软件包的配置脚本需要它。
Shadow
包括了一些以安全方式处理密码的程序。
Systemd
作为Sysvinit的替代品,这个包提供了一个init程序以及一些其它的引导和系统控制功能。很多Linux发行版都用它。
Tar
提供了归档和提取LFS中的几乎所有软件包的能力。
Tcl
包括了在很多LFS软件包测试套件中使用的工具命令语言。只安装在临时工具链中。
Texinfo
包括了一些读、写以及转换信息页面的程序。在很多LFS软件包的安装过程中会使用它。
Util-linux
该软件包包括了许多工具。其中有处理文件系统、控制台、分区和消息的工具。
Vim
一个编辑器。由于vi编辑器的经典以及大量的强大功能而选择它。对很多用户来说一个编辑器是一个非常个人的选择,如果需要的话也可以选择其它编辑器。
XML::Parser
这个包是和Expat交互的Perl模块。
XZ Utils
包括了一些压缩和解压缩文件的程序。通常它的压缩率最高,在解压XZ或者LZMA格式的软件包时非常有用。
Zlib
包括了一些程序所使用的压缩和解压缩功能。
LFS(1)——软件包及其功能