LFS——软件包及其功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LFS——软件包及其功能相关的知识,希望对你有一定的参考价值。

为了让自己更加深入理解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——软件包及其功能的主要内容,如果未能解决你的问题,请参考以下文章

LFS 系列从零开始 DIY Linux 系统:构建 LFS 系统 - Libcap-2.24

Linux From Scratch(LFS11.0)构建 LFS 系统 - OpenSSL-1.1.1l

Linux From Scratch(LFS11.0)构建 LFS 系统 - Gettext-0.21

Linux From Scratch(LFS11.0)重启系统

Linux From Scratch(LFS11.0)构建 LFS 系统 - Readline-8.1

Linux From Scratch(LFS11.0)构建 LFS 系统 - Gettext-0.21