红联Linux门户
Linux帮助

rhce033-lecture1

发布时间:2011-03-21 19:15:28来源:红联作者:sleeyoyo
linux ideas and history

完成这一课后,你应该掌握的内容:
1.解释open source software的本质
2.讨论linux的起源
3.解释linux的基本原则

什么是open source

一、open source:software和source code可以被所有人使用
二、Free Software Foundation(自由软件基金会)指出了四个自由:
1.以任何目的运行程序的自由
2.研究和修改源代码的自由
3.重新发行程序的自由
4.制作衍生程序的自由
三、存在许多open-source许可证,每种在细节上有所不同

open source software(OSS),是指软件的源代码可以被所有人自由的使用。OSS的目的是鼓励协同工作,通常是通过在软件项目中广泛的分享来实现,这种分享是穿越商业和地域的界线的。

两个杰出的团体确信开源软件的益处,分别以不同的方式定义了OSS的本质。Open Source Initiative定义的OSS包括以下几点:
1.软件和它的源代码必须被自由发行
2.必须对所有人都能修改源代码并创作衍生作品
3.为了维持原始作者作品的完整性,此许可证要求对源代码的修改以patch形式提供
4.此许可证必须被继承,因此任何得到的发行产品都受制于此许可证
5.此许可证必须尽力无歧视的尊重个人、团体,和其它领域;必须是限定在此许可证的限制下的自由。例如,它并不要求某个软件是特定发行版的一部分;它不可以限制non-OSS软件;它并没有要求为应用此许可证需要的技术。

open source software另一个可选的定义来自 free software 运动。free software运动强调软件和源代码在合乎道德方面的可用性。由GNU项目和Free Software Foundation提出,如果软件满足下面的四点自由那么它就是自由软件:
1.软件可以以任何目的自由的执行
2.源代码必须可用,因此其它人可以研究它是如何运作的
3.软件必须自由发行
4.所有人可以自由修改软件

同样存在其它的linceses,像BSD license,对open source有其它的解释。例如,BSD license不强制继承,意味着BSD-licensed软件可以并入closed-source项目。

linux origins

一、1984:GNU项目和Free Software Foundation
1.开发open source版本的UNIX工具
2.创建General Public License(GPL)
一个强制执行open source原则的软件许可证

二、1991:Linux Torvalds
1.开发出open source,UNIX-like kernel,在GPL下发行
2.移植一些GNU工具,在线恳求协助

三、今天:
1.Linux kernel + GNU工具 =完整的、开源的、UNIX-like的操作系统
以用户为目标打包后以发行版方式释出

open source software运动,至今已有20年之久,开始于一个承诺:自由提供软件和源代码给所有人。较早的open source运动的提倡者是Free Software Foundation,一个为GNU项目提供基金的团体,是为开发出一个UNIX-like操作系统的目的而创立的。

GNU项目开始靠编写UNIX下的替代工具(bash、ls等等),最后开发了一套完整的工具、库和其它东西。为了增强他们软件自由的理念,他们将开发的软件在GPL下发行。

在linux开发中接下来的一件大事是linux kernel的开发。Linus Torvalds,一个芬兰的优秀学生,在80年代晚期90年代初开始开发UNIX-like kernel.

kernel是一个操作系统中最重要的部分,为用户级命令提供服务,比如与硬盘等其它的硬件通信。

Torvalds' kernel 已经成为了一个专业的kernel,在计算机世界受到高度关注。今天,Torvalds' kernel ,与来自GNU项目的工具,还有来自其它open source 项目(比如 X 来自Xorg),构成了一系列的linux发行版。

Linux principles

一、everything is a file(包括硬件)
二、small,单一目的的程序
三、将多个程序链接到一起执行复杂的任务
四、避免交互的用户接口
五、配置文件存储于文本文件中

everything is a file
UNIX系统有很多功能强大的工具设计用来创建和处理文件。UNIX的安全模式是基于文件的安全。把所有的东西都当文件来对待,可以获得一致性的状态。你可以对硬件实现和文本实现同样的访问安全控制。

Small,single-purpose programs
UNIX提供很多能出色执行任务的小工具。当有新的功能需求时,最普遍的哲学是创建一个单独的程序--而不是扩展一个已有的工具具有新特性。

将多个程序链接到一起执行复杂任务
UNIX一个核心的设计特性就是一个程序的输出可以作为另一个程序的输入。这给用户提供了将许多小程序结合起来处理更大更复杂任务的灵活性。

避免交互的用户接口
在UNIX中交互的命令是非常少的。多数的命令期望他们的选项和参数在命令行上提供。通常命令执行时,可能会产生输出,或产生错误消息并退出。交互式被程序保留用于需要判断时,例如:文本编辑(当然,也有非交互的文本编辑工具)。

配置文件存储在文本文件中
文本文件是一个普遍的接口,而且有很多UNIX文本处理工具存在。将配置文件存储于文本文件中,方便管理员很容易的将配置文件从一个机器迁移到另一个机器。这里提供了几种版本控制程序,使管理员能追踪特定时间所做的修改,而且提供系统配置回滚到特定时间的能力。
文章评论

共有 9 条评论

  1. zjykljf 于 2015-10-16 19:56:46发表:

    不错的东西

  2. is456 于 2013-11-03 12:50:47发表:

    此贴精华,不能沉底!大家顶啊~~

    顶一下,顶一下,不顶一下太对不起观众!

  3. raph_linux 于 2011-09-30 10:15:01发表:

    嗯,新手,还有点不知所云:0)1

  4. 小鹿乱撞 于 2011-09-23 17:34:39发表:

    (3):os突然发现,原来我每次回帖都是几十楼的啊

  5. ftd505 于 2011-04-18 11:26:16发表:

    {:2_99:}

  6. sleeyoyo 于 2011-03-22 10:31:56发表:

    rhce5.4教材

  7. pl_014 于 2011-03-21 22:11:48发表:

    我还是喜欢stable一点的资料,楼主最好能把来源说明一下。

  8. Fedoraai 于 2011-03-21 21:32:47发表:

    受教

  9. sleeyoyo 于 2011-03-21 20:52:39发表:

    从今天开始,我将不定期有选择的翻译RHCE课程,借此机会和大家共同进步。
    这篇是学习linux的最基础的东西,希望大家不要忽视!!