第1篇基础知识 第1章Linux网络操作系统概述 Linux是一套免费使用和自由传播的类UNIX操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 教学目标  了解Linux的基本概念。  掌握安装Linux的不同方法。  能够简单配置Linux。 1.1Linux简介 1.1.1Linux系统的产生 Linux是一种自由和开放源码的类UNIX操作系统。Linux系统最大的特色是源代码完全公开,在符合GNU/GPL(通用公共许可证)的原则下,任何人都可以自由取得、发布甚至修改源代码。 Linux最初是由芬兰赫尔辛基技术大学计算机系学生Linus Torvalds开发出来的。在从1990年年底到1991年的几个月中,Linus利用Tanenbaum教授自行设计的微型UNIX操作系统MINIX作为开发平台,在Intel 386 PC上进行他的操作系统课程实验。 Linus说,刚开始时他根本没有想到要编写一个操作系统的内核,更是绝对没有想到这一举动会在计算机界产生如此重大的影响。最开始他只是编写一个进程切换器,然后是为自己上网需要而自行编写的终端仿真程序,再后来是为 了他从网上下载文件的需要而自行编写的硬盘驱动程序和文件系统,这时他发现自己已经实现了一个几乎完整的操作系统内核。出于对这个内核的信心和美好的奉献精神与发展希望,Linus希望这个内核能够免费扩散使用,但出于谨慎,他并没有在MINIX新闻组中公布它,而只是于1991年年底在赫尔辛基技术大学的一台FTP服务器上发了一则消息,说用户可以下载 Linux的公开版本(基于Intel 386体系结构)和源代码。从此以后,奇迹开始发生了。 Linux操作系统刚开始时并没有被称作Linux,Linus给他的操作系统取名为 FREAX,其英文含义是怪诞、怪物、异想天开 的意思。在他将新的操作系统上传到FTP服务器上时,管理员AriLemke很不喜欢这个名称。他认为既然是Linus的操作系统就取其谐音Linux作为该操作系统的名字,于是Linux这个名称就开始流传下来。 Linux的兴起可以说是Internet创造的一个奇迹。到1992年1月为止,全世界大约只有100个人在使用Linux,但由于它是在Internet上发布的,网上的任何人在任何地方都可以得到Linux的基本文件,并可以通过电子邮件发表评论或者提供修正代码。这些 对Linux热心的人有将它作为学习和研究对象的大专院校的学生,有科研机构的科研人员,也有网络黑客等,他们所提供的所有初期上传代码和评论,后来证明对Linux的发展都至关重要。正是在众多热心者的努力下,Linux在不到3年的时间里成为一个功能完善、稳定可靠的操作系统。 1.1.2Linux系统的发展历程 1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生(Freeminixlike kernel sources for 386AT)。 1994年3月,Linux 1.0版发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。 1996年6月,Linux 2.0版内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。 2001年1月,Linux 2.4版发布,它进一步地提升了SMP系统的扩展性,同时它也集成了很多用于支持桌面系统的特性 ,如USB、PC卡(PCMCIA)的支持、内置的即插即用等功能。 2003年12月,Linux 2.6版内核发布,相对于2.4版内核,2.6版内核在对系统的支持上有了很大的变化。 2006年开始发售的SONY PlayStation 3也可使用Linux的操作系统,它有一个能使其成为一个桌面系统的Yellow Dog Linux。之前,SONY也曾为他们的PlayStation 2推出过一套名为PS2 Linux的DIY组件。Ubuntu自9.04版本恢复了PPC支持(包括 PlayStation 3)。2013年发售的SONY PlayStation 4运行的操作系统是Orbis OS,这是一款修改版的FreeBSD 9.0。 1998年,风靡全球的电影《泰坦尼克号》在制作特效中使用的160台Alpha图形工作站中,有105台采用了Linux操作系统。《指环王2》使用了Linux创建的数字演员。 美国国家航空航天局Ames研究中心日前制造出了一种采用Linux操作系统和奔腾Ⅲ微处理器的个人卫星辅助设备(Personal Satellite Assistant),即一种机器人装置,未来将用来帮助航空器和在国际空间站上执行任务的宇航员。 Linux存在着许多不同的版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。 1.2Linux的特点和组成 1.2.1Linux的特点 Linux操作系统在短短的几年之内得到了迅猛的发展,这样的成绩与其良好的特性是密不可分的,Linux系统具有UNIX系统很多功能和特点,主要包括以下8个方面。 1. 抢占式多任务 多任务(Multitasking)是现代操作系统的一个主要特点,它允许计算机同时执行多道程序,各个程序的运行互相独立,Linux系统有效地调度各个程序,使它们平等地访问处理器(CPU)。虽然在物理上是各个程序顺序地获得CPU运行周期,但由于CPU的处理速度非常快且切换程序运行的时间很短,因此感觉应用程序好像是在并行运行。 2. 多用户 多用户(Multiuser)是指计算机系统资源可以同时被不同用户使用。Linux的多用户特性使许多用户能够同时使用同一系统进行各种操作。例如,系统或者网络上的所有用户可以共享打印机或磁带驱动器这样的共享设备,也可以对个别的用户或者用户组进行资源限制,以保护临界系统资源不被滥用。 3. 设备无关性 设备无关性是指操作系统将所有外设统一视作文件来处理,只要安装了相应的驱动程序,任何用户都可以像使用文件一样,操纵和使用这些设备,而不必知道它们的具体存在形式。设备无关性的关键在于内核的适应能力。其他操作系统只允许一定数量或一定种类的外围设备连接,而设备无关性的操作系统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的驱动程序独立进行访问的。Linux是具有设备无关性的操作系统,它的核心具有高度适应能力,随着越来越多的程序员加入 Linux编程,会有更多硬件设备加入到各种Linux核心和发行版本中。另外,由于用户可以免费得到Linux的核心源码,因此,用户可以修改内核源码,以便适应新增加的外围设备。 4. 开放性 开放性是指系统遵循世界标准规范,特别是符合业界标准的强大的TCP/IP网络协议,这意味着Linux主机可以很容易地和其他操作系统互相访问,同时还可以作为企业的服务器,提供重要的网络服务功能,如NFS(远程文件访问)、Email服务、WWW、FTP、路由和防火墙(安全)服务。 5. 可扩展性、可维护性与开放源代码 可扩展性是指开发人员可以通过修改源代码来对标准的Linux实用程序进行功能扩展。可维护性是指由于Linux的用户界面与各个商业版本的UNIX非常相近,很多IT技术人员都了解其操作界面,此外,由于Linux可以在各种硬件平台上运行,熟悉 Linux的技术人员可以很容易地管理多种硬件平台上的应用。目前很多版本的 Linux(如Red Hat的用户界面)都在模仿Windows进行开发,以方便非IT技术人员使用。开放源代码则使得Linux系统与其他操作系统相比更具优势。由于全世界无数的技术人员都可以帮助Linux修改系统错误,提升性能,因此到目前为止,Linux已经成为一个相对健壮的操作系统,并且也越来越多地应用于各种关键业务当中。 6. 完善的网络功能 完善的内置网络功能是Linux的一大特点 (也是UNIX的)。Linux在通信和网络功能方面的表现明显优于其他操作系统。Linux通过免费提供大量Internet网络软件为用户提供完善而强大的网络功能,对Internet的支持是Linux操作系统的组成部分。 7. 可靠的系统安全 Linux采取了许多安全技术措施,包括对读/写进行许可权控制、带保护的子系统、审计跟踪、核心授权等,这就为网络多用户环境中的用户提供了必要的安全保障。 8. 良好的可移植性 可移植性是指将操作系统从一个平台转移到另一个平台,使它仍然能正常运行的能力。 Linux是一种可移植的操作系统,从微型机到巨型机的许多硬件平台上都可以看到 Linux的身影。由于以往PC服务器大多使用Windows操作系统,小型机、中型机和大型机往往使用厂商提供的专用系统(商业版的UNIX),所以在不同平台之间的软件移植,可能会发生中间软件的版本更换,应用软件的重新编译,甚至是应用软件源代码的修改,因此可能需要较多的人力、物力投入,而如果各平台采用了 Linux操作系统,不同平台之间的软件移植就会容易得多。 1.2.2Linux系统的组成 Linux系统一般由4个主要部分构成: 内核、Shell、文件系统和应用程序。内核、Shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序,管理文件并使用系统。 (1) 内核是系统的“心脏”,是运行程序和管理磁盘及打印机等硬件设备的核心程序。 (2) Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送入内核。另外,Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。 (3) 文件系统是文件存放在磁盘等存储设备上的组织方法。 Linux能支持目前多种流行的文件系统,如ext2、ext3、ext4、XFS、VFAT、ISO 9660、NFS、SMB等。 (4) 标准的Linux系统都有一套称为应用程序的程序集,包括文本编辑器、编程语言、XWindow、办公套件、Internet工具、数据库等。 1.3实验: 安装Linux操作系统 1.3.1实验目的 本实验的目的是在虚拟机中安装Linux,其合法域名为www.btqy.com,并配置正确的IP地址172.16.101.5。 1.3.2实验内容 中小型企业在选择网络操作系统时,首先推荐企业版Linux网络操作系统。一是由于其开源的优势; 二是由于其安全性。 要想成功安装Linux,首先必须要对硬件的基本要求、硬件的兼容性、多重引导、磁盘分区和安装方式等进行充分准备,获取发行版本,查看硬件是否兼容,选择适合的安装方式。做好这些准备工作,Linux安装之旅才会一帆风顺。 1. 硬件的基本要求 CPU: 需要Pentium以上处理器。 内存: 对于x86、AMD 64/Intel 64和Itanium 2架构的主机,最少需要512MB的内存,如果主机是IBM Power系列,则至少需要 1GB的内存(推荐2GB)。 硬盘: 必须保证有大于1GB的空间。 显卡: 需要VGA兼容显卡。 光驱: CDROM或者DVD。 其他: 兼容声卡、网卡等。 2. 多重引导 Linux和Windows的多系统共存有多种实现方式,最常用的有以下3种。 (1) 先安装Windows,再安装Linux,最后用Linux内置的GRUB或者LILO来实现多系统引导。这种方式实现起来最简单。 (2) 无所谓先安装Windows还是Linux,最后经过特殊的操作,使用Windows内置的OS Loader来实现多系统引导。这种方式实现起来稍显复杂。 (3) 同样无所谓先安装Windows还是Linux,最后使用第三方软件来实现Windows和Linux的多系统引导。这种实现方式最为灵活,操作也不算复杂。 在以上3种实现方式中,目前用户使用最多的是通过Linux的GRUB或者LILO实现Windows、Linux多系统引导。 3. 安装方式 任何硬盘在使用前都要进行分区。硬盘的分区有两种类型: 主分区和扩展分区。一个CentOS提供了多达3种安装方式支持。 (1) 从CDROM/DVD安装。 (2) 从硬盘安装。 (3) 从网络服务器(NFS服务器或FTP/HTTP服务器)安装。 4. 磁盘分区 硬盘上最多只能有四个主分区,其中一个主分区可以用一个扩展分区来替换。也就是说主分区可以有1~4个,扩展分区可以有0~1个,而扩展分区中可以划分出若干个逻辑分区。目前常用的硬盘主要有两大类: SATA接口硬盘和SCSI接口硬盘。 Linux的所有设备均在表示为/dev目录中的一个文件中。 1.3.3实验步骤 下面讲解在虚拟机中安装CentOS系统的步骤。 (1) 选择“文件”→“新建虚拟机”→“自定义”选项,如图11所示。 图11“欢迎使用新建虚拟机向导”对话框 (2) 硬盘兼容性设为默认值,如图12所示。 (3) 选择“稍后安装操作系统”(由于需要在虚拟机安装完成之后删除不需要的硬件,所以稍后安装操作系统),如图13所示。 (4) 选择客户机操作系统为Linux。版本为CentOS 64位(注意: 版本一定要对应镜像文件的版本,其中 ,CentOS 64位就是64位,Windows系统应安装64位版本),如图14所示。 图12“选择虚拟机硬件兼容性”对话框 图13“安装客户机操作系统”对话框 图14“选择客户机操作系统”对话框 (5) 命名虚拟机(简略表示出该虚拟机的类型、版本。例如CentOS 7),如图15所示。 图15“命名虚拟机”对话框 (6) 对处理器进行配置(CPU),总处理器核心数一般为4,如图16所示。虚拟机总核心数不能超过主机核心数。若超出,则会警告提醒,如图17所示。 (7) “此虚拟机内存”一般设置为2GB,如图18所示。 图16“处理器配置”对话框