探索完了386的硬件之后,终于拿到Minix并且安装在托瓦兹的386计算机上之后,托瓦兹跟BBS上面一堆工程师一样,]
撰写程序需要什么呢?首先需要的是能够进行工作的环境,再来则是可以将原始码编译成为可执行文件的编译程序。]他说,他完成了一个小小的操作系统,这个核心是用在386机器上的, 同时,他真的仅是好玩,并不是想要做一个跟GNU一样大的计划! 另外,他希望能够得到更多人的建议与回馈来发展这个操作系统!这个概念跟Minix刚好背道而驰呢! 这则新闻引起很多人的注意,他们也去托瓦兹提供的网站上下载了这个核心来安装。 有趣的是,因为托瓦兹放置核心的那个FTP网站的目录为:Linux, 从此,大家便称这个核心为Linux了。(请注意,此时的Linux就是那个kernel喔! 另外,托瓦兹所丢到该目录下的第一个核心版本为0.02呢!
4、Linux的发展:虚拟团队的产生
Linux能够成功除了托瓦兹个人的理念与力量之外,其实还有个最重要的团队!
(1)单一个人维护阶段
Linux虽然是托瓦兹发明的,而且内容还绝不会涉及专利软件的版权问题。 不过,如果单靠托瓦兹自己一个人的话,那么Linux要茁壮实在很困难~ 因为一个人的力量是很有限的。好在托瓦兹选择Linux的开发方式相当的务实! 首先,他将释出的Linux核心放置在FTP上面,并请告知大家新的版本信息, 等到使用者下载了这个核心并且安装之后,如果发生问题, 或者是由于特殊需求亟需某些硬件的驱动程序,那么这些使用者就会主动回报给托瓦兹。 在托瓦兹能够解决的问题范围内,他都能很快速的进行Linux核心的更新与除错。
(2)广大黑客志工加入阶段
不过,托瓦兹总是有些硬件无法取得的啊,那么他当然无法帮助进行驱动程序的撰写与相关软件的改良。 这个时候,就会有些志工跳出来说:『这个硬件我有,我来帮忙写相关的驱动程序。』 因为Linux的核心是Open Source的,黑客志工们很容易就能够跟随Linux的原本设计架构, 并且写出兼容的驱动程序或者软件。志工们写完的驱动程序与软件托瓦兹是如何看待的呢? 首先,他将该驱动程序/软件带入核心中,并且加以测试。 只要测试可以运行,并且没有什么主要的大问题,那么他就会很乐意的将志工们写的程序代码加入核心中!
总之,托瓦兹是个很务实的人,对于Linux核心所欠缺的项目,他总是『先求有且能跑, 再求进一步改良』的心态!这让Linux使用者与志工得到相当大的鼓励! 因为Linux的进步太快了!用户要求虚拟内存,结果不到一个星期推出的新版Linux就有了! 这不得不让人佩服啊!
另外,为因应这种随时都有程序代码加入的状况,于是Linux便逐渐发展成具有模块的功能! 亦即是将某些功能独立出于核心外,在需要的时候才加载到核心中。如此一来, 如果有新的硬件驱动程序或者其他协议的程序代码进来时,就可以模块化, 大大的增加了Linux核心的可维护能力!
核心是一组程序,如果这组程序每次加入新的功能都得要重新编译与改版的话会变成如何? 想象一下,如果你只是换了显示适配器就得要重新安装新的Windows操作系统,会不会傻眼? 模块化之后,原本的核心程序不需要更动,你可以直接将他想成是『驱动程序』即可! ^_^
(3)核心功能细部分工发展阶段
特别值得注意的是,这些托瓦兹的Linux发展副手,以及自愿传送修补程序的黑客志工, 其实都没有见过面,而且彼此在地球的各个角落,大家群策群力的共同发展出现今的Linux, 我们称这群人为虚拟团队!而为了虚拟团队数据的传输,于是Linux便成立的核心网站:
http://www.kernel.org !
而这群素未谋面的虚拟团队们,在1994年终于完成的Linux的核心正式版!version 1.0。 这一版同时还加入了X Window System的支持呢!更于1996年完成了2.0版。此外,托瓦兹指明了企鹅为Linux的吉祥物。
奇怪的是,托瓦兹是因为小时候去动物园被企鹅咬了一口念念不忘, 而正式的2.0推出时,大家要他想一个吉祥物。他在想也想不到什么动物的情况下, 就将这个念念不忘的企鹅当成了Linux的吉祥物了......
Linux由于托瓦兹是针对386写的,跟386硬件的相关性很强,所以, 早期的Linux确实是不具有移植性的。不过,大家知道Open source的好处就是, 可以修改程序代码去适合作业的环境。因此,在1994年以后,Linux便被开发到很多的硬件上面去了! 目前除了x86之外,IBM、HP、Sun等等公司出的硬件也都有被Linux所支持呢!
5、Linux的核心版本
Linux的核心版本编号有点类似如下的样子:
[AppleScript] ı鿴 ƴ
2.6.18-92.el5
主版本.次版本.释出版本-修改版本
如前所述,因为对于Linux核心的开发者太多了,以致于造成Linux核心经常性的变动。 但对于一般家庭计算机或企业关键应用的话,常变动的核心并不适合的。因此托瓦兹便将核心的发展趋势分为两股, 并根据这两股核心的发展分别给予不同的核心编号,那就是:
如2.5.xx,这种核心版本主要用在测试与发展新功能,所以通常这种版本仅有核心开发工程师会使用。 如果有新增的核心程序代码,会加到这种版本当中,等到众多工程师测试没问题后,才加入下一版的稳定核心中;
如2.6.xx,等到核心功能发展成熟后会加到这类的版本中,主要用在一般家庭计算机以及企业版本中。 重点在于提供使用者一个相对稳定的Linux作业环境平台。
至于释出版本则是在主、次版本架构不变的情况下,新增的功能累积到一定的程度后所新释出的核心版本。
Linux核心版本与distribution (下个小节会谈到) 的版本并不相同,很多朋友常常上网问到:『我的Linux是9.x版,请问....』之类的留言, 这是不对的提问方式,因为所谓的Linux版本指的应该是核心版本, 而目前最新的核心版本应该是2.6.30(2009/08) 才对,并不会有9.x的版本出现的, 妳常用的Linux系统则应该说明为distribution才对!因此,如果以CentOS这个distribution来说,
+ Tips: (点击展开) - Tips: (点击折叠) 当妳有任何问题想要在Linux论坛发言时,请务必仔细的说明妳的distribution版本, 因为虽然各家distributions使用的都是Linux核心,不过每家distributions所选用的软件以及他们自己发展的工具并不相同, 多少还是有点差异,所以留言时得要先声明distribution的版本才行喔! ^_^
6、Linux distributions
好了,经过上面的说明,我们知道了Linux其实就是一个操作系统最底层的核心及其提供的核心工具。 他是GNU GPL授权模式,所以,任何人均可取得原始码与可执行这个核心程序,并且可以修改。 此外,因为Linux参考POSIX设计规范,于是兼容于Unix操作系统,故亦可称之为Unix Like的一种。
鸟哥曾在上课的时候问过同学:『什么是Unix Like啊』?可爱的同学们回答的答案是:『就是很喜欢(like)Unix啦!』 囧rz...那个like是『很像』啦!所以Unix like是『很像Unix的操作系统』哩!
(1)可完全安装的Linux发布套件
虽然由Torvalds负责开发的Linux仅具有Kernel与Kernel提供的工具, 不过,如上所述,很多的软件已经可以在Linux上面运作了,因此, 『Linux + 各种软件』就可以完成一个相当完整的操作系统了。 不过,要完成这样的操作系统......还真难~ 因为Linux早期都是由黑客工程师所开发维护的,他们并没有考虑到一般使用者的能力......
图2.5.1、Linux可完全安装发布套件
(2)各大Linux Distributions的主要异同:支持标准!
此外,为了让所有的Linux distributions开发不致于差异太大,且让这些开发商在开发的时候有所依据,还有Linux Standard Base (LSB)等标准来规范开发者,以及目录架构的File system Hierarchy Standard (FHS)标准规范! 唯一差别的,可能就是该开发者自家所开发出来的管理工具,以及套件管理的模式吧! 所以说,基本上,每个Linux distributions除了架构的严谨度与选择的套件内容外, 其实差异并不太大啦! ^_^ 。大家可以选择自己喜好的distribution来安装即可!
当然发行套件者不仅于此。但是值得大书特书的,是中文Linux的延伸计划:CLE这个套件! 早期的Linux因为是工程师发展的,而这些工程师大多以英文语系的国家为主, 所以Linux对于国人的学习是比较困扰一点。后来由国人发起的CLE计划:
开发很多的中文套件及翻译了很多的英文文件,使得我们目前得以使用中文的Linux呢! 另外,目前正在开发中的还有台南县卧龙小三等老师们发起的众多自由软件计划, 真是造福很多的朋友啊!
此外,如果只想看看Linux的话,还可以选择所谓的可光盘开机进入Linux的Live CD版本, 亦即是KNOPPIX这个Linux distributions呢!台湾也有阿里巴巴兄维护的中文Live CD喔!
Tips: 对于没有额外的硬盘或者是没有额外的主机的朋友来说,KNOPPIX这个可以利用光盘开机而进入Linux操作系统的Live CD 真的是一个不错的选择!你只要下载了KNOPPIX的映象档,然后将他刻录成为CD, 放入你主机的光驱,并在BIOS内设定光盘为第一个开机选项,就可以使用Linux系统了呢!
如果你还想要知道更多的Linux distributions的下载与使用信息,可以参考:
(3) 选择适合你的Linux distribution
总之,版本很多,但是各版本差异其实不大,建议你一定要先选定一个版本后, 先彻头彻尾的了解他,那再继续玩其他的版本时,就可以很快的进入状况。 鸟哥的网站仅提供一个版本,不过是以比较基础的方式来介绍的, 因此,如果能够熟练俺这个网站的话,呵呵!哪一个distributions对你来说,都不成问题啦!
用于企业环境:建议使用商业版本,例如Red Hat的RHEL或者是Novell的SuSE都是很不错的选择! 毕竟企业的环境强调的是永续的经营,你可不希望网管人员走了之后整个机房的主机都没有人管理吧! 由于商业版本都会提供客户服务,所以可以降低企业的风险喔! 用于个人或教学的服务器环境:要是你的服务器所在环境如果当机还不会造成太大的问题的话, 加上你的环境是在教学的场合当中时(就是说,唔!经费不足的环境啦!)那么可以使用『号称』完全兼容商业版RHEL的CentOS。 因为CentOS是抓RHEL的原始码来重新兜起来的一个Linux distribution,所以号称兼容于RHEL。 这一版的软件完全与RHEL相同,在改版的幅度较小,适合于服务器系统的环境; 用于个人的桌面计算机:想要尝鲜吗?建议使用很炫的Fedora/Ubuntu等Desktop(桌面环境)使用的版本! 如果不想要安装Linux的话,那么Fedora或CentOS也有推出Live CD了!也很容易学习喔!