Ubuntu 之后的下一步是什么?Arch Linux / FreeBSD / Gentoo

Viv*_*rma 4 linux freebsd ubuntu gentoo

我一直在使用 Ubuntu,主要是作为一个生产系统很长一段时间。在此之前的 Fedora Core 和 Mandrake。我是一名开发人员,主要工作在网络核心 - L3/L4。我想毕业成为高级用户。想过迁移到 Arch Linux,但是配置系统需要很多时间。

所有 Linux 高级用户,对于希望学习 Linux 内部原理的人,您有什么建议,更多是从操作的角度而不是开发的角度?

jld*_*ger 28

我会提供一个稍微不同的建议。我看到很多人一旦对特定的发行版感到满意,就会陷入永久转换的循环。他们安装了一个新的闪亮发行版,但他们无法让他们的网络摄像头工作。所以他们换了。现在网络摄像头可以工作,但其他东西不起作用,他们再次切换。(然后他们找到了工作并且被限制在 RHEL 中......)。你可能会觉得 Ubuntu -> Arch -> Gentoo(-> FreeBSD?)有某种专家级的升级过程,但这并不是绝对必要的,而且很多人陷入了学习如何仅仅使用的陷阱发行版而不是构建或更改它们。

与其绕圈子跑,不如真正了解一个已经完成您需要的大部分工作的发行版是如何工作的。你很了解 Ubuntu。我将提倡的是深入研究 Ubuntu 社区和文档,以找到以下问题的答案:

  • 最小安装的核心组件是什么?
  • 你如何配置已安装的软件包?
  • 在哪里可以找到已安装二进制包的相应源代码?
  • 源代码作为二进制文件到达您的计算机的完整路径是什么?
  • 开发人员如何构建二进制包?
  • 如何从源代码重建包?
  • 升级包源版本应该采取哪些步骤?
  • 构建和安装程序的最佳实践是什么?
  • 用于构建和配置程序的文档存储在哪里?
  • 谁来审查和批准对发行版本身的更改?

无论您决定调查哪种分布,找到这些问题的答案都将是有价值的。您甚至可能已经知道其中一些问题的答案。

在 Ubuntu 的情况下,许多答案将类似于 Debian。例如,打包的最佳实践已编入Debian 政策手册


Dav*_*ley 12

除了 jldugger 的回答之外,如果您想了解事物是如何组合在一起的,我建议您从头开始学习 Linux,这将教您如何编译自己的 Linux 安装。这有点像手动安装gentoo。它不是要使用的发行版;这是要做的事情,一旦你完成工作就扔掉。然后,您可以继续使用您的 Ubuntu 安装并获得新的理解。


Oph*_*ian 6

好吧,FreeBSD 不会真正帮助您学习 Linux 的系统内部结构。我偏爱 Gentoo,而 Slackware 是另一种选择。

对于任何可以让您真正了解系统构建方式的选项,您将不得不在第一次配置所有内容时花费相当多的时间。这就是你将学习的方式。就我个人而言,通过默认安装在 Gentoo 上设置桌面,我对 Linux 的了解比我在 Fedora / CentOS 工作几年所学到的要多得多。这仅仅是因为我必须自己做所有事情并研究各个部分才能做出明智的决定。portageIMO 最好的包管理器并没有什么坏处。

我还会向您指出Gentoo 手册的文档,它会引导您完成最小安装(甚至可以从几乎任何 livecd 或现有的 linux 安装中执行),因此您设置了许多基本组件并最终获得了相对您可以从中开始构建桌面的准系统。