版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 南京大学继续教育学院本科毕业论文 论文题目 基于KVM的虚拟化平台构建作者姓名学科专业 计算机科学与技术学 号指导教师 2014 年 09 月18 日南京大学本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的毕业设计(论文)(题目:基于KTM的虚拟化平台构建)是本人在导师的指导下独立进行研究所取得的成果。尽本人所知,除了毕业设计(论文)中特别加以标注引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写的成果作品。作者签名: 年 月 日 (学号):基于KVM的虚拟化平台构建摘 要在计算机科学中,虚拟化(Virtualization)是一个表现逻辑群组或电脑资源的子集的进程,
2、用户可以用比原本的组态更好的方式来存取这些进程。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料储存。虚拟机(Virtual machine或VM),可以像真实机器一样运行程序的计算机的软件实现。本论文使用Linux系统中的Fedora下的KVM虚拟机来搭建多台虚拟机,并运行不同的操作系统,实现KVM虚拟化平台的搭建。关键词: 数据安全,虚拟化平台,虚拟化ABSTRACTIn computing, virtualization (or virtualisation) is the creation of a virtual (rathe
3、r than actual) version of something, such as a hardware platform, operating system, storage device, or network resources.While a physical computer in the classical sense is clearly a complete and actual machine, both subjectively (from the users point of view) and objectively (from the hardware syst
4、em administrators point of view), a virtual machine is subjectively a complete machine (or very close), but objectively merely a set of files and running programs on an actual, physical machine (which the user need not necessarily be aware of).In this paper, we use the KVM Virtualisation of Linux OS
5、Fedora to create Virtual Machines and run different Operating Systems.Then build the KVM Virtualisation Platform.Key words:Virtualisation; Fedora; KVM Virtual Machine; Virtualisation Platform目 录 TOC o 1-3 h z u HYPERLINK l _Toc263598352 第一章 绪论 PAGEREF _Toc263598352 h 1 HYPERLINK l _Toc263598353 1.1虚
6、拟化技术概述 PAGEREF _Toc263598353 h 1 HYPERLINK l _Toc263598354 1.2虚拟化技术的应用现状和发展趋势5 HYPERLINK l _Toc263598356 第二章 KVM虚拟化概述10 HYPERLINK l _Toc263598357 2.1 Linux系统概述10 HYPERLINK l _Toc263598358 2.1.1 Linux系统简介10 HYPERLINK l _Toc263598359 2.1.2 Fedora简介20 HYPERLINK l _Toc263598360 2.2 KVM虚拟化介绍20 HYPERLINK
7、l _Toc263598369 第三章 KVM虚拟化平台的搭建24 HYPERLINK l _Toc263598370 3.1 相关命令24 HYPERLINK l _Toc263598371 3.1.1 Sodu命令 PAGEREF _Toc263598371 h 12 HYPERLINK l _Toc263598372 3.1.2 Yum命令25 HYPERLINK l _Toc263598376 3.2 虚拟化平台的搭建29 HYPERLINK l _Toc263598377 3.2.1 KVM的安装29 HYPERLINK l _Toc263598378 3.2.2 KVM虚拟机的创建
8、32 HYPERLINK l _Toc263598379 3.2.3 命令行管理虚拟机42 HYPERLINK l _Toc263598398 结束语 PAGEREF _Toc263598398 h 43 HYPERLINK l _Toc263598399 致谢 PAGEREF _Toc263598399 h 44 HYPERLINK l _Toc263598400 参考文献 PAGEREF _Toc263598400 h 45绪论什么是虚拟化?“虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计算机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方式来表示它们。换句
9、话说,它为数据、计算能力、存储资源以及其他资源提供了一个逻辑视图,而不是物理视图。”Jonathan Eunice,Illuminata Inc“虚拟化是表示计算机资源的逻辑组(或子集)的过程,这样就可以用从原始配置中获益的方式访问它们。这种资源的新虚拟视图并不受实现、地理位置或底层资源的物理配置的限制。”Wikipedia“虚拟化:对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看并维护资源。”Open Grid Services Architecture Glossary of Terms1965年,IBM7044机器 ,虚拟机开端;196
10、7年,Djiskstra实现第一个虚拟系统;2001年,AIX 5L v5.1发布,IBM首次在小型机上实现了逻辑分区。2002年,AIX 5L v5.2发布,IBM在小型机上实现了动态逻辑分区。2004年,8月,AIX 5L v5.3实现了微分区技术,最小分区粒度为1/10个CPU,且最多支持254个虚拟I/O。同年10月,Solaris 10实现了Solaris Container功能,支持应用层面的计算资源调配。2005年,1月,HP-UX 11i v2发布,实现了从硬分区、软分区到应用层分区,最小分区粒度为1/20颗CPU。2005年10月,IBM发布虚拟I/O服务器,该服务器的一个组
11、件IVM具备HMC的部分功能。即在不配置HMC的低端p系列和i系列服务器上,也可配置多个分区和操作系统。1.1虚拟化技术概述虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。虚拟化技术可以扩大硬件的容量,简化软件的重新配置。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运
12、行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。虚拟化技术的原理:所有的IT设备,不管是PC、服务器还是存储,都有一个共同点:它们被设计用来完成一组特定的指令。这些指令组成一个指令集。对于虚拟技术而言,“虚拟”
13、实际上就是指的虚拟这些指令集。虚拟机有许多不同的类型,但是它们有一个共同的主题就是模拟一个指令集的概念。每个虚拟机都有一个用户可以访问的指令集。虚拟机把这些虚拟指令“映射”到计算机的实际指令集。硬分区、软分区、逻辑分区、Solaris Container、VMware、Xen、微软Virtual Server2005这些虚拟技术都是运用的这个原理,只是虚拟指令集所处的层次位置不同。虚拟化技术的类型:虚拟化技术之所以会被广泛的采用,都有其应用背景,当前虚拟化技术大致看来主要有以下几种类型:拆分、整合、迁移。1、拆分:某台计算机性能较高,而工作负荷小,资源没有得到充分利用。这种情况适用于拆分虚拟技
14、术,可以将这台计算机拆分为逻辑上的多台计算机,同时供多个用户使用。这样可以使此服务器的硬件资源得到充分的利用。适用面:性能较好的大型机、小型机或服务器。目的:提高计算机的资源利用率。拆分形式的虚拟化示意图如下2、整合:当前有大量性能一般的计算机,但在气象预报、地质分析等领域,数据计算往往需要性能极高的计算机,此时可应用虚拟整合技术,将大量性能一般的计算机整合为一台计算机,以满足客户对整体性能的要求。适用面:性能一般的计算机目的:通过整合,获得高性能,满足特定数据计算要求。整合形式的虚拟化示意图如下:图1-1 拆分形式的虚拟化图1-2 整合形式的虚拟化3、迁移:1、将一台逻辑服务器中的闲置的一部
15、分资源动态的加入到另一台逻辑服务器中,提高另一方的性能。2、通过网络将本地资源供远程计算机使用。Windows下的共享目录,Linux下的NFS等,还包括远程桌面等等。目的:实现资源共享,实现跨系统平台应用等。迁移形式的虚拟化示意图如下:图1-3 迁移形式的虚拟化虚拟化的实现形式:1、硬件虚拟化:不需要操作系统支持,可直接实现对硬件资源进行划分,任一分区内的操作系统和硬件故障不影响其他分区。代表:HP nPAR2、逻辑虚拟化不需要操作系统支持。在系统硬件和操作系统之间以软件和固件的形式存在,任一分区的操作系统故障不影响其他分区。代表:IBM DLPARS、HP vPAR、VMware ESX
16、Server、Xen。相对硬件虚拟模式而言,逻辑虚拟模式会占用一定比例的系统资源。目前大型主机的虚拟效率一般在95%以上,虚拟化损耗大约为2%3%;AIX和HP-UX上的虚拟效率在90以上,虚拟化损耗约为5;而x86架构上的虚拟效率则在80%左右,虚拟化损耗大约为20%。3、软件虚拟化需要主操作系统支持。在主操作系统上运行一个虚拟层软件,可以安装多种客户操作系统,任何一个客户系统的故障不影响其他用户的操作系统代表:VMware GSX Server 和微软 Virtual Server20054、应用虚拟化需要主操作系统支持。在单一操作系统上使用,在操作系统和应用之间运行虚拟层,任何一个应用包
17、的故障不影响其他软件包。代表:Solaris Container和SWsoft Virtuozzo虚拟化的实现形式对比:表1-1 虚拟化实现形式功能对比功能特性硬件虚拟逻辑虚拟软件虚拟应用虚拟文件系统独立独立独立不独立网络地址独立独立独立不独立OS数量多个多个多个单个主OS不需要不需要需要需要实施周期慢较慢中等快应用隔离程度完全强强弱硬件故障隔离无无无无实施成本高较高较低低1.2虚拟化技术的应用现状和发展趋势实际应用上,除了金融业、制造业、政府部门和科研领域的用户,许多用户对服务器整合、虚拟技术并不十分清晰。在当前国内服务器市场,虚拟化的技术趋势与实际应用还存在较大差距。以下是对虚拟化技术应用
18、较好的行业的简要分析。1、银行类用户在虚拟化技术应用上最为积极。银行是国内最早使用大型主机和小型机的行业,在应用上得到的技术支持最多,对于虚拟技术较为熟悉,期待程度和应用评价也最高。特点在于对成本敏感度低,对虚拟技术的安全性和使用效率关注度高。2、政府部门类用户对虚拟技术的应用虽然不如银行用户那样熟悉,但通过技术人员的努力,仍能以最低的TCO(Total Cost of Ownership, 总体拥有成本 )获得最多的计算性能。他们的特点是对预算较敏感,对系统效率提高感兴趣。3、科研单位随着数据计算量的加大,需要使用虚拟技术来提高系统使用效率。这类用户对预算敏感度高,对虚拟技术本身倒并不是特别
19、了解。4、计算中心如国家气象中心,大多采用高性能计算机集群,对计算性能和系统稳定性要求很高,对系统管理控制方面要求较多,对预算敏感度低。总体而言,与北美和欧洲相对广泛的虚拟技术应用状况相比,国内在虚拟技术应用水平上还存在较大差距。服务器虚拟化的优势:1、维护运行在早期操作系统上的业务应用对于某些早期操作系统,发行厂商已经停止了系统的维护,不再支持新的硬件平台,而重写运行在这些系统上的业务应用又不现实。为此,可以将这些系统迁移到新硬件平台上运行的虚拟系统上,实现业务的延续。2、提高服务器的利用率虚拟服务器环境一书指出:“多数用户承认,系统平均利用率只有25%30%之间”。这对服务器硬件资源是一种
20、浪费。将多种低消耗的业务利用整合到一台服务器上,可以充分发挥服务器的性能,从而提高整个系统的整体利用效率。3、动态资源调配,提升业务应用整体的运行质量可在一台计算机内部的虚拟机之间或是集群系统的各个业务之间进行动态的的资源调配,进而提升业务应用的整体运行质量。在实际应用上,这一优势更偏重于集群系统。4、提供相互隔离的,安全的应用执行环境虚拟系统下的各个子系统相互独立,即使一个子系统遭受攻击而崩溃也不会对其他系统造成影响。而且在使用备份机制后,子系统可被快速的恢复。5、提供软件调试环境,进行软件测试,保证软件质量采用虚拟技术后,用户可以在一台计算机上模拟多个系统,多种不同操作系统,使调试环境搭建
21、简单易行,大大提高工作效率,降低测试成本。服务器虚拟化技术存在的问题:1、虚拟技术的认知用户对虚拟技术不了解,不明确虚拟技术在提升用户现有系统效率和降低总体运营成本上的优势,这是阻碍虚拟技术推广的最大障碍。2、虚拟系统的可靠性客户采用服务器,很大程度上是为了保障业务的稳定性。如果用户在一台服务器上运行多个业务,类似于多个鸡蛋放在一只篮子,一旦出现重大硬件故障势必会影响到所有的应用,这种威胁很难消除。而对于用户,这种潜在的业务危险往往也是不可接受的。3、虚拟系统的运行效率使用虚拟技术的目的在于提高用户服务器的整体利用效率,如果虚拟系统的运行效率太低,也就失去了它在服务器上应用的价值。4、平台支持
22、硬件支持方面,需要虚拟系统能够不断更新,以兼容新的硬件平台。操作系统支持,需要能够支持老操作系统。这样对于某些使用早期操作系统的客户才有意义。对于这两方面,虚拟化平台都需要不断更新,这些都依赖虚拟化提供商的维护。5、迁移能力高端应用需要做到零宕机,迁移成本较高,且需要SAN集中存储设备的支持;低端应用,虽然可以使用系统备份还原的迁移模式,以降低系统迁移成本,但迁移效率低。6、部署效率和易用性当前虚拟化标准尚不统一,移植和管理工具还不够成熟,这也影响到虚拟化的大面积普及。特别是远程管理功能需要配合虚拟化标准工作大力发展,以使得不同的虚拟化平台可以通过网络进行统一管理。虚拟化技术的发展趋势:一、发
23、展空间广阔2011年虚拟化发展的最大特点是,虚拟化市场仍将快速增长。虚拟化发展道路远未到穷途末路的地步因为还有很多企业并没有享受到虚拟化带来的高效快捷低成本高环保的种种益处。据英特尔集团作出的市场预测,在未来2011-2016年间,虚拟化行业全球市场累计达到2900亿美元市值,而云计算市场规模将为3000亿美元。对于经济低迷的当前形势来说,这一预测无疑是个重大利好消息,它将有力推动虚拟化技术的更普遍应用,也有助于企业节省成本。二、SMB普及迅速一开始只在大企业开花结果的虚拟化应用,现在也将更多得出现在中小企业应用场景中。专为SMB中小企业打造的虚拟化解决方案将有着巨大的市场前景,SMB也将成为
24、虚拟化应用程度最活跃的重要角色。近年来有越来越多的虚拟化服务提供商着眼于SMB,希望通过提供相应的虚拟化解决方案来吸引众多中小企业的兴趣。例如,著名的微软Hyper-V一般被视为中小企业的一种虚拟化解决方案。根据国外的研究报告称,2011年将有35%的中小企业部署Hyper-V。三、自动化呈上升趋势随着虚拟机的不断增多,迫切需要实现对虚拟化高效和简化管理。手动维护和管理成百上千台主机将是一件费时又费力的工作,在这种情况下,自然也就催生了企业对可靠自动化解决方案的需要。未来一年虚拟化平台实现自动化可能不能实现质的飞跃,不过至少将会比今年有一个量的提升。四、完善备份、恢复和实时迁移工具管理虚拟化环
25、境不仅仅限于自动化。备份,恢复和实时迁移是管理员需要经常执行的任务,由于没有专为虚拟化环境开发出的一些特定工具,执行这些任务会成为一件并不容易的事情。虚拟化厂商自然也懂得这一点,让我们相信他们正在为简化虚拟化环境管理而推出一些优秀的工具。五、桌面虚拟化将稳步发展一开始桌面虚拟化并未引起人们的注意,不过这种情况将在2011年发生改变。虚拟化的桌面能为用户节省大量开支,你可以通过较少的硬件来运行同样数目的物理主机。有越来越多的企业通过升级系统到Windows 7来实现桌面虚拟化,从而降低成本。通过桌面虚拟化,用户无需单独添置最新硬件来运行Windows 7系统。另一方面,即使有一些新的强大硬件配置
26、,仍然有一些旧的Windows XP应用程序在使用。正因为如此,在XP上运行桌面虚拟化并不切实际。而让用户同时拥有两台物理主机一台运行XP另一台运行Windows 7,则不是个好方法,尤其是当你在一台主机上通过一个系统既担当主机又扮演虚拟化环境角色的情况下。桌面虚拟化不仅能够带来管理的便捷,更能带来成本的大幅节约。六、更多Macs成为虚拟机桌面虚拟化不仅仅应用在Windows操作系统家族中。有报告指出,2011年企业将有更多的主机运行Macs。Macs对终端用户和设计人员都十分受用,不过作为企业级操作平台却并不是最好选择。尽管如此,正是因为越来越多的人使用iPad和MacBook Air,将推
27、动Mac 操作系统在企业中的应用,从而有更多的Macs运行在虚拟主机上。七、存储虚拟化进一步发展一谈到虚拟化,我们通常指的是服务器虚拟化,不过存储虚拟化在整个虚拟化大潮中同样扮演着重要的角色。在2011年,虽然不能与服务器虚拟化相提并论,但存储虚拟化仍将进一步发展。存储虚拟化获得进一步发展,主要在于磁盘空间剧增而又没有强大处理能力和价格实惠的NAS产品支撑。对于企业而言,存储虚拟化的好处显而易见:首先,存储虚拟化能够为企业提供一个易于学习与使用的、简单的存储界面和管理模型,借此实现对不同品牌存储产品的管理;其次,存储虚拟化解决方案具备动态数据移植工具,这些工具能够保证数据在不离线的情况下,动态
28、而透明地从一台设备移动到另一台设备,这样,IT管理人员就可以在不中断应用的同时重新分配和扩展存储容量第二章 KVM虚拟化概述KVM是Kernel Virtual Module的简写。KVM是红帽5.4发行版中推出的最新虚拟化技术。KVM是进入Linux内核的虚拟化项目,它刚刚起步,还不为众人所熟知。但随着RedHat下一步推广KVM力度的加大,相信不久的将来KVM会逐渐占据市场的主要位置。现在所说的虚拟化,一般都是指在CPU硬件支持基础之上的虚拟化技术。KVM也同hyper-V、Xen一样依赖此项技术。没有CPU硬件虚拟化的支持,KVM是无法工作的。准确来说,KVM是Linux的一个模块。可以
29、用modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去作事情:还必须有一个用户空间的工具才行。这个用户空间的工具,开发者选择了已经成型的开源虚拟化软件QEMU。说起来QEMU也是一个虚拟化软件。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出可运行在Power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。所以你会看到,官方提供的KVM下载有两大部分三个文件,分别是KVM模块、QEMU工具以及二者的合集。也就是说,
30、你可以只升级KVM模块,也可以只升级QEMU工具。这就是KVM和QEMU的关系。至此,你已经可以使用QEMU工具创建虚拟机了。但我们会发现RedHat的虚拟化并非如此简单。与之相关的还有libvirt、VMM等。原因就是因为QEMU工具效率不高,不易于使用。libvirt是一套C语言的API,现在也有其他语言的了。它负责将不同类型的虚拟化工具的差异完全屏蔽掉。例如Xen的管理命令是xm,而KVM则是qemu-kvm。使用libvirt,你只需要通过libvirt提供的函数连接到Xen或者KVM宿主机,便可以用同样的命令指挥不同的虚拟机了。libvirt不仅提供了API,还自带了一套管理虚拟机的
31、命令virsh。你可以通过使用virsh命令来进一步了解libvirt。但最终用户更渴望的是图形用户界面,这就是VMM的事情了。VMM是一套用python写的虚拟机管理图形界面,用户可以通过它直观地操作不同的虚拟机。VMM就是利用了libvirt的API参数实现的。2.1Linux系统概述2.1.1Linux系统简介Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10
32、台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linux Torvalds。Linux操作系统的诞生:1981年IBM公司推出微型计算机IBM PC。在1981-1991年间MS-DOS操作系统一直是微机上操作系统的主宰。此时计算机硬件价格虽逐年下降,但软件价格仍居高不下。当时Apple的MACos操作系统可以说是性能最好的,但是其天价没人能够轻易靠近。到1991年,GNU计划已经开发出了许多工具软件。最
33、受期盼的Gnu C 编译器已经出现,但还没有开发出免费的GNU操作系统。即使是MINIX也开始有了版权,需要购买才能得到源代码。而GNU的操作系统HURD一直在开发之中,但并不能在几年内完成。对于Linux 来说,已经不能等待了。从1991年4月份起,他开始酝酿并着手编制自己的操作系统。刚开始,他的目的很简单,只是为了学习Intel 386体系结构保护模式运行方式下的编程技术。但后来Linux 的发展却完全改变了初衷。1991年初,Linux开始在一台386sx兼容微机上学习minix操作系统。通过学习,他逐渐不能满足于minix系统的现有性能,并开始酝酿开发一个新的免费操作系统。根据Linu
34、x 在comp.os.minix新闻组上发布的消息,我们可以知道他逐步从学习minix 系统到开发自己的Linux 的过程。从1991年的4月份开始,Linux 几乎花了全部时间研究386-minix 系统(hack the kernel),并且尝试着移植GNU 的软件到该系统上(GNU gcc、bash、gdb等)。并于4月13日在comp.os.minix上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell 软件了。第一个与Linux有关的消息是在1991年7月3日在comp.os.minix上发布的(当然此时还不存在Linux这个名称,当时L
35、inux的脑子里想的可能是FREAX,FREAX的英文含义是怪诞的、怪物、异想天开等)。其中透露了他正在进行Linux 系统的开发,并且在Linux 最初的时候已经想到要实现与POSIX(UNIX 的国际标准)的兼容问题了。在Linux的下一发布的消息中(1991年8月25日comp.os.minix),他向所有minix用户询问What would you like to see in minix?(你最想在minix中见到什么?),在该消息中他首次透露出正在开发一个(免费的)386(486)操作系统,并且说只是兴趣而已,代码不会很大,也不会象GNU的那样专业。开发免费操作系统这个想法从4月
36、份就开始酝酿了,希望大家反馈一些对于minix系统中喜欢那些特色不喜欢什么等信息,由于实际的和其它一些原因,新开发的系统刚开始与minix很象(并且使用了minix的文件系统)。并且已经成功地将bash(1.08 版)和gcc(1.40版)移植到了新系统上,而且再过几个月就可以使用了。最后,Linux 申明他开发的操作系统没有使用一行minix的源代码;而且由于使用了386 的任务切换特性,所以该操作系统不好移植(没有可移植性),并且只能使用AT 硬盘。对于Linux 的移植性问题,Linux 当时并没有考虑。但是目前Linux 几乎可以运行在任何一种硬件体系结构上。到了1991年的10月5日
37、,Linux在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核系统的诞生(Free minix-like kernel sources for 386-AT)。这段消息可以称为Linux的诞生宣言,并且一直广为流传。因此10月5日对Linux 社区来说是一个特殊的日子,许多后来Linux 的新版本发布时都选择了这个日子。所以RedHat 公司选择这个日子发布它的新系统也不是偶然的。Linux操作系统开始时被Linux取名为FREAX,英文含义是怪诞的、怪物、异想天开等。在他将新的系统上传到FTP服务器上时,管理员Ari Lemke很不喜欢这个名称,即取Linux的谐音Li
38、nux作为该操作系统的目录,于是称为Linux系统。Linux在其传Just for Fun中解释:坦白地说,我从来没有想到过要用Linux 这个名称发布这个操作系统,因为这个名字有些太自负了。而我为最终发布版准备的是什么名字呢Freax。实际上,内核代码中某些早期的Makefile - 用于描述如何编译源代码的文件 - 文件中就已经包含有Freax这个名字了,大约存在了半年左右。但其实这也没什么关系,在当时还不需要一个名字,因为我还没有向任何人发布过内核代码。而Ari Lemke,他坚持要用自己的方式将内核代码放到ftp 站点上,并且非常不喜欢Freax 这个名字。他坚持要用现在这个名字(L
39、inux),我承认当时我并没有跟他多争论。但这都是他取的名字。所以我可以光明正大地说我并不自负,或者部分坦白地说我并没有本位主义思想。但我想好吧,这也是个好名字,而且以后为这事我总能说服别人,就像我现在做的这样。- Linux TorvaldsJust for fun第84-88页。Linux的基本思想:Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本
40、思想十分相近。磁盘以及分区:设备管理在Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。例如,第一个IDE 设备,Linux 就定义为hda;第二个 IDE 设备就定义为 hdb;下面以此类推。而 SCSI 设备就应该是 sda、sdb、sdc 等。分区数量 要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE 或 SCSI)设备,Linux
41、分配了一个1到16的序列号码,这就代表了这块硬盘上面的分区号码。例如,第一个 IDE 硬盘的第一个分区,在 Linux 下面映射的就是 hda1,第二个分区就称作是 hda2。对于SCSI硬盘则是sda1、sda1 等。各分区的作用 在 Linux 中规定,每一个硬盘设备最多能有 4 个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。对于早期的 DOS 和 Windows(Windows 2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。主分区的作用
42、就是计算机用来进行启动 操作系统 的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。我们在指定安装引导 Linux 的 bootloader 的时候,都要指定在主分区上,就是最好的例证。Linux规定了主分区(或者扩展分区)占用1至16号码中的前4个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了hda1、hda2、hda3、hda4,而逻辑分区占用了hda5 到 hda16等12个号码。因此,Linux 下面每一个硬盘总共最多有16个分区。对于逻辑分区,Linux规定它们必须建立在扩展分区上(在DOS和Win
43、dows 系统上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统 的引导。除去上面这些各种分区的差别,我们就可以简单地把它们一视同仁了。分区指标:对于每一个 Linux 分区来讲,分区的大小和分区的类型是最主要的指标。容量的大小读者很容易理解,但是分区的类型就不是那么容易接受了。分区的类型规定了这个分区上面的文件系统的格式。Linux 支持多种的文件系统格式,其中包含了我们熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种 Linux 特有的 Linux Native和 Linux Swap分区类型。在 Linux 系统中,
44、可以通过分区类型号码来区别这些不同类型的分区。文件系统:Linux继承了Unix操作系统结构清晰的特点。在linux下的文件结构非常有条理。但是,上述的优点只有在对linux相当熟悉时,才能体会到。/根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。/binbin 就是二进制(binary)英文缩写。在一般的系统当中,你都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是
45、放在这里。/bootLinux的内核及引导系统程序所需要的文件目录,比如vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。/cdrom这个目录在你刚刚安装系统的时候是空的。你可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom/devdev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和我们常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端
46、口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。/etcetc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。/home如果我们建立一个用户,用户名是xx,那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。/liblib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生
47、问题,你的系统就不能工作了。/lost+found在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。/mnt这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎么定义了;比如光驱可以挂载到/mnt/cdrom。media有些linux
48、的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。/opt这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可 以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、文件等等都是放在同个目录下面。/proc可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义
49、可以参见 /etc/fstab/rootLinux超级权限用户root的家目录。/sbin这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。/selinux 好像是对SElinux的一些配置文件目录,SElinux可以让你的linux更加安全。/srv 服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的
50、网页数据就可以放在/srv/www中/sysLinux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 proc 有些类似,但除了与 proc 相同的具有查看和设定内核参数功能之外,还有为 Linux 统一设备模型作为管理之用。/tmp临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。/usr这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如像游戏啊,一些打印工
51、具拉等等。/usr目录包含了许多子目录:/usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;/usr/lib目录用于存放那些不能直接 运行的,但却是许多程序运行所必需的一些函数库文件。你的软件包管理器(应该是“新立得”吧)会自动帮你管理好/usr目录的。/usr/local这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面,我想这应该是个不错的主意。/usr/share系统共用
52、的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。/var这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。文件类型在介绍属性时,提到了最前面的标志(d或 -)可以表示目录或文件,那就是不同的文件种类。Linux的文件种类主要有下面这几种:普通文件(regular file):就是一般我
53、们存取的文件,由ls -al显示出来的属性中,第一个属性为 -,例如 -rwxrwxrwx。另外,依照文件的内容,又大致可以分为:纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容为我们可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat /.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。二进制文件(binary):我们在GNU发展史中提过,系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来
54、说,命令cat就是一个二进制文件。数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。目录(directory):就是目录,第一个属性为 d,例如 drwxrwxrwx。连接文件(link):类似Windows下面的快捷方式。第一个属性为 l,例如 lrwxrwxrwx。设备与设备文件(device):与系统外设及存
55、储等相关的一些文件,通常都集中在/dev目录。通常又分为两种:块(block)设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 b。字符(character)设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 c。套接字(sockets):这类文件通常用在网络数据连接。我们可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 s,最常在 /var/run目录中看到这种文件类型。管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取
56、一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 p。桌面环境:在图形计算中,一个桌面环境(Desktop environment,有时称为桌面管理器)为计算机提供一个图形用户界面(GUI)。这个名称来自桌面比拟,对应于早期的文字命令行界面(CLI)。一个典型的桌面环境提供图标,视窗,工具栏,文件夹,壁纸以及像拖放这样的能力。整体而言,桌面环境在设计和功能上的特性,赋予了它与众不同的外观和感觉。现今主流的桌面环境有KDE,gnome,Xfce,LXDE等,除此之外还有Ambient,EDE,IRIX Interactive Desktop,M
57、ezzo,Sugar,CDE等。KDEKDE(Kool Desktop Environment)项目始建于1996年10月,相对于GNOME还要早一些。KDE项目是由图形排版工具Lyx的开发者、一位名为Matthias Ettrich的德国人发起的,目的是为满足普通用户也能够通过简单易用的桌面来管理Unix工作站上的各种应用软件以及完成各种任务。GNOMEGNOME即GNU网络对象模型环境(The GNU Network Object Model Environment),GNU计划的一部分,开放源码运动的一个重要组成部分。是一种让使用者容易操作和设定电脑环境的工具。目标是基于自由软件,为Un
58、ix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,他是GNU计划的正式桌面。XfceXfce(XForms Common Environment)创建于2007年7月,类似于商业图形环境CDE,是一个运行在各类Unix下的轻量级桌面环境。原作者Olivier Fourdan最先设计XFce是基于XForms三维图形库。Xfce设计目的是用来提高系统的效率,在节省系统资源的同时,能够快速加载和执行应用程序。Linux的特点:1、完全免费Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点
59、,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变。这让Linux吸收了无数程序员的精华,不断壮大。完全兼容POSIX 1.0标准这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。2、多用户、多任务Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独
60、立地运行。3、良好的界面Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。4、丰富的网络功能Unix是在互联网的基础上繁荣起来的,Linux的网络功能当然不会逊色。它的网络功能和其内核紧密相连,在这方面Linux要优于其他操作系统。在Linux中,用户可以轻松实现网页浏览、文件传输、远程登陆等网络工作。并且可以作为服务器提供WWW、FTP、E-Mail等服务。5、可靠的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训44号令课件
- 员工培训我能行
- 神经精神疾病诊断学
- 2.3.2YARN服务工作流程
- 云南企业安全负责人培训课件
- 个人形象提升培训课件
- 2025 小学一年级数学下册基础巩固(数的读写)课件
- 测试技术与传感器课件:电感式传感器
- 2026年商标变更专员岗位面试题库含答案
- 2026年部门副经理工作考核标准及方法
- 选词填空(试题)外研版英语五年级上册
- 露地胡萝卜秋季栽培
- 海水淡化PX能量回收装置维护说明书
- 历年天津理工大学高数期末考试试卷及答案
- 妇产科学(第9版)第二章女性生殖系统解剖
- 中医经络之-特定穴课件
- GB/T 9122-2000翻边环板式松套钢制管法兰
- GB/T 16895.6-2014低压电气装置第5-52部分:电气设备的选择和安装布线系统
- 江苏省学业水平合格性考试复习课件:中外历史纲要上册主要考点线索梳理
- 煤矿岗位安全风险辨识评估
- 小提琴协奏曲《梁祝》音乐欣赏(33)课件
评论
0/150
提交评论