我应该使用哪个 Linux 发行版?

2025-05-26

我应该使用哪个 Linux 发行版?

那么……我应该在我的新电脑上安装哪个版本的 Linux?
点击此处投票!

我经常被问到这个问题:“嘿,你是 Linux 爱好者吧?我应该用哪个 Linux?我有个朋友推荐(此处填写发行版),我想知道你的想法?” 我通常会回答同一个问题:你想做什么?所以我决定写这篇文章,作为你应该选择哪种 Linux 的指南。

我的 Linux 历史

我可能应该先在文章开头介绍一下我的 Linux 历史,以防你读到这篇文章却不认识我(很有可能)。如果你不介意的话,可以跳过这一步。

Slackware Linux

我大约在 1996 年开始使用 Linux。我的第一台 Linux 是 Slackware 4,是我在 Egghead Software 买的一套 CD(没错,我老了)。一个朋友告诉我这个类似 Unix 的东西很棒,我迫不及待地想尝试一下,他觉得我会喜欢的。

我读了很多关于Unix的书,对它非常好奇。我在网络供应商那里有个shell账户,也经常用它。但一开始我有点犹豫。“我为什么需要这个?”他的回答很简单:“因为你讨厌Windows 95,喜欢DOS,所以你会喜欢这个的。” 所以我买了。他说得对。

我把一个旧硬盘装了上去。我花了几个小时,然后是几天的时间才搞定。我终于把一台台式机装好了,可以运行了。我不知道是什么驱使我这么做的,但我必须弄清楚如何让这个系统正常工作,这很困难。

我必须非常了解我的硬件!简单的事情突然又变得困难了。但我坚持了下来,我的桌面终于启动了。我开始编写一些有趣的脚本。系统运行速度很快,我几乎可以修改它的所有功能。

它内置了 C 编译器?我刚买了个很贵的 Borland 软件包,我几乎没怎么搞懂。但这个操作系统居然内置了编译器?居然还有免费的图片编辑器?我被迷住了!

人们使用 Unix 的老照片

此后的几年里,我尝试了无数发行版,甚至包括 BSD Unix 发行版。我的“主力机”一直是双启动系统,其中一些是纯 Linux 的。在 21 世纪初期的大部分时间里,我完全避免使用 Windows。所以,按年份来算,我的“主力机”大概是:

  • 1996-1999年:Slackware
  • 1999-2002:Redhat(和 FreeBSD)
  • 2003-2005年:FreeBSD / Knoppix
  • 2005-2009年:Gentoo
  • 2009-2011年:Linux Mint
  • 2011-2018:Arch Linux / Debian

我这辈子用过 50 多个发行版,但这个是我用来工作、浏览网页、开发等等的“主力机”上运行的。显然,Arch 是目前为止运行时间最长的,主要是因为我只需配置一下,就可以在很长一段时间内不用管它。

但过去几年我“真正工作”的主要发行版是Arch Linux

关于我的介绍就到此为止,让我们来谈谈您应该使用什么。

那么你想做什么?

我将根据常见的需求对这些发行版进行分类。它们之间有一些重叠,只要你付出足够的努力,任何一个 Linux 发行版都能满足你的需求。Linux 的一大优点在于你可以随心所欲地使用它。但有些发行版已经为你完成了许多工作,或者其设计更适合某些目标。我将根据最容易实现目标的途径对这些发行版进行分类。


我是一个刚刚开始的 Linux 新手

Linux Mint

很长一段时间以来,我都推荐使用 Ubuntu。就易用性和兼容性而言,它很棒。但我现在避免使用 Ubuntu。我仍然在我的课程和文章中使用它来演示,因为很多人使用它,但我不喜欢这个发行版的运行方式、内置的亚马逊广告软件,而且 Unity 也很烦人。

因此,如果你刚刚开始,我建议:

这有点像作弊,因为 Linux Mint 是基于 Debian 构建的,但 Mint 看起来更漂亮,并且有一些不错的跨平台功能。

如果您需要,请使用这些发行版:

  • 类似 Windows 的体验
  • 安装简单
  • 可靠的东西
  • 类似 Linux 的东西,但又不偏离常态
  • “有效”的东西

好吧,最后这一点真的很重要。它真的好用。这些发行版大多是即插即用的。安装好之后,就不用管它了。我越来越依赖 Debian 作为我的开发机器,因为有时候我不在乎操作系统,也不想让它妨碍我。当我只想构建东西的时候,Debian 是无可匹敌的。

如果您刚刚开始,这门有关Linux 安装和初始配置的课程可能会对您有很大帮助。


我想了解有关 Linux 和我的硬件的更多信息

替代文本

也许你想玩玩,想做做实验。你想挑战自己,强迫自己边做边学。太好了,我就是这么做的。

如果你想挑战自己并学习,我建议:

这些发行版都需要大量的配置、硬件检测和源代码编译。使用 Gentoo,你需要编译所有内容。这是完全掌控你的操作系统的好方法。

如果您需要,请使用这些发行版:

  • 完全控制您的计算机和操作系统
  • 了解 Linux 内部结构
  • 精益优化的系统

这需要付出代价:主要是时间。完整安装这些程序可能需要几个小时。好的一面是,它们通常可以永久运行。

我在一台联想电脑上安装了一个 Arch,花了大半个周六的时间来配置,之后又花了大概十个小时甚至更长时间。它几乎毫不费力地运行了 5 年(直到笔记本电脑硬件坏了)。我只需要偶尔更新几次,但我每天都可靠地使用它,持续了 5 年。所以从某种程度上来说,你可以把它看作是一项投资。


我想要尖端的东西

替代文本

好吧,也许你想要最新最好的软件,而不在乎它有多稳定。你想做一些内核 hacking 或其他一些程序员昨天提交的酷炫东西。

稳定性和安全性见鬼去吧,你现在想要最新的东西。

如果您需要,请使用这些发行版:

  • 用风险换取最新的东西
  • 始终提供最新、最出色的功能
  • 配置事物以应对重大变化的有趣之处

公平地说,我个人使用过 Arch 和 Gentoo,没有遇到严重的稳定性问题,但我冒险在滚动发布中使用最前沿的东西。


我只想完成一些工作

替代文本

好吧,也许你并不真正关心操作系统的细节,只想完成 GSD(Get Stuff Done)。也许你想构建一些 Node 或 GoLang 应用,并且听说 Linux 最适合这类应用。

这些对于完成工作非常有用:

如果您需要,请使用这些发行版:

  • 运行平稳,维护成本低
  • 最低配置
  • 大部分自动运行的东西
  • 硬件和软件兼容性

正如我所说,我最近经常使用 Debian,因为我通常只是做一些事情,并不想费力地进行修改和优化。它稳定、快速,而且不会给我带来任何麻烦。我现在正在用 Debian 9 写这篇文章。


我想设置服务器

替代文本

也许您想搭建一个 Web 服务器或虚拟主机,但不知道该用什么。这份清单上的第一个版本是目前主流的 Web 托管发行版,所以如果您想要一个能模拟托管软件的网站的版本,可以试试 CentOS(或者学习 Docker!)。

对于网络托管而言,这些是可靠的:

如果您需要,请使用这些发行版:

  • 稳定
  • 安全
  • 出于同样原因使用它的其他人的支持

我相信任何 Linux 发行版都可以有效地用于网络托管,但有些发行版比其他发行版需要更多的工作。


我想要尽可能最好的表现

清除 Linux

所以,如果你是那种想要榨干每一点性能的人(我经历过),这些对你来说很合适。其中一些需要编译所有源代码才能生成针对你的处理器优化的二进制文件。真有意思!

如果您需要,请使用这些发行版:

  • 快速性能
  • 高负载计算

请记住,硬件已经达到了性能临界点,这些因素不再像以前那么重要了。15 年前,你可以修改内核,然后拨号接入你的服务,就能看到巨大的性能提升。而如今,两者之间的差异已经可以忽略不计。任何 Linux 系统的性能都会非常强劲。


我想要一个安全的桌面

Tails Linux

也许你想建立一个难以入侵的系统,无论出于什么原因。有一些发行版将安全性放在首位。如果你真的担心主机被锁定,这些发行版是不错的选择。

如果您需要,请使用这些发行版:

  • 安全
  • 匿名

我想要一个最小的计算机系统

替代文本

好吧,有时候你只是想要一个精简的、能完成特定任务的系统。我完全理解这一点。也许你有一台老旧的奔腾处理器,想重新利用它。有时候,操作系统只是你目标的一小部分,你只需要最低限度的配置。

如果您需要,请使用这些发行版:

  • 可以在旧硬件上运行的东西
  • 尽可能少的东西

结论

我不想像老生常谈那样,但你可以从这些 Linux 发行版中挑选一个,然后随心所欲地进行修改。这就是 Linux 的本质,它可最大程度地进行定制。不过,这些发行版非常适合快速入门。

如果你想了解更多关于 Linux 的知识,Pluralsight 有大量的 Linux 课程,其中包括一门非常适合入门的课程,即《Linux 安装和初始配置》。

如果您认为我遗漏了要点或遗漏了分布,请随时在评论中给我留言,或在 Twitter 上向我喊话

不管你做什么,如果你是因为对 Linux 好奇而来到这个页面,那就赶紧试试吧!现在就来!现在你可以下载VirtualBox之类的软件(免费)先试用一下,然后再决定是否要使用 Linux。绝对值得你花时间去尝试一下!

文章来源:https://dev.to/pluralsight/which-distribution-of-linux-should-i-use-51g7
PREV
我们如何从 AWS 迁移到 Fly.io
NEXT
原生 JavaScript 和 HTML - 无需框架,无需库。没问题。