Linux发展史
Linux 系统诞生于1991年,内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。
Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。
Linux第 1 版本于 1991 年 9 月发布,当时仅有 10 000 行代码。李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。
Linux 开放源代码,任何人都可以免费使用它,据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,但是他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。
Linux 是在 通用性公开许可证 (GPL)版权协议下发行的遵循POSIX标准的操作系统内核,不过通常所说的Linux 是指GUN/Linux 操作系统,它包含(内核)Kernel、(系统工具程序)Utilities 、(应用软件)Application,而不仅指Linux系统内核。
拓展内容:
GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。因此,一项遵循GPL流通的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。
GPL协议最主要的几个原则:
1、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。
2、GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
3、无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。
4、开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。
拓展内容:
POSIX标准:表示可移植操作系统接口,它定义了操作系统应该为应用程序提供的接口标准。
这一标准带来的好处就是在一个POSIX兼容的操作系统编写的符合其标准的应用程序可以直接在其他POSIX支持的操作系统中无需修改而能够直接编译运行。
简单可以理解POSIX标准是为操作系统设计API时遵循的规范,一套规范的系统调用集。
Linux版本分类
内核版(www.kernel.org)还是由李纳斯•托瓦兹团队在维护
RHEL6.x 2.6x (持续了7、8年才出现了3内核)
RHEL7.x 3.10x (2013-15年左右,出现了3内核,但是之后就疯狂更新版本,一年更新几十个版本,到目前为止更新速度也是特别快,所以为追求稳定现在学习、工作,还是以6为主)
发行版
RedHat系列(红帽)
个人版:Fedora
服务器版:RHEL(RedHat Enterprise Linux)
Debian系列(大便)
Linux常用发行版
CentOS
是Linux发行版之一,它是由RedHat Enterprise Linux (RHEL)依照开源代码规定释出的源代码编译而成,由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHat Enterprise Linux使用,两者的不同在于 CentOS 并不包含封闭源代码软件。
Fedora Core/RedHat Enterprise Linux
Red Hat linux 由 Red Hat 公司发行,是目前流行的商业发行版,linux界影响最为深远的版本,诞生于1994年11月3日,其创立的RPM包管理系统长期以来都是业界的标准。
目前流行的SuSe linux 、Man driva linux、 国内的 红旗linux 都是基于 Red Hat linux 发展起来的。 从2003年 开始,原来合并在一起的 Fedora 和 Red Hat 分开发行并形成两个分支
开源免费的 Fedora Core 和商业版RedHat Enterprise Linux
SUSE linux / OpenSUSE
SUSE linux 原是以 Slackware linux 为基础 ,并提供完整德文使用界面的产品。
1992年 Peter McDonald 成立了 Softlanding linux system(SLS) 发行版,其后 SUSE linux 采用了不少 Red Hat Linux 的特质, 如使用 RPM、etc 、 sysconfig 等。
Ubuntu Linux
Ubuntu Linux 为目前 流行的 Linux 发行 版, 并几乎取代了 Red Hat 称为 Linux 的代名词。
它由 马克•舍特尔斯创立,首个版本于2004 年10 月 20 日 发布, 以 Debian 为开发蓝本。
Ubuntu 的运作主要 依靠 Canonical 有限公司 的支持。 Ubuntu Linux名称来自非洲南部祖鲁语或豪萨语的 “ubuntu” 一词, 意思是 “人道待人”。
同系列的发行版本还有 Kubuntu Linux 和 Edubunt Linux 。
Debian
Debian 于 1993 年 8月16 日 由美国 普渡大学 一名学生 Ian Murdock 首次发表。 Ian Murdock最初 把他的系统 称为 Debian Linux Release
Debian 不带有任何商业性质,背后也没用任何商业团体支持,因为使得它能够坚持其自由的风格。
Debian 对GUN 和unix 精神的坚持, 也获得 开源社群的普支持。
目前其采用的 deb 包 和 Red Hat Linux 的RPM 包 是Linux 中最为重要的两个程序包管理系统。
Linux的优势及与UNIX 的区别
开源、免费
不管是微软的Windows 还是苹果的 Mac OS , 都是需要付费的, 而且比较昂贵。而Linuxs是免费、开源的,可以随时取得其源码,根据不同的需求进行定制,这对于用户特别是程序开发人员来说是非常重要的
跨平台的硬件支持
由于Linux 的内核大部分是用C语言编写的, 并采用可移植的 Unix标准应用程序接口,因此,它支持如i386、Alpha、AMD和Sparc等系统平台,以及从个人计算机到大型计算机,甚至包括嵌入式系统在内的各种硬件设备。
丰富的软件支持
与其他操作系统不同的是,安装了Linux 系统后, 用户常用的一些办公软件、图形工具、多媒体播放器和网络工具都无需安装。而对于程序开发人员来说, Linux 更是一个很好的开发平台,在Linux 的程序包中,包含了多种程序语言与开发工具, 如 gcc 、cc 、 C++、 Tcl/Tk、 perl 、 Fortran77 等。
多用户多任务
作为类UNIX系统, Linux 和 UNIX 一样 , 是一个真正的多用户多任务的操作系统。多个用户可以各自拥有和使用系统资源,即每个用户对自己的资源(如文件、设备)有特定的权限,互不影响,同时多个用户可以在同一时间以网络联机的方式使用计算机系统。
多任务是现代计算机最主要的一个特点,由于 Linux 系统调度 是每一个进程 平等的访问 处理器,因此,它能同时执行多个程序,而且各个程序是互相独立运行的。
可靠的安全性
Linux是一个具有先天病毒免疫能力的操作系统,很少受到病毒***。
对于一个开放式系统而言,在方便用户的同时,很可能存在安全隐患。不过,利用Linux 自带防火墙,***检测和安全认证等工具,及时修补系统的漏洞,就能大大提高Linux 的安全性,让***无机可乘。
同时,由于Linux 是开源的, 因此, Linux 产生了各种各样的 不同版本, 这也提高了被***的难度。
良好的稳定性
Linux 内核的源码 是以标准规范的32 位(在64位cpu上是64位)计算机来做的最佳化设计,可确保其系统的稳定性。正因为Linux 的稳定性,才使得一些安装了Linux 的主机可以像UNIX机一样常年不关机也不会宕机。
完善的网络功能
Linux 内置了很丰富的免费网络服务器软件、数据库和网页的开发工具,如 Apache 、 Sendmail 、 VSFTP 、 SSH 、 MySQL 、PHP 、 和 JSP 等。 近年来,越来越多的企业看到Linux的这些强大的功能, 利用 Linux 担任全方位的 网络服务器。
Linux和 UNIX的区别
UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;
UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。