有无数不同的 Linux 发行版可用。他们中的许多人试图满足你的确切需求和风格。不过不是每个人都知道这一点,你也可以从头开始创建自己的基于 Linux 的操作系统。以下就向你介绍是如何开始的。但也许你并不想花时间去检查和测试每一个发行版本,特别是当它们已经超过 1000 个发行版的时候。要找到天作之合,这可能是一种耗时的方式,而且没有保证。还有什么比自己制作操作系统更能让你知道自己拥有了完美的匹配产品呢?这就是 Linux From Scratch 的用武之地。
什么是 Linux From Scratch?
Linux From Scratch (LFS) [1]项目专为使你能够创建自己的 Linux 操作系统来满足你的需求而创建,无论是用于特殊硬件调整、最大化性能、保持最前沿,还是学习 Linux 的内部结构。Linux From Scratch 不仅仅是另一个带有最少必要工具的发行版。LFS 实际上只是一个文档的集合,所以你所做的一切都来自每个项目的源代码。换句话说,借助 LFS 文档,你可以直接从他们的站点下载 Linux 内核的源代码并进行编译。然后你继续下一个组件并从那里开始工作,直到你最终构建了一个完整的操作系统,或者至少构建了一个你需要的操作系统。
如何制作自己的 Linux 操作系统
在创建自己的 Linux 操作系统时,你需要了解必须使用 Linux 发行版来创建另一个发行版。这是因为,当你直接从源代码创建所有内容时,你将需要大多数 Linux 发行版提供的通用工具来编译和安装 LFS 系统。也就是说,你不必安装临时发行版。你可以从 U 盘启动 Linux,然后用它来做你需要做的所有事情。准备就绪后,请打开最新的 Linux From Scratch 文档[2]以获取有关如何开始的指导。该文档将包含有关如何完成所需步骤的链接和详细信息,本文不会完整介绍这些内容。
第 1 步:分区磁盘
打开文档后真正的第一步是创建一个新分区,你将在其中安装新的 LFS 操作系统。你可以坚持你通常做的事情,无论是将所有内容存储在单个分区上,分离根分区和主分区,还是加密你的磁盘。
欢迎你使用你最喜欢的分区工具(例如 GParted)创建这些分区。如果你使用的是标准版本的 Ubuntu 或 Fedora,那么你很有可能已经安装了 GNOME 磁盘。或者,你可以选择使用命令行工具,例如 fdisk,无论你选择何种发行版,该工具都可用。你可以选择在现有操作系统的基础上再创建一个系统,但要知道双引导会带来风险。Linux From Scratch 已经够复杂了。你可能不想为增加的复杂性而烦恼。
第 2 步:编译和安装你的基本系统
准备好分区后,你需要前往第 3 章下载所有必要软件包和补丁的源代码。然后,在进行文档第 4 章中定义的更多更改后,你将开始构建 LFS 系统的基本框架。按照指南,你将编译构成工具链的工具,然后你将使用这些工具来构建其余的基础知识。请注意,Linux From Scratch 有一个不同于标准发行版的“要素”概念,标准发行版附带许多后台服务,例如打印、音频服务器和防火墙。你可以随意安装尽可能多的东西,但那是以后的事了。你的基本系统是你创建可独立运行的可引导系统所需要的,而无需继续从单独的发行版继续工作。完成基础编译后,你将“chroot”进入新系统。这相当于重新启动到你的新操作系统,除非你不是从字面上重新启动,并且更改仅适用于你的终端窗口。此时,你可以开始编译构成新操作系统的所有其他内容。
第 3 步:安装你的桌面、应用程序和所有其他设备
一旦你进行了简单的配置,你就可以开始安装其他软件,使你的系统真正属于你。你应该安装哪些其他软件完全取决于你、你的需要和你的需要。请记住,没有包管理器。要安装任何东西,你需要知道如何从源代码编译和构建软件。这就是为什么 LFS 经常被描述为精通 Gentoo 的人的下一个级别的原因之一。如果构建这么多的软件是令人不快的,你可能想还不如尝试一下 Arch Linux。至于安装哪个软件,你有完全的自由。如果你想继续本着从零开始尽可能多构建的精神,你可以决定构建自己的桌面环境,但是没有什么可以阻止你选择许多预先存在的选项之一。无论哪种方式,你都可以从最好的 Linux 应用程序中进行选择。如果你已经做到了这一点,那么你很可能知道你希望建立什么样的系统。玩得开心把电脑变成你自己的。
从 Linux From Scratch 值得吗?
创建 LFS 操作系统肯定需要一些时间,因为编译软件不是一个快速的过程。没有尝试过 Linux 或对终端不满意的人可能希望在深入研究之前从其他地方开始。如果无论如何都想从 Linux From Scratch 开始试验,你可以在安全、隔离的位置(例如虚拟机或空间机器Space Machine)进行尝试,这样你就不会意外破坏有价值的数据。然后,无论如何,学习。有很多宝贵的知识,只有亲身实践才能获得。