这么多Linux版本,你究竟该怎么选择?
Linux有非常多的版本,比如世面上常见的有 Ubuntu、RedHat、Fedora、Centos等等,这么多的版本我们究竟该选哪一个呢?今天我带大家对各个版本进行一下分析和比较,帮助大家来做出更好的选择。
(一)Linux 是什么?
首先了解一下Linux是什么。它是一套类UNIX的操作系统,最初是1991年由芬兰人 Linus Torvald 在赫尔辛基大学读大二时出于个人爱好而编写的(不禁对大神无比的崇拜)。下面那张图左边是他年轻时的样子(年轻时也是小鲜肉一枚);右边是他现在的样子(也已经变成了中年大叔),而且 Linus不仅是个技术大神,还是著名的嘴炮,比如下面这些技术和应用都曾经被他喷过。

”真正的 Emacs 是魔鬼工具。”
”整个GNOME-3的用户体验几乎完全是失败的,’在默认配置下,我们连解决问题的最基本的工具都不给你,但你可以通过非官方的扩展解决它‘。”
”我不关心Java。多么可怕的语言。“
”C ++ 是一个可怕的语言。”
”GCC是废话。“
”XML 是胡扯。解析 XML 对人类来说是讨厌的,甚至对计算机来说也是一场灾难。没有理由让这个可怕垃圾存在。”
”Solaris/x86 是个笑话“
(二)Linux 的发行版什么?
事实上 Linus 在1991年编写的是 Linux 的内核,就是一个操作系统的核心,包括设备驱动、文件系统、进程管理等等。当然一个操作系统只有内核的话,用户是没有办法使用的,所以 Linux 的发行版就是将 Linux 内核和应用软件打了个包,这些应用软件可以包括 GNU 程序库和工具、命令行 Shell 工具、图形界面的 XWindow 系统和相应的桌面环境以及数千种应用软件。
(三)常见的 Linux 版本比较
首先 Linux 的发行版本可以分为几个大的家族,比如 Red Hat、Debian、SlackWare 等等;然后在每个大的家族里又有不同的发行版本。

1) Debian 家族
Debian 最早由Ian Murdock于1993年创建,是社区类Linux的典范,也是迄今为止最遵循GNU规范的Linux系统。Debian在服务器和桌面电脑领域都有着广泛的应用,最具特色的是apt-get / dpkg包管理方式。
Ubuntu 是基于 Debian 发展而来,界面友好,易于上手,而且对硬件的支持也很全面,比较适用于桌面系统。Ubuntu 本身又有很多不同的版本,比如基于 KDE 的 Kubuntu,基于极致轻量的LXDE的Lubuntu,中国定制版的 Ubuntu Kylin等。
Linux Mint 由Linux Mint Team团队于2006年开始发行,基于 Ubuntu衍生,是专注于个人用户的桌面系统,界面更加美观。
2) Red Hat家族
Red Hat 红帽公司创建于1993年,是目前世界上最知名的 Linux厂商之一。Red Hat 公司产品主要包括:
RHEL (Red Hat Enterprise Linux 红帽企业版 Linux),是商业版本,源代码公开,技术支持需要付费,提供原厂服务。
Fedora 是基于 Red Hat Linux的社区版,由Fedora Project社区开发、红帽公司赞助。Fedora会采用最新的技术,尝试很多新功能、新特性,取得成功后会应用到 RHEL版本中,可以理解为是 RHEL的个人桌面版和前期测试版。
CentOS 全称Community Enterprise Operating System(社区企业操作系统),可以理解为是 RHEL 的社区克隆版。完全免费,并且开源。其独有的yum命令支持系统在线升级,可以即时更新。CentOS稳定性较好,在中国应用比较广泛。
3) SlackWare家族
SLES SUSE Linux Enterprise Server ,企业版,基于SlackWare Linux发展而来,由德国的 SuSE Linux AG 公司与1994年发行。
OpenSuse 是 SLES 的社区版本。2004年 SuSE Linux AG 被Novell公司收购以后,成立了OpenSUSE 社区,于是推出了OpenSuse版本,比较适用于桌面系统。它和 SLES有点类似于 Fedora和 RHEL的关系。
4)其他 Linux 版本
Linux 还有很多其他的版本,比如 Gentoo Linux, 它的标志是追求极限的性能,在同样的硬件环境下拥有最快的运行速度。不过它需要采用源码包编译安装操作系统,非常复杂,但这也并不妨碍大量的的用户和开发者拥入它的怀抱。
下面我用一张表格来总结Linux不同家族和发行版本的关系与特点:

(四)Linux 版本选择的建议
如果看了上面的介绍还是不知道该如何选择的朋友,可以参考下面的建议:
1)如果需要一个稳定的服务器,可以使用CentOS (免费,而且国内使用非常广泛),或者使用RHEL(需要付费,但是可以得到大厂的良好支持,保证商业应用)。
2)如果想用个人桌面系统来替代Windows的话,可以尝试用一下Ubuntu的不同版本,安装简便,硬件支持全面,而且界面友好。
3) 如果想深入的学习Linux,更灵活的去定制你的系统,追求极致的性能,那就去体验一下Gentoo给你带来的快感吧。
以上只是个人的建议,其实不管是哪种版本,内核都是一样的,所谓触类旁通、举一反三,只要把一种学习明白,其他版本的使用也就不再是难事了。

这么多Linux版本,你究竟该怎么选择?的更多相关文章
- 使用VS+VisualGDB编译Linux版本RCF
RPC通信框架--RCF介绍中说了,RCF本身是支持跨平台的,其代码放到Linux平台,是可以通过gcc.make等工具,编译通过的. 官方提供的源码中,只有cmake编译脚本,并没有提供Makefi ...
- 查看linux版本
http://nameyjj.blog.51cto.com/788669/557424 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version ...
- 最稳定 性能最好 的 Linux 版本?
Ubuntu太他妈不稳定了,简直是一坨屎 CentOS.Ubuntu.Debian三个linux比较异同http://blog.csdn.net/educast/article/details/383 ...
- Ubuntu下查看linux版本,内核版本,系统位数,gcc版本
1. 查看linux版本 sunny@ubuntu:~$cat /etc/issueUbuntu 11.04 \n \l 2. 查看内核版本1) sunny@ubuntu:~$ cat /proc/ ...
- 为Linux版本Oracle 11gR2配置HugePage
HugePage是Oracle在Linux版本下一种性能优化手段.对于共享内存区域(SGA)的数据库系统,Oracle通常都推荐在操作系统层面配置上HugePage,为Oracle实例准备更大的可用共 ...
- 【转】 如何查看linux版本 如何查看LINUX是多少位
原文网址:http://blog.csdn.net/hongweigg/article/details/7192471 一.如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案! ...
- 转:如何查看linux版本 如何查看LINUX是多少位
原文来自于:http://blog.csdn.net/hongweigg/article/details/7192471 一.如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案 ...
- 如何查看linux版本
1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version Linux version 2.6.9-22.ELsmp (bhcompile@crowe ...
- 用lsb_release -a 查看linux版本
1.要通过yum 安装上这个命令的软件包 yum -y install redhat-lsb 2.lsb_release -a 查看linux版本信息
随机推荐
- Python 注释(Python Comments)用法详解
目录 1 Python 注释概述 2 Python 注释的作用 2.1 调试代码 2.2 提高程序的可读性 3 Python 单行注释 3.1 Python 单行注释概述 3.2 单行注释注释单行代码 ...
- Salesforce元数据入门指南,管理员必看!
元数据是Salesforce基础架构的核心,是Salesforce中的核心组件或功能.没有元数据,大部分功能都无法实现. 但是,某些Salesforce管理员仍然很难掌握元数据的整个范围,并且无法充分 ...
- 【MyBatis深入剖析】应用分析与最佳实践
##### 文章目标1. 了解ORM框架的发展历史,了解MyBatis特性2. 掌握MyBatis编程式开发方法和核心对象3. 掌握MyBatis核心配置含义4. 掌握MyBatis的高级用法与扩展方 ...
- 三个步骤就能让你轻松掌握Python爬虫
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:NicePython PS:如有需要Python学习资料的小伙伴可以加 ...
- docker 概览 (1)
Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化.容器是完全使 ...
- vue2.x学习笔记(二十)
接着前面的内容:https://www.cnblogs.com/yanggb/p/12631279.html. 循环引用 递归组件 组件是可以在它们自己的模板中调用自身的,不过它们只能通过[name] ...
- [HarekazeCTF2019] web
在 buuoj 上看到的这个比赛题目,期间平台关了,就拿了 Dockerfile 本地做了,web 题目感觉还不错 encode_and_encode [100] 打开靶机,前两个页面都是 html ...
- jmeter 聚合报告参数解释
label:每个请求的名称 样本:发送给服务器的请求数量 平均值:平均响应时间,默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以T ...
- 使用 PyHamcrest 执行健壮的单元测试
在 测试金字塔 的底部是单元测试.单元测试每次只测试一个代码单元,通常是一个函数或方法. 通常,设计单个单元测试是为了测试通过一个函数或特定分支的特定执行流程,这使得将失败的单元测试和导致失败的 bu ...
- CTO的窘境
做CTO太难了,常年的coding思维让你早已与世隔绝,CTO有很好的技术方案,但CEO.CFO等O听不懂是很麻烦的事.总得来说,做CTO一定要技术背景出身,有很强的沟通能力和情商,敏锐的洞察力和决断 ...