使用 Linux from Scratch 构建发行版的构建块

尚无读者喜欢这篇文章。
What makes a new medium successful?

Opensource.com

存在数量非常非常庞大的 Linux 发行版。每个发行版都使用相同的基本构建块构建,但最终结果始终不同。发行版开发者所做的选择将构建块转变为旨在满足各种需求的成品结构——桌面、服务器或其他一些专门用途。

学习各种构建块如何协同工作以创建有凝聚力的 Linux 发行版是扩展您的 Linux 技能的绝佳方法。Linux from Scratch 为熟练的 Linux 用户提供了一种具有挑战性的方法来实现这一目标。

当您按照核心 Linux from Scratch 书籍中的说明构建基础时,您的 Linux from Scratch 安装将变成一个功能齐全的 Linux 系统,如果您进一步学习 Beyond Linux from Scratch,您最终将获得一个完全功能化且自定义的系统,完全由您自己创建。完善 Linux from Scratch 系列的是一些高级项目,用于自动化 Linux from Scratch 构建、交叉编译 Linux from Scratch 以及构建强化(安全重点)版本的 Linux from Scratch。

下面,我将向您介绍每个 Linux from Scratch 项目。希望您能受到启发尝试 Linux from Scratch,或者至少通读一些材料,并对创建和维护 Linux 发行版所涉及的工作产生健康的敬意。

Linux from Scratch

按照 Linux from Scratch 指令 进行操作将教会您如何手动设置 Linux 系统。没有花哨的安装程序。您将使用命令行工具完成每个步骤。这样做要求您已经拥有一个工作的 Linux 安装,该安装满足 编译 Linux from Scratch 的最低要求。如果 LiveCD 符合要求,您也可以使用它,但官方 Linux from Scratch LiveCD 已不再维护,因此不能用于构建最新版本的 Linux from Scratch。

Linux from Scratch 过程涉及许多步骤,但主要步骤是编译软件。由于编译软件可能需要大量时间,Linux from Scratch 提供了一种有趣的方法来帮助用户了解在其系统上编译软件包需要多长时间。此方法涉及计时编译过程中第一个软件包 Binutils 所需的时间。编译 Binutils 所需的时间成为一个标准构建单元 (SBU)。每个其他软件包都列出了编译它需要多少 SBU。列为 0.5 SBU 的软件包将花费编译 Binutils 所需时间的一半,而需要 5.0 SBU 编译的软件包将花费五倍的时间。

Linux from Scratch 创建了一个非常基本的系统,但您可以选择两种变体——一种使用 sysvinit,另一种使用 systemd。这两种变体的软件包列表几乎相同,除了 init 系统和一些支持软件包。两种变体中的其他软件包都是相同的,因此选择您喜欢的 init 系统的版本,然后继续学习 Beyond Linux from Scratch,以进一步自定义您的系统以满足您的喜好。

Beyond Linux from Scratch

如果您想将您的 Linux from Scratch 系统变成适合日常使用的东西,您将需要 Beyond Linux from Scratch 中的说明。这些说明向您展示了如何安装其他软件,将核心 Linux from Scratch 安装扩展到实际上可用于实际任务的系统。其中包含安装各种软件的说明,因此您可以选择并挑选以创建满足您需求的系统。选择您想要的桌面环境(如果有),安装您需要的应用程序,您的系统将完全正常运行。

Automated Linux from Scratch

在您多次构建 Linux from Scratch 系统并熟悉该过程后,您可以使用 Automated Linux from Scratch 自动化构建过程。Jhalfs 是 Automated Linux from Scratch 的官方实现,可以获取 Linux from Scratch 指令,解析它们并创建可执行的 shell 脚本。编译过程仍然会很耗时,但是您将能够构建 Linux from Scratch 系统而无需手动运行每个步骤,因此您可以在自动构建脚本执行其操作时专注于其他任务。

Cross Linux from Scratch

有时您有较旧、功能较弱的硬件,您想赋予它新的生命。理论上,您可以在该机器上编译 Linux from Scratch,但由于硬件太旧,这将花费很长时间。使用 Cross Linux from Scratch,即使旧机器的架构与正在使用的主机系统不同,您也可以为旧机器编译 Linux from Scratch 系统。您可以使用现代、强大的 Intel Core i7 系统为旧的 PowerPC Macintosh 或各种其他系统编译 Linux for Scratch。当前版本的 Cross Linux from Scratch 可用于为 PowerPC、MIPS、Sparc、x86 和 x86_64 架构进行编译。

Hardened Linux from Scratch

Hardened Linux from Scratch 不像其他 Linux from Scratch 项目那样得到积极维护,它是基本 Linux from Scratch 指令的安全重点版本。由于当前版本非常过时,因此不一定真正安全,但对于任何有兴趣强化其系统的人来说,这些说明仍然值得一读。这些说明确实提供了对系统安全性的宝贵见解,这在当今世界的所有安全问题中都很有价值。尽管如果 Hardened Linux from Scratch 指令能够更及时更新就好了。

资源和讨论

如果您仔细阅读并按照提供的说明进行操作,Linux from Scratch 并不困难。也就是说,这是一个复杂的过程,对于经验不足的用户来说可能会感到不知所措。如果您确实遇到困难,有很多地方可以寻求帮助。如果您在设置 Linux from Scratch 时有任何疑问或遇到任何问题,以下资源应该可以帮助您。

标签

2 条评论

很棒的文章!我将与我的 Tweeps 分享!

很棒的文章,感谢您澄清 LFS :-)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.