Linux文化
Linux是什么?
Operation System
完整的OS: 1、Kernel和提供操作的界面
2、利用Kernel提供的界面工具所开发出来的软件
Linux的起源
UNIX起源
1969 年∶来至于Multics系统
Unix的诞生和Multics是有一定渊源的。Multics是由麻省理工学院,AT&T贝尔实验室和通用电气合作进行的操作系统项目,由于目标过于庞大,糅合太多特性,Multics发布了一些产品,但是性能都很低,最终以失败而告终。
AT&T最终撤出了投入项目的资源,但其中一个开发者,Ken Thompson(肯。汤姆逊)从该项目中获得一些想法,为满足自己的需要,开发一个小的操作系统。以编译语言(Assembler) 写出了一个核心程序,包括一些核心工具程序,文件系统。当时 Thompson 将Multics 庞大的复杂系统大大简化,同实验室的朋友都戏称这个系统为:Unics (这个系统就是UNIX系统的原型)
Thompson 的这个文件系统有两个重要的概念,分别是:
一、所有的程序或系统设备都是文件
二、不管是编辑器还是附属文件,所写的程序只有一个目的,且要有效的完成
这些概念在后来对于 Linux 的发展有相当重要的影响
1973 年∶ Unix的正式诞生
Thompson 写的那个操作系统非常好用,所以在贝尔实验室内部广为流传,并且数度经过改版。 比较重要的改版则发生在 1973 年。Unix本来是以编译语言写成的,后来因为系统移植与效能的需求, 该系统被 B 语言所改写。不过,效能依旧不是很好。后来, Dennis Ritchie(丹尼斯。里奇) 将B语言重新改写成C语言,C 语言算是比较高阶的程序语言,可以在不同的机器上面运作, 而 Ritchie 等人也同时将原本 Thompson 的那个操作系统重新以C 语言改写, 最后发行出 Unix的正式版本!
贝尔实验室是隶属于 AT&T 的,AT&T 当时忙于其他商业活动, 所以对于 Unix是采取比较开放的态度,此外, Unix在这个时期的发展者都是贝尔实验室的工程师, 这些工程师对于程序当然相当有研究,所以, Unix在此时当然是不容易被一般人所接受的! 此外,也需要特别强调,由于 Unix是C 语言写的,相对于编译语言需要与硬件有密切的配合, C 语言与硬件的相关性就没有这么大!使得 Unix很容易被移植到不同的机器上面!
1977 年∶ 重要的 Unix分支∶ BSD 的诞生
1974年,Thompson和Ritchie合作在ACM通信上发表了一片关于Unix的文章,Unix第一次出现在贝尔实验室以外。此后UNIX被政府机关,研究机构,企业和大学关注,并逐渐流行开来。
柏克莱大学的 Bill Joy 在取得了 Unix的核心原始码后,著手修改成适合自己机器的版本,并且同时增加了很多工具软件与编译程序,最终将他命名为 Berkeley Software Distribution (BSD) 。这个 BSD 是 Unix很重要的一个分支, Bill Joy 也是 Unix业者『 Sun 』这家公司的创办者! Sun 公司即是以 BSD 发展的核心进行自己的商业 Unix版本的发展的。
1979 年∶ 一个的版权宣告!
Unix的高度可移植性与强大的功能,以及没有版权的纠纷,很多商业公司开始了Unix操作系统的发展,例如:AT&T的 System V、IBM 的 AIX 以及 HP 与 DEC 等公司,都有推出自己的主机搭配自己的 Unix操作系统。
1979 年有了重大的转折,因为AT&T由于商业的考虑,及在当时现实环境下的思考,于是在发行的第七版Unix中,特别提到不可对学生提供原始码的严格限制!这造成Unix业界之间的紧张气氛,并且也引爆很多的商业纠纷
GNU组织
1984 年之一∶ x86 架构的 Minix 诞生
版权的声明,校园内教Unix的教授受到影响,没有核心原代码,怎么教?Andrew Tanenbaum (谭宁邦)教授,自己动手写了Minix这个 UnixLike 的核心程序! 在编写的过程中,为了避免版权纠纷,完全不看 Unix核心原始码!1984 年开始编写,1986 年终于完成,并于次年出版相关书籍,它并不是完全免费的,网络上不提供下载!必须通过磁盘/磁带购买才行!虽然便宜,但没在网络上流传,所以没有很快速的传播!
此外,开发者谭宁邦教授始终认为Minix主要用在教育用途上面,它很受欢迎。但是,使用者的需求的
1984 年之二∶ GNU 与 FSF 计划的成立
Richard Mathew Stallman (史托曼,生于 1953 年)
著名黑客,1971 年的时候,进入黑客圈中出名的人工智慧实验室(AI Lab.),当时的黑客圈对于软件的着眼点是共享,没有专利方面困扰!对于史托曼影响很大!后来由于管理阶层的问题,导致实验室的优秀黑客离开,进入其他商业公司。他仍然在原实验室开发程序与软件。一个人无法完成所有工作,于是他想成立一个团体来共同努力!
1983 年以后,实验室硬件更换,他无法以原有的硬件与操作系统继续程序的编写,而且所使用的 Lisp 操作系统,是麻省理工学院的专利软件,是无法共享的。于是放弃了Lisp。当他接触到 Unix,发现可以在不同的机器间进行移植。他就开始使用Unix。将原有的软件移植的工作。并且,为让软件可以在不同的平台上运作,他的软件均编写成可以移植的!
1984 年,史托曼开始 GNU 计划(建立一个自由的开放的Unix操作系统)。仅有一个人,几乎不可能完成的任务,于是反其道而行,既然系统太复杂,就先写在系统上面运行的程序,开始程序的编写。在编写期间,避免版权纠纷,绝对不看专利软件的原始码!
不论是什么软件,都要编译成为二进制文件(binary file)后才能执行,他便开始编写C语言的编译器,就是现在的GNU C (gcc)!
开始时并不顺利,为此,他先将 Emacs 编辑器写成可以在Unix上运行软件,并公布原始码,因为Emacs太优秀了,很多人便直接向他购买。此时Internet尚未流行,So,史托曼便借着Emacs 以磁带(tape)出售,赚了一点钱 ,进而开始全力编写其他软件。并成立自由软件基金会 (FSF, Free Software Foundation),请更多工程师编写软件。完成GCC,这比Emacs 还更有帮助!此外,还编写更多被引用的C函式库(GNU C library), 以及被使用操作操作系统的基本介面BASH shell!都在1990年左右完成
1985 年,为避免GNU所开发的自由软件被他人所利用而成为专利软件,他与律师草拟有名的通用公共许可证 (General Public License, GPL),并称为copyleft。
GNU 所开发的几个重要软件,如∶
Emacs
GNU C (GCC)
GNU C Library (glibc)
Bash shell
后来很多的软件开发者可以在这些基础的工具来进行程序开发!进一步壮大自由软件!建立一个自由的 Unix操作系统来说,有这些优秀的程序是无法满足,没有自由的 Unix核心存在。所以这些软件只能在有专利的Unix平台上工
LINUX诞生
1991 年∶ linux 0.01版
Linus Torvalds (托瓦兹, 1969 年出生)
外祖父是赫尔辛基大学的统计学家,为让小孙子能学点东西,所以从小就教托瓦兹管理些微电脑。这时期,托瓦兹接触汇编语言 (Assembly Language),是一种直接与晶片控制的程序语言,也就是低级语言。必须很了解硬件的架构,则很难以汇编语言编写程序
在1988年间,进入了赫尔辛基大学,选读计算机科学系。在学期间,他接触到个类似Unix的系统,可以在Intel386机器上面跑的操作系统,就是谭宁邦教授为教育需要编写Minix!购买最新的Intel 386的个人电脑,就安装Minix。不满意Minix的功能。出于爱好,根据使用的Minix设计了一个系统核心Linux 0.01,但没有使用任何Minix或Unix的源代码。
1991年4月 他通过USENET(就是新闻组)宣布这是一个免费的系统,在x86电脑上使用,希望大家一起来完善,并将源代码放到了芬兰的FTP站点上免费下载。本来想把系统称为freax,意思是自由(free)和奇异(freak)的结合字,且附上"X"这个常用的字母,以配合所谓的Unix-like的系统。可是FTP的工作人员认为这是Linus的Minix,嫌原来的命名“Freax”的名称不好听,就用Linux这个子目录来存放,于是它就成了“Linux”。这时Linux只有核心程序,仅有10000行代码,仍必须执行于Minix操作系统之上,并且必须使用硬盘开机,还不能称做是完整的系统;随后10月份第二个版本(0.02版)就发布
许多专业用户(主要是程序员)自愿地开发它的应用程序,拿出来让大家一起修改,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来。
从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年 Linux 内核发布的时候,GNU已经几乎完成了除系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于GNU通用公共许可,但是Linux内核并不是GNU计划的一部分。 Unix与Linux的历史源流
早期Linux的开机管理程序(boot loader)是使用LILO(Linux Loader),存在一些难以容忍的缺陷,例如无法识别8G以外的硬盘,后来新增GRUB(GRand Unified Bootloader)克服这些缺点,具有‘动态搜寻核心档案’的功能,在开机的时候,自行编辑开机设定系统档案,透过 ext2 或 ext3 档案系统中载入Linux Kernel。
Linux 的标志和吉祥物是一只名字叫做Tux的企鹅,Linus在澳洲时曾被动物园里的企鹅咬了一口,便选择企鹅作为Linux的标志。Linux的注册商标是Linus Torvalds所有的。这是由于在1996年,一个名字叫做William R. Della Croce的律师开始向各个Linux 发布商发信,声明他拥有Linux商标的所有权,并且要求各个发布商支付版税,这些发行商集体进行上诉,要求将该注册商标重新分配给Linus Torvalds。Linus Torvalds 一再声明Linux 是免费的,他本人可以卖掉,但Linux绝不能卖。
Linux
依循标准
Linux Standard Base (LSB)
File system Hierarchy Standard (FHS)
Linux distributions
Linux distribution = Kernel + Softwares + Tools
流行的distributions:
红帽:
RedHat是1994年,由Bob Young Marc Ewing 创建的,是世界上最大开放源码的公司之
红帽的版本
桌面版最高是 9、0,那也是个绝版 ,从那以后REDHAT就专注与服务器版本。 没在对桌面投入太多,Fedora Core 是REDHAT和开源社区合作开发的,并不是红帽所有,教学会用到的是 企业版Enterprise 5.1 ,07年10月份发布。
红帽的认证体系:
红帽认证工程师(RHCE)/红帽认证技师(RHCT)
? Linux领域的重要认证 更新及再认证课程(最新推出)
红帽认证架构师(RHCA)
?红帽公司的企业架构师课程主要针对负责部署和管理大型企业环境中众多系统的高级Linux系统管理员提供深入的实际操作培训。红帽认证架构师是红帽公司继红帽认证技师(RHCT)和红帽认证工程师(RHCE)认证之后推出的最新顶级认证。
红帽认证安全专家(RHCSS)
?针对Linux开源解决方案的安全专业知识
JBoss中间件
?目前推出的有关JBoss产品的培训和认证
开发人员
?针对内核和设备驱动程序开发人员、应用及图形用户界面程序员和嵌入式系统的培训课程。需要通过红帽认证工程师认证或具有相当的知识。
我们对红帽认证工程师进行了采访和独立调查。调查结果证实了以实际操作能力为基础的认证对证实认证人员的工作能力更有意义,与其它类型的认证相比,红帽认证工程师认证占据了较高的地位。无论是对个人而言,还是对其所在公司和经理人而言,这一认证都有众多好处:
?信心和能力:红帽认证工程师对自己的技能有更大的信心,更加擅长构建和管理Linux服务器。他们/她们的工作质量和职业技巧因此而大大提高,在所在公司的工作业绩更好,可以接受更有挑战性的任务,同时,也会为此获得大家的认可。
Linux 的优缺点
优点:
1、稳定的OS
2、免费或少许费用
3、安全性、BUG快速修补
4、多工、多使用者
5、使用群与群组的规划
6、相对比较不耗资源的系统
缺点:
1、 没有固定的支持厂商
2、图形化界面还不够好