如何选择最适合编程和开发的 Linux 发行版
选择正确的发行版来进行 zen 编程。
要点
- Fedora 是向开发人员推荐的发行版,以其稳定性和丰富的存储库而闻名。对于那些喜欢滚动发行版的人来说,EndeavourOS 或 ArcoLinux 等几乎赤裸裸的 Arch 衍生品是理想的选择。
- 稳定性对于专业软件开发人员来说至关重要,无论是 Linux 发行版本身还是其背后的组织。大型社区和积极的贡献者有助于更有效地识别和解决问题。
- 存储在发行版存储库中的大量开发工具、框架和 IDE 对于 Linux 编程也至关重要。
开发人员对操作系统有一系列特殊的需求,例如性能和对各种开发工具的访问。知道了这一点,我们能为程序员挑选一个“最佳”Linux 发行版吗?
Linux 适合软件开发吗?
曾经,人们经常听到 Linux 被描述为面向开发人员的操作系统。不建议休闲或非技术用户使用。您必须至少精通部分代码才能使用 Linux。对于 Linux 来说,在其早期阶段可能确实如此,但在很长一段时间内情况并非如此。 Ubuntu、Pop!_OS 和 Linux Mint 等发行版为新手进入 Linux 世界铺平了道路。
当然,开发人员仍然在 Linux 上,因为 Linux 是一个非常棒的开发平台。使用 Linux,您可以获得隐私、稳定性和性能。您可以免费使用所需的所有开发工具。您可以在终端窗口中选择灵活的脚本语言,从而使构建过程、测试等自动化。
如果您使用的发行版默认情况下没有安装特定的工具,通常只需启动包管理器并安装它即可。工具链的所有部分都只需一个命令即可完成。
Linux 也通过 Docker 和 Vagrant 等解决方案以及 Kubernetes 等容器管理系统支持容器化。这些使得启动和管理隔离环境变得简单、快速,并且使用的资源比传统虚拟机少得多。
几乎可以将任何 Linux 发行版定制为您想要的样子,并且有很多 Linux 发行版可供选择。但有些发行版更接近您作为开发平台所需的功能,开箱即用,为您节省了一些工作。您所需要做的就是使用包管理器来完善您的工具链并适合您的工作流程。
鉴于 Linux 具有如此高的可定制性和延展性,提名某些发行版比其他发行版更适合开发是否有意义?我相信是的,但我们需要从不同的角度来看待它。我们不再列出一系列发行版并比较它们的开发优缺点,而是检查您的开发系统需要什么,然后看看是否将任何发行版作为明显的选择放在框架中。
相关:Docker 初学者:您需要了解的一切
您需要隐私、稳定性和性能
有两种类型的稳定性需要考虑。一是计算机上运行的 Linux 实例的可靠性,无论是在硬件上、在虚拟机中还是在容器中。系统冻结和内核核心转储会浪费您的时间、带来压力并降低您的工作效率。
在最坏的情况下,他们甚至可能会丢失您的工作,导致您重新做崩溃时正在做的事情。在不稳定的 Linux 发行版上工作显然是不可行的。您需要选择一个尽可能坚如磐石的发行版。
这给我们带来了第二种稳定性。您需要考虑分发背后组织的稳定性。它不需要是像 Canonical 或 Red Hat 这样的公司实体,但它确实需要有足够的社区成员,让您可以确信它不会逐渐消失并消亡,并且补丁和更新会以适当的方式发布。及时解决问题、错误和漏洞。
拥有大型、活跃社区和许多贡献者的发行版往往会更早地发现问题,因为他们对发行版有更多的关注。他们还设法更快地解决这些问题,因为他们手头有更多资源。
滚动发行版已经拥有适当的机制和流程,可以在传统的点发布发行版之前向其用户群提供补丁和更新。另一方面是,滚动分布可能会引入其自身的不稳定性。与直觉相反,这并不总是一件坏事。
由于滚动版本会不断更新,因此您将尽早收到任何影响您的工作流程、开发项目或最终产品的即将发生的更改通知。然后,您可以通过修改构建过程、在代码中解决该问题、更新或寻找新工具或任何您需要执行的操作来解决该问题。
至于脚本编写,Linux 上的选择让您眼花缭乱。您可以根据需要安装任意数量的不同终端 shell,并根据需要在 Bash、csh、Zsh、Fish 和所有其他终端之间切换。
如果您想在合理的时间内编译复杂的项目,您将需要一台像样的电脑。想想快速处理器、SSD 和大量 RAM。这将对您的编译速度产生巨大影响,其影响远远超过您选择的 Linux 发行版。这并不是说你想在你的开发盒上拥有一个臃肿、超载的发行版——你不想——但最大而容易的胜利在于硬件。
如果您要使用容器或虚拟机,那么 CPU、硬盘和 RAM 也将获得巨大的速度提升。
Linux有开发工具吗?
Linux 并不缺少开发工具、框架和 IDE。您甚至可以安装 Microsoft 的免费代码编辑器 Visual Studio Code。
在 Linux 上,支持您能想到的每种语言和范例。事实上,他们中的许多人都是在 Linux 上开始生活的。这并不是说您想要的那些将预装在您的 Linux 计算机上,但您可以轻松添加它们。
如果该软件包位于您的发行版存储库中,您可以使用软件包管理器安装它。有时它们会以 FlatPak、AppImage 或 Snap 的形式发布。如果源代码可用,您可以克隆其 Git 存储库(或下载 TAR 文件)并在您自己的计算机上构建该工具。
如果这些解决方案不存在,您通常可以从该工具的网站下载安装包。他们通常提供基于 Debian 的发行版的 DEB 文件、源自 Red Hat 的发行版的 RPM 文件的下载,有时还提供包含源代码的 TAR 文件。
符合 Linux 编程条件的嫌疑人
因此,我们正在寻找一个稳定且不臃肿的发行版。我们不希望崩溃,也不希望在不必要的后台进程上浪费 CPU 周期。我们的发行版应该拥有一个庞大、积极参与且热情的社区。公司的支持也不会造成伤害。
它需要有充足的存储库。如果它使用 RPM 或 DEB 包管理器,那就更好了。当网站允许您直接下载安装文件时,始终支持这两种包格式。
最符合这种描述的发行版是 Fedora。它在稳定性方面享有令人羡慕且无可争议的声誉,并得到了 Red Hat 的支持,如果某个软件可以在 Linux 上使用,那么它也可以在 Fedora 上使用。它还速度快,并且没有膨胀和遥测问题,这是 Ubuntu 的特色。要开始使用,请访问 Fedora Workstation 下载页面。
Fedora 是一个单点发行版。如果您喜欢滚动发行版,那么最好选择几乎赤裸裸的 Arch 衍生品之一,例如 EndeavourOS 或 ArcoLinux,而不是 Arch 本身。灾难似乎总是在最后期限之前发生。如果您需要重新安装操作系统,则需要在尽可能短的时间内启动并运行。
如果您正在运行虚拟机或使用容器,您可能会认为主机操作系统不如客户端重要。对于您正在创建和运行的软件来说,情况可能就是这样。但请记住,您的虚拟机管理程序或容器平台正在您的主机发行版上运行。
这个基础必须是不可动摇的。