用于开发的最佳 Linux 发行版
在过去的几年里,Linux 在终端用户和开发者中的普及程度一直在缓慢提升。原因有很多,例如 Windows 10 的终结、易用性、灵活性、可靠性、游戏,以及……开发。
没错,Linux 是一个卓越的开发平台。它不仅拥有你所需的所有工具,而且这些工具通常是免费、开源且易于安装的。除此之外,你还拥有 Docker、Podman、Kubernetes、虚拟机 (VM) 等等。
通常来说,列出适合终端用户的最佳 Linux 发行版很容易,但涉及到开发时,可以肯定各方意见会层出不穷。大多数时候,这些意见更多地围绕着某个开发者具体在使用哪种发行版,而较少关注“无论我使用什么,这才是适合这项工作的正确工具”。
我将列表缩减到了五个不同的发行版。我承认我最常用的发行版就在这个名单上,但我向你保证,即使我没有使用它十年之久,我依然会推荐它。
请记住,几乎任何 Linux 发行版都可以转变为开发机。只要安装正确的工具链,添加你喜欢的语言和 IDE,融入容器运行时引擎,你就可以开始运行了。
但我还是想重点介绍我认为市场上最佳选择的那些发行版。我们开始吧。
1. Debian
Debian 被称为“发行版之母”是有原因的。Debian 是 Ubuntu 的基础,而大量的发行版又是基于 Ubuntu 的。没有 Debian,就没有 Ubuntu。此外,Debian 是现有的最坚如磐石的操作系统之一,这绝非夸张。原因在于 Debian 采用保守的发布周期、经过严耕筛选的应用程序以及快速且安全的更新。
除了稳定性之外,你还可以通过 Debian 仓库获得海量的安装软件、强大且用户友好的包管理器以及多架构支持。开发者还可以根据需要选择分支,从稳定版 (stable)、测试版 (testing) 到前沿版 (bleeding edge)。Debian 运行快速且高度可定制,有不同的桌面环境可供选择。Debian 还拥有庞大的用户群,这意味着无论你遇到什么问题,都可以轻松找到支持。
最后,Debian 非常安全。Debian 与基于 Ubuntu 的发行版的一个不同之处在于,它默认不为标准账户启用 sudo 权限。如果你需要执行需要管理员权限的操作,你需要使用传统方式通过 su 切换到 root 用户。当然,如果你愿意,你也可以将标准用户添加到 sudo 组中,以获得更便捷的体验。
2. Fedora
对许多人来说,Fedora 是开发的必然选择。其中一个主要原因是 Fedora 是一个专注于新技术的平台,通常比其他发行版更早采用新软件。Fedora 是首批改用 Wayland、使用 Btrfs 的发行版之一,并且总是在任何其他发行版发布之前就能享受到最新版本的 GNOME。由于它随附新版本的软件,你可以放心,你的工具链应用(如 GCC)和语言(如 Python)都将是可用的最新版本。因此,你开箱后需要安装或升级的软件会更少,也无需添加非官方仓库来获取最新版本。Fedora 还包含以开发者为中心的工具,如编译器和 IDE,还有用于创建可复现开发环境的 toolbox 命令。Fedora 还附带了 GNOME Boxes 应用程序。这款应用让你能够非常轻松地启动虚拟环境,而无需处理 VirtualBox 或其他虚拟机工具的繁琐操作。尽管 Fedora 倾向于“前沿”,但它依然非常可预测、可靠且稳定。最后,Fedora 拥有庞大的社区,因此寻找支持一点也不困难。
3. Pop!_OS
没错,Pop!_OS 是我的首选发行版。现在 System76 推出了 COSMIC 桌面,它变得更出色了。关于 COSMIC,你首先会注意到的是它的速度极快。原因在于该桌面环境是用 Rust 编写的,这是一种运行速度很快的语言。除了速度之外,Pop!_OS 实际上是专为创作者打造的。另一个让 Pop!_OS 脱颖而出的功能是能够随时启用或禁用平铺式窗口管理。如果你需要更高效的桌面环境,就开启平铺功能;如果不需要,就保持关闭。
Pop!_OS 出现在这个名单上的另一个非常重要的原因是,System76 为 NVIDIA 和 AMD GPU 都提供了专门的 ISO 镜像。通过选择正确的 ISO,你无需担心为你的显卡安装驱动程序。安装了适当的 NVIDIA 驱动后,你在进行机器学习 (ML) 和人工智能 (AI) 开发时会轻松得多。Pop!_OS 使用 APT 包管理器,因此你会受益于广泛的软件选择。此外,你还可以通过 Flatpak 获得更多选项。最后,Pop!_OS 开箱即提供全盘加密,这意味着如果你的系统或驱动器丢失或被盗,你无需担心数据被访问。
4. openSUSE
首先,openSUSE 有两个不同的版本:Tumbleweed 和 Leap。Tumbleweed 是滚动更新发行版,这意味着你将始终拥有最新、最好的软件。openSUSE 与其他滚动更新发行版的区别在于,开发团队使用 openQA 测试框架来确保高度的稳定性,这在其他滚动更新版中是不常见的。或者,如果你更喜欢长期支持,可以选择 Leap 版本。你还将获得一些特定于构建者的工具,例如 Open Build Service(一个强大的基于 Web 的工具,用于简化软件构建和分发过程)、YaST(一个强大且全面的管理工具,允许开发者一键安装所有必要的 -devel 软件包)以及 Btrfs 文件系统(包含快照功能,可以轻松回滚到之前的状态)。openSUSE 也非常适合通过 Docker、Podman 和 Kubernetes 进行开箱即用的容器化开发。
5. Linux Mint
如果你问任何开发者为什么要选择 Linux Mint,答案很简单:因为它太好用了。这种用户友好性意味着你可以毫无问题地运行操作系统,并获得一种既简单又可靠的用户体验。Linux Mint 也受益于 Ubuntu 基础,因此即使安装所有必要的构建组件,也只需一条命令:sudo apt-get install build-essential -y。该软件包安装了从源代码编译和构建软件所需的一整套核心工具和库。你将获得 C 和 C++ 编译器、GNU Make、标准 C 和 C++ 库头文件、dpkg-devel 等等。Linux Mint 默认使用 Cinnamon 桌面,它让人感觉非常亲切、快速且稳定。在开发环境中,你还需要什么呢?