- 一、Unix 是什么
- 二、Unix 派系
- (一)BSD 分支
- 1.BSD 是什么
- 2.由 BSD 衍生的闭源 Unix 版本
- 3.由 BSD 衍生的开源 Unix 版本
- (二)System V 分支
- 1.System V 是什么
- 2.System V 与 BSD 的版权纠纷,以及 UnixWare 的由来
- 3.System V 衍生的闭源 Unix 系统
- 三、Linux 是什么
- (一)Linux 的诞生
- (二)Linux 和 Unix 的关系
- 1.共性
- 2.区别
- (三)Linux 的命名
- 四、Linux 发行版
- (一)Red Hat 派系
- 1.Red Hat 的简介
- 2.Red Hat 系统的特点
- (二)Debian 派系
- 1.Debian 的简介
- 2.Debian 系列的特点
- (三)Arch Linux 派系
- (四)Slackware Linux 派系
- (五)Gentoo 派系
- (六)Mandriva 派系
- 五、Unix 和 Linux 的关系图
- 六、计算机术语
- (一)GNU 是什么
- 1.GNU 简介
- 2.GNU 的成果
- (1)成立自由软件基金会
- (2)开发了很多程序库和组件
- (3)GNU 发布了三个授权许可协议
- (二)IEEE 是什么
- (三)LFS 是什么
- (四)BLFS 是什么
- (五)POSIX 是什么
- (六)GRUB 是什么
- (七)LILO 是什么
- (八)MBR 是什么
电话发明人贝尔于 1877 年创建的美国贝尔电话公司,后来创建了一家子公司叫美国电信业公司,1900年美国电信业公司接管了贝尔公司的全部资产,成为母公司,改名为美国电话电报公司(AT&T),美国电话电报公司有个部门叫贝尔实验室,以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。
想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意。Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧。这是 UNIX 开发者的设计初衷,这个理念一直影响至今。
后来肯•汤普森的同事丹尼斯•里奇发明了传说中的 C 语言,这是一种适合编写系统软件的高级语言,后来 Unix 系统的绝大部分源代码都用 C 语言进行了重写,这为提高 Unix 系统的可移植性打下了基础,也为提高系统软件的开发效率创造了条件。再后来美国国防部发明了 TCP/IP 协议,美国国防部把 TCP/IP 协议与 Unix 系统、C 语言捆绑在一起,这为了 Unix 系统的迅速发展拉开了帷幕。
随后出现了各种版本的 Unix 系统,目前常见的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等。
二、Unix 派系 (一)BSD 分支 1.BSD 是什么因为 Unix 是收费的商业化操作系统,所以加州大学伯克利分校(University of California, Berkeley,缩写 UCB)在 Unix 的基础上开发自己的类 Unix 操作系统,这个操作系统就叫 BSD(Berkeley Software Distribution,伯克利软件发行版),也称 Berkeley Unix。
90 年代 BSD 很大程度上被 System V4.x 版以及 OSF/1 系统所取代,后来 CSRG(Computer Systems Research Group 计算机系统研究组,UCB 的一个研究小组)解散了,伯克利的 BSD 开发就终止了。
BSD 早期版本含有 AT&T(Bell 实验室) 的 Unix 代码,因此和 AT&T 发生了源码著作版权的法律纠纷,就是因为这个事件才推动了 Linux 的发展。
BSD 最终版本是 1995 年 4.4 BSD-Lite Release 2,所以今天说的 BSD 并不特指任何一个 BSD 衍生版本,而是类 Unix 操作系统中的一个分支的总称。
2.由 BSD 衍生的闭源 Unix 版本这些 Unix 版本均闭源且受专利保护
系统名称简介SCO XenixXenix是一种 UNIX 操作系统,该系统是由微软公司在1979年从美国电话电报公司获得授权,为Intel处理器所开发。由于微软购买的授权无法直接让该操作系统以“UNIX”为名,便将之命名为 Xenix。自第七版后,Xenix 使用了 BSD 的技术Sun OSSunMicroSystems 开发,即 Solaris 前身。SunOS 是 Sun 的操作系统最初叫法。由于Sun Microsystem 的创始人之一Bill Joy来自U.C.Berkeley,SunOS 主要是基于BSD Unix版本。从SunOS 5.0开始,SUN 的操作系统开发开始转向 System V Release 4,并且有了新的名字叫做 Solaris 2.0,后来"SunOS"这个词被用做专指Solaris操作系统的内核NEXTSTEP史蒂夫·乔布斯(Steve Jobs) 创办的 NeXT 团队使用了卡耐基梅隆大学的 Mach 内核和部分 BSD 代码库来创建 NeXTSTEP 操作系统。苹果计算机在1997年2月将 NeXT 买下,NEXTSTEP 成为 Mac OS X 的基础Mac OS XMac OS X 的核心操作系统叫 Darwin,以 XNU 为核心,而 XNU 是将卡耐基梅隆大学开发的 Mach 内核和 FreeBSD 内核整合而成的混合内核 3.由 BSD 衍生的开源 Unix 版本 系统名称简介FreeBSDFreeBSD 是一种类 UNIX操作系统,是由经过 BSD、386BSD 和 4.4BSD 发展而来的Unix的一个重要分支,使用 ports 作为软件包管理器,特点:高性能计算、使用方便、稳定性OpenBSDOpenBSD是一个多平台的,基于4.4BSD的免费的类 UNIX 操作系统,被称为世界上最安全的操作系统。专案领导人 Theo de Raadt在1995年发起了OpenBSD 专案,希望创造一个注重安全的操作系统,特点:安全和代码的纯洁性NetBSDNetBSD是一个免费的,具有高度移植性的 UNIX-like 操作系统,是现行可移植平台最多的操作系统,特点:可移植性和稳定性DarwinDarwin 是一种 Unix-like 操作系统,整合数种的技术,包含开放源码的 XNU 核心 和 Mach 微核心,操作系统的服务和 userland 工具是以 4.4BSD,特别是以 FreeBSD 为基础。Darwin 内核是一个开源软件计划。苹果和Darwin团体的成员提高了Darwin代码的性能并且扩大了这个操作系统的工作范围和功能。最后,对于 Darwin 内核做出的任何修改都可以应用到BSD家族的其它成员中。苹果还帮助支持整个BSD团体。因此,对于 BSD 平台的改进是在苹果和开源社区阵营之间流动的。 (二)System V 分支 1.System V 是什么System V, 曾经也被称为 AT&T System V,是 Unix 操作系统众多版本中的一支。它最初由 AT&T 开发,在1983年第一次发布。一共发行了4个 System V 的主要版本:版本1、2、3 和 4。System V Release 4,或者称为SVR4,是最成功的版本,成为一些Unix共同特性的源头,例如 ”SysV 初始化脚本“ (/etc/init.d),用来控制系统启动和关闭。
当今广泛使用的 System V 版本是 SCO OpenServer,基于 System V Release 3,以及 SUN Solaris 和 SCO UnixWare,都基于 System V Release 4。
System V 也引进和融合了很多 BSD 的技术。
2.System V 与 BSD 的版权纠纷,以及 UnixWare 的由来在90年代,虽然AT&T的 Unix System V 也是非常优秀的Unix版本,但是BSD Unix在Unix领域内的影响更大。AT&T的Unix系统实验室一直关注着BSD的发展,在1992年,Unix系统实验室指控BSDI(一家发行商业BSD Unix的公司),违反了AT&T的许可权,发布自己的Unix版本,并进一步指控伯克利计算机系统研究组泄漏了Unix的商业机密(此时的4.3BSD中来自AT&T Unix的代码已经不足10%)。这个官司影响了很多Unix厂商,使他们不得不从BSD Unix 转向 Unix System V,以避免法律问题。以至于当今大多数商业Unix版本都是基于Unix System V的。
这件有关 Unix 版权的案子直到Unix系统实验室被AT&T卖给了Novell公司后才得以解决,Novell不打算陷入这样的法律纷争中,因此就采用了比较友好的做法。伯克利的CSRG被允许自由发布BSD,但是其中来自于AT&T的代码必须完全删除。因此CSRG就对他们最新的4.4BSD进行了修改,删除了那些来自于AT&T的源代码,发布了4.4 BSD Lite版本(该系统是不完整的,尤其对于英特尔386体系的计算机系统)。由于这个版本不存在法律问题,4.4BSD Lite成为了现代BSD系统的基础版本。
Novell 的比较友善的做法还不止对BSD,他把自己的Unix改名为Unixware,而将Unix商标赠送给X/Open── 一个由众多Unix厂家组成的联盟,这样这个联盟内的所有成员均可使用Unix商标。从此之后,Unix不再是专有产品的名字了。同时,由于BSD系统已经十分成熟,作为对操作系统进行研究的目标已经达到,伯克利计算机系统研究组(CSRG)在发布了4.4BSD-lite2之后就解散了,小组的科研人员有些进入了Unix 商业公司,有些继续进行其他计算机领域的研究。此时,严格意义上的Unix System V和BSD Unix都不复存在了,存在的只是他们的各种后续版本。
3.System V 衍生的闭源 Unix 系统 系统名称简介HP-UXHP-UX,全称为 Hewlett Packard UniX,是惠普9000系列服务器的操作系统,可以在HP的PA-RISC处理器、Intel的Itanium处理器的电脑上运行。它基于System V,是Unix的一个变种。IBM AIXAIX ,全称为 Advanced Interactive eXecutive,是 IBM 基于 AT&T Unix System V 开发的一套类UNIX 操作系统,运行在 IBM 专有的 Power 系列芯片设计的小型机硬件系统之上。它符合 Open group 的 UNIX 98 行业标准(The Open Group UNIX 98 Base Brand),通过全面集成对32-位和64-位应用的并行运行支持,为这些应用提供了全面的可扩展性。它可以在所有的 IBM ~ p 系列和 IBM RS/6000 工作站、服务器和大型并行超级计算机上运行。SolarisSolaris 是 Sun Microsystems 研发的计算机操作系统。它被认为是UNIX操作系统的衍生版本之一。 Solaris属于混合开源软件。2005年6月14日,Sun公司将正在开发中的Solaris 11的源代码以CDDL许可开放,这一开放版本就是 OpenSolaris。XenixXenix 是一种UNIX操作系统,可在个人电脑及微型计算机上使用。该系统由微软公司在1979年从美国电话电报公司获得授权,为Intel处理器所开发。后来,圣克鲁兹作业公司(SCO)收购了其独家使用权,自那以后,该公司开始以SCO UNIX(亦被称作SCO OpenServer)为名发售。值得一提的是,它还能在DEC PDP-11或是Apple Lisa电脑运行。它继承了UNIX的特性,Xenix具备了多人多任务的工作环境,符合UNIX System V的接口规格 (SVID)。 三、Linux 是什么 (一)Linux 的诞生因为 Unix 的商业化和闭源,而 BSD 又被 AT&T 指控侵犯著作版权,而 GNU 又迟迟未完成操作系统内核的开发,教学用的迷你版 Unix 操作系统 Minix 又太难用,于是当时就读于芬兰赫尔辛基大学计算机系的林纳斯∙托瓦兹(Linus torvalds)就决定自己开发一个操作系统,也就是 Linux 内核项目,当初 Linus 称它为“Freax”(从“free”和“x”开始,表示它属于UNIX家族),但后来被改成了“Linux”。林纳斯∙托瓦兹曾经说过当时如果有基于 80386 平台的自由类 Unix 操作系统,他可能不会开发 Linux。
Linux 内核项目遵循 GNU 的 GPL 发布版本,此时 GNU 已经几乎完成了除了系统内核之外的各种必备软件的开发,在 Linus Torvalds 和其他开发人员的努力下,GNU 组件最终得以运行于 Linux 内核之上。Linux 与 GNU 软件结合,标志着完全自由的操作系统正式诞生。
(二)Linux 和 Unix 的关系 1.共性Linux 是以 Unix 作为原型设计开发,Linux 继承了 Unix 以网络为核心的设计思想,Linux 并没有包括 Unix 源码,而是按照公开的 POSIX 标准重新编写的,而且 Linux 内核是遵循 GPL 发布的,所以 Linux 泛指一套免费使用和自由传播的多用户、多任务、支持多线程和多CPU 的类 Unix 的操作系统。Unix 就好比是 Linux 的父亲,Linux 是 Unix 优秀的传承者。
2.区别-
Unix 系统大多是与硬件配套的,也就是说,大多数 Unix 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上
-
Unix 是商业软件,而 Linux 是开源软件,是免费、公开源代码的
Linux 其实是操作系统内核的名称,但通常我们所说的 Linux 是指基于 Linux 内核,并且集成开源组织 GNU 开发的各种工具以及其它自由软件的操作系统。自由软件例如:Donald Knuth 编写一个文本排版软件(TeX);Bob Scheifler 开发的窗口系统(X Window系统)。
由于以 Linux 为内核的操作系统使用了许多 GNU 程序,实际在整个操作系统中,Linux 内核源码的占比也远远少于 GNU 软件源码的占比,所以你甚至可以理解为 Linux 内核的操作系统实际上是一个带有 Linux 内核的 GNU 系统,因此 GNU 的创办者理查德·斯托曼建议 Linux 操作系统改名为 GNU/Linux 系统更为合适。
四、Linux 发行版采用了 Linux 内核、GNU 软件工具、MIT 的 X-Windows GUI 以及其它开源的 BSD 组件等组合而成的操作系统就是所谓的 Linux 发行版。
(一)Red Hat 派系 发行版名称简介RHELRHEL 是 Red Hat Enterprise Linux 的缩写,译为红帽企业版 Linux,是由Redhat(红帽)公司根据Linux内核开发、集成之后进行商业发行的收费版的Linux 系统,非常稳定,适用于服务器。Red Hat 公司对 Linux 内核进行二次开发之后加入了一些常用工具,根据GNU组织的相关开源协议公开RHEL的源代码,但是系统更新的相关补丁和售后服务属于有偿服务,试用期30天,过期需要付费才能登陆系统Fedora这是 Red Hat 赞助、Fedora 项目社区开发的免费开源的桌面版 Linux 系统,界面优雅,功能和工具版本都非常靠前,但不是很稳定,Fedora 是商业化的Red Hat Enterprise Linux发行版的上游源码,对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到 Red Hat Enterprise Linux 中CentOSCentOS 是 Community Enterprise Operating System 的缩写,译为社区企业版操作系统,它是 Red Hat 发布的社区版本的 Linux 系统,功能和 RHEL 类似,非常稳定,系统有相关社区和创始团队在免费维护Scientific LinuxScientific Linux是重新编译的Red Hat Enterprise Linux,由费米国家加速器实验室、欧洲核研究组织以及世界各地的大学和实验室共同开发。2019年4月22日宣布停止开发Oracle Linux全称为 Oracle Enterprise Linux,简称 OEL,中文译为 Oracle 企业版 Linux,它是 Oracle 以 RHEL 为基础,加入了自己的 Linux 的错误修正补丁而发布的 Linux 发行版,可以免费下载使用和分发,但是需要支付费用(比 RHEL 便宜)才能获得商业支持Conectiva LinuxConectiva Linux是众多Linux 发行版之一。它是一套从Red Hat Linux发展出来的免费Linux系统。现在其最新的版本是7.0Magic Linux是一个新的Linux发行,简称 MGC,是针对中国人的版本,由中国Linux公社的社区会员和Linux爱好者制作的中文 Linux 发行版,现基于Fedora修改而来。Magic Linux的目的很简单:让大家真正地用Linux,而不是去一个接一个的汉化Linux。Magic Linux的口号是:没有实现不了的梦ClearOS全称:ClarkConnect,简称:CC,是一款基于CentOS和Red Hat Enterprise Linux,主要面向中小企业和分布式环境而设计的网关和网络服务器 1.Red Hat 的简介1993年,Bob Young 成立了ACC公司,这是一家邮购公司,主要业务是出售Linux和Unix的软件附件。1994年,Marc Ewing 创建了自己的Linux发行版,并将其命名为红帽 Linux(Ewing在就读卡内基·梅隆大学期间曾经戴着一顶红色的康奈尔大学长曲棍球帽子,这是他的祖父赠送给他的)。Ewing于十月份发布了该软件,其被称为万圣节版本。Young 在1995年收购了 Ewing 的企业,两者合并成为红帽软件公司,由Young 担任首席执行官。
2002年3月,红帽公司推出了红帽 Linux高级服务器,后来改名为红帽企业版 Linux (RHEL)。
2.Red Hat 系统的特点-
Redhat系列的包管理方式采用的是:基于RPM包的YUM包管理方式
-
Redhat系列的包分发方式采用的是:编译好的二进制文件
-
Redhat这个派系的特点是:资料多,很多网上教程都是基于 CentOS 讲的
广义来讲 Debian 是指一个致力于创建自由操作系统的计划、合作组织及其系列作品,他们所创建的操作系统名为 Debian。狭义来讲 Debian 是一套为了您的计算机所设计的自由操作系统 (OS)。由于 Debian 项目众多内核分支中以 Linux 宏内核为主,而且 Debian 开发者所创建的操作系统中绝大部分基础工具来自于 GNU 工程 ,因此 “Debian” 常指 Debian GNU/Linux。
Debian 最早由 Ian Murdock 于1993年创建,可以算是迄今为止,最遵循 GNU 规范的Linux 发行版之一,Debian 是社区类 Linux 发展的典范,由位于世界各地上千名的自愿者不断开发和维护。它不属于任何的商业公司,完全由开源社区所有。
Debian 分三个 branch:stable、testing、unstable。unstable有最新的软件包,但可能会有bug,一般适合桌面用户。testing相对更加稳定,也支持不少新技术。stable非常稳定,但软件包可能就比较过时了。
2.Debian 系列的特点-
Debian 最具特色的是 apt-get/dpkg 包管理方式,其实 Redhat 的 YUM 也是在模仿 Debian 的 apt 方式,但在二进制文件发行方式中,apt 应该是最好的了
-
Debian 有丰富的社区,有问题可以去里面请教
-
Debian 是社区类 Linux 发展的典范,是迄今为止最遵循 GNU 规范的Linux系统
正是因为 Unix 的商业化和闭源,以及 BSD 和 AT&T 的著作版权纠纷,所以理查德·马修·斯托曼(Richard Matthew Stallman,简称 RMS)才发起了自由软件计划,这个计划叫 GNU,代号名字是 GNU’s Not Unix 的递归缩写,你可以理解为是一个「开源操作系统计划」或者叫「开源操作系统项目」或者叫「自由软件运动」都可以,总之这个计划的宗旨是让软件自由化,就是让所有的软件都开源。
这个计划其实最终就要打造一个完全开源的操作系统,所以你也可以把 GNU 理解为类 Unix 操作系统,但是这个系统最后没有完成,其中最大的问题是 GNU 的内核尚未被开发成功。GNU 的内核,称为 Hurd,是 FSF(Free Software Foundation 自由软件基金会) 发展的重点,但是其发展尚未成熟。在实际使用上,多半使用 Linux 内核、FreeBSD 等替代方案,作为系统核心,其中主要的操作系统是 Linux 的发行版。Linux 操作系统包涵了Linux 内核和大量的 GNU 组件和软件,所以也被称为 GNU/Linux。
2.GNU 的成果 (1)成立自由软件基金会GNU 成立了自由软件基金会(FSF),该基金会为 GNU 计划提供技术、法律以及财政支持。尽管GNU 计划大部分时候是由个人自愿无偿贡献,但 FSF 有时还是会聘请程序员帮助编写。
(2)开发了很多程序库和组件GNU 开发了功能强大的文字编辑器 Emacs、编译器 GCC(GNU Compiler Collection,GNU 编译器集合)、GLIBC、Bash shell,还开发了大部分 Unix 系统的程序库、组件、工具。
唯一依然没有完成的重要组件就是操作系统的内核(称为 HURD)。
(3)GNU 发布了三个授权许可协议GPL
:GNU 通用公共许可证(GNU General Public License)
LGPL
:GNU 较宽松公共许可证 (GNU Lesser General Public License),旧称 GNU Library General Public License (GNU 库通用公共许可证)
GFDL
:GNU 自由文档许可证(GNU Free Documentation License )
授权许可协议要点:
① 自由软件(free software)指的是源码自由,不是价格;
② 自由软件必须附带程序源代码,但可收取费用;
③ 任何人都可以自由分发自由软件并收取费用,但必须列明原创者姓名;
④ 任何人都可以修改源代码,但必须列明修改人名字,以保护原创者名誉;
⑤ 任何人都可以采用源代码中的某一段,但其开发之软件必须也为自由软件(例如,如果 Netscap 是自由软件,而 IE 采用了其中的部份源代码,则 IE 也必须成为自由软件);
⑥ 任何自由软件的衍生品也必须是自由软件;
⑦ 自由软件没有担保,以保护分发者。
(二)IEEE 是什么电气与电子工程师协会(Institute of Electrical and Electronics Engineers,简称 IEEE)是一个国际性的电子技术与信息科学工程师的协会,也是目前全球最大的非营利性专业技术学会,总部位于美国纽约。
(三)LFS 是什么英文全称为:Linux from Scratch,就是一种从网上直接下载源码,从头编译LINUX的安装方式。它不是发行版,只是一个菜谱,告诉你到哪里去买菜(下载源码),怎么把这些生东西( raw code) 作成符合自己口味的菜肴──个性化的linux,不单单是个性的桌面。
(四)BLFS 是什么英文全称为:BeyondLinuxFromScratch,在LFS的基础上提供了进一步完善Linux基本系统的指引。在BLFS中,读者可以学习到如何为系统增加网络、X桌面、声音、打印机和扫描仪支持。从5.0版开始,BLFS开始与LFS的版本号保持同步。
(五)POSIX 是什么POSIX 是 IEEE 为了要在各种 Unix 操作系统上运行软件,而定义 API 的一系列互相关联的标准的总称,其正式称呼为 IEEE Std 1003,而国际标准名称为 ISO/IEC 9945。POSIX 这个名称是由理查德·斯托曼(RMS)应 IEEE 的要求而提议的一个易于记忆的名称。它是 Portable Operating System Interface(可移植操作系统接口)的缩写,而X则表明其对 Unix API 的传承。
(六)GRUB 是什么GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
(七)LILO 是什么LILO(LInux Loader),即Linux引导程序。LILO是一个在系统启动时运行的程序,它用于选择引导计算机启动的操作系统。
(八)MBR 是什么主引导记录(MBR,Master Boot Record),也被称为主引导扇区,是计算机开机以后访问硬盘时所必须要读取的第一个扇区。