admin管理员组

文章数量:1603980

第1章 Linux系统介绍与环境搭建准备

本章以操作系统的介绍作开篇,首先介绍操作系统的基础概念以及操作系统的原理;然后带领读者了解Unix/Linux的诞生和发展史,以及市面上常见的Unix/Linux系统版本,并且针对发展过程中相关的关键人物进行介绍;接着,本章为大家讲解了需要重点掌握的GNU、GPL等名词知识,以及本书的主人公即Linux的优秀特性、常见的Linux发行版本以及不同应用场景的选择建议;最后,本章将带读者了解互联网常用的两个重点Linux版本CentOS和Red Hat Linux,并完成CentOS Linux的基本环境搭建准备。

1.1 Linux简介

1.1.1 什么是操作系统?
如果被问到什么是操作系统,可能很多初学者都会一脸茫然。虽然我们都知道平时一直在用的Windows 7/8/10,其实就是操作系统,却无法准确给出操作系统的定义,或者向提问者解释清楚什么是操作系统。
操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。

操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件资源,如对CPU、内存、磁盘等的管理,同时对系统资源供需的优先顺序进行管理。操作系统还可以控制设备的输入、输出以及操作网络与管理文件系统等事务。同时,它也负责对计算机系统中各类软件资源进行管理,例如,各类应用软件的安装、运行环境的设置等。图1-1给出了操作系统与计算机硬件、软件之间的关系示意图。


图1-1 操作系统与计算机软硬件关系示意图

图1-2 简单理解操作系统作用示意图

综上所述,我们可以对操作系统给出一个基本的定义。
操作系统是计算机系统中必不可少的基础系统软件,它的作用是负责管理和控制计算机系统中的硬件和软件资源,合理地组织计算机系统的工作流程,以便有效地利用这些资源为使用者提供一个功能强大、使用方便的操作及使用环境。它在计算机系统(硬件)与使用者之间起到了接口的作用。

上面的定义听起来是不是有些复杂?下面就来帮助大家更简单快速地理解什么是操作系统。操作系统就是处于用户与计算机系统硬件之间用于传递信息的系统程序软件。例如,操作系统会在接收到用户输入的信息之后,将其传递给计算机系统硬件核心进行处理,然后再把计算机系统硬件的处理结果返回给使用者。图1-2所示的是简单理解操作系统作用的示意图。
目前PC(Intel x86系列)计算机上比较常见的操作系统有Windows、Linux、DOS、Unix等。

1.1.2 什么是Linux?
与大家熟知的Windows操作系统软件一样,Linux也是一个操作系统软件。但是与Windows不同的是,Linux是一套开放源代码程序的、并且可以自由传播的类Unix操作系统软件(Unix系统是Linux系统的前身,具备很多优秀特性)。其在设计之初,就是基于Intel x86系列CPU架构计算机的。它是一个基于POSIX的多用户、多任务并且支持多线程和多CPU的操作系统。

POSIX 全称为Portable Operating System Interface,中文翻译为可移植操作系统接口,POSIX 标准定义了操作系统应该为应用程序提供的接口标准。

Linux是由世界各地成千上万的程序员设计和开发实现的。当初开发Linux系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类Unix操作系统兼容产品。在过去的20年里,Linux系统主要被应用于服务器端、嵌入式开发和PC桌面3大领域,其中服务器端领域是重中之重。

我们熟知的大型、超大型互联网企业(百度、腾讯、Sina、阿里等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前1000的90%以上的网站使用的主流系统都是Linux系统。

从上面的内容可以看出,Linux操作系统之所以如此流行,是因为它具备如下这些优秀的特点。

  • Linux是开放源代码的程序软件,可自由修改。
  • 与Unix系统兼容,具备Unix几乎所有的优秀特性。
  • 可自由传播,无任何商业化版权制约。
  • 适合Intel等x86 CPU系列架构的计算机。

技巧:好的总结习惯很重要,学会主动对阶段性的知识进行小结是学好Linux运维的重要习惯。

1.2 Linux的起源

1.2.1 Unix的历史

说到Linux的起源,就不得不提到Linux之前的Unix系统。Unix系统于1969年在AT&T的贝尔实验室诞生,20世纪70年代,它逐步盛行,这期间,又产生了一个比较重要的分支,即大约诞生于1977年的BSD(Berkeley Software Distribution)系统。从BSD系统开始,各大厂商及商业公司开始了根据公司自身的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Unix系统,例如,SUN公司的Solaris,IBM公司的AIX,HP公司的HP UNIX等。图1-3给出了Unix系统诞生、发展的时间及版本分支的介绍,供读者参考。
从图1-3中可以看到,本书的“主人公”Linux系统,诞生于1991年左右,因此,可以说Linux是从Unix发展而来的。

1.2.2 Unix的5大优秀特性
细心的读者应该会看到前文曾提到“类Unix操作系统兼容产品”或“类Unix操作系统软件”?为什么都要开发类Unix系统呢?那是因为Unix是一个非常棒的操作系统,它很像是一个非常聪明伶俐但不太听话的孩子,而开发者们在开发系统时,一方面想要继承它的“聪明伶俐”,另一方面又想改善它不听话的一面,故而会有如此考虑。

图1-3 Unix诞生及版本分支发展简略图解
那么Unix都有哪些“聪明伶俐”的特点呢?下面一起来看看吧。

  • 技术成熟,可靠性高
    使用Unix系统时,即使连续运行若干年也无须重启,它依然可以工作得非常好。可以毫不夸张地说,只要计算机硬件不坏,Unix就会很难出现问题。
  • 极强的可伸缩性
    Unix支持的CPU处理器体系架构非常多,包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片,以及SMP、MPP等技术。
    可能是由于早期各大厂商都基于Unix进行适合自己的硬件开发,因此,Unix支持的CPU架构才更多。
  • 强大的网络功能
    Internet互联最重要的协议TCP/IP就是在Unix上开发和发展起来的。此外,Unix还支持非常多的常用的网络通信协议,如NFS、DCE、IPX/SPX、SLIP、PPP等。
  • 强大的数据库支持能力
    Oracle、DB2、Sybase、Informix等大型数据库,都将Unix作为其主要的数据库开发和运行平台,一直到目前为止,依然如此。
  • 强大的开发功能
    正是Unix促使了C语言的诞生,并相互促进与发展,成为当时工程师的首选操作系统和开发环境。互联网早期具有重大意义的软件新技术的出现几乎都在Unix上,例如:TCP/IP、WWW、Java、XML等。

1.2.3 Unix操作系统的革命
20世纪70年代中后期,由于各厂商及商业公司开发的Unix及内置软件都是针对自己公司的特定硬件而进行的,因此在其他公司的硬件上基本上无法直接运行,而且当时没有人对开发基于x86架构CPU的系统感兴趣。另外,20世纪70年代末,Unix又面临了突如其来的被AT&T回收版权的重大问题,特别是要求禁止对学生群体提供Unix系统源代码,这样的问题一度引起了当时Unix业界的恐慌,也因此产生了种种商业纠纷。

由于Unix面临版权回收问题,以及代码不开源等问题,这直接或间接地导致了新的类Unix系统的诞生以及自由软件运动的建立和发展。

1984年,Richard Stallman发起了开发自由软件的运动,并成立了自由软件基金会(Free Software Foundation,FSF)和GNU项目。当时发起这个自由软件运动和创建GNU项目的目的其实很简单,就是想开发一个类似于Unix系统、并且是自由软件的完整操作系统,也就是要解决20世纪70年代末Unix版权问题以及软件源代码面临闭源的问题,这个系统称为GNU操作系统。

也是在20世纪80年代初期,同样是由于之前的Unix系统版权和源代码限制等问题,使得当时大学里教学Unix系统的束缚很大。因此,当时的一个大学的教授,名为Andrew Tanenbaum(谭邦宁),于1984年(大概)开始着手编写新的用于教学的Unix系统,目标是开发新的类Unix系统应尽可能地与原有的Unix系统兼容,并且可以运行于x86 PC平台,这个系统的名字为Minix。

不过,由于谭邦宁开发这个Minix系统的目的只是用于教学,因此,Minix系统的功能无法满足商用的需求,但是Minix的产生对于Linux的诞生又是至关重要的一个关键成因,且看下文。

1.2.4 Linux的诞生
Linux系统的诞生开始于芬兰赫尔辛基大学的一位计算机系的学生,其名字为Linus Torvalds。在大学期间,他接触到了学校的Unix系统,但是,当时的Unix系统仅为一台主机,且对应了多个终端,使用时存在操作等待时间很长等一些体验极差的问题,无法满足年轻的Linus Torvalds的使用需求。因此他就萌生了自己开发一个Unix的想法,不久之后,他就找到了前文提到的谭邦宁教授开发的用于教学的Minix操作系统,与我们现在一样,他将Minix安装到了他的I386个人计算机上。此后,Torvalds又开始陆续阅读了Minix系统的源代码,从Minix系统中学到了很多重要的系统核心程序设计理念和设计思想,从而逐步开始了Linux系统雏形的设计和开发。

Linux的标志和吉祥物为一只名字叫作Tux的企鹅——Torvalds’Unix,如图1-4所示。

图1-4 企鹅Tux

1.2.5 Linux的发展历程

1.Linux的发展历程简介

1)1984年,Andrew S.Tanenbaum开发了用于教学的Unix系统,命名为Minix。
2)1989年,Andrew S.Tanenbaum将Minix系统运行于x86的个人计算机平台上。
3)1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触Minix系统。
4)1991年,Linus Torvalds开始在Minix上编写各种驱动程序等操作系统内核组件。
5)1991年底,Linus Torvalds公开了Linux内核源码0.02版(注意,这里公开的Linux内核源码并不是我们现在使用的Linux系统的全部,而仅仅是Linux内核kernel部分的代码)
6)1993年,Linux 1.0版发行,Linux转向GPL版权协议。
7)1994年,Linux的第一个商业发行版Slackware问世。
8)1995年,Red Hat软件公司成立,同年发布了Red Hat Linux 2.0。
8)1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由Open Linux公司打包)符合POSIX标准。
9)1997年,Red Hat Linux 5.0发布,它支持Intel、Alpha和Sparc平台以及大多数的应用软件。极其简单易用的RPM模块化的安装、配置和卸载工具,使程序的安装可在15分钟内完成。软件升级也更加方便了。
10)1999年,Linux的简体中文发行版问世。
11)2003年4月,Red Hat Linux 9.0发布。其重点放在改善桌面应用方面,包括改进安装过程、更好的字体浏览、更好的打印服务等。2003年,Red Hat的Linux市场份额为80%以上。
12)2004年4月,Red Hat公司正式停止对Red Hat 9.0版本的支持,标志着Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行包则与来自民间的Fedora计划合并,成为Fedora Core发行版本。Red Hat公司不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是Red Hat Enterprise Linux版。
13)2005年10月,RHEL4发布。
14)2007年3月,主流版本RHEL5发布,CentOS系统开始在中国互联网公司流行。
15)2010年4月,RHEL6(RedHat Enterprise Linux 6.0)BETA测试版发布。
16

本文标签: 环境系统Linux