购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 Linux简介

1.1.1 自由软件与Linux

1.自由软件

自由软件的自由(Free)有两个含义:第一,是可免费提供给任何用户使用;第二,是指它的源代码公开和可自由修改。所谓可自由修改是指用户可以对公开的源代码进行修改,以使自由软件更加完善,还可在对自由软件进行修改的基础上开发上层软件。

自由软件的出现给人们带来了很多好处。首先,免费的软件可给使用者节省一笔费用。其次,自由软件公开源代码,这样做的好处之一是可吸引尽可能多的开发者参与软件的查错与改进,正如Linux的指导思想“bug就像影子一样,只会出现在阳光照不到的角落中”。

自由软件创始人Richard M.Stallman是黑客历史上最著名的黑客,是GNU Project的创始人。他于1984年起开发自由开放的操作系统GNU(Gun is Not UNIX的首字母缩写),以此向计算机用户提供自由开放的选择。GNU是自由软件,任何用户都可以免费复制和重新分发以及修改。

2.Linux及其历史

Linux是一个操作系统,同时是一个自由软件,是免费的、源代码开放的,编制它的目的是建立不受任何商品化软件版权制约的、全世界都能自由使用的UNIX兼容产品。

Linux最初是由芬兰赫尔辛基大学计算机系大学生Linus Torvalds在1990年底到1991年的几个月中,为了他自己的操作系统课程和后来的上网用途而编写的,在Intel 386 PC上,利用Tanenbaum教授自行设计的微型类UNIX操作系统Minix作为开发平台。Linus说,刚开始的时候他根本没有想到要编写一个操作系统的内核,更没有想到这一举动会在计算机界产生如此重大的影响。最开始是一个进程切换器,然后是为了自己上网需要而自行编写的终端仿真程序,再后来是为了从网上下载文件的需要而自行编写的硬盘驱动程序和文件系统,这时他才发现已经实现了一个几乎完整的操作系统内核,出于对这个内核的信心和美好的奉献精神与发展希望,Linus希望这个内核能够免费扩散使用,但出于谨慎,他并没有在Minix新闻组中公布它,而只是于1991年底在赫尔辛基大学的一台FTP服务器上发了一则消息,说用户可以下载Linux的公开版本(基于Intel 386体系结构)和源代码。从此以后,奇迹开始发生。

Linux的兴起可以说是Internet创造的一个奇迹。到1992年1月止,全世界大约只有100个人在使用Linux,但由于它是在Internet上发布的,网上的任何人在任何地方都可以得到Linux的基本文件,并可通过电子邮件发表评论或者提供修正代码,这些Linux的爱好者有将之作为学习和研究对象的大专院校的学生以及科研机构的科研人员,也有网络黑客等,他们所提供的所有初期上载代码和评论,后来证明对Linux的发展至关重要。正是在众多爱好者的努力下,Linux在不到3年的时间里成为一个功能完善、稳定可靠的操作系统。

1.1.2 Linux系统的特点和组成

1.Linux系统的特点

Linux操作系统在短短的几年之内得到了迅猛的发展,与Linux具有的良好特性是分不开的。Linux包含了UNIX的全部功能和特性。简单地说,Linux具有以下主要特性。

开放性: 是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。另外,源代码开放的Linux是免费的,使得获得Linux非常方便,而且使用Linux可节省费用。Linux开放源代码,使用者能控制源代码,按照需要对部件混合搭配,建立自定义扩展。

多用户: 是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(如文件、设备)有特定的权限,互不影响。Linux和UNIX都具有多用户的特性。

多任务: 多任务是现代计算机一个最主要的特点,是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。

出色的速度性能: Linux可以连续运行数月、数年而无须重新启动,与NT(经常死机)相比,这一点尤其突出。即使作为一种台式机操作系统,与许多用户非常熟悉的UNIX相比,它的性能也显得更为优越。Linux不太在意CPU的速度,它可以把处理器的性能发挥到极限,用户会发现,影响系统性能提高的限制因素主要是其总线和磁盘I/O的性能。

良好的用户界面: Linux向用户提供了两种界面,即用户命令界面和图形用户界面。

丰富的网络功能: Linux是在Internet基础上产生并发展起来的,因此,完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。

可靠的系统安全: Linux采取了许多安全技术措施,包括对读/写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。

良好的可移植性: 可移植性是指将操作系统从一个平台转移到另一个平台后仍然能按其自身方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊和昂贵的通信接口。

具有标准兼容性: Linux是一个与可移植操作系统接口(Portable Operating System Interface,POSIX)相兼容的操作系统,它所构成的子系统支持所有相关的ANSI、ISO、IETF和W3C业界标准。为了使UNIX system V和BSD上的程序能直接在Linux上运行,Linux还增加了部分system V和BSD的系统接口,使Linux成为一个完善的UNIX程序开发系统。Linux也符合X/Open标准,具有完全自由的X Window实现。虽然Linux在对工业标准的支持上做得非常好,但是由于各Linux发布厂商都能自由获取和接触Linux的源代码,所以各厂家发布的Linux仍然存在细微的差别。其差异主要存在于所捆绑应用软件的版本、安装工具的版本和各种系统文件所处的目录结构等。

2.Linux系统的组成

Linux一般有4个主要部分:内核、Shell、文件系统和应用程序。内核、Shell和文件系统一起形成了基本的操作系统结构。它们使得用户可以运行程序、管理文件并使用系统。

Linux内核 :内核是系统的“心脏”,是运行程序和管理硬件设备(如磁盘及打印机等)的核心程序。

Linux Shell :Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并送入内核中执行。实际上Shell是一个命令解释器,解释由用户输入的命令并且把它们送到内核。另外,Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

Linux文件系统 :文件系统是文件存放在磁盘等存储设备上的组织方法。Linux能支持多种目前流行的文件系统,如XFS、EXT2/3/4、FAT、VFAT、ISO9660、NFS、CIFS等。

Linux应用程序 :标准的Linux系统都有一套称为应用程序的程序集,包括文本编辑器、编程语言、X Window、办公套件、Internet工具、数据库等。

1.1.3 Linux的内核版本与发行版本

Linux有内核(Kernel)版本和发行(Distribution)版本之分。

1.Linux的内核版本

内核版本是Linus领导下的开发小组开发出的系统内核的版本号。

内核版本号由3个数字组成,即r.x.y。

●r:目前发布的Kernel主版本。

●x:偶数表示稳定版本;奇数表示开发中的版本。

●y:错误修补的次数。

在2.x版本时代,x为偶数的版本表明这是一个可以使用的稳定版本,如2.6.18;x为奇数的版本一般加入了一些新的内容,不一定很稳定,是测试版本,如2.5.111。

RHEL/CentOS 7使用的内核版本是3.10.0。在3.x版本时代,也存在基于奇数版本号的稳定版。例如Linux Mint 17.1使用的内核版本是3.13.0。

可以访问http://www.kernel.org获得最新的内核信息。

2.Linux的发行版本

发行版本是一些组织或厂家将Linux系统内核与应用软件和文档包装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合。目前已经有300余种发行版本,而且还在不断增加。相对于内核版本,发行版本的版本号随发布者的不同而不同,与系统内核的版本号是相对独立的。

表1-1中列出了一些常见的发行版本。有关更多的Linux发行版本的信息,可访问http://www.distrowatch.com获得。

表1-1 常见的Linux发行版本

1.1.4 Red Hat Linux及其相关产品

1.Red Hat Linux系列发行版

Red Hat公司在开源软件界鼎鼎大名,该公司发布了最早的(之一)Linux商业版本Red Hat Linux。所有人都可以获得软件的源代码,使用该软件的开发人员可以自由地对其进行改进。Red Hat解决方案包括Red Hat Linux、开发人员和嵌入式技术,以及培训、管理和技术支持。这项开源革新通过称为Red Hat Network的Internet平台传递给客户们。

Red Hat一直领导着Linux的开发、部署和经营,从嵌入式设备到安全网页服务器,都是用开源软件作为Internet基础设施解决方案的领头羊,一度被作为Linux发行版本的事实标准。Red Hat公司在发布Red Hat Linux系列版本的同时,还发布了Red Hat Enterprise Linux,即Red Hat Linux企业版,简写为RHEL。RHEL系列版本面向企业级客户,主要应用在Linux服务器领域。Red Hat公司对RHEL系列产品采用了收费使用的策略,即用户需要付费才能够使用RHEL产品并获得技术服务。

2.Red Hat与Fedora Project

Red Hat公司于2003年9月底宣布,将原有的Red Hat Linux开发计划与Fedora Linux计划整合成新的Fedora Project。Fedora Project由Red Hat公司赞助,以社群主导、支持的方式,开发Linux发行版Fedora Core。Fedora Core是一份由Red Hat策划的开放开发项目,它向普通参与者开放并由精英管理者领导,沿着一系列项目目标而前进。Fedora项目的目标是与Linux社区协作,只从开放源码软件来创建一份完整的、通用的操作系统。其开发过程是以公开论坛的形式进行的。

由于Red Hat公司不再继续开发免费版Red Hat Linux,而由合并产生的Fedora Core接手后续新发行版本的开发工作,因此Fedora Core被Red Hat公司视为一个新技术的研究园地,其所开发的各项技术有可能在未来被纳入Red Hat Enterprise Linux(企业版)中使用。正因为如此,Fedora Core不断引入自由软件的新技术,从而导致其发行版本缺乏足够的稳定性。Fedora Core很快更名为Fedora。

3.CentOS与RHEL

CentOS是一个开源软件贡献者和用户的社区。它对RHEL源代码进行重新编译,成为众多发布新发行版本的社区当中的一个,并且在不断的发展过程中,CentOS社区不断与其他的同类社区合并,使CentOS Linux逐渐成为使用最广泛的RHEL兼容版本。CentOS Linux的稳定性不比RHEL差,唯一的不足就是缺乏技术支持,因为它是由社区发布的免费版。

CentOS社区的Linux发行版本被称为CentOS Linux,由于使用了由RHEL的源代码重新编译生成新的发行版本,CentOS Linux具有与RHEL产品非常好的兼容性,并且与生俱来地拥有RHEL的诸多优秀特性。虽然CentOS Linux使用了RHEL的源代码,但是由于这些源代码是Red Hat公司自由发布的,因此CentOS Linux的发布是完全合法的,CentOS Linux的使用者也不会遇到任何的版权问题。CentOS面向那些需要企业级操作系统稳定性的用户,而且并不存在认证和支持方面的开销。

CentOS Linux与RHEL产品有着严格的版本对应关系,例如使用RHEL 6源代码重新编译发布的是CentOS Linux 6,与RHEL 7.1对应的是CentOS Linux 7.1。 s3GdcIDNjm8ipJtOvhQkAP78ghTfHjs6gNQPj2y/fKmr46OO2mPv0Jaxyd2kPdB1

点击中间区域
呼出菜单
上一章
目录
下一章
×