"Hello everybody out there using minix——I'm doing a (free) operating system" 一、linux的发展历史
在1991年的八月,网络上出现了一篇以此为开篇话语的帖子——这是一个芬兰的名为Linus Torvalds的大学生为自己开始写作一个类似minix,可运行在386上的操作系统寻找志同道合的合作伙伴。
1991年10月5日,Linus Torvalds在新闻组comp.os.minix发布了大约有一万行代码的Linux v0.01版本。
到了1992年,大约有1000人在使用Linux,值得一提的是,他们基本上都属于真正意义上的hacker。
为什么大家常常会说, Linux 是很稳定的一套操作系统呢?这是因为, Linux 他有个老前辈,那就是 Unix 家族啰!有这个前辈的提携,让 Linux 这个小老弟很快的就成为一套稳定而优良的操作系统啦!所以,底下我们来谈一谈 Unix 到 Linux 的这一段历史吧!早在 Linux 出现之前的二十年 ( 大约在 1970 年代 , 就有一个相当稳定而成熟的操作系统存在了!那就是 Linux 的老大哥『 Unix 』是也!怎么这么说呢?!他们这两个家伙有什么关系呀?这里就给他说一说啰!众所皆知的, Linux 的核心是由 Linus Torvalds 在 1991 年的时候给他开发出来的,并且丢到网络上提供大家下载,后来大家觉得这个小东西 ( Linux Kernel 相当的小而精巧,所以慢慢的就有相当多的朋友投入这个小东西的研究领域里面去了!但是为什么这的东西这么棒呢? 1、一个没有完成的梦想
由于 C 语言是一个相当高阶的程序语言,他与硬件没有很直接的相关性,例如你的 Windows 也可以执行 C 程序语言!而由于 Unix 是由 C 语言写成的,因此,也就是说,你只要经过稍微的原始码修改程序,就可以在不同的硬件架构上面执行这个操作系统!后来,由于 Unix 的方便性,因此很多的商业公司及学术机构就加入这个操作系统的研发啰。不过,也由于 Unix 的便利性与改写容易,因此就造成了很多的不同版本的 Unix 啰,例如 ATT 的 System V 、 加州大学的 BSD 版、 IBM 的 AIX 等等。
Unix 在商业上面的问题让许多对于 Unix 喜好者感到相当的忧心,其中一个就是有名的 Richard M. Stallman 先生。他认为, Unix 是一个相当好的操作系统,在这个系统上面,如果大家能够将自己所学的贡献出来,那么这个系统将会更加的优异!Stallman 先生认为最大的快乐就是让自己发展的良好的软件让大家来使用了!而且,由于每个人的工作环境 ( 指软硬件平台 可能都不太相同,所以,他也强调应该要有 Open Source 的概念,让大家都能够分享这一份的心得!他认为,有了 Open Source 之后,你的程序将有很多的人可以帮忙检验,将使得 Unix 社群更佳的茁壮。为了自己的理想, Stallman 在 1984 年实际创立了 GNU 与 自由软件基金会 ( Free Software Foundation) FSF ,并创作了许多『自由软件』供大众来使用,此外,对于其作品以自由 ( free 的 GNU General Public License ( GPL 的授权模式提供大众使用。这个 FSF 的核心观念是『版权制度是促进社会进步的手段,版权本身不是自然权力。』对于 FSF 有兴趣或者对于 GNU 想要更深入的了解时,而且,Stallman 的 GNU General Public License 一直强调 Free 这个字眼!他是这样说的:『"Free software" is a matter of liberty, not price. To understand the concept, you should thik of "free speech", not "free beer". "Free software" refers to the users freedom to run, copy, distribute, study, change, and improve the software』大意是说,自由软件并不是指『免费』的,而是指具有『自由度, freedom』的软件,什么是自由度呢?也就是你在取得这个软件之后,可以进行修改、进一步发表与复制在不同的计算机平台上面。这无疑是个好消息!因为如此一来,你所拿到的软件可能原先只能在 Unix 上面跑,但是经过原始码的修改之后,你将可以拿他在 Linux 或者是 Windows 上面来跑!Stallman 先生更直接对自由度下了这样的说明:
你可以根据任何你想要的提议 ( purpose 来跑这个 Free 的程序;
但请特别留意,并非挂上 GPL 之后的软件就不可贩卖,这个是不同的两回事呦!举个例子来说,在 Red Hat 的官方网站上面提供 Red Hat 释出的 Linux 安装光盘提供大众下载,但是 Red Hat 本身依然有在卖 Linux 的套件,而且还卖的『很不便宜!』为何可以如此呢?呵呵!因为 Red Hat 他们卖的资料当中,含有相当大量经过整了的文件资料,这些资料虽然在网络上面可以下载,然而花了这么多的时间来整理这些资料,当然应该要给予相当程度的报酬啰!您说是吧!所以,请留意喔!并非 GPL 不可用来营利!
这个 GNU 对于后来的 Linux 有相当深远的影响,由于 Stallman 先生发展了 GNU 这个计画中,主力在推出各种方便而优异的工具软件,例如广为大家所知的 Emacs 文书编辑器、GCC, BASH..然而没有作业平台怎么使用这些软件呢?然而,由于他倡导的自由软件,让后来的心血能很快的接触原始码来发展软件,这就是后来的 Linux 的故事 7、1988年的图形接口X-Free86 project
有鉴于图形使用者接口 ( Graphical User Interface, GUI 的需求日益加重,在 1984 年由 MIT 与其它协力厂商首次发表了 X Window System ,并且更在 1988 年成立了非营利性质的 XFree86 这个组织。所谓的 XFree86 其实是 X window system 与 Free 及 x86 系统架构的整合名称呢!而这个 XFree86 的 GUI 接口更在 Linux 的核心 1.0 版于 1994 年释出时,整合于 Linux 操作系统当中! 8、1991 年 芬兰大学生 Linus Torvalds 的一则简讯
在后来的几年内,由于计算机硬件工业的强力运作,以 intel 主导的 x86 系统架构的个人计算机大行其道,所以个人计算机算是相当流行的一个机器了!但在此时,人们使用的大多还是旧旧而且需要吃很多系统资源的 DOS 系列或其它的操作系统。 此时,有个芬兰的郝尔辛基大学 (Helsinki Linus Torvalds 学生做了件不寻常的事情! Linus 手边有个 Minix 系统 ( 这也是 Unix 的分支 ,他对这个操作系统相当的有兴趣!此外,由于当时他正好买了一部 386 的计算机,所以他就想说,咦!这个 Unix 这么棒!这么稳定,那我可不可以将他移植到个人计算机 ( X86 架构 来使用呢?!好在由于 Stallman 提倡的 Open Source 风气,他得以接触到一些 source code ,而就经由这样的一个想法,呵呵!他就很有心的读取 Unix 的核心,并且去除较为繁复的核心程序,将他改写成可以适用于一般个人计算机的 x86 系统上面,到了 1991 年,他终于将 0.02 版的 hobby 放到网络上面供大家下载,并且由于 hobby 受到大家的肯定,相当多的朋友一起投入这个工作中!终于到了 1994 年将第一个完整的核心 Version 1.0 释出!并且造成目前的大流行.....由于 Linux kernel 的发展是由『虚拟团队』所达成的,大家都是透过网络取得 Linux 的核心原始码,经由自己精心改造后再回传给 Linux 社群,进而一步一步的发展完成完整的 Linux 系统,至于 Torvalds 先生是这个集团中的发起者。由于这个群策群力的缘故, Torvalds 先生将 Linux 定为同样造福大家的 GNU 授权模式! 9、企鹅的来源
1994年发表 Linux 正式核心 1.0 的时候,大家要 Linus Torvalds 想一只吉祥物,怪怪的 Torvalds 突然想到小时候去动物园被一只企鹅追着满地打滚~还被咬了一口!既然想不到其它的吉祥物了,干脆就以这支企鹅来当吉祥物算了!所以,目前我们常常看到这一只企鹅就是这么来的! 三、什么是 distribution
好了,经由上面的说明,我们知道 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 发行者网址:
Red Hat: http://www.redhat.com
Mandrake: http://www.linux-mandrake.com/en/
Slackware: http://www.slackware.com/
SuSE: http://www.suse.com/index_us.html
OpenLinux: http://www.caldera.com/
Debian: http://www.debian.org/
Linpus: http://www.linpus.com.tw/
UniteLinux:http://www.sco.com/unitedlinux/
GNU,Gnu's Not Unix 的缩写, 1984年史托曼开始着手GNU计划,这个计划的目的建立一个自由的开放的UNIX.但是写一个UNIX非常困难,所以史托曼打算先写运行在UNIX的小程序.但所有的软件都需要编译器编译源代码,史托曼决定先一个C语言的编译器(GUN C gcc).但编译器也写得并不顺利,于是,他写了Emacs编辑器.因为Emacs很得非常好,史托曼赚了一点钱,从而开始全力编写其他软件.当史托曼在成立自由软件基金会(Free Software Foundation,FSF)后,他请了请了更多的工程师和志愿者在编写软件,终于完成GCC的编写.
1985年,为了避免GNU所开发的自由软件被其他人修改而成为版权软件,史托曼与律师草拟了有名的通用公共许可证(General Public License , GPL),