Skip to the content.

上一页      主目录      下一页

1. Welcome to BLFS


《Beyond Linux从零开始》这本书的目的是继承LFS这本书留下的内容。但与LFS的书不同的是,它的设计并不是为了让你完全遵循。 阅读本章的 Which sections of the book? 部分,将有助于引导你通读这本书。

请仔细阅读本书这一部分的大部分内容,因为它解释了全书中使用的一些惯例。

1.1 Which Sections of the Book Do I Want?


与Linux From Scratch这本书不同,BLFS不是按照线性方式设计的。LFS提供了如何创建一个基本系统的说明,它可以成为从web服务器到多媒体桌面系统的任何东西。BLFS试图引导您从基本系统到预期目的地的过程。选择是非常复杂的。

每个读这本书的人都会想读某些章节。您当前正在阅读的Introduction, 包含一般信息。特别注意 Chapter 2, Important Information 中的信息,因为它包含了关于如何解包软件的注释,与使用不同locale相关的问题,以及贯穿全书的各种其他注意事项。

关于后LFS配置和额外软件的部分是大多数人接下来想看的部分。这不仅涉及配置,还涉及安全性 (Chapter 4, Security), 文件系统 (Chapter 5, File Systems and Disk Management – 包括UEFI的GRUB), 编辑器 (Chapter 6, Editors), 和Shells (Chapter 7, Shells). 实际上,您可能希望在构建LFS系统时引用本章的某些部分(特别是关于编辑器和文件系统的部分)。

在这些基本项目之后,大多数人会希望至少浏览一下本书的通用库和实用程序部分。它包含了许多项目的信息,这些项目是本书其他部分的先决条件,以及一些项目 (such as Chapter 13, Programming) 这些项目本身就很有用。您不必安装本部分中找到的所有库和包;每个BLFS安装过程都会告诉您这个安装依赖于哪些其他软件包。你可以选择你想要安装的程序,看看它需要什么。(不要忘记检查嵌套的依赖项!)

同样,大多数人可能会想要查看Networking部分。它处理连接到互联网或你的局域网 (Chapter 14, Connecting to a Network) 使用各种方法,如DHCP和PPP,以及诸如网络库 (Chapter 17, Networking Libraries) 之类的项目,以及各种基本的网络程序和实用程序。

处理完这些基本问题后,您可能希望配置更高级的网络服务。这些将在本书的服务器部分讨论。那些想要构建服务器的人应该在这里找到一个很好的起点。请注意,本节还包含有关几个数据库包的信息。

接下来的十二章讨论桌面系统。本书的这一部分以讨论图形组件的部分开始。这一部分还涉及到一些通用的X-based 的库 (Chapter 25, Graphical Environment Libraries). 之后,KDE、GNOME、Xfce和LXDE给出了它们自己的部分,接着是X Software上的部分。

本书接着讨论多媒体包。请注意,许多人在第一次开始BLFS之旅时可能想要使用本章中的 ALSA-1.2.7 指令;指令放在这里,因为这是最符合逻辑的地方。

最后部分的主要BLFS书处理印刷,扫描和排版。这对大多数使用桌面系统的人都很有用,但即使是那些创建专用服务器系统的人也会发现它很有用。

我们希望您喜欢使用BLFS。愿您实现构建完美个性化Linux系统的梦想!

1.2 Conventions Used in this Book


排版约定

为了便于理解,本书中使用了一些约定。下面是一些例子:

./configure --prefix=/usr

除非在周围的文本中另有说明,这种形式的文本应该完全按照所示的方式键入。它还用于标识对特定命令的引用。

install-info: unknown option
`--dir-file=/mnt/lfs/usr/info/dir'

这种形式的文本(固定宽度字体)显示屏幕输出,可能是执行命令的结果。它还用于显示文件名,如 /boot/grub/grub.conf

Emphasis

这种形式的文本有几种用途,但主要是为了强调要点,或者给出打字的例子。

https://www.linuxfromscratch.org/

这种形式的文本用于书外部的超文本链接,如HowTos、下载位置、网站等。

SeaMonkey-2.53.15

这种形式的文本用于书的内部链接,例如描述不同包的另一个部分。

cat > $LFS/etc/group << "EOF"
root:x:0:
bin:x:1:
......
EOF

这种风格主要用于创建配置文件。第一个命令(用粗体显示)告诉系统从下面几行输入的内容创建文件 $LFS/etc/group,直到遇到EOF序列。因此,这整个部分的输入通常完全如下所示。记住,复制和粘贴是你的朋友!

<REPLACED TEXT>

这种形式的文本用于封装应该修改的文本,这些文本不能按所示键入,也不能复制和粘贴。尖括号不是文本的一部分;它们是替换的一部分。

root

这种形式的文本用于显示指令中特定的系统用户或组引用。

用于包依赖的约定

当创建新的软件包时,软件的作者依赖于先前的工作。为了在BLFS中构建包,必须在编译所需的包之前构建这些依赖项。对于每个包,先决条件在一个或多个单独的部分中列出:必需的、推荐的和可选的。

必需的依赖项

这些依赖关系是构建包所需的最小值。LFS中的包以及这些必需包的必需依赖项将从此列表中省略。总是记得检查嵌套的依赖项。

推荐的依赖项

这些依赖关系是BLFS编辑确定的,对于为包提供合理的功能非常重要。包安装说明假定它们已经安装。如果推荐的包没有安装,说明可能需要修改,以适应缺失的包。

可选依赖项

这些是包可能使用的依赖项。包可以自动集成可选的依赖项,或者BLFS没有提供的附加步骤可能是必要的。可选依赖项有时在没有显式BLFS指令的情况下列出。在这种情况下,您必须确定如何自己执行安装。

用于内核配置选项的约定

有些软件包需要特定的内核配置选项。它们的总体布局是这样的:

Master section --->
    Subsection --->
        [*]     Required parameter                     [CONFIG_REQU_PAR]
        <*>     Required parameter (not as module)     [CONFIG_REQU_PAR_NMOD]
        <*/M>   Required parameter (could be a module) [CONFIG_REQU_PAR_MOD]
        <*/M/ > Optional parameter                     [CONFIG_OPT_PAR]
        [ ] Incompatible parameter                     [CONFIG_INCOMP_PAR]
        < > Incompatible parameter (even as module)    [CONFIG_INCOMP_PAR_MOD]

[CONFIG_…] 给出了选项的名称,所以你可以很容易地检查它是否设置在你的 .config 文件。各条目的含义为:

Master section

顶级菜单项

Subsection

子菜单项

Required parameter

该选项可以是内置的,也可以不被选中:必须被选中

Required parameter (not as module)

该选项可以是内置的、模块的,也可以是未选中的(三状态):它必须被选中为内置的

Required parameter (could be a module)

该选项可以是内置的,一个模块,也可以不被选中:它必须被选中,要么作为内置的,要么作为模块

Optional parameter

很少使用:该选项可以是内置的,一个模块,或者不被选中:它可以被设置为任何你想要的方式

Incompatible parameter

该选项可以是内置的,也可以不被选中:必须不被选中

Incompatible parameter (even as module)

该选项可以是内置的,一个模块,或者没有被选中:它不能被选中

请注意,根据其他选择,如果不能取消选项,则配置菜单中的尖括号(<>)可能显示为大括号({}),甚至在强制选择时显示为破折号(-*- or -M-)。描述该选项的帮助文本指定该选项所依赖的其他选择,以及如何设置这些其他选择。

BLFS中的SBU值

与LFS一样,BLFS中的每个包都有一个在标准构建单元(SBUs)中列出的构建时间。这些时间是相对于在LFS中构建binutils所花费的时间而言的,目的是让您了解构建一个包需要多长时间。列出的大多数时间都是单个处理器或核心构建包的时间。在某些情况下,在多核系统上测试的大型、长时间运行的构建会列出SBU时间,并带有诸如“(parallelism=4)”之类的注释。这些值表明测试是使用多个内核完成的。请注意,虽然这可以在使用适当硬件的系统上加快构建速度,但这种加速不是线性的,并且在某种程度上取决于单个软件包和所使用的特定硬件。

对于使用ninja(即任何使用meson的包)或rust的包,默认情况下使用所有内核;即使在构建时间很短的情况下,也会在这样的包上看到类似的注释。

即使是并行构建也需要超过15个SBU,在某些机器上,即使构建不使用交换,时间也可能要大得多。特别是,不同的微体系结构将以不同的相对速度构建一些文件,这可能会在某些make目标等待另一个文件创建时引入延迟。当大型构建使用大量c++文件时,具有同步多线程的处理器将共享浮点单元,并且可以比使用四个“主要”核心(在使用任务集并保持其他核心空闲的intel i7上测量)时多花费45%的时间。

有些包不支持并行构建;对于这些,make命令必须指定-j1。已知有这种限制的包装在正文中作了这样的标记。

1.3 Book Version


这是BLFS-BOOK版本11.3,日期为2023年3月1日。这是BLFS书的11.3-systemd分支,目前的目标是LFS 11.3-systemd书。对于开发版本,如果这个版本是超过一个月的旧版本,则很可能您的镜像最近没有同步,并且可能可以下载或查看较新的版本。查看其中一个镜像网站 https://www.linuxfromscratch.org/mirrors.html 获取更新版本。

1.4 Mirror Sites


BLFS项目在世界范围内设置了许多镜像,使您更容易、更方便地访问该网站。详情请访问https://www.linuxfromscratch.org/mirrors.html 当前镜像列表的网站。

1.5 Getting the Source Packages


在BLFS指令中,每个包都有两个用于查找包的源文件的引用——一个HTTP链接和一个FTP链接(有些包可能只列出其中一个链接)。我们已尽一切努力确保这些链接准确无误。然而,万维网是不断变化的。包有时会被移动或更新,而指定的确切URL并不总是可用的。

为了克服这个问题,BLFS团队在俄勒冈州立大学开源实验室的帮助下,通过全球镜像建立了一个HTTP/FTP站点。看到https://www.linuxfromscratch.org/blfs/download.html#sources为了一个列表。这些站点拥有BLFS中使用的软件包的所有确切版本的来源。如果您无法在列出的地址中找到所需的BLFS包,请从这些站点获取。

不过,我们想请你帮个忙。虽然这是供您使用的公共资源,但请不要滥用它。我们已经有一个不加思考的人下载了超过3GB的数据,包括放置在不同位置的相同文件的多个副本(通过符号链接),以便更容易找到正确的软件包。这个人显然不知道他需要什么文件,并下载了所有文件。下载文件的最佳位置是源代码开发人员设置的站点。请先去那里试试。

1.6 Change Log


当前版本:11.3 - 2023年3月1日

Changelog Entries:

1.7 Mailing Lists


linuxfromscratch.org服务器托管了许多用于开发BLFS书籍的邮件列表。这些列表包括主要的开发和支持列表。

有关哪些列表可用、如何订阅它们、存档位置等更多信息,请访问 https://www.linuxfromscratch.org/mail.html.

1.8 BLFS Wiki


TBLFS项目已经创建了一个Wiki,供用户在https://wiki.linuxfromscratch.org/blfs/wiki上对页面和说明进行评论。欢迎所有用户发表意见。

以下是投寄规则:

用户必须注册并登录才能编辑页面.

修改这本书的建议应该通过创建一个新的票证来提出,而不是通过在Wiki上发表评论.

有关您的特定安装问题的问题应该通过订阅和发送到以下地址的BLFS支持邮件列表来提出: mailto:blfs-support 在 linuxfromscratch.org.

关于构建说明的讨论应该通过订阅和发送邮件到mailto:blfs-support 在 linuxfromscratch.org的BLFS开发列表来进行.

不合适的材料将被删除.

1.9 Asking for Help and the FAQ


如果您在使用本书时遇到问题,而您的问题没有在FAQ (https://www.linuxfromscratch.org/faq) 中列出, 你会发现大多数在IRC和邮件列表上的人都愿意帮助你。LFS邮件列表的概述可以在 Mailing lists 中找到. 为了帮助我们诊断和解决您的问题,请在您的帮助请求中包含尽可能多的相关信息.

询问之前要检查的事情

在寻求帮助之前,您应该查看以下项目:

需要提及的事情

除了对你遇到的问题做一个简短的解释外,你的请求中最重要的内容是:

(请注意,说你偏离了书中的规定并不意味着我们不会帮助你。这只会帮助我们发现问题的其他可能原因。)

期待指导,而不是具体的指示。如果你被要求读一些东西,请照着做。这通常意味着答案太明显了,如果在提问之前做了一点研究,这个问题就不会被问到。邮件列表中的志愿者不希望被用作在您的终端上进行合理研究的替代方法。此外,通过这项研究,你体验BLFS的质量也大大提高了,志愿者的质量也得到了提高,因为他们不觉得自己的时间被滥用了,所以他们更有可能参与进来。

Eric S. Raymond写了一篇关于在互联网上寻求帮助的优秀文章。可以在网上找到 http://www.catb.org/~esr/faqs/smart-questions.html. 阅读并遵循文件中的提示,你就更有可能从一开始就得到回应,也更有可能得到你真正需要的帮助。

1.10 Credits


许多人直接或间接地为BLFS做出了贡献。这一页列出了所有我们能想到的。我们很可能漏掉了一些人,如果你觉得是这样,请给我们写信。非常感谢所有LFS社区对这个项目的帮助.

当前编辑

撰稿人和前任编辑

贡献者列表太大,无法提供每个贡献者的详细信息。多年来,以下个人为本书提供了重要的投入:

普遍鸣谢

1.11 Contact Information


请将您的电子邮件发送到BLFS的邮件列表之一。有关可用邮件列表的更多信息,请参阅邮件列表。

上一页      主目录      下一页