Linux面面观

   作者:张杰 
   时间:2002年6月
   那时候刚接触Linux,比较菜。  
   首次在黑客防线的一本增刊上发布的,当时是被一个编辑约稿,后来又发表到csdn上。链接
   转载的链接

Linux面面观

    相信对网络安全感兴趣的你一定经常听到这个名字吧,它就是如今最热门的操作系统,Internte上30%的服务器使用的操作系统,我现在就来讲一下它的发展史,有何特长及应用。

那什么是Linux呢?
它是一个开放源代码网络操作系统,类似于Unix,它可以运行在x86 PC,Sun Sparc,Digital Alpha,680x0,PowerPC, MIPS等平台上,可以说Linux是目前运行硬件平台最多的操作系统.,但是它主要还是面向Intel PC硬件平台。 所以也可以这样的说:Linux是Unix在Pc机上的完整实现。而严格的来讲,我们说的Linux是一个内核,而我们一般使用的都是Linux的发行版,即是由不同的公司把Linux内核加上GUN软件和系统工具等制作成的一个软件包,这样就免除了用户需要在其他操作系统下进行编译才能使用,这样极大的方便了用户,使Linux的安装如同Windows一样方便(如图1是RedHat7.3的安装界面)。

目前最流行的几个发行版本有:

RedHat Linux:
RedHat Linux是Linux最早的商业版本之一。它在美国和其他英语国家市场上获得了较大的成功。现有的最新版本是RedHat Linux 7.3,它是基于Linux 2.4.18-3内核。

SuSE Linux:
SuSE由德国人开发出来,是在欧洲大陆最流行的版本之一。现有最新版本是SuSE 8.0,基于Linux 2.4内核。

Linux Mandrake:
Linux Mandrake是一个高质量的商业版本。它是在早期的Redhat版本中建造起来的,它的开放性和可扩展性没有Redhat发行版高,但是它却带有一些商业软件。

TurboLinux:
TurboLinux包括一系列的应用程序,一个GUI(Xfree86 3.3)的桌面,文档和技术支持,是国内最早支持中文的Linux之一。

红旗 Linux:
红旗Linux桌面版3.0  和红旗Linux服务器版等一系统列产品,扬起了中文Linux的红色旗帜。

Linux的发展过程

Linux是Linus Torvalds(如图2,Linux和他的Linux)在1991年读赫尔辛基大学时创建的一种免费的操作系统。最初是用汇编语言写了一个在80386保护模式下处理多任务切换的程序,但这个程序并不能算作是操作系统,真正Linux操作系统是来源于Minix。Minix是由Andrew Tannebaum教授开发的,发布在Internet上,免费给全世界的学生使用。Minix具有较多Unix的特点,但与Unix不完全兼容。而Linux为超Minix,决定为Minix用户设计一个较完整的Unix PC版本,于1991年发行了Linux 0.11版本,但是它只具有操作系统内核的简单的雏形,不能很好的运行,并且必须在Minix的机器上编译以后才能运行。这时候Linus决定和Minix分开,着手写一个可以独立于硬件平台上的系统,随后1991年8月25日, Linus Torvalds 在互联网上自由扩散Linux并发布了Linux的第一份开放源码,在1991年10月5号发布Linux 0.0.2版本,在这个版本中已经可以运行bash(一种用户与操作系统内核通讯的软件)和gcc(GNU C 编译器)。这个开放源代码的操作系统很快的引起了黑客们的注意,并通过计算机网络加入了Linux的内核程序的开发,使得Linux的功能更完善。从此引发了软件发展史上一场壮观的开放源码运动。
在最初的Linux要求所有的源代码必须公开,并且允许将其用作商业行为,然而这种纯粹的自由软件的理想对于Linux的普及和发展是不利的,于是紧接着Linux 0.02 版本的发布,Linux正式接受GPL,并成为GNU阵营中的主要一员。(GPL,通用公共许可协议,这是与传统商业软件许可协议CopyRight对立的,所以又被戏称为CopyLeft。GPL保证任何人有共享和修改自由软件的自由。任何人有权取得、修改和重新发布自由软件的源代码,并且规定在不增加附加费用的条件下可以得到自由软件的源代码。同时还规定自由软件的衍生作品必须以GPL作为它重新发布的许可协议。而GNU项目的目标是建立可自由发布的、
可移植的UNIX类操作系统。)
Linux是在Internet开放环境中开发的,它由世界各地高水平黑客不断完善,而且免费供用户使用。就这样到了1993年底94年初,Linux 1.0终于诞生了! Linux 1.0已经是一个功能完备的操作系统,而且内核写得紧凑高效,可以充分发挥硬件的性能,在4M内存的80386机器上也可以流畅的运行,2.1.xx系列的内核Linux为了适应硬件的快速发展,开始走高端的路子,差不多是到了1.3版本之后,开始向其他硬件平台上移植,目前已经可以运行在DEC Alpha、SUN Sparc、M68000,以及MIPS 和 PowerPC 等计算机上。尽管如此,它仍然遵循商业Unix版本的POSIX标准,那什么是POSIX标准呢?它是电子电气工程协会(IEEE)开发了一个独立的Unix标准,这个新的ANSI Unix标准被称为计算机环境的可移植性操作系统界面(PSOIX)。这个标准限定了Unix系统如何进行操作,对系统调用也做了专门的论述。PSOIX限制所有Unix版本必须依赖大众标准,现有大部分Unix和流行版本都是遵循
POSIX标准的,而Linux从一开始就遵循POSIX标准。


Linux的特点和技术优势

1. 低廉的价格
Linux经常被大家宣传为免费的,而其实Linux并不是一个完全零成本的解决方案,并且在实际应用中没有组织会去安装、使用一个没有技术支持协议的软件。

现在提供Linux技术支持的著名厂家和邻近的经销商大量出现,随着大量有偿的第三方技术支持的出现,Linux会被越来越多的企业用户所接受。

组织在考虑许可成本,特别是大量使用者和大量计算机设备的许可成本时,他们会惊奇地发现Linux在成本上有着重大的优势。

举个例子,在电影“泰坦尼可号”的数字视觉特效加工中,Digital Domain公司需求大量的服务器去处理运算任务。最终,他们安装了105台Compaq和Digital公司的Alpha服务器,操作系统使用Linux。尽管大约的经费节省不能公开得知,但Digital Domain公司的网站声称选择使用Linux相当大的原因是出于经费问题。(当然,Linux系统的性能表现的极为杰出,要不然的话,节省费用就没有了意义)
 
2. 符合POSIX 1003.1标准 及GUN定义
    POSIX 1003.1标准定义了一个最小的Unix操作系统接口,任何操作系统只有符合这一标准,才有可能运行Unix程序。Unix具有丰富的应用程序,当今绝大多数操作系统都把满足POSIX 1003.1标准作为实现目标,Linux也不例外,它完全支持POSIX 1003.1标准。
按照GNU的普通公共许可协议条款定义,任何实体对Linux进行了修改而没有把相应修改的源代码进行公开都视为非法的,此种规定限制了那些想利用Linux系统而产生一个私有版权的产品行为。

3. 稳定性和安全性
人们会经常提及一个问题为什么Linux几乎不崩溃,Linux的稳定性是由于它没有象其它操作系统一样内核如此庞大、漏洞无穷。考察资料表明,Linux与其它Unix系统和大型操作系统如VMS、IBM大型机等一样具有相同的可靠性。原因并不难以得到,系统的稳定性主要取决于系统设计的结构。计算机硬件的结构自从1981设计开始就没有作特别大的改动,而连续向后兼容性使那些编程风格极差的应用软件勉强移植到Windows的最新版本,这种将就的软件开发模式极大地阻碍了系统稳定性的发展。另一种易于崩溃的系统Macintosh,它缺乏内存使用保护和缺乏抢占式多任务的缺点与它友好的使用界面一样闻名于世,令人惊奇的是Macintosh虽然具有如此重大的缺陷但并没有如人们想象的那样频繁死机。

Linux的稳定性并不是一个意外的例外,稳定性是所有大型计算机操作系统所具有的共性。仅仅Windows和苹果机有时会失常。Linux所共享的Unix设计体系是经过长期实践考验的,Linux吸取了Unix系统近1/4世纪发展的经验,Linux操作系统体现了最先现代化操作系统的设计理念和最经得住时间考验的设计方案。最令人注目的是Linux开发源代码的开发模式,这保证了任何系统的漏洞都能被及时发现和改正。

同时在最新的Linux 2.4以后的内核中,实现IP包过滤(IP filter)/网络地址翻译(NAT)功能的ipchains被Netfilter所取代。Netfilter产生的动机是源于ipchains代码结构的不合理性。事实上,这种结构的不合理性是从2.0系列内核的ipfwadm继承下来的。为此,Netfilter采用了全新的机制。与ipchains相比,Netfilter并不是具体实现包过滤的程序,而是一套框架结构。各种包过滤、NAT功能模块都可建立在这套框架结构之上,从而提供了更好的灵活性和可扩展性。

Linux应用领域

1. 商业开发 :

    在商业开发系统中,执行CA/Clipper(基于DBase和Fox超集的面向对象编译器的含义是,Clipper的开发者只需对软件做很少的改动就能适应Linux的运行。其结果是功能相同,而性能提高了,在一样的硬件条件下,速度比DOS版本快了20~200倍。

网络服务器 :

    可将Linux配置为使用NFS、Apple Talk及NetBIOS协议。其性优价廉的特性使其颇具吸引力。由LAN桥接而生成WAN也是Linux的一个很好的用途。当Linux运行于RISC和SMP(对称多处理)硬件系统时,它可为严谨的后台处理带来便利及易用性。

2. Internet服务器 :

Internet服务器使用是Linux的一项重要应用。以Linux和Apache 为基础的Internet和Intranet 服务器价格低廉、性能卓越和易于维护。在美国,大多数廉价服务器以Linux为基础。根据Infobeads的考察,有31%或更多的ISP在利用Linux。Linux能用作WWW服务器、域名服务器、防火墙、FTP 服务器、邮件服务器等。用单一的服务器能提供所有这些功能。
Linux是一个优异的、标准的网页Web应用平台,您可利用它来作为路由器、防火墙、网页服务器、电子邮件服务器、数据库服务器和目录服务器来建立一个完善的、安全的因特网站点。


3. 数据库服务器

对于商业应用来说,那些技术是最重要的呢?电话和网络路由显然是商业系统的关键部分,它们将重要的信息从存储的地方传送到需要的地方。数据库则是商业运作的大脑。它可能储存了所有的关键商业客户的信息,以及相关的商业处理过程,而这些可能是你生存的必须。 据IDC的报告,Linux数据库市场规模将从2000年的4200万美元暴增至2005年的78亿美元。

Linux的相关认证与培训

Linux 逐渐受到企业界的关注与使用﹐相关的工作机会与能力要求将越来越多﹐所以不管在哪个行业﹐Linux 工作者都必须不断的藉由自我学习﹑接受训练课程或是参加各式的专业认证来充实自己﹐使自己在工作上可以更加得心应手。
在国际上,主要的认证途径主要是,一种是由 Red Hat 所主办的 Red Hat's Certified Engineer (RHCE) program 。另外一种是LPI( Linux Professional Institute)。国内的Linux有很多,比如Turbolinux(TLCE)认证,红旗Linux认证工程师(RCE)认证等。考试和培训都在国内。各位如果想从成千上万的MCSE、CCNA竞争中脱颖而出那就赶快去成为屈指可数的Linux认证工程师吧,而我们的Linux认证相对于其它IT认证价格更低廉。

相关资源

Linux伊甸园
http://www.linuxeden.com
LinuxSir论坛
http://www.linuxsir.com
LinuxByte
http://www.linuxbyte.net
LinuxAID
http://www.linuxaid.com.cn/
网络技术论坛
http://www.s8s8.net
还有笔者的网站:菜企鹅俱乐部
http://www.itroot.org/