Red Hat Enterprise Linux 7.0系统管理(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-18 08:02:40

点击下载

作者:曹江华

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Red Hat Enterprise Linux 7.0系统管理

Red Hat Enterprise Linux 7.0系统管理试读:

前言

Linux应用早已从几年前的盲目推进和前一段的低迷期走出来,更具理性、更重实效的Linux应用时代即将到来。在以美国为首的发达国家,Linux早已涉足政府办公、军事战略以及商业运作的方方面面。在我国,随着国民经济与社会信息化的进一步深入,Linux在电子政务、电子商务等各个信息化建设领域中也突显其不凡之处。Linux这个免费的开放源代码的操作系统正以狂风暴雨之势袭卷着整个世界,它不仅出现在企业服务器和专业怪才们的讨论组中,也开始在家用PC上生根了。Red Hat公司在开源软件界是鼎鼎大名的,该公司发布了最早的Linux 商业版本Red Hat Linux。Red Hat公司在发布Red Hat Linux 系列版本的同时,还发布了Red Hat Enterprise Linux,即Red Hat Linux 企业版,简写为 RHEL。RHEL 系列版本面向企业级客户,主要应用在Linux服务器领域。

RHEL 6.0诞生于2010年,是目前应用最为广泛的企业级Linux之一,经过4年等待,到了2014年RHEL 7.0出现了。RHEL 7.0桌面环境/存储和虚拟化方面相比于RHEL 6.0有了不小的变化。例如,在虚拟化方面开始使用Docker,全面增强了RHEL的虚拟化功能;在存储方面增强了iSCSI和FC的支持;在节能方面比前期的版本有大幅度的提升,可谓绿色Linux,可以说是目前最强大的企业级Linux发行版本之一。

本书特点

本书所讲述的RHEL 7.0内容覆盖范围广,适用人群广。在写作思路上强调在“授人以渔”的前提下“授人以鱼”,对每个知识点的介绍争取做到深入浅出,从系统、科学的原理和机制介绍出发,并通过丰富多样的图表配以具体的步骤实现和详细的讲解,以方便读者在实际Linux的管理和操作中进行对照学习,提高学习效率。本书涉及RHEL 7.0系统管理诸多方面的内容,其中绝大部分内容同时也适用于其他发行版本。书中使用了大量图表对内容进行表述和归纳,便于读者理解及查阅。本书脉络清晰,深入浅出,具有很强的实用性、指导性。

内容安排

本书分为15章,主要内容如下:续表

适用对象

● 高等院校相关专业的学生

● 高、中等职业技术院校相关专业的学生

● Linux系统管理员

感谢

首先感谢在编写过程中领导、朋友和家人的支持及帮助。另外,电子工业出版社的李冰编辑在我写书的过程中给了我无私的帮助和鞭策,为了使这一本书能尽快与读者见面,付出了巨大的努力。本书第l章由林捷同志执笔,第2章由张志军、何清、王鹏同志执笔,第3章由王波、曹元其、吴少萍、杨水珍同志执笔,第4~15章由曹江华执笔,全书由曹江华进行统稿。另外,杨晓勇同志帮助完成了资料收集和文字校对。由于作者水平有限,书中不足及错误之处在所难免,敬请专家和读者给予批评指正。曹江华2015年1月

第1章 Red Hat Enterprise Linux 7.0系统简介

1.1 Linux简介

Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991年10月5日(这是第1次正式向外公布的时间)。以后借助于Internet,并经过全世界各地计算机爱好者的共同努力,它已成为今天世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长之中。Linux操作系统的诞生、发展和成长过程始终依赖着几个重要支柱,即UNIX操作系统、Minix操作系统、GNU计划和POSIX标准。1.1.1 UNIX操作系统的诞生

UNIX是一个多用户、多任务的操作系统,最初由AT&T贝尔实验室的Ken Thompson于1969年开发成功。UNIX当初设计的目标是允许大量程序员同时访问计算机,共享其资源。它非常简单,但是功能强大、通用,并且可移植,可以运行在从微机到超级小型计算机,以及大型机上。

UNIX系统的心脏是内核,即一个系统引导时加载的程序。内核用来与硬件设备打交道,调度任务,并且管理内存和辅存。正是由于UNIX系统这种精练特性,所以众多小而简单的工具和实用程序被开发出来。因为这些工具(命令)能够很容易地组合起来执行多种大型的任务,所以UNIX迅速流行起来。其中最重要的工具之一就是shell,即一个让用户能够与操作系统沟通的程序,本书将剖析当今主流shell的特性。最初UNIX被科学研究机构和大学采用,其费用微不足道,后来慢慢扩展到计算机公司、政府机构和制造业领域。1973年,美国国防部高级研究计划署(Defense Advanced Research Projects Agency,DARPA)启动一项计划,研究使用UNIX将跨越多个网络的计算机透明地连接在一起的方式。这个计划和从该研究中形成的网络系统,导致了Internet的诞生。

20世纪70年代后期,许多在大学期间接触并体验过UNIX的学生投身于工业界并要求工业界向UNIX转换,声称它是最适合复杂编程环境的操作系统。很快大量或大或小的厂家开始开发自己的UNIX版本,在自己的计算机体系结构上对其进行优化,以期占领市场。最著名的两个UNIX版本是AT&T的System V和BSD UNIX,后者源于AT&T版本,由加州大学伯克利分校于20世纪80年代早期开发成功。

面对如此众多版本的UNIX(有一个图表列出了80多个UNIX版本,访问http://www.ugu.com/sui/ugu/show?ugu.flavors),如果不花费时间和精力考虑兼容问题,那么在一个系统上能够正常运行的应用程序和工具可能无法在另一个系统上工作。由于缺乏统一的标准,许多厂家放弃了UNIX转而使用比较古老的非UNIX专用系统,如VMS,它们被证明是更加一致和可靠的。1993年年初,AT&T将其UNIX系统实验室出售给了Novell。1995年,Novell将其UNIX商标权和规范(后来变成了单一UNIX规范)转让给The Open Group,将UNIX系统源代码卖给了SCO。当今有很多公司都在出售基于UNIX的系统,包括Sun Microsystems的Solaris、HP-UX和来自Hewlett-Packard的Tru64 UNIX,以及来自IBM的AIX。除此之外,还有许多免费的UNIX和与UNIX兼容的工具,如Linux、FreeBSD和NetBSD。Linux操作系统是UNIX操作系统的一个克隆版本,现在几乎每个主要的计算机厂商都有其自有版本的UNIX。1.1.2 GNU早期简史

1971年,作为开放源码的先驱,Richard Stallman加入了麻省理工学院的一个专门研究免费软件的组织。作为Emacs文本编辑程序的开发者,他后来建立了GNU项目,从而最终导致免费的Linux操作系统的诞生。

1983年,为了反对软件所有权私有化的趋势,Richard Stallman建立了GNU计划来推进免费软件模型,并为此开发了一个免费的操作系统、应用程序以及开发工具。更重要的是,GNU计划建立了General Public License(GPL),即Copyleft,它成为许多开放源码软件所采用的模型。

1985年3月,Richard Stallman在Dr.Dobb’s杂志上发表了《GNU宣言》,在宣言中他陈述了自由软件运动的起因。

1986年,Larry Wall建立了Perl(Practical Extraction and Report Language),这是一种编写CGI程序所广泛采用的通用编程语言,CGI为Web带来了更多动态内容。

1987年,开发者Andrew Tanenbaum发布了Minix,在发布时带有完整的源代码。

1989年1月,GPL版本1由Richard Stallman撰写,用于GNU计划,它以GNU Emacs、GDB和GCC的许可证的早期版本为蓝本。这些许可证都包含有一些GPL的版权思想,但只针对特定程序。Richard Stallman的目标就是创造出一种四海之内皆可使用的许可证,这样就能为许多源代码共享计划带来福音。

到1990年时,因为一些共享库而出现了对比GPL更宽松的许可证的需求。所以,当GPL版本2在1991年6月发布时,另一许可证——库通用公共许可证(Library General Public License,LGPL)也随之发布,并记为“版本2”以示对GPL的补充。版本号在LGPL版本2.1发布时不再相同,而LGPL也被重命名为“GNU宽通用公共许可证(Lesser General Public License)”以体现GNU哲学观。

1991年8月25日,Linus在Usenet新闻组上公开了关于Linux的构想。为了超越Minix,发布了一个新的UNIX变种——Linux。3年后,Linux正式接受GPL。1.1.3 POSIX标准历史

POSIX(Portable Operating System Interface of UNIX)是由IEEE和ISO/IEC开发的一组标准。该标准基于现有的UNIX实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在多种操作系统上移植运行。它是在1980年一个UNIX用户组(usr/group)的早期工作的基础上取得的。该UNIX用户组将AT&T的系统V和Berkeley CSRG的BSD系统的调用接口之间的区别重新调和集成,从而于1984年产生了/usr/group标准。1985年,IEEE操作系统技术委员会标准小组委员会(TCOS-SS)开始在ANSI的支持下责成IEEE标准委员会制定有关程序源代码可移植性操作系统服务接口正式标准。到了1986年4月,IEEE就制定出了试用标准。第1个正式标准是在1988年9月批准的(IEEE 1003.1-1988),即以后经常提到的POSIX.1标准。1989年,POSIX的工作被转移至ISO/IEC社团,并由15工作组继续将其制定成ISO标准。到了1990年,POSIX.1与已经通过的C语言标准联合,正式批准为IEEE 1003.1-1990(也是ANSI标准)和ISO/IEC 9945-1:1990标准。

20世纪90年代初,POSIX标准的制定正处于最后投票敲定时,此时Linux刚刚起步。这个UNIX标准为Linux提供了极为重要的信息,使得Linux能够在标准的指导下进行开发,并与绝大多数UNIX系统兼容。在最初的Linux内核代码中(0.01版及0.11版)就已经为Linux与POSIX标准的兼容做好了准备工作。1.1.4 Linux概述

通过上述说明,我们可以对Linux的几个支柱归纳如下。(1)UNIX操作系统:1969年诞生在贝尔实验室,Linux是它的一种克隆系统。(2)Minix操作系统:也是UNIX的一种克隆系统,1987年由著名的计算机教授Andrew Tanenbaum开发完成。由于Minix系统的出现并且提供源代码(只能免费用于大学内),所以在全世界的大学中刮起了学习UNIX系统旋风,Linux就是参照Minix系统于1991年开始开发的。(3)GNU计划:开发Linux操作系统,以及在Linux上所用的大多数软件基本上都出自GNU计划,Linux只是操作系统的一个内核,没有GNU软件环境(比如说bash shell),Linux将寸步难行。(4)POSIX标准:在推动Linux操作系统以后朝着正规路上发展起着重要的作用,是Linux前进的灯塔。

Linux是由Linus Torvalds等众多软件高手共同开发的,是一种能运行在多种平台(如PC及其兼容机、Alpha工作站及SUN SPARC工作站)上、源代码公开、免费、功能强大、遵守POSIX标准,并且与UNIX兼容的操作系统。

Linux运行的硬件平台起初是Intel 386、486、Pentium及Pentium Pro等,现在还包括Alpha、PowerPC和SPARC等。Linux不但支持32位,还支持64位,如Alpha。它既支持单CPU,也支持多CPU。

Linux内核和许多系统软件,以及应用软件的源代码是公开的,也是免费的。Linux系统软件和应用软件很多来自于GNU组织,Linux软件还包括很多遵循GPL精神的软件。现在很多商业公司也开始为Linux开发应用软件,如IBM、Sybase和Oracle等。

Linux具有丰富的系统软件和应用软件,除了具有一般UNIX的工具外,Linux操作系统还包括如下特性。(1)支持多种不同格式的文件系统。(2)支持多种系统语言,如C、C++、Objective-C、Java、Lisp及Prolog等。(3)支持多种脚本语言,如Perl、Tcl/Tk及shell和AWK等。(4)支持X Window系统及其应用程序,可运行各种图形应用程序,如Khoros、GRASS等。(5)支持多种自然语言,如中文和英文。(6)支持多种大型数据库,如Oracle、Sybase及Infomax等。(7)支持与其他操作系统(如Windows NT或Windows 95等)的共享。(8)具有强大的网络功能,支持多种网络协议,如TCP/IP、IPX、AppleTalk、NeTBEUI、X.25等。发布版中有多种网络服务软件,如E-mail、FTP、Telnet及WWW等。

当然,Linux还在不断地发展,它是一个很有发展前途的操作系统,也是为数不多的可以与Microsoft操作系统相竞争的操作系统。Linux是一套免费使用和自由传播的类UNIX操作系统,主要用在基于Intel系列CPU的计算机上。这个系统是由世界各地成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权制约,并且全世界都能自由使用的UNIX兼容产品。Linux开始于一位名字为Linus Torvalds的计算机业余爱好者,他当时是芬兰赫尔辛基大学的学生,其目的是想要设计一个代替Minix(Minix是由一位名字为Andrew Tannebaumn的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用在386、486或奔腾处理器的个人计算机上,并且具有UNIX操作系统的全部功能,因而开始了Linux雏形的设计。Linux以其高效性和灵活性著称,它能够在PC上实现全部的UNIX特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux之所以受到广大计算机爱好者的喜爱,主要原因一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要进行必要的修改。无偿使用,无约束地继续传播;二是它具有UNIX的全部功能,任何使用UNIX操作系统或想要学习UNIX操作系统的人都可以从Linux中获益。1.1.5 Linux和开源软件的商业化

Linux和开源软件的商业化历程大致经历了以下几个阶段。

1.萌芽阶段(1995年以前)

在1995年以前,开源社区基本上没有考虑过商业化运行的问题。与开源软件有关的商业活动仅限于出售开源软件安装盘、书籍,以及印有开源软件标志的文化衫等小物品。但是这种商业行为当时并没有获得开源社区的尊重,从事这些活动的人也被社区的成员嗤为“小商贩”。但就在这群毫不起眼的小商贩中,竟然走出了两位后来在开源界赫赫有名的大人物,他们就是红帽软件公司的两位创始人Young和Marc Ewing。

2.探索阶段(1995—2001年)

1995年,Young购买了Ewing的股份。把新公司命名为“红帽软件”,同时发布了Red Hat Linux 2.0。红帽公司的成立,拉开了开源软件探索商业运行的序幕。在红帽的率领和激励下,越来越多的人从开源软件身上嗅到了商机,各种从事开源软件事业的商业机构蓬勃发展。在中国,在1999—2000年间,短短两年就涌现出红旗Linux、中软Linux、蓝点Linux、冲浪Linux、TurboLinux及TomLinux等品牌。不过在这一阶段,开源软件并没有找到真正的商业模式,大部分都只停留在概念炒作层面。

3.发展阶段(2001—2003年)

2002年前后,随着网络泡沫的破灭,开源软件的神话也随之被打破。大量缺乏真正商业模式的开源软件企业面临尴尬境地,要么倒闭,要么退出开源软件市场。剩下几家经受住了市场锤炼的开源软件厂商慢慢冷静下来,潜心寻找适合自己的商业模式。在寻找的过程中,一些较早探索出商业模式的开源企业,挺过了IT行业的寒冬,发展迅速,如红帽、JBoss和MySQL等。

4.融合阶段(2004年至今)

2003年11月,曾叱咤风云的软件巨头Novell收购了排名全球第二的Linux发行商SUSE,借助Linux实现战略转型。Novell的做法为开源软件的商业运行提供了全新思路,产生了深远影响。在Novell的推动下,开源软件开始与商业软件和平共处,不再停留在小打小闹阶段,而是走进金融和电信等行业大户的视野,刷新了在企业用户心目中的形象。与此同时,原来在幕后支持开源软件的IT巨头也开始更直接地介入开源软件的发展,如IBM于2005年5月收购了开源软件Gluecode,2005年11月率众成立了开源文档基金会;SUN公司从2005年6月开始,逐步开放了Solaris等多款软件的源代码等。1.1.6 Linux和开源软件的商业模式

经过研究与归纳,Linux和开源软件的商业模式大致包括以下6种。

1.免费软件+收费硬件

IBM、SUN及惠普等公司在开源软件领域投入巨大,但这一切并非是做善事,他们可以从配置了开源软件的硬件中获取巨额回报。

2.免费知识+收费书籍(培训)

开源软件出版商O’Reilly公司组织各种开源软件会议,推进开源理念和开源软件技术的传播与发展,以出售书籍赢利。LPI和中国的即时科研集团目前也在大力开展Linux培训,其赢利模式如出一辙。

3.免费程序+收费实施

一些开源软件厂商免费提供系统的程序代码,靠提供技术服务赚钱,JBoss就是这种模式的典型代表。JBoss应用服务器软件程序完全免费,而技术文档、培训和二次开发支持等技术服务则是收费的。

4.免费社区版+收费企业版

对于一些通用软件,如操作系统和数据库软件,开源软件厂商一般采用针对不同用户提供不同版本的方式。在这种模式中,利用免费版本软件为赢利的收费版本创造或维持一种市场地位。这种模式较为普遍,如MySQL产品就同时推出了面向个人和企业的两种版本,即开源版本和专业版本分别采用不同的授权方式。开源版本完全免费以便更好地推广,公司通过专业版本的许可销售和支持服务获得收入。

5.开源软件+商业软件

将免费的开源软件与可赢利的商业软件捆绑销售,以开源软件带动商业软件的销售,这也是不错的商业模式。比如Novell就将自己原来丰富的中间软件和应用软件迁移到Linux平台上,通过与Linux捆绑为客户提供高价值的综合解决方案。红旗和TurboLinux也在积极加强与应用软件厂商的联系或自己开发商业软件,通过附加更多的商业软件来增加收入。

6.免费软件+收费专业服务

这种模式的典型代表是SourceLabs和SpikeSource公司,这些公司并不主推自己的产品品牌,而是与多方开源软件厂商或社区合作,利用他人提供的开源软件提供技术测试、集成及维护等服务。在这种模式中,公司的角色与原来的系统集成商有点类似,他们把开源软件打包到事先经过鉴定并且受支持的标准化堆栈中。为了让各种各样的软件组件正常地协同工作,他们帮助客户配置及测试这些软件组件,而预先设计并经过鉴定的堆栈有助于缩短配置与测试时间。

1.2 Linux内核及其发行版本

1.2.1 Linux发行版本概述

Linux的版本可以分两类,即内核(Kernel)与发行(Distribution)版本,内核版本指的是在Linux领导下的开发小组开发出来的系统内核版本号,目前最新的内核版本号为Linux 3.4。其发行版本共有27149个不同的补丁和600万行代码,开发周期长达680天。在2004年Linux内核峰会上,即稳定版内核发行约8个月之后又增加了123万行代码,删除了849366行代码,这意味着有三分之一的内核被改动了。Novell公司的Linux开发人员格雷格·克洛·哈特曼认为,这说明稳定版内核还有很多工作要做,于是开发社区做出决定不升级内核版本,所有成熟的新功能和补丁都加入到2.6稳定版内核中。一些组织或公司将Linux内核与应用软件和文档包装起来,并提供一些安装界面和系统设置与管理工具,这样就构成了一个发行版本。例如,我们所听说的Mandriva Linux、Red Hat Linux、Debian Linux、Ubuntu Linux,以及国产的红旗Linux、CLEEX For Linux、冲浪Linux和TurboLinux等。1.2.2 Linux内核的变迁

● 0.00(1991.2—1991.4),两个进程分别显示AAA BBB。

● 0.01(1991.9),第1个正式向外公布的Linux内核版本。

● 0.02(1991.10.5),该版本及0.03版本是内部版本,目前已经无法找到。

● 0.03(1991.10.5)。

● 0.10(1991.10),由Ted Ts’o发布的Linux内核版本。

● 0.11(1991.12.8),基本可以正常运行的内核版本。

● 0.12(1992.1.15),主要加入针对数学协处理器的软件模拟程序。

● 0.95(0.13)(1992.3.8),开始加入虚拟文件系统思想的内核版本。

● 0.96(1992.5.12),开始加入网络支持和虚拟文件系统VFS。

● 0.97(1992.8.1)。● 0.98(1992.9.29)。

● 0.99(1992.12.13)。

● 1.0(1994.3.14)。

● 1.2(1995.3.7)。

● 2.0(1996.2.9)。

● 2.2(1999.1.26)。

● 2.4(2001.1.4)。

● 2.6(2003.12.17)。

● 3.0(2011.7.21)。

● 3.3(2012.3.18)。

● 3.4(2012.5.20)。

小贴式:查看Linux内核的版本方法。

登录Linux系统,在文本终端使用下面的命令:

输出结果如下:

这说明当前Linux系统的内核版本为2.6.32-71.el6.x86_64,即主版本号为2,次版本号为6,修订号为32,为第71次编译,el表示该内核为企业级Linux(Enterprise Linux),SMP表示对称多处理器(Symmetric Multi-Processor),x86_64表示64位版本。

Linux内核版本号格式为major.minor.patch-build.desc,说明如下。(1)major:表示主版本号,有结构性变化时才变更。(2)minor:表示次版本号,新增功能时才发生变化。一般奇数表示测试版,偶数表示生产版。(3)patch:表示对次版本的修订次数或补丁包数。(4)build:表示编译(或构建)的次数,每次编译可能优化或修改少量程序,但一般没有大(可控)的功能变化。(5)desc:用来描述当前的版本特殊信息,其信息由编译时指定。具有较大的随意性,但也有如下描述标识是常用的。

● rc(有时也用一个字母r):表示候选版本(release can didate),rc后的数字表示该正式版本的第几个候选版本,各候选版本之间在多数情况下数字越大越接近正式版。

● smp:表示对称多处理器(Symmetric Multi-Processor)。

● pp:在Red Hat Linux中常用来表示测试版本(pre-patch)。

● EL:在Red Hat Linux中用来表示企业版Linux(Enterprise Linux)。

● mm:表示专门用来测试新的技术或新功能的版本。

● fc:在Red Hat Linux中表示Fedora Core。

在生产机上最好不要安装小版本号是奇数和pre-patch的内核版本。1.2.3 Linux主要发行版本

1.Red Hat Linux

Red Hat是一个比较成熟的Linux版本,无论在销售还是装机量上都比较可观。该版本从4.0开始同时支持Intel、Alpha及SPARC硬件平台,并且通过Red Hat公司的开发使得用户可以轻松地进行软件升级,彻底卸载应用软件和系统部件。Red Hat最早是由Bob Young和Marc Ewing于1995年创建的,目前分为两个系列,即由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux,以及由社区开发的免费的Fedora Core。Fedora Core 1发布于2003年年末,定位为桌面用户。Fedora Core提供了最新的软件包,同时版本更新周期也非常短,仅6个月。目前最新版本为Fedora Core 21,而Fedora Core 22的测试版已经推出,适用于服务器的版本是Red Hat Enterprise Linux。由于这是个收费的操作系统,于是国内外许多企业或网络空间公司选择CentOS。CentOS可以算是Red Hat Enterprise Linux的克隆版,但是免费的,其官方主页是http://www.redhat.com/。

2.Debian Linux

Debian最早是由Ian Murdock于1993年创建的,可以算是迄今为止最遵循GNU规范的Linux系统。Debian系统分为3个版本分支(Branch),即Stable、Testing和Unstable。截至2015年1月,这3个版本分支分别对应的具体版本为Wheezy、Jessie和Sid。其中,Jessie为最新的测试版本,包括最新的软件包。但是也有相对较多的Bug,适合于桌面用户的Testing版本都经过Unstable中的测试,相对较为稳定,也支持不少新技术(比如SMP等);而Wheezy一般只用于服务器,其中的软件包大部分都比较过时。但是稳定性能和安全性能都非常高,是如此多的用户痴迷于Debian、apt-get和dpkg原因之一。dpkg是Debian系列特有的软件包管理工具,它被誉为所有Linux软件包管理工具(比如RPM)中最强大的,配合apt-get在Debian上安装、升级、删除和管理软件变得异常容易。许多Debian的用户都开玩笑地说,Debian将他们养懒了,因为只要输入“apt-get upgrade&&apt-get upgrade”,计算机上所有的软件就会自动更新。其官方主页是http://www.debian.org/。

3.Ubuntu Linux

简单而言,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强优点的近乎完美的Linux操作系统。Ubuntu是一个相对较新的发行版,它的出现可能改变了许多潜在用户对Linux的看法。也许,以前人们会认为Linux难以安装并难以使用,但是Ubuntu出现后这些都成为了历史。Ubuntu基于Debian Sid,所以拥有Debian的所有优点,包括apt-get。不仅如此,Ubuntu默认采用的GNOME桌面系统也将Ubuntu的界面装饰得简易而不失华丽。当然,如果你是一个KDE的拥护者,Kubuntu同样适合。Ubuntu的安装非常人性化,只要按照提示一步步进行即可,安装操作与Windows操作系统同样简便。并且Ubuntu被誉为对硬件支持最好、最全面的Linux发行版之一,许多在其他发行版上无法使用或者默认配置时无法使用的硬件,在Ubuntu上都可以轻松实现。并且它采用自行加强的内核(Kernel),安全性方面更加完善。Ubuntu默认不能直接Root登录,必须从第1个创建的用户通过Su或Sudo来获取Root权限(这也许不太方便,但无疑增加了安全性,避免用户由于粗心而损坏系统)。Ubuntu的版本周期为6个月,弥补了Debian更新缓慢的不足,其官方主页是http://www.ubuntulinux.org/。

4.Slackware Linux

Slackware由Patrick Volkerding创建于1992年,应当是历史最悠久的Linux发行版。它曾经非常流行,但是当Linux越来越普及,用户的技术层面越来越广(更多的新手)后,而渐渐地被新来的人所遗忘。在其他主流发行版强调易用性时,Slackware依然固执地追求最原始的效率——所有的配置均要通过配置文件来进行。尽管如此,Slackware仍然深入人心(大部分都是比较有经验的Linux老手)。它稳定且安全,所以仍然有大批的忠实用户。由于Slackware尽量采用原版的软件包而不进行任何修改,所以制造新Bug的几率便低了很多。其版本更新周期较长(大约1年),但是新版本仍然不间断地提供给用户下载,其官方主页是http://www.slackware.com/。

5.SUSE Linux

SUSE是起源于德国的最著名的Linux发行版,在全世界范围内也享有较高的声誉,其自主开发的软件包管理系统YaST也大受好评。SUSE于2003年年末被Novell收购,SUSE 8.0之后的发布显得比较混乱,比如9.0版本是收费的,而10.0版本(也许由于各种压力)又免费发布。这使得一部分用户感到困惑,转而使用其他发行版。但是瑕不掩瑜,SUSE仍然是一个非常专业且优秀的发行版,其官方主页是http://www.suse.com/。

6.Gentoo Linux

Gentoo Linux最初是由Daniel Robbins(Stampede Linux和FreeBSD的前开发者之一)创建的,由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统—portage(ports和portage都是用于在线更新软件的系统,类似于apt-get,但还是有很大不同)。Gentoo的首个稳定版本,发布于2002年,其出名是因为高度的自定制性,它是一个基于源代码(source-based)的发行版。尽管安装时可以选择预先编译好的软件包,但是大部分使用用户都选择自己手动编译,这也是为什么Gentoo适合比较有Linux使用经验的老手使用的原因。但是要注意的是,由于编译软件需要消耗大量的时间,所以如果所有的软件都自己编译并安装KDE桌面系统等比较大的软件包,可能需要几天时间。其官方主页是http://www.gentoo.org/。

7.其他

Linux世界最不缺乏的可能就是发行版了,目前全球至少有386个不同的发行版,了解Linux发行版的最佳方法是查看Linux流行风向标网站(www.distrowatch.com)。在发行版排行中,目前Ubuntu的发行版高居榜首。

1.3 Red Hat Enterprise Linux简介

本书使用的Linux发行版是Red Hat Enterprise Linux(RHEL)。1.3.1 发展轨迹

Red Hat Linux是商业上运行最为成功的一个Linux发行套件,普及程度很高,由Red Hat公司发行。它算是一个“中年”的Linux发行套件,其1.0版本于1994年11月3日发行。虽然历史不及Slackware悠久,但比起很多的Linux发行套件,Red Hat的历史悠久得多。Red Hat Linux中的RPM软件包格式可以说是Linux社区的一个事实标准,被广泛使用于其他Linux发行套件中。以其为基础派生的Linux发行套件有很多,其中包括以桌面用户为目标的Mandrake Linux(原为包含KDE的Red Hat Linux)、Yellow Dog Linux(开始时为支持PowerPC的Red Hat Linux)和ASPLinux(对非拉丁字符有较好支持的Red Hat Linux)。自从Red Hat 9.0版本发布后,Red Hat公司就不再开发桌面版的Linux发行套件,而将全部力量集中在服务器版的开发上,即Red Hat Enterprise Linux版。2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支持,标志着Red Hat Linux的正式完结。原桌面版Red Hat Linux发行套件则与来自民间的Fedora计划合并,成为Fedora Core发行版。Fedora Core发行版是免费发放的,但Red Hat不提供任何正式支持,也不保证软硬件兼容性,这与Red Hat Enterprise Linux不同。

Red Hat Linux的发展过程主要可以分为Red Hat Linux、Red Hat Enterprise Linux和Fedora Core共3个系列,如表1-1所示。表1-1 Red Hat公司的主要Linux版本续表

2002年以前,Red Hat公司只有一种产品线,即Red Hat Linux,从Red Hat Linux 0.9一直发展到Red Hat Linux 9.0,之后不再以该名称发布产品。经过2002年,Red Hat迫于营利的压力,新开辟了一种产品线,即Red Hat Enterprise Linux系列产品,这一产品向用户提供了更高级的技术支持,从而使Red Hat公司获得更多收益。也由于Red Hat Enterprise Linux系列产品的推出,Red Hat的研发注意力便从RHL系列更多地转移到Red Hat Enterprise Linux系列上,使得大量免费使用RHL的个人用户很不高兴。加上其他同类免费Linux产品的竞争,为了拉拢Red Hat Linux的原有个人用户,守住已有用户群,Red Hat决定放弃Red Hat Linux系列产品线的单独研发,将之合并到Fedora项目中并推出了新的免费产品线Fedora Core。事实上,Fedora Core只是Red Hat的实验品,其功能将在获得成功后融入Red Hat Enterprise Linux。

Fedora是一个由Red Hat策划的开放开发项目,它向普通参与者开放并由精英管理者领导,沿着一系列项目目标而前进。Fedora项目的目标是与Linux社区协作,只从开放源码软件来创建一个完整且通用的操作系统,其开发过程是以公开论坛的形式进行的。项目将按时间计划,每年Fedora Core发布两到三次,并提供一份公开的发布日程表。Red Hat工程组将继续参与Fedora Core的开发,并且将比以往更多地邀请和鼓励外界的参与。通过采用这样一种更加开放的过程,希望能提供一个更加符合自由软件理念并且对开放源码社区更具吸引力的操作系统。1.3.2 Red Hat Enterprise Linux 7.0简介

Red Hat Enterprise Linux 7.0在应用性能、可扩展性和安全性方面都有巨大改进。利用Red Hat Enterprise Linux 7.0可以在数据中心部署物理、虚拟和云计算,降低复杂性,提高效率,最大限度地减少管理开销,同时充分利用各种技能。

1.系统架构

Red Hat Enterprise Linux 7.0支持更多的CPU、内核和内存。只有64位硬件支持 RedHatEnterpriseLinux 7.0安装。RedHatEnterpriseLinux 7.0可以将32位操作系统作为虚拟机运行,其中包括之前的 Red Hat Enterprise Linux 版本。

2.安装和引导工具

已重新设计并改进了 Red Hat Enterprise Linux安装程序Anaconda,以便改进Red Hat Enterprise Linux 7.0的安装过程。Anaconda 现在提供重新设计的图形用户界面,采用了现代和直观的对话互动模式。Anaconda 安装程序提供了改进的 l10n(本地化)支持。初始化设置由 firstboot 完成。支持直接格式化未分区的设备。

现在可在安装过程中配置临时文件存储设备 tmpfs。支持 LVM 自动精简配置。Red Hat Enterprise Linux 7.0使用新的引导装载程序 GRUB 2,该程序比其前任 GRUB 更具鲁棒性、更方便,也更强大,后者是 Red Hat Enterprise Linux 6 使用的引导装载程序。GRUB 2 提供了大量的功能和改进,最主要的有:

除64位Intel和AMD架构外,GRUB 2 现在还支持更广泛的平台,包括PowerPC。GRUB 2支持额外的固件类型,其中包括BIOS、EFI和OpenFireware。除支持主引导记录(MBR)分区表外,GRUB 2 还支持 GUID 分区表(GPT)。除 Linux 文件系统外,GRUB 2 还支持非 Linux 文件系统,比如苹果的扩展分层文件系统(HFS+)和微软的 NTFS 文件系统。

3.存储系统

Red Hat Enterprise Linux 7.0使用LIO内核目标子系统,它是块存储的标准开源SCSI目标,可用于以下存储介质:FcoE、iSCSI、iSER(Mellanox InfiniBand)和 SRP(Mellanox InfiniBand)。Red Hat Enterprise Linux 7.0引进了让快速块设备作为较慢块设备的缓存功能作为技术预览,这个功能可让 PCIe SSD 设备作为直接附加存储(DAS)或者存储局域网(SAN)的缓存使用,以便提高文件系统性能。

Red Hat Enterprise Linux 7.0引进了LVM缓存作为技术预览,这个功能可让用户创建逻辑卷,使用一个小的快速设备作为较大的慢速设备的缓存。有关生成缓存逻辑卷的详情,请参考lvm(8)manual page。

Red Hat Enterprise Linux 7.0引进了存储阵列管理作为技术预览。libStorageMgmt 是独立于存储阵列的应用程序编程界面(API),它提供了稳定且持久的 API,可让开发人员以编程方式管理不同的存储阵列,并利用所提供的硬件加速功能。系统管理员还可以将其作为手动管理存储的工具使用,同时使用附带的命令行界面(CLI)自动化存储管理任务。

Red Hat Enterprise Linux 7.0中包含了megaraid_sas 驱动程序中代码用于启用 LSI Syncro CS 高可用直接附加组件(HA-DAS)适配器。尽管在以前启用的适配器中完全支持 megaraid_sas 驱动程序,但在 Syncro CS 中使用这个驱动程序仍处于技术预览阶段。对这个适配器的支持将直接由 LSI、系统集成商或者系统销售商提供。我们鼓励在 Red Hat Enterprise Linux 7.0中部署 Syncro CS 的用户为 Red Hat 和 LSI 提供反馈意见。有关 LSI Syncro CS 解决方案的详情,请参考 http://www.lsi.com/products/shared-das/pages/default.aspx。

Red Hat Enterprise Linux 7.0提供了新的 LVM 应用程序编程界面(API)作为技术预览。使用这个 API 可查询并控制 LVM 的具体方面。

DIF/DIX 是 SCSI 标准的新版本,同时在 Red Hat Enterprise Linux 7.0中也是技术预览。DIF/DIX 将通常使用的 512 字节磁盘块大小从 512 字节增大到 520 字节,添加了数据完整性字段(DIF)。DIF 在发生写入操作时为主机总线适配器(HBA)计算的数据库保存 checksum 值。该存储设备在收到 checksum 后确认,并同时保存该数据和 checksum。相反,当发生读取操作时,可在收到 HBA 后由该存储设备检查 checksum。

平行 NFS(pNFS)是 NFS v4.1 标准的一部分,可让客户端直接且平行访问存储设备。pNFS 架构可为一些常规负载提高 NFS 服务器的可延伸性及性能。pNFS 定义了3种不同的存储协议或者布局:文件、对象和块。Red Hat Enterprise Linux 7.0客户端全面支持文件布局,但块布局和对象布局只能作为技术预览使用。

4.XFS文件系统

目前采用Anaconda安装的RedHatEnterpriseLinux 7.0 中使用的默认文件系统是XFS,它替换了在 RedHatEnterpriseLinux 6 中使用的第四代扩展的文件系统(ext4)。ext4和Btrfs(B-Tree)文件系统可作为XFS的备选。XFS是高度可扩展、高性能文件系统,最初由 Silicon Graphics,Inc.设计,目的是为了支持高达 16 艾字节(约 1600万TB)的文件系统、多达 8 艾字节(约 800万TB)以及包含数千万条目的目录结构。XFS支持元数据日志,它可加快崩溃的恢复。XFS文件系统还可在挂载且活跃的情况下进行清理碎片和扩展操作。

5.内核

Red Hat Enterprise Linux 7.0采用内核版本 3.10,该版本提供了大量新功能,主要列举如下。

● Red Hat Enterprise Linux 7.0 支持在有大内存(最大为 3TB)的系统中使用 kdump 崩溃转储机制。

● Red Hat Enterprise Linux 7.0 启用在一个以上 CPU 中引导 crashnernel 的功能。这个功能作为技术预览支持。

● Red Hat E nterprise Linux 7.0 引进了一个新功能,即 swap 内存压缩。swap 压缩由zswap 执行,这是一个用于 frontswap 的精简后端。采用 swap 内存压缩技术可保证显著减少 I/O 并提高性能。

● 在 Red Hat Enterprise Linux 7.0 中,内核会在同一系统的不同 NUMA 节点间自动重置进程和内存,以提高没有统一内存访问(NUMA)系统的性能。

● 通过利用新处理器的硬件功能支持高级程序中断控制器(APIC)注册的虚拟化,以便提高虚拟机监视器(VMM)中断处理能力。

● 在 Red Hat Enterprise Linux 7.0 中,vmcp 内核模块内嵌在内核中,这可保证 vmcp 设备节点总会出现,同时用户可在不先载入 vmcp 内核模块的情况下发送 IBM z/VM hypervisor 控制程序命令。

● nohz_full 引导参数将最初的无缝内核功能延伸到额外的情况,比如可以停止tick时,可以使用 per-cpu nr_running=1 设置时,即在 CPU 的运行队列中只有一个可运行的任务。

● Red H at E nterprise L inux 7.0提供了modprobe 程序让用户在安装时将内核模块放入黑名单。

● Red H at Enterprise Linux 7.0 引进了 kpatch,一个动态内核补丁管理程序作为技术预览。用户可使用 kpatch 管理二进制补丁集合,它可在不重启的情况下动态地为内核打补丁。

● Emulex ocrdma 驱动程序在 Red Hat Enterprise Linux 7.0 中是作为技术预览提供的。该驱动程序为具体的 Emulex 适配器提供远程直接内存访问(RDMA)功能。

● Red Hat Enterprise Linux 7.0 引进了 dm-era 设备映射器目标作为技术预览。dm-era 可跟踪在用户定义的时间段(即era)内写入的块。每个 era 目标事务可将当前 era 单调地增加到 32 位计数器。这个目标允许备份软件追踪自上次备份后有变化的块。它还允许在返回经销商快照后部分失效的缓存内容恢复缓存一致性。dm-era 目标主要与dm-cache 目标配对。

6.虚拟化

Docker容器,将应用以及依赖包放到一个可移植的容器中,将应用标准化,发布时无须再关心各种配置、各种依赖,应用部署迁移轻松自在。

7.系统和服务

systemd 是 Linux 的系统和服务管理程序,替换了 RedHatEnterpriseLinux 之前的发行版中使用的 SysV。systemd是用来替代SysV的新初始化脚本工具。

systemd 与其他程序相比具有下列优势:

● 强大的平行化功能。

● 使用插槽和 D-Bus 激活启动服务。

● 按需启动守护进程。

● 管理控制组。

● 生成系统状态快照及恢复系统状态。

8.编译程序及工具

在 RedHatEnterpriseLinux 7.0 中,gcc 工具链是根据gcc-4.8.x发行系列开发的,并包含大量针对 Red Hat Enterprise Linux 6 的改进和 bug 修复。同样,Red Hat Enterprise Linux 7.0也包含binutils-2.23.52.x。glibc库(libc、libm、libpthread、NSS插件及其他)是根据glibc2.17 发行版开发的,其中包含大量针对 Red Hat Enterprise Linux 6 对等产品的改进和 bug 修复。GDB 调试程序来自gdb-7.6.1发行本,并包含大量针对 Red Hat Enterprise Linux 6 操作系统对等产品的改进和 bug 修复。RedHatEnterpriseLinux 7.0 中包含了一些性能功能的最新更新版本,比如oprofile、papi和elfutils,提供了性能、可移植性及功能性改进。此外,还有RedHatEnterpriseLinux 7.0 首先采用的功能:

● 支持 Performance Co-Pilot。

● SystemTap 支持在整个非特权用户空间运行的基于 DynInst 的检测,同时也支持基于Byteman 的Java 应用程序精确探测。

● 硬件事务内存的 Valgirnd 支持,以及矢量化建模指令的改进。

9.编程语言

Red Hat Enterprise Linux 7.0 提供了最新的 Ruby 2.0.0。版本 2.0.0 与 Red Hat Enterprise Linux 6 中所包含版本 1.8.7 的主要不同点在于:

● 新的解释程序 YARV(另一个 Ruby VM),该程序可限制降低载入时间,特别是那些有大树结构或者文件的应用程序。

● 新的且迅速的“Lazy Sweep”垃圾收集程序。

● Ruby 限制支持字符串编码。

● Ruby 限制支持内部线程而不是绿色线程。

Red Hat Enterprise Linux 7.0中包含了Python 2.7.5,它是 Python 2.7 系列发行版的最新版本。这个版本包含了很多性能改进,并向前兼容 Python 3。Python 2.7.5 中的主要变化如下:

● 排序的字典类型。

● 快速的 I/O 模块。

● 集合及代码词典解读。

● sysconfig 模块。

Red Hat Enterprise Linux 7.0提供了 OpenJDK 7 作为默认的 Java 开发套件(JDK),Java 7 作为默认的Java版本。所有的Java 7软件包(java-1.7.0-openjdk、java-1.7.0-oracle、java-1.7.0-ibm)允许平行安装多个版本,类似于内核。平行安装的功能可让用户同时尝试多个 JDK 版本,以便在需要时调节性能并解决问题。准确的 JDK 与原来一样通过备选方法进行选择。

10.网络设备(1)网络分组

已引进网络分组技术作为链路聚集的捆绑备用方法。该技术旨在轻松管理、debug 和扩展。它可为用户提供性能和提高灵活性,且为新安装进行评估。(2)NetworkManager

已对 NetworkManager 进行了大量改进,使其更适合在服务器应用程序中使用,特别是 NetworkManager 不再默认查看配置文件更改,比如那些由编辑器或者开发工具更改的配置文件,管理员可使其意识到使用 nmcli connection reload 命令进行的外部修改。使用 NetworkManager 的 D-Bus API 或者 NetworkManager 命令行工具 nmcli 进行的修改仍可立即生效。

引进 nmcli 工具是要让用户和脚本可以与 NetworkManager 互动。(3)chrony套件

可使用程序套件 chrony 更新系统中不适合的传统持久联网系统时钟,那些时钟总是在专门服务器分类中。应在所有经常挂起的系统中,或者间歇性断开并重新连接到网络的系统中关注 chrony 套件,例如移动系统和虚拟系统。(4)动态防火墙守护进程 firewalld 套件

Red Hat Enterprise Linux 7.0 提供了动态防火墙守护进程

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载