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版本,你究竟该怎么选择?的更多相关文章

  1. 使用VS+VisualGDB编译Linux版本RCF

    RPC通信框架--RCF介绍中说了,RCF本身是支持跨平台的,其代码放到Linux平台,是可以通过gcc.make等工具,编译通过的. 官方提供的源码中,只有cmake编译脚本,并没有提供Makefi ...

  2. 查看linux版本

    http://nameyjj.blog.51cto.com/788669/557424 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version     ...

  3. 最稳定 性能最好 的 Linux 版本?

    Ubuntu太他妈不稳定了,简直是一坨屎 CentOS.Ubuntu.Debian三个linux比较异同http://blog.csdn.net/educast/article/details/383 ...

  4. Ubuntu下查看linux版本,内核版本,系统位数,gcc版本

    1. 查看linux版本  sunny@ubuntu:~$cat /etc/issueUbuntu 11.04 \n \l 2. 查看内核版本1) sunny@ubuntu:~$ cat /proc/ ...

  5. 为Linux版本Oracle 11gR2配置HugePage

    HugePage是Oracle在Linux版本下一种性能优化手段.对于共享内存区域(SGA)的数据库系统,Oracle通常都推荐在操作系统层面配置上HugePage,为Oracle实例准备更大的可用共 ...

  6. 【转】 如何查看linux版本 如何查看LINUX是多少位

    原文网址:http://blog.csdn.net/hongweigg/article/details/7192471 一.如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案! ...

  7. 转:如何查看linux版本 如何查看LINUX是多少位

    原文来自于:http://blog.csdn.net/hongweigg/article/details/7192471 一.如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案 ...

  8. 如何查看linux版本

    1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version   Linux version 2.6.9-22.ELsmp (bhcompile@crowe ...

  9. 用lsb_release -a 查看linux版本

    1.要通过yum 安装上这个命令的软件包 yum -y install redhat-lsb 2.lsb_release -a 查看linux版本信息

随机推荐

  1. 2019-05-12 Python之模拟体育竞赛

    一.简介 可以选择任意规则,模拟不同的两个队伍进行球赛的模拟比赛 二.源代码 函数介绍: from random import * #输出介绍信息 def printIntro(): print(&q ...

  2. 刮刮乐自定义view

    说明:该代码是参考鸿洋大神的刮刮乐自定义view来写的. 实现:刮刮乐-刮奖的效果,如下效果 下面直接放代码了:只有一个自定义view,要实现真正的功能还需要进一步封装 /** * 自定义view-刮 ...

  3. SVN版本控制器的使用说明(详细过程)

    SVN使用教程总结  SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subv ...

  4. linux通过进程名查看其占用端口

    1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 参考: https://blog.csdn.net/sinat ...

  5. 图2-4TCP状态转换图

    这张图中描述了TCP中11个状态的转换. 光看这个图我一开始是蒙蔽的,也没有写服务器和客户端的操作流程.不过回头一想,是状态转换,也就是从一个状态到另外一个状态发生了什么,什么条件触发的.这样是不是好 ...

  6. Laravel中使用JWT

    Laravel 版本: Laravel Framework 6.18.3 查看版本命令: php artisan -V 1.安装JWT扩展包: composer require tymon/jwt-a ...

  7. 实例讲解Springboot以Repository方式整合Redis

    1 简介 Redis是高性能的NoSQL数据库,经常作为缓存流行于各大互联网架构中.本文将介绍如何在Springboot中整合Spring Data Redis,使用Repository的方式操作. ...

  8. MYSQL和SQL Server 的区别

    注意MYSQL使用注释 -- 时 要后面加上空格 使用 #不用 一.数据类型 MYSQL:支持enum和set类型 ;SQL SERVER:不支持 MYSQL:不支持nchar,nvarchar,nt ...

  9. Java 自动拆箱 装箱 包装类的缓存问题--结合源码分析

    都0202 了 java 1.8 已经是主流 自动装箱 .拆箱已经很普遍使用了,那么有时候是不是会遇到坑呢? 我们先来看一段代码: public class TestWraperClass { pub ...

  10. SpringBoot系列(十一)拦截器与拦截器链的配置与使用详解,你知道多少?

    往期推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)web静 ...