我发现很多在我 Linux 机器内部发生的事情是我不理解的,这让我感到沮丧。 如果你和我一样,想要真正理解你的系统,而不仅仅是知道如何使用它,那么这份文档应该是一个很好的起点。 如果你想成为顶级的 Linux 问题解决者,这种背景知识也是必需的。
我假设你已经有一台可以正常工作的 Linux 机器,并且了解一些关于 Unix 和 PC 硬件的基本知识。 如果没有,Eric S. Raymond 的 《Unix 和互联网基础知识 HOWTO》 是一个极好的学习起点。 它简短易读,涵盖了所有基础知识。
本文档的主线是 Linux 如何启动自身。 但它也力求成为一个更全面的学习资源。 我在每个章节中都加入了练习。 如果你实际做一些这些练习,你将会比仅仅阅读学到更多。
我希望一些读者会进行我所知的最佳 Linux 学习练习,那就是从源代码构建一个系统。 意大利哲学家詹巴蒂斯塔·维科(Giambattista Vico,1668-1744)说过“verum ipsum factum”,意思是“理解源于实践”。 感谢 Alex (见 致谢) 提供的这句引言。
如果你想“自己动手”,你也应该看看 Gerard Beekmans 的 《Linux From Scratch HOWTO》 (LFS)。 LFS 提供了从源代码构建完整可用系统的详细说明。 在 LFS 网站上,你还会找到一个为以这种方式构建系统的人们设立的邮件列表。 曾经是本文档一部分的说明现在位于一个单独的文档《从源代码构建一个最小 Linux 系统》中,可以在 From PowerUp to Bash Prompt 主页 找到。 它们解释了如何构建一个“玩具”系统,纯粹作为学习练习。
软件包按照它们在系统启动过程中出现的顺序呈现。 这意味着如果你按照这个顺序安装软件包,你可以在每次安装后重启,并看到系统每次都更接近于给你一个 bash 提示符。 这会带来一种令人安心的进步感。
我建议你首先阅读每个章节的主体文本,跳过练习和参考资料。 然后决定你想要发展多深入的理解,以及你准备投入多少努力。 然后从头再来,在进行的过程中做练习和额外的阅读。