要了解 Linux 之前,就不能不知道什么是操作系统 ( Operation System, OS ),所以,首先我们来简单的说一说什么是操作系统吧!先来想一想,当我们使用计算机时,屏幕上面显示的咚咚是由哪里来的?嗯!是由显示适配器与屏幕显像的;那么你现在可以藉由网络看到这篇文章,则是藉由 Internet 、网络卡、网络线以及所有相关的电子器材与网络器材所完成的一项任务!如果你要看 VCD 呢?那么就需要光驱、光盘、声卡的发声等等的支持。这么说来的话,所以在『工作』的东西都是『硬件』的工作呀!对了!就是这些计算机硬件在工作的。那么硬件怎么工作呢?那就是藉由『操作系统』来达成的啰!这个操作系统就是在沟通你这个用户跟硬件之间的讯息传递啦!也就是说,没有操作系统,那么你的计算机硬件就只是一堆废铁,什么工作都不能做的!
那么操作系统里面含有什么东西呢?简单的来说,操作系统主要分为两个东西,一个是『核心』、一个是『一堆核心提供的工具』 我们以使用者常使用的 Windows 计算机来做一个简单的说明好了。大家应该都使用过 Windows 计算机里面的档案总管吧?那么当你开启档案总管的时候,他是否会显示你硬盘当中的数据?这个显示硬盘里面的数据,就是『核心』帮你做的,但是,你要核心去显 示硬盘哪一个目录下的数据,则是由『档案总管』这个『工具』帮你达成的!这样可以理解吗?再来,如果您曾经使用过 Windows 2000 或 Windows XP 的话,那就更好了!你就应该听过有所谓的『FAT32 与 NTFS 文件格式』吧?在 Windows 98 这个早期的 Windows 版本中,他并无法读取或者是找到 Windows XP 的 NTFS 文件格式的硬盘,为什么呢?因为他的『核心』本来就不认识 NTFS 啊!所以,即使你有档案总管,但是由于核心根本不认识 NTFS ,所以,档案总管也是没有能力帮你达到你想要做的事情!这样应该就更清楚了吧?没错!你的整个硬件是由核心来管理的,而如果核心不认识你的硬件,那么你将无法使用该硬设备,例如上面提到的 NTFS 文件格式的硬盘!核心就是『 Kernel 』,他是一个操作系统的最底层的东西,由他来掌管整个硬件资源的工作状态,而 Linux 有 Linux 自己的核心, Windows 也有他自己的核心。所以说,当有新的硬件加入到你的系统中的时候,那么若你的『 Kernel 』并没有支持他的时候,呵呵,这个新的硬件就肯定无法工作的,因为控制他的 Kernel 并不认识他呀!这样了解了吗?!先有个概略性的了解,后面我们提到『核心编译』的时候会在更详细的谈到他!一般来说,Kernel 管理的事项有:
所以啦!所有硬件的资源都是他来管理的!至于我们要达成一些工作时,除了藉由核心本身提供的功能 ( 例如上面提到的档案总管 ) 之外,还可以藉由其他的应用软件来达成喔!举个例子来说,你要看 VCD 影片是吧!那么除了 Windows 提供的媒体播放程序之外,你也可以自行安装 VCD 播放程序来播放 VCD 啰!这个播放程序就是应用软件啰,而这个应用软件可以帮你去控制核心来工作 ( 就是放映影片啰 ) ,因此,我们可以这样说,核心是控制整个硬件支持的咚咚,也是一个操作系统的最底层,然而要让整个操作系统更完备的话,那还需要含有相当丰富的核心提供的工具,以及核心相关的应用软件来支持!System call interface :一些服务与 kernel 沟通之后,将硬件的资源进一步的利用; Process control :系统过程控制中心,所以核心编的越小越好; Memory management :控制整个系统的内存管理; File system management :文件系统的管理,例如 I/O 等等的工作啦!还有不同文件格式的支持啦等等,如果你的核心不认识某个文件系统,那么您将无法使用该文件格式的档案啰!例如上面提到的 Windows 98 不认识 NTFS 文件格式的硬盘; Device drivers :就如同上面提到的,硬件的管理是 Kernel 的主要工作之一,当然啰,装置的驱动程序就是核心需要做的事情啦!好在目前都有所谓的『可加载模块』功能,可以将驱动程序编辑成模块,就不需要重新的编译核心啦!这个也会在后续的核心编译当中提到的!
OK!提到这里那么您知道 Linux 是什么了吗?呵呵!对啦!其实 Linux 就是一个操作系统,这个操作系统里头含有最主要的 kernel 以及 kernel 提供的工具啦!他提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭 Unix 良好的传统来的,所以相当的稳定而功能强大!此外,由于这个优良的架构可以在目前的个人计算机 ( X86 系统 ) 上面跑,所以很多的软件开发者将他们的工作心血移转到这个架构上面,那就是很多的应用软件啦!虽然 Linux 仅是其核心与核心提供的工具,不过,由于核心、核心工具与这些软件开发者提供的软件的整合,使得 Linux 成为一个更完整的、功能强大的操作系统啰!我们可以将 Linux 的系统与用户的相关性看成底下的图示:
约略了解 Linux 是何物之后,接下来,我们要谈一谈,『为什么说 Linux 是很稳定的操作系统呢?他是如何来的?』
好了,经由上面的说明,我们知道 Linux 是个『操作系统』,而且他是 GNU 的授权模式,并且有个老大哥是 Unix 。不过,毕竟由 Torvalds 先生负责维护的 Linux 提供的仅是『核心』与『核心工具』的集合,对于需要更完整功能的操作系统来说,毕竟还不够完备,例如如果你要桌面程序,还得要加入 X-Window 系统对吧!?如果你要架设 WWW 还得加入服务器软件对吧?所以,虽然 Linux 的核心已经提供了相当多的支持与工具程序,但毕竟还不足以构成一个很完整的操作系统。
好在,由于 Linux 的稳定性良好,并且可以在便宜的 x86 架构下的计算机平台运作,所以吸引了很多的套件商与自由软件的开发团队在这个 Linux 的核心上面开发相关的软件,例如有名的 sendmail, wu-ftp, apache 等等。此外,亦有一些商业公司发现这个商机,因此,这些商业公司或者是非营利性的工作团队,便将 Linux 核心、核心工具与相关的软件集合起来,并加入自己公司或团队的创意的系统管理模块与工具,而释出一套可以完全安装的操作系统,这个完整的 Linux 操作系统,我们就称呼他为 distribution,或者是中文所谓的『安装套件』啰!当然啰,由于是基于 GNU 的架构下,因此各家公司所发行的光盘套件是可以在网络上面自由下载的。不过,如果想要有较佳的服务,那么购买该公司发行的光盘也是不错的!
不过,由于发展的 Linux 公司实在太多了,例如有名的 Red Hat, OpenLinux, Mandrake, Debian, SuSE 等等,所以很多人都很担心,如此一来每个 distribution 是否都不相同呢?这就不需要担心了,由于各个 distribution 都是架构在 Linux Kernel 下来发展属于自己公司风格的 distribution,因此大家都遵守 Linux Standard Base ( LSB ) 的规范,也就是说,各个 distribution 其实都是差不多的!反正用到的都是 Linux Kernel 啊!只是各个 distribution 里面所使用的各套件可能并不完全相同而已。所以啰,大家可以按照自己的喜好来选择 Linux 的 distribution 光盘啰!底下列出几个主要的 Linux 发行者网址:
当然发行套件者不仅于此,您可以查阅其他的 Linux 新闻来发现喔!而其中中文化较为有名的就属 CLE 这个套件发行者了!另外,台湾还有另一家 Linux 开发商,称为 Linpus (百资),有兴趣的话也可以到底下的网页上看看! 好了,那么哪一个安装套件比较好呢?!就如同 VBird 前面提到的,每一个发行者所使用的 Linux 核心其实是一样的,都是由 www.kernel.org 开发出来的核心呀!所以其架构,甚至包括其档案放置的目录,都是大同小异的,基本上除了某些内容套件不太一样之外 ( 例如有人使用 wu-ftpd 有人使用 proftpd 等等 ) ,其他的档案架构与指令系统其实几乎都是相同的,因此我们不去探讨哪一个套件比较棒!而是要来介绍如何学习与使用一个套件!至于下载的地点,网友提供了一个相当棒的多种 Linux distributions 的下载网站: 同时底下的网站还有各个著名的 Linux distribution 的比较!包括使用的热门情况、市场占有率、以及套件的相依程度等等:http://www.distrowatch.com/
Hello everybody
out there using minix-
I'm doing a (free) operation system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. |
允许每个人复制和发布这一许可证原始文件的副本,但绝对不允许对它进行任何修改。声明
This is an unofficial translation of the GNU General Public License into Chinese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL-- only the original English text of the GNU GPL does that. However, we hope that this translation will help Chinese speakers understand the GNU GPL better.序言
这是一份 GNU 通用公共许可证非正式的中文翻译。它不是自由软件基金会所发布,并且不能适用于使用 GNU GPL 的软件 ── 只有 GNU GPL 英文原文的版本才行。然而,我们希望这份翻译能帮助中文的使用者更了解 GNU GPL。
大多数软件许可证的用意在于剥夺您共享和修改软件的自由。相反的,GNU 通用公共许可证力图保证您共享和修改自由软件的自由 ── 保证自由软件对所有用户都是自由的。GNU GPL 适用于大多数自由软件基金会的软件,以及任何因信任而采用 GNU GPL 的作者所开发的软件。(有些自由软件基金会软件受 GNU 函式库通用许可证的保护)。您也可以将它用到您的程序中。GNU 通用公共许可证 有关复制,发布和修改的条款和条件
当我们谈到自由软件 ( free software ) 时,我们指的是自由而不是价格。我们把 GNU 通用公共许可证设计成您的 保障,让您保有发布自由软件的自由 ( 您可以自由决定是否要对此项服务收取费用 );确保您能收到程序原始码或者在您需要时能得到它;确保您能修改软件或将它的一部分用于新的自由软件;而且还确保您知道您拥有这些权利。
为了保护您的权利,我们需要作出规定:禁止任何人剥夺您的权利,或者要求您放弃这些权利。如果您修改了自由软件或者发布了软件的副本,这些规定就转化为您的责任。
例如,如果您发布这样一个程序的副本,不管是免费的还是收费的,您必须将您具有的一切权利给予您的接受者;您必须确认他们能收到或得到源代码;并且将这些条款给他们看,使他们知道他们有这样的权利。
我们采取两项措施来保护您的权利:1.用版权来保护软件。同样,为了保护每个作者和我们自己,我们需要清楚地让每个人明白,自由软件没有担保 ( no warranty )。如果由于某人修改了软件,并继续加以传播,我们需要它的接受者明白:他们所得到的并不是原来的自由软件。由其他人引入的任何问题,不应损害原作者的声誉。
2.提供您许可证,赋予您复制,发布和修改这些软件的法律许可。
最后,由于任何自由软件不断受到软件专利的威胁,故我们希望避免这样的风险。如果自由软件的再发布者以个人名义获得专利许可证,也就等同将软件变为私有。为防止这一点,我们必须明确声明:任何专利必须以允许每个人自由使用为前提,否则就不准许有专利。
下面是有关复制、发布和修改的确切的条款和条件。
凡是版权所有者在其程序和作品中声明其程序和作品可以在 GNU GPL 条款的约束下发布,这样的程序或作品都受到本许可证约束。下面提到的 "程序" 指的是任何这样的程序或作品。而 "程序的衍生作品" 指的是这样的程序或者版权法认定下的衍生作品,也就是说包含此程序或程序的一部分的套件,可以是原封不动的,或经过修改的,和/或翻译成其他语言的 ( 程序 )。( 在下文中,"修改" 一词的涵义一律包含翻译作品。) 每个许可证接受人 ( license ) 用 "您" 来称呼。条款结束
本许可证条款不适用于复制,发布和修改以外的行为。这些行为超出这些条款的范围。执行本程序的行为不受条款的限制。而程序的输出只有在其内容构成本程序的衍生作品 ( 并非只是因为该输出由本程序所产生 ) 时,这一条款才适用。至于程序的输出内容是否构成本程序的衍生作品,则取决于程序具体的用途。
- 只要您在每一程序副本上明显和恰当地宣告版权声明和不承担担保的声明,并原封不动保持此许可证的声明和没有担保的声明,并将此许可证连同程序一起给其他每位程序接受者,您就可以用任何媒体复制和发布您收到的程序的原始码。
您可以为转让副本的实际行动收取一定费用。您也可以自由决定是否以提供担保来换取一定的费用。
- 您可以修改程序的一个或几个副本或程序的任何部分,以此形成基于这些程序的衍生作品。只要您同时满足下面的所有条件,您就可以按前面第一款的要求复制和发布这一经过修改的程序或作品。
- 您必须在修改过的档案中附有明显的说明:您修改了此一档案及任何修改的日期。
- 您必须让您发布或出版的作品,包括本程序的全部或一部分,或内含本程序的全部或部分所衍生的作品,允许第三方在此许可证条款下使用,并且不得因为此项授权行为而收费。
- 如果修改的程序在执行时以交谈方式读取命令,您必须使它在开始进入一般的交谈使用方式时打印或显示声明:包括适当的版权声明和没有担保的声明 ( 或者您提供担保的声明 );用户可以按此许可证条款重新发布程序的声明;并告诉使用者如何看到这一许可证的副本。 ( 例外的情况:如果原始程序以交谈方式工作,但它通常并不打印这样的声明,那么您基于此程序的作品也就不用打印声明 )。
这些要求适用于整个修改过的作品。如果能够确定作品的一部分并非本程序的衍生产品,且可以合理地单 独考虑并将它与原作品分开的话,则当您将它作为独立的作品发布时,它不受此许可证和其条款的约束。但是当您将这部分与基于本程序的作品一同发布时,则整个 套件将受到本许可证条款约束,因为本许可证对于其他许可证持有人的授权扩大到整个产品,也就是套件的每个部分,不管它是谁写的。
因此,本条款的意图不在于剥夺您对完全由您自身完成作品的权利,而是履行权利来控制基于本程序的集体作品或衍生作品的发布。
此外,将与本程序无关的作品和本程序 ( 或本程序的衍生作品 ) 一起放在贮存媒体或发布媒体的同一卷上,并不导致将其他作品置于此许可证的约束范围之 内。
- 您可以以目标码或可执行形式复制或发布程序 ( 或符合第 2 款,本程序的衍生作品 ),只要您遵守前面的第 1、2 款,并同时满足下列三条中的任一条。
- 在通常用作软件交换的媒体上,和目标码一起附有机器可读的完整的本程序原始码。这些原始码的发布应符合上面第 1,2 款的要求。或者
- 在通常用作软件交换的媒体上,和目标码一起,附上书面报价,提供替第三方复制原始码的服务。该书面报价有效期不得少于 3 年,费用不得超过完成原程序发布的实际成本,原始码的发布应符合上面的第 1,2 款的要求。或者
- 和目标码一起,附有您收到的发布原码的报价信息。 ( 这一条款只适用于非商业性发布,而且您只收到程序的目标码或可执行码,和按 b 款要求提供的报价 )
作品的原始码指的是对作品进行修改最优先择取的形式。对可执行的作品而言,完整的原始码套件包括:所有模块的所有原始程序,加上有关的接口的定义,加上控制可执行作品的安装和编译的 script。至于那些通常伴随着执行本程序所需的操作系统组件 ( 如编译程序、核心等 ) 而发布的软件 ( 不论是原始码或可执行码 ),则不在本许可证要求以程序原始码形式伴随发布之列,除非它是本程序的一部分。
如果可执行码或目标码是以指定复制地点的方式来发布,那么在同一地点提供等价的原始码复制服务也可以算作原始码的发布,然而第三方并不需因此而负有必与目标码一起复制原始码的义务。
- 除了本许可证明白声明的方式之外, 您不能复制,修改,转发许可证和发布程序。任何试图用其他方式复制,修改,转发许可证和发布程序是无效的,而且将自动结束许可证赋予您的权利。然而,对那 些从您那里按许可证条款得到副本和权利的人们,只要他们继续全面履行条款,许可证赋予他们的权利仍然有效。
- 您没有在许可证上签字,因而您没有必要一定接受此一许可证。然而,没有任何其他东西赋予您修改和发布程序及其衍生作品的权利。如果您不接受许可证,这些行为是法律禁止的。因此,如果您修改或发布程序 ( 或本程序的衍生作品 ) ,您就表明您接受这一许可证以及它的所有有关复制、发布和修改程序或基于程序的作品的条款和条件。
- 每当您重新发布程序 ( 或任何程序的衍生作品 ) 时,接受者自动从原始许可证颁发者那里接到受这些条款和条件支配的复制、发布或修改本程序的许可。您不可以增加任何条款来进一步限制本许可证赋予他们的权利。您也没有强求第三方履行许可证条款的义务。
- 如果由于法院判决或违反专利的指控或任何其他原因 ( 不限于专利问题 ) 的结果,使得强加于您的条件 ( 不管是法院判决,协议或其他 ) 和许可证的条件有冲突时,他们也不能令您背离许可证的条款。在您不能同时满足本许可证规定的义务及其他相关的义务来发布程序时,则结果您只能够根本不发布 程序。例如,如果某一专利许可证不允许所有直接或间接从您那里接受副本的人们,在不付专利费的情况下重新发布程序,唯一能同时满足两方面要求的办法是停止 发布程序。
如果本条款的任何部分在特定的环境下无效或无法实施,就使用条款的其余部分,并将这部分条款作为整体用于其他环境。
本条款的目的不在于引诱您侵犯专利或其他财产权的要求,或争论这种要求的有效性。本条款的主要目的在于保护自由软件发布系统的完整性。它是通过公共许可证的应用来实现的。许多人已依赖同是出自此系统的应用程序,经由此系统发布大量自由软件而做出慷慨的供献。作者 / 捐献者有权决定他/她是否通过任何其他系统发布软件,许可证接受者不能强迫作者 / 捐献者做某种特定的选择。
我们相信许可证其他部分已涵盖本节所述状况,本节目的只在更明确说明许可证其余部分可能产生的结果。
- 如果由于专利或者由于有版权的接口问题使程序在某些国家的发布和使用受到限制,则以本许可证发布程序的原始作者可以增加发布地区的限制条款,将这些国家明确排除在外,并在这些国家以外的地区发布程序。在这种情况下,这些限制条款如同写入本许可证一样,成为许可证的条款。
- 自由软件基金会可能随时出版通用公共许可证的修改版或新版。新版和当前的版本在精神上保持一致,但在细节上可能有出入,以处理新的问题与状况。
每一版本都有不同的版本号。如果程序指定可适用的许可证版本号以及 "任何更新的版本" ,您有权选择遵循指定的版本或自由软件基金会以后出版的新版本。如果程序未指定许可证版本,您可选择自由软件基金会已经出版的任何版本。
- 如果您愿意将程序的一部分结合到其他自由程序中,而它们的发布条件不同,请写信给作者,要求准予使用。如果 是自由软件基金会加以版权保护的软件,请写信给自由软件基金会,我们有时会作为例外的情况处理。我们的决定受两个主要目标的指导,这两个主要目标是:我们 的自由软件的衍生作品继续保持自由状态,以及从整体上促进软件的共享和重复利用。
- 没有担保
由于程序准予免费使用,在适用法准许的范围内,对程序没有担保。除非另有书面说明,版权所有者和/或其他提供程序的人们 "一样" 不提供任何类型的担保,不论是明确的,还是隐含的,包括但不限于可销售和适合特定用途的隐含保证。全部的风险,如程序的质量和性能问题都由您来承担。如果程序出现缺陷,您应当承担所有必要的服务、修复和改正的费用。
- 除非适用法或书面协议的要求,在任何情况下,任何版权所有者或任何按许可证条款修改和发布程序的人们都不对您的损失负有任何责任。包括由于使用或不能使用程序引起的任何一般的、特殊的、偶然发生的或重大的损失 ( 包括但不限于数据的损失,或者数据变得不精确,或者您或第三方的持续的损失,或者程序不能和其他程序协调运行等 ) 。即使版权所有者和其他人已被告知这种损失的可能性也不例外。
本网页主要以Firefox配合解析度 1024x768 作为设计依据 鸟哥自由软件整合应用研究室