很多人经常会问我这样一个问题:“嘿,你是用Linux的,对吧?我应该使用Linux的哪个版本?我有这个朋友推荐我_____,你觉得怎么样?”我通常会以这样的问题回复:这取决于你想做什么?
今天我决定写一篇关于如何选择Linux发行版的博客文章,以便于大家借鉴。
我与Linux的历史
我觉得我应该先介绍一下我和Linux的过往,以防你在阅读本文时无法理解我。当然,如果你不在乎,你也可以跳过。
我在1996年左右开始使用Linux。我和Linux的第一次亲密接触是Slackware 4,这是我在Egghead Software购买的一套CD(没错,是旧的)。我的一个朋友告诉我这个Unix非常棒,他说我只需要尝试一下,就会喜欢它。
我读过关于Unix的很多文章,对此非常好奇。我在互联网服务提供商那有一个shell账户,我曾经笨拙地修改过。在使用Unix的起初我有点犹豫:“为什么我要用Unix?”他的回答很简单:“因为你非常讨厌Windows 95,喜欢DOS,所以你会喜欢Unix”。然后我就买了它。他是对的。
我拿了一个旧硬盘来安装。经过若干小时又若干天的战斗,我终于启动了桌面,可以开始运行了。我不知道是什么驱使我渡过了这段难熬的时光,但我心中有一个念想就是我一定一定要弄清楚如何使这个系统工作,即便困难重重。我必须非常了解我的硬件!简单的事情突然再次变得困难起来。最终我成功了。我开始构建一些愚蠢的脚本以获得乐趣。系统速度很快,这种可以掌控操纵一切的感觉棒极了。
有内置的C编译器吗?因为不懂这个,因此我刚买了某个非常昂贵的Borland软件包。但是这个操作系统内置了一个编译器?!还有免费的图像编辑器?!我被完全迷住了!
此后多年,我尝试过大量发行版。甚至是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迄今为止运行时间最长,主要是因为我对其进行配置之后,很长一段时间遗忘了它。
因此,最近几年我“真正用于工作”的主要发行版本是Debian。
下面,让我们谈谈你应该使用哪个版本。
你想做什么?
我将根据常见需求对Linux版本进行分类。这里有一些重叠的地方,而且如果准备充分的话,这些Linux发行版任何一个都可以满足你的期望需求。Linux的一大优点是允许你随心所欲。但是,归根结底,发行版之间还是有区别的,有些能为你做很多工作,或者某个版本具有更适合针对某个目标的设计。下面我会根据实现目标的最简单途径来对这些发行版分类。
我是刚刚入门的Linux新手
有很长一段时间,我会给Linux新手推荐Ubuntu。就易用性和兼容性而言,Ubuntu非常棒。但我现在非常讨厌Ubuntu。不过,我仍然会在我的课程和文章的demo中使用,因为用Ubuntu的人很多,但我不喜欢他们运行这种发行版的方式——内置Amazon广告软件,而且Unity相当令人讨厌。
所以如果你刚入门,我的建议是:
Linux Mint Download
Debian Download
这是一个骗局,因为Linux Mint与Debian有密切关系,但Mint看起来更漂亮并且有一些跨平台的东西。
出于以下目的,可以使用这些发布版:
类似Windows的体验
安装简单
可靠
“类似Linux”,且不自成一派
“恰好管用”
好吧,最后一条真的很重要。我们需要的就是有效和管用。这些发行版都是即插即用的。设置好了即可。我的开发机器现在越来越依赖Debian,因为有时我并不关心操作系统,也不希望它来妨碍我。当我处于一种只想构建东西的状态时,就会所向无敌。
我想了解关于Linux / Unix和硬件的更多信息
也许你正处于一种嬉戏和试验的心情。你想挑战自己,想要通过实践来强迫自己学习。这很好,这也正是我所做的。
如果你想挑战自我并学习一些东西,我的建议是:
Slackware Linux
Arch Linux
Gentoo Linux
FreeBSD(不是Linux,但适合分到这一类别)
这些发行版中的每一个都需要大量配置,硬件发现和源代码编译。Gentoo,你必须编译所有东西。这是绝对完全掌控操作系统的好方法。
出于以下目的,可以使用这些发布版:
完全掌控你的电脑和操作系统
了解Linux内部
精简的优化系统
这需要付出代价:主要是时间。完整安装这些可能需要几个小时。从好的一面来看,它们可以运行很久。
我在Lenvov上安装Arch Install,差不过周六一天时间都花在了配置上,之后又大概花了10个小时甚至更长时间。它毫不费力就运行了5年(直到笔记本电脑硬件报废)。偶尔需要更新一下,但是它让我可靠地使用了整整5年时间。因此,这是一次很有价值的投资。
我想要成为技术弄潮儿
好吧,也许你不在乎其稳定性如何,只想要最新最好的软件。你想要摆弄内核,或者做一些其他程序员昨天提交的很酷的玩意儿。
为了稳定性和安全,现在你需要的是最新的:
Arch Linux
OpenSuse Tumbleweed
Fedora Rawhide
Gentoo Unstable
出于以下目的,可以使用这些发布版:
为学习最新的东西而甘冒风险
最新和最伟大的功能
有趣的配置以便于处理重大更改
公平地说,我个人使用过Arch和Gentoo,虽然没有出现严重的稳定性问题,但是是有风险的。
我只想完成一些工作
好的,也许你并不关心操作系统的细节,只是想要GSD(Get Stuff Done完成任务)。也许你想要构建Node或GoLang app,道听途说Linux最适合。
如果你想完成工作的话,下面这些很有帮助:
Debian Download
Fedora
openSuse Leap
Ubuntu Studio (虽然它是Ubuntu,但可以很好地组合在一起)
出于以下目的,可以使用这些发布版:
运行平稳,维护量低
最小配置
大部分事情可以自动完成
兼容硬件和软件
正如我所说的,我现在经常使用Debian,因为我通常只是制作一些东西,而不是真的想要修整和优化。它稳定,快速,并且不会妨碍我的行事方式。我正是在Debian 9中写的这篇文章。
我想构建服务器
也许你想建立一个Web服务器或虚拟主机,却不知道要用哪个版本。此分类中的第一个就是用于虚拟主机的主要发布版,所以如果你想要一些可以模拟托管软件的网站的东西,那么试试CentOS(或学习Docker!)
下面这些是用于虚拟主机的坚实可靠的帮手:
CentOS
Red Hat Enterprise Linux (RHEL)
Debian 9 Download
FreeBSD (不是Linux,但适合分到这个类别)
出于以下目的,可以使用这些发布版:
稳定性
安全
支持其他出于同样原因的程序员使用
我相信任何Linux发行版都可以有效地用于虚拟主机,但有些会更繁琐。
我想尽可能大地提升性能
如果你是那种每一次性能提升都想出成果的类型(曾经我也是如此),那么这些发行版对你而言肯定很棒。其中一些需要编译所有源代码,以便为处理器生成优化的二进制文件。超有意思!
Clear Linux (For Intel CPUS, by Intel)
Gentoo Linux
Arch Linux
FreeBSD (不是Linux,但适合分到这个类别)
出于以下目的,可以使用这些发布版:
显著的性能提升
高负载计算
请记住,硬件已经达到了性能要求,因此它不再像以前那样显得至关重要。15年前,你可以破解内核并拨号服务,然后发现会有一个大的提升。现在,硬件的差异可以忽略不计。运行任何Linux都能够非常流畅。
我想要安全的桌面
或者你想建立一个很难侵入的系统,无论出于何种原因。有若干安全性发布版值得成为关注的焦点。如果你真的担心锁定主机,那么可以看看这些:
TAILS Linux
Alpine Linux
CoreOS
TENS Linux (DOD Project)
Tin Hat Linux
OpenBSD (不是Linux,但适合分到这个类别)
出于以下目的,可以使用这些发布版:
安全性
匿名性
我想要最小的计算机系统
好的,有时你只想要一些精简和轻巧的东西,完成某项工作即可。我绝对理解。也许你有一个想重新定位的旧奔腾处理器。也许操作系统只是目标的一小部分,你想要最小化的容量和配置。
ArchBang
Lubuntu
Puppy Linux
Tiny Core Linux
Bodhi Linux
出于以下目的,可以使用这些发布版:
将在旧的硬件上运行
尽可能最小化
结论
可能你觉得这篇文章看上去有点琐碎,但你可以根据你的具体情况和实际目的,从我给出的分类中挑选Linux发行版,并将其配置和调整成你想要的模样。这就是Linux的本质,最大化的可自定义。这些都是允许快速入门的极佳发布版。如果你认为我有遗漏的地方,欢迎随时在评论中留言。
不管你是干什么的,如果你因为对Linux好奇而打开这个页面,那么务必请尝试一回!就是现在!绝对物有所值,让你爱不释手!
有疑问加站长微信联系(非本文作者)