1、GNU计划

在上篇博文中谈到Kernel是Linux系统的心脏,但Kernel只能实现系统最基本的功能,作为一个操作系统,仅仅只有内核是远远不够的,我们的重点是要使用在Kernel之上运行的Web服务、FTP服务、邮件服务……这类应用程序,所以一个完整的Linux系统应该包括Kernel和应用程序两部分。
无论Linux的Kernel还是Linux中的应用程序,它们都具有一个共同的特点——都属于一个名为GNU的计划项目,都要遵守GNU计划中的GPL或LGPL协议。
GNU是世界知名的自由软件项目,正是它决定了Linux系统自由开放的属性,也正是它才导致了Linux系统百花齐放、版本众多的现状。
GNU计划是由一位名叫Richard Stallman的大胡子于1984年发起并创建的,这位Stallman兄堪称世界顶级程序员,也被誉为***中的***,确是了得。而且除了技术之外,Stallman兄的思想更是超前,他认为:对于整个人类,知识传播的过程应该是开放的(试想一下,如果一些基本的科学定理或法则都是封闭的,都要求付费以后才能使用,那我们的世界将会是什么样子),计算机软件作为人类智慧的结晶,也是知识的一种,所以它应以源代码的方式呈现,没有人可以独占。软件的开发没有壁垒,也没有垄断,其主要目的就是为了满足更多的用户需求,激发更多的创新力量。
所以,凡是属于GNU计划中的软件都是开放源代码的,任何人都可以自由地去使用、修改或传播这些软件。而且为了为保证GUN计划内的软件经传播、改写以后仍然具有“自由”特性,该计划还专门制定了针对自由软件的授权许可协议GPL和LGPL协议,正是这些协议为GNU计划中的软件提供了统一的使用规范。
下图就是GNU计划的logo及大胡子兄Stallman。

应当说, Stallman的思想在当年确是太超前了,别忘了在那个时期有多少人是靠卖一两款软件从而白手起家的,比尔盖茨更是凭借DOS和Windows操作系统这两款软件独霸多年的世界首富宝座。但时代的发展越来越体现出Stallman这种思想的正确性,这点从Red Hat公司与Microsoft公司的财报就可见一斑,作为自由软件公司的代表,Red Hat 2012财年全年总营收11.3亿美元,净利润为1.466亿美元,而作为对立面的Microsoft却在2012年首度出现了亏损。所以,单纯靠卖软件赚钱这条路必将越走越窄,提供有偿服务才是将来的大势所趋。
至此,我们可以简单的总结一下了:Linux系统的内核Kernel以及Linux系统中的绝大多数应用软件都来自于GNU计划,任何人都可以自由地(也可以狭隘地理解为免费地)去使用、传播它们,因此Linux系统的确切名称应该为“GNU/Linux操作系统”。

2、Linux发行版

现在大家终于可以明白为什么Linux会有这么多的发行版本了。正是由于Linux自由开源的特性,才造就了目前各种不同的Linux发行版本百花齐放的局面。
大家都知道Linux的标识是一只企鹅,企鹅只在南极才有,而南极洲不属于任何国家,所以企鹅寓意开放和自由,这也正是Linux的精髓。

所谓的Linux发行版就是指在Linux内核的基础之上添加上各种管理工具和应用软件,这就构成了一个完整的操作系统。根据GNU的相关协议,任何公司或社团甚至是个人都可以将Linux内核和各种自由软件打包成一个完整的Linux发行版。据不完全统计,目前各种Linux发行版加起来已有188个。虽然每个Linux发行版都有单独的名称,但其实它们所采用的Linux内核和使用的软件包都是基本类似的,只是在具体操作和使用上略有差别而已,所以我们只要学会了其中的一种,其它的也就基本是无师自通了。

在各种Linux发行版中最为知名的是Red Hat Linux,Red Hat也是全球最大的Linux厂商。Red Hat Linux系列发行版具有广泛的企业用户基础,也代表着Linux操作系统的事实标准,因此大多数人学习Linux都是从Red Hat Linux入手。

早期的Red Hat Linux主要是面向个人用户,任何人都可以免费使用。但后来Red Hat Linux逐渐发展为两个分支:Fedora项目和Red Hat Enterprise Linux(Red Hat Linux企业版)。

Fedora项目是一个由Red Hat公司资助并被Linux社区支持的开源项目,仍然是免费的。Fedora主要定位于桌面用户,追求绚丽的桌面效果,使用最新的应用软件。
Red Hat Enterprise Linux(简称RHEL)则专门面向企业用户,功能更加强大,性能也更优越。RHEL为很多企业所采用,但需要向Red Hat付费才可以使用。注意,这个费用并不是用于购买RHEL操作系统本身,而是为了得到Red Hat公司的服务和技术支持,以及专门针对企业应用的第三方软件定制。
下面我们要学习的就是这个Red Hat Enterprise Linux,其最新版本为RHEL6.3。
除了RHEL之外,还有一些非常知名的Linux发行版我们也应该了解,比如在国内大名鼎鼎的CentOS。

CentOS是RHEL的再编译版本,其实也就是抹去了RHEL系统中Red Hat的标识信息,其功能和使用与RHEL基本是一致的。而且其版本更新也与RHEL保持同步,只要Red Hat发布了RHEL6.0,过不多久就会紧跟着出现CentOS6.0,CentOS 其实就相当于是免费版的RHEL。估计Red Hat对此会有意见,但根据GNU计划,CentOS的这种做法又是完全合情合理的。所以很多人也用CentOS作为学习和实施Linux的发行版本,尤其是对于一些中小企业和个人,他们并不需要专门的商业支持服务,用CentOS以最低的成本就能开展稳定的业务。

另外在近几年还有一个比较火热的Linux发行版——Ubuntu。与RHEL和CentOS主要面向企业用户不同,Ubuntu主要是面向个人用户,是一个用于桌面环境的Linux系统。其操作界面比较华丽,但对于绝大多数的非专业用户,使用起来还是很不习惯,毕竟大家都是被Windows给惯坏了,对普通人而言,电脑就是一个工具,也实在没必要为了使用一个工具而再去大费周章的学习一个全新的系统。

因而,目前Linux系统主要还是应用于服务器和嵌入式系统两个方面,对于个人用户,建议大家还是乖乖的去用Windows吧。

本文出自 “一壶浊酒” 博客,转载请与作者联系!

转载于:https://blog.51cto.com/captain8/1269538

RHEL6入门系列之三,GNU计划与Linux发行版相关推荐

  1. RHEL6基础之一系统内核Kernel与GNU计划及Linux发行版本

    系统内核Kernel 系统内核是负责完成操作系统最基本功能的程序.我们平常在用QQ聊天.用WORD打字.用IE浏览器上网.再加上玩各种游戏--等等这些都不是操作系统的功能,而是由应用软件提供的功能.系 ...

  2. RHEL6入门系列之三十一,管理计划任务

    在Linux系统中除了用户即时执行的命令操作以外,还可以配置系统在指定的时间.指定的日期自动执行预先计划好的管理任务. 在配置计划任务时,使用最多的是用crontab命令设置周期性任务,所谓周期任务就 ...

  3. RHEL6入门系列之三十,服务管理

    服务是在系统后台运行,并等待用户或其它软件调用的一类特殊程序.由于Linux主要是用作服务器操作系统,因而当学习完入门课程之后,接下来就要学习对各种常用服务的配置与管理,如实现Web服务器的httpd ...

  4. 3. oracle学习入门系列之三Unix、Linux历史及基础

    oracle学习入门系列之三Unix.Linux历史及基础 终于翻过了前面两篇,喝杯咖啡提下神,咱们继续前行.这次我们要进行操作系统方面知识了,考虑到当前时间上操作系统的多样性.变化性等,蛤蟆斟酌再三 ...

  5. SLAM导航机器人零基础实战系列:(一)Linux基础——2.安装Linux发行版ubuntu系统

    SLAM导航机器人零基础实战系列:(一)Linux基础--2.安装Linux发行版ubuntu系统 摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以 ...

  6. Linux内核版本 uname命令 GNU项目 Linux发行版

    1.内核版本由linux内核社区统一编码和发布,格式如下图: major.minor.patch-build.desc 主版本号.次版本号.对次版本号的修订次数-编译次数.当前版本的特殊信息 次版本号 ...

  7. linux发行版介绍

    linux发行版介绍 ----------------------------------------------------------------------------------------- ...

  8. 《调教命令行01》选Linux发行版,就像挑女朋友

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处.任何不保留此声明的转载都是抄袭. 手机屏幕灭了,一片漆黑.小王的面孔逐渐出现在变成了镜子的屏幕上.他拿出一根牙签,张大了嘴巴 ...

  9. 世界上最受欢迎的10个Linux发行版

    帮助新的Linux用户在越来越多的Linux发行版中选择最合适的操作系统,是创建这个网页的原因.它列出了迄今为止最流行的10个Linux发行版(另外增加的是FreeBSD,到目前为止最为流行的BSD系 ...

最新文章

  1. BZOJ2055 80人环游世界
  2. Android性能调优篇之探索JVM内存分配
  3. VBA 中判断汉字的方法
  4. Win64 驱动内核编程-11.回调监控进线程句柄操作
  5. 笔记-信息系统开发基础-面向对象基本概念-对象和类
  6. Java面向对象进阶
  7. slf4j在linux位置,SLF4J环境设置
  8. 测试基础-03-用例设计方法:案例讲解
  9. C++ const用法
  10. gitlib命令的使用
  11. js ...运算符_JS专题之深浅拷贝
  12. Unity3D 汉化
  13. python词频统计排序小demo
  14. Combating the Repatriation Blues
  15. 大学生川菜网页制作教程 学生HTML静态美食菜品网页设计作业成品 简单网页制作代码 学生美食网页作品免费设计
  16. java实现正六面体染色
  17. Windows下清理maven仓库中的lastUpdated文件
  18. Linux 下 JbossEAP 6.2安装与实例部署
  19. Release版本的调试
  20. CSS(基础,面试,常见用例)

热门文章

  1. [转]WebGL All in One 全傻瓜简介
  2. 在线CSV转Excel工具
  3. linux内存的active,Linux性能优化和监控系列(三)——分析Memory使用状况
  4. 大数据应用现状:从发现价值到创造价值
  5. 基于ARM-contexA9-Linux驱动开发:如何获取板子上独有的ID号
  6. SAP R3 display Vendor list, MKVZ .
  7. ThinkPHP 3.2.3 自动加载公共函数文件的方法
  8. sed,awk,grep学习笔记
  9. 雪,是死掉的雨,是雨的精魂
  10. 1370. 上升下降字符串