第一章 Slackware Linux简介

1.1.  什么是linux<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Linus Torvalds 1991 创建的 linux 操作系统内核,并把它作为一个个人项目。他创建此项目的目的是想免费运行一个基于 Unix 的操作系统。另外,他还想学习有关 386 处理器的原理。 Linux 操作系统被免费发布给公众,使任何人都可以研究,并且在通用公共许可证下进行改进(参看第 1.3 节和附录 A 中对许可证的解释)。今天, Linux 已经成长为操作系统市场中的一个重要的成员。它已被移植到各种系统架构中运行,包括 HP/ 柏康公司的 Alpha Sun 公司的 SPARC UltraSPARC ,摩托罗拉的 PowerPC 芯片(甚至 Apple 个人机和 IBM RS/6000 系列的计算机 )。世界各地无数的程序员们现在正开发着 Linux 。它上面运行了很多非常受欢迎的 Internet 服务器软件,比如 Sendmail Apache BIND 。重要的是 Linux 只是个内核——一个操作系统的核心。这个核心负责控制你计算机的进程,内存,硬件驱动和外围设备。这是 Linux 所真正做的:它控制操作你的计算机和冰保证其所有程序正确执行。各个公司、个人把内核和各种程序捆绑一起做成了一个操作系统。我们称其为 Linux 的发行版本。

GNU 概念

Linux 内核项目是 Linus Torvalds 1991 年的一个个人项目,但是牛顿曾说过:“如果我看的更远,那是因为我站在了巨人的肩膀上”。开始时, Linus Torvalds 的内核自由软件基金会已经建立的协同合作的软件开发想法。它有权给自己努力的 GUN 项目取名,一个递归的缩写,它意味着是个简单的“ GNU’s Not Unix ”。当今 GUN 软件大都运行在 Linux 内核的系统之下。他们的内核用 gcc 编译器来编译。今天,很多 GUN 的工具从 gcc gnutar 仍然是每个 Linux 发行版本的基础。出于这个原因,很多自由软件基金会的支持者保持着热切的工作状态,他们的工作应给予了同 Linux 内核同样的贷款。他们强烈建议每一个 Linux 发行版本都应该指明,他们是 GUN/Linux 的发行版本。

这里有许多争论的专题,仅次于古老的 vi emacs 之间的圣战。这本书的目的不是为了引发支持者之间激烈的讨论,而是为初学者澄清相关术语。让他们认为 GNU/Linux 意味着是 Linux 的发行版本。当他们看到 Linux 时,可以指出那是内核或者是一个发行版本。它是相当混乱的。通常 GNU/Linux 这个词不得使用,因为他们很混乱。

1.2.  什么是Slackware

Slackware是由Patrick Volkerding1992年晚期创立,并于1993717日公开发行,它是第一个普遍使用的Linux发行版本。Volkerding第一次学习Linux时,当时他正为一个项目寻找一个廉价的LISPLISP,全名LISt Processor,即链表处理语言,由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言)直译程序。从软着陆系统到那时候为数不多可用的发行版本是SLS LinuxVolkerding使用SLS Linux,并修复了他所发现的bug。最后,他决定将所有这些错误修正到自己的私人发行版本中,以方便他和他的朋友们使用。这个私人发行版本很快获得了欢迎,所以Volkerding决定用Slackware命名它,并把它公之于众。一路走来,PatrickSlackware中加入了很多新的东西;一个基于menuing系统的用户友好的安装程序,以及概念的软件包管理,它允许用户比较容易的安装,卸载或者更新系统的软件包。有很多原因使得Slackware成为Linux操作系统上存活时间最久的发行版本。它不模仿Windows系统,而是试图成为最合理的类Unix操作系统。它并不想试图用指向点击GUI(图形用户界面)来掩盖进程。相反,它让用户可以控制他们,并清除其运行过程。它的发展不会打破最后期限,每个版本出来时,它已准备就绪。Slackware是每个喜欢学习和调整自己系统的人的正确选择。Slackware的稳定和简单是使用者在今后为什么继续使用它。Slackware现在在固定的服务器和严格的工作站上享有盛誉。你可以在台式机上找到Slackware的桌面版本运行几乎所有的窗口管理器和桌面环境,或根本没有。Slackware服务器为企业提供支持,并使用在每个服务器中提供服务。Slackware用户是最满意的Linux用户。当然,我应该说这一点。:^)

1.3.  开源和自由软件

Linux社区里,主要存在两种思想运动。自由软件运动(我们将使用这个)正在努力的目标是使所有软件都可以免费使用而不受知识产权的限制。这种思想运动的支持者相信这种限制阻碍了技术的改进和对工作的良好社会。开源运动也致力于大部分相同的目标,但是他们需要更加实际的方法。这种思想运动的支持者喜欢他们的论点为基础的经济和技术优势,使源代码可以免费提供,而不是在道德和伦理的原则下,推动自由软件运动。

在另一端的团体,希望保持严格控制他们的软件。

自由软件运动是由自由软件基金会领导,它是一个为GNU项目筹款的组织。自由软件更可以看做是一种意识形态。他们的口号是“言论自由,而不是免费的啤酒”。本质上,自由软件是一种尝试,以保证用户和开发者的某些权利。这些自由包括不管出于什么原因来自由运行该程序,学习,和修改源代码,重新发布源代码,并分享您所做出的任何修改。为了保证这些自由,GUN通用公共许可证(GPL)因此被创立。GPL,简而言之,就是规定在遵循GPL许可下,任何分发编译程序必须提供源代码,并且可以自由地进行修改,只要这些修改也提供了源代码的形式。这就保证了,一旦程序被公之于众,就不能封闭,除非得到每段修改(任何修改)的代码段的作者的同意。大多数Linuz下的程序都是遵循GPL的。

需要注意的是GPL并没有说什么价格。听起来就像要给自由软件付费一样奇怪。这里的“free”是指你可有自由的获得源代码,并不是为自由软件付费(然而,一旦有人卖给你,或者给你一个基于GPL的编译程序,他们有义务提供它的源代码)。

另一种很流行的许可证是BSD许可证。与GPL相反的是,BCD许可证不要求提供程序的源代码。软件在遵照BSD授权规定只有少数几个条件可允许分发源代码或二进制程序。作者的成就不能被用于一些不好的方面。那样要对使用软件对作者所造成的损害进行赔偿。Slackware下的很多软件都是遵循BSD许可证。

在开源软件运动之前,开源软件是由一个独立为可独立运行的开源软件源代码发展提供资助的组织。他们不提供特殊的许可协议,但是代替他们的是提供各种类型的可用的开源软件许可协议。

OSI背后的意图是获得更多公司支持的开源软件许可协议和开源软件基金提供书面证明的许可协议。很多公司向发布源代码,但是不想使用GPL的许可证。因为他们完全不能改变GPL许可证,他们提议提供一个使用私有的许可证的机会和并得到这个组织承认。自由软件基金会和开源软件组织的工作是相互补充,他们不是一回事。自由软件基金会使用的是在这个许可协议下提供特殊的许可协议和提供私有的许可协议。开源软件组织则支持所有的开源软件许可协议,包括了来自自由软件基金会的协议。主张免费提供源代码的思想分为了两种不同的思想运动,但是事实上这两种不同的群体的思想却为同一个目的而努力。