这么多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版本信息
随机推荐
- tomcat查看线程数
获取tomcat进程pid ps -ef|grep tomcat 统计该tomcat进程内的线程个数 ps -Lf 29295 |wc -l
- Docker-Bridge Network 02 容器与外部通信
本小节介绍bridge network模式下,容器与外部的通信. 1.前言2.容器访问外部2.1 访问外网2.2 原理2.3 一张图总结2.4 抓包3.外部访问容器3.1 创建nginx容器并从外部访 ...
- Largest Rectangle in a Histogram 杭电1506
题目链接 :http://acm.hdu.edu.cn/showproblem.php?pid=1506 Problem Description A histogram is a polygon co ...
- CSS 中你应该了解的 BFC
我们常说的文档流其实分为定位流.浮动流和普通流三种.而普通流其实就是指BFC中的FC.FC是formatting context的首字母缩写,直译过来是格式化上下文,它是页面中的一块渲染区域,有一套渲 ...
- 在dwr的调用类里获取请求信息
在dwr的调用类里获取请求的相关信息HttpSession session = WebContextFactory.get().getSession();HttpServletResponse res ...
- Java中Date时间类
Date:表示特定的瞬间,精确到毫秒. 构造方法: Date():根据当前的默认毫秒值创建日期对象 Date(long date):根据给定的毫秒值创建日期对象 public static void ...
- [nodejs] 同步/异步创建多层目录
背景 有时项目里需要同时创建多层目录的功能,但低版本的nodejs并没有提供快捷的api 尽管在v10.12.0版本 mkdir() 第二个参数支持recursive 参数,为true时能递归创建,但 ...
- 2019-2020-1 20199308《Linux内核原理与分析》第五周作业
<Linux内核分析> 第四章 系统调用的三层机制(上) 4.1 用户态.内核态和中断 与系统调用打交道的方式是通过库函数的方式 用户态与内核态的区分 内核态:高的执行级别下,代码可以执行 ...
- SVN部署(Centos7,Ubuntu)
SVN 简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Sub ...
- ansible的基础概念与部署(一)