CentOS Linux系统运维(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-14 15:51:03

点击下载

作者:陈祥琳

出版社:清华大学出版社

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

CentOS Linux系统运维

CentOS Linux系统运维试读:

前言

自Linux诞生至今已吸引了不少的开发者和使用者,特别是开源技术的发展和云计算的应用更是让Linux得到更多用户亲睐。

本书以CentOS Linux系统为基础环境介绍系统的基本应用和管理,以理论知识结合实际应用的方式来编写,所涉及的内容主要包括系统的环境搭建、系统日常管理和服务的搭建。全书共18章,第1~3章主要是系统基础环境的搭建和基本应用,第4~15章主要是系统的基本配置,第16~18章主要是服务的配置应用。

第1章:关于操作系统的相关概念,主要涉及系统的版本(发行版本和内核版本)和系统运行的环境。

第2章:操作系统的安装配置,主要涉及系统安装时需要注意的事项和系统安装完成后更改系统的默认配置。

第3章:关于操作系统图形系统(桌面)类型及基本使用方法的介绍。

第4章:命令的应用,主要涉及shell的基本概念及各种常用命令的基本使用方法。

第5章:shell脚本编程,主要包括循环脚本、算术和函数等。

第6章:系统的用户和用户组。

第7章:文件系统,主要涉及文件系统的基本组成、虚拟文件系统和文件系统块三方面的内容。

第8章:磁盘及磁盘分区,主要涉及磁盘分区的划分和日常的维护。

第9章:系统性能优化,主要涉及系统内存、CPU、进程和网络四方面的内容。

第11章:系统安全配置,主要涉及访问系统的控制策略、审计系统和日志系统配置应用三方面的内容。

第12~13章:系统网络的配置和应用。

第14~15章:系统启动初始化和系统的运行级别。

第16~17章:时间服务器的配置和应用。

第18章:基于KVM的虚拟化服务的配置和应用。

本书内容由浅入深,语言通俗易懂,旨在降低阅读难度、帮助读者快速入门。本书适用的读者对象包括但不限于:

● Linux初学者

● Linux爱好者

● Linux服务器运维者

● 大中专院校和培训机构的教学用书

由于编辑水平有限,书中难免存在不足和疏漏之处,请广大读者批评指正。编者2016年5月于海口第1章操作系统基本概念本章主要内容概述操作系统(Operating System, OS)是管理和控制计算机硬件与软件资源的程序,是一种直接运行在“裸机”设备上最基本的系统软件,也是其他应用软件赖以运行的基础环境。操作系统的种类比较繁多且功能的针对性也有所不同,因此用单一标准很难将它们进行统一分类。目前,对操作系统的常见分类方式有根据应用的领域、对用户数量的支持、源码的开放程度和对存储器寻址宽度的支持(也就是常说的32位、64位)等。本章内容导读本章的主要内容是对Linux操作系统的基本概念和运行的环境进行介绍。Linux是1991年首次发布的开源软件,任何人或机构只要遵循GNU(GNU' s Not UNIX,通用公共许可证)都可以自由地使用所有底层源代码,也可以自由地修改和再发布。本章就Linux操作系统的基本概念(版本号、发布方式等)、内核的基本组成(内核源码目录、内核子系统模块等)以及运行的环境(硬件环境、网络环境等)进行介绍。

实际上Linux本身指的只是内核,但现在已经习惯将其视为一个操作系统。Linux系统的原型最初是由芬兰的在校学生Linus Torvalds(林纳斯·托瓦兹)从Minix上开发而来,但现在已经发展成为著名的开源、免费操作系统软件。1.1 系统版本的基本概念

开放源代码的Linux操作系统在提供免费使用、自由传播的同时也遵循由电气和电子工业学会制定的POSIX(Portable Operating System Interface of UNIX,可移植性操作系统接口)标准。在设计上,Linux继承UNIX,以网络为核心思想,且采用模块化的结构,使系统拥有高效性和灵活性。

由于Linux是从UNIX上发展起来的,因此Linux与UNIX的设计风格颇为相似,且能够在PC上实现多用户、多任务、多线程和多CPU的特性。Linux也是一个性能稳定的多用户网络操作系统,主要运行在Intel x86系列CPU的计算机上,且支持32位和64位硬件,拥有较强的兼容性。除完整的操作系统之外,Linux系统还包括文本编辑器、高级语言编译器等基于内核之外运行的应用软件和X-Window图形系统。

每个发行的内核都有一个版本号,且每个版本号都由主版本号、次版本号和修订次数号组成,其格式为“主版本号.次版本号.修订次数号”(最具有里程碑的内核版本号为1.0.0)。每个版本号都透露该版本的类型(如2.5.64和2.6.24),当次版本号为奇数时,说明此版本内核是一个测试版,为偶数时则为一个稳定版。修订次数号(如64、24)说明该内核版本被修改的次数。

Linux的发行套件是在发行版内核的基础上加入办公软件、编辑器等应用程序。相对来说,发行版是比较混乱的。发行版主要由一些公司及组织发布,这些公司或组织将Linux的内核与其他应用软件及文档包装起来并发到互联网上,以供下载。每个发行版本都有自己的特点,但发行版本号与内核版本号是独立的,所以发行版本号和内核版本号并不矛盾。1.2 系统内核基本组成

Linux内核是一个庞大而复杂的系统核心,由子系统以分层的形式组成。内核的主要用途是为了更好地与硬件进行交互。1.内核源代码目录结构

Linux系统的内核中大多数程序之间几乎都有紧密的联系,它们之间的依赖和调用关系非常密切,所以在阅读一个源代码文件时往往还需要阅读其他相关的文件。内核源代码的顶层下有功能不同的子目录,分别组织存放各种内核子系统及文件。

Linux系统内核源代码的目录以严格的层次构成一个有等级的文件系统。其中,这个文件系统的最高层是Linux目录。下面是Linux-3.10.94版本的内核相关信息及其下的文件。

各主要目录及功能描述如表1-1所示。表1-1 Linux内核重要代码目录2.内核子系统模块组成

Linux内核主要由5个子系统组成:进程调度、内存管理、文件系统、网络接口和进程通信。各个子系统之间相互协调完成系统资源的分配,并利用这些资源执行系统任务。这5个子系统之间的依赖关系如图1-1所示。图1-1 内核子模块及相互依赖关系(1)进程调度子系统模块

进程调度控制进程对CPU资源的访问。Linux采取基于优先级的调度算法选择进程,所采取的调度策略是各个进程能够公平合理地访问CPU资源,同时保证内核能即时操作硬件。

在需要执行一个进程时,由调度程序选择最值得运行的进程,然后为该进程分配相关的资源。实际上,调度程序所选择的进程是处于可运行状态且仅等待CPU资源。如果某个进程在等待的不是CUP资源,那么说明该进程是不可运行进程。(2)内存管理子系统模块

内存管理用于确保所有进程能够安全地共享主内存区。Linux内存管理支持虚拟内存,使得可用的内存空间比实际的还要大,这就意味着在计算机中运行的程序、代码、数据、堆栈的总量可以超过实际内存值的大小。

内存管理从逻辑上分为硬件无关部分和硬件有关部分。硬件无关部分提供了进程的映射和逻辑内存的对换;硬件相关的部分为内存管理硬件提供了虚拟接口。通常,在物理内存不足时,系统就会将当前使用的程序块保留在内存中执行,其余的都暂留在磁盘中(这部分的空间称为虚拟内存),并在需要时再交换回来。(3)文件系统子系统模块

文件系统是用于对外部设备的驱动和储存,隐藏了各种硬件的具体细节,并为所有的设备提供了统一的接口。虚拟文件系统提供了多达数十种不同类型的逻辑文件系统和驱动程序。其中,逻辑文件系统是指Linux系统所支持的文件系统(如ext3、ext4、fat等);设备驱动程序是指为每一种硬件控制器所编写的设备驱动程序模块。(4)网络接口子系统模块

网络接口可分为网络协议和网络驱动程序,提供了对多种网络通信标准的访问并对各种网络硬件的支持。其中,网络协议部分负责实现每一种可能的网络传输协议;网络设备驱动程序则负责与硬件设备通信,每一种可能的硬件设备都有相应的设备驱动程序。(5)进程通信子系统模块

进程通信用于支持多种进程间的信息交换方式,由于系统的每个子系统都需要挂起或恢复进程,使得其他的子系统都依赖它。一般情况下,当一个进程等待硬件操作完成时,它会被挂起;而当硬件操作真正完成时,进程就被恢复并执行。1.3 操作系统的运行环境

目前,大多数的操作系统运行在以硬件为基础的网络环境下。操作系统要正常运行,需要依托一个可靠的硬件环境(物理硬件环境和虚拟硬件环境)。硬件环境的不完整性完全可能直接导致系统无法正常运行。对于网络环境,随着网络技术的不断发展,传统的业务模式基本被打破,借助于计算机网络,人们就能够足不出户办理传统的业务。1. Linux系统层次结构

操作系统是一个运行在硬件之上的软件,是用户与计算机硬件的接口,是用户控制和使用硬件资源的主要方式。用户通过操作系统就能够安全、便捷地调用硬件资源执行程序、管理系统资源。

在整体结构上,Linux系统采用的是模块化的方式来设计,在系统的最底层是硬件层,而最顶层则是用户层。在用户层上对系统资源的监控和调用,可分为直接执行shell命令和编写shell脚本以程序的方式完成。系统的层次与用户之间的结构关系如图1-2所示。图1-2 操作系统与用户层关系结构

Linux系统一般包含有内核、shell接口、文件系统和应用程序4个部分,它们之间的关系如图1-3所示。其中,内核、shell和文件系统构成基本的操作系统结构,用户通过它们构成的基本系统就可以执行程序、管理文件系统并使用系统。图1-3 Linux系统组成示意图

● 内核:内核是系统最重要的组成,是系统的心脏,能够实现操作系统的基本功能。在硬件上,内核控制硬件设备并提供硬件接口、管理内存、处理基本I/O;在软件上,管理文件系统,为程序分配内存和CPU时间等。

● shell接口:shell是命令解释器,是用户与操作系统内核直接交互的接口,能够解释用户输入的命令并传送到内核中执行,并把执行结果传送到用户终端显示。

● 应用程序:标准的Linux系统会自带有一套应用程序,包括编辑器、X-Window、办公软件等,系统还支持应用程序的添加和删除。

● 文件系统:文件系统是系统的重要组成部分,储存于储存设备上,并按严格的层次进行组织。目前,Linux系统的文件系统包括ext2、ext3和ext4等,还支持fat、nfs等各类文件系统。2.系统运行的硬件环境

计算机由硬件和软件组成,通过硬件与软件相互依存,并相互协同来完成各种操作。其中,硬件部分是计算机系统的可见部分,是软件运行和储存的平台;软件则是一种控制硬件操作和动作的指令流。

对于计算机的硬件部分,主要有中央处理器(Central Processing Unit, CPU)、随机存取存储器(Random Access Memory, RAM)、硬盘(Hard Disk)和输入输出(Input Output, I/O)设备。图1-4所示的是计算机的硬件组成示意图。图1-4 计算机主要硬件组成示意图(1)随机存取存储器

随机存取存储器(RAM)是计算机重要的部件之一,是所有程序运行的地方,是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机处于运行状态,CPU就会把需要运算的数据调到随机存取存储器中运算,并将运算的结果传送出来。因此,它的性能对计算机有直接的影响。

我们已经习惯将随机存取存储器称为内存,因为随机存取存储器是计算机最重要的存储器。严格来说,内存并不只是指随机存取存储器,还包括只读存储器(Read Only Memory, ROM)和高速缓存(Cache)。(2)中央处理器

中央处理器是计算机的运算核心和控制核心,主要用于解释计算机指令以及处理计算机软件中的数据。中央处理器在执行时,先从存储器或高速缓存存储器中取出指令,并将指令放入指令寄存器,然后才对指令译码和执行。注意,在中央处理器中执行的程序是按指令序列逐条执行的。

中央处理器是一块超大规模的集成电路,由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。它具有数据通信、资源共享、分布式处理和提供系统可靠性的基本功能,并且控制着计算机的所有操作,它的性能指标直接决定了计算机的性能。(3)输入输出设备

计算机的输入输出设备又称外围设备,外围设备涵盖的范围比较广,对于计算机而言,除CPU和主存外的其他部件都可看成是外围设备。

输入设备是指向计算机输入数据的设备,它是用户向计算机系统输入信息的主要方式之一,目前计算机比较常见的输入设备有键盘、鼠标、扫描仪等。

输出设备是指计算机向外输出数据的设备,目前比较常见的输出设备有显示器和打印机等。(4)硬盘

硬盘是计算机数据主要的存储媒介之一,由一个或者多个铝制或玻璃制的碟片组成。这些碟片外覆盖有铁磁性材料,被永久性地密封固定在硬盘驱动器中。

硬盘有固态硬盘(Solid State Hard Disk)、机械硬盘(Mechanical Hard Disk)、混合硬盘(Hybrid Hard Disk)。其中,固态硬盘也称电子硬盘或者固态电子盘,由控制单元和固态存储单元组成,采用闪存颗粒来存储;机械硬盘采用磁性碟片来存储,由盘片、磁头、控制电机、磁头控制器、数据转换器等部分组成;混合硬盘是把磁性硬盘和闪存集成到一起的一种硬盘,通过增加高速闪存来预读取数据,以减少从硬盘读取的次数,从而提高性能。3.系统运行的网络环境

随着计算机应用的深入和普及,使用户对信息资源的共享和信息传递的需求不断扩大,为了能够充分、合理地利用资源,逐渐将各个计算机连接在一起,组成了计算机网络。计算机网络就是将分布在相同或不同区域的计算机通过硬件设备连接在一起,从而形成一个规模大、功能强的、提供资源共享的网络系统。(1)计算机网络的发展

计算机网络的发展,按从无到有可分成远程终端连接、计算机网络、计算机网络互联和信息高速公路这4个阶段。

在远程终端连接阶段的网络仅是面向计算机终端的网络,主机则是整个网络的中心和控制者。由于此阶段的网络不提供子网之间的通信,因此用户只能在本地使用分布在各处的终端使用主机。在计算机网络阶段发展到实现多个主机的互联和通信,并形成了标准的局域网模型。发展到计算机网络互联阶段时,其标志是制定OSI模型,再加上TCP/IP的诞生,从而为广域网和Internet的到来奠定了基础。目前正是高速网络时代,宽带的综合业务、ATM技术及网络更加健全的交互,真正实现了足不出户便知天下事。(2)计算机网络类型

对于网络类型的划分,按地理范围划分是已被认可的标准,按这种标准可把网络划分为局域网、城域网、广域网。其中,局域网一般只能是一个较小的区域内的网络;城域网是不同地区的网络互联;广域网的范围常常是一个国家或洲。当然,实际上网络划分并没有严格意义上地理范围的区分,这只是一个定性的概念。

① 局域网。局域网(Local Area Network, LAN)是最常见、应用最广的一种网络,是一种在局部地区范围内的网络,覆盖的范围比较小。在局域网内计算机的数量少则两台,多则几百台,一般位于一个建筑物或一个单位内,不存在寻址问题,也不包括网络层的应用。

局域网具有连接范围小、用户数少、配置容易、连接速率高的特点。目前,局域网包括以太网(Ethernet)、令牌环网(Token Ring)、光纤分布式接口(Fiber Distributed Data Interface, FDDI)、异步传输模式网(Asynchronous Transfer Mode, ATM)及无线局域网(Wireless Local Area Network, WLAN)。随着计算机网络技术的发展,局域网已得到充分的应用和普及,甚至普及到家庭。

② 城域网。城域网(Metropolitan Area Network, MAN)的连接距离可以在10~100千米,在地理范围上可以说是局域网的延伸,实现在一个城市但不同地理小区范围内的计算机互联,连接的计算机数量更多,通常是一个城域网连接多个局域网。

城域网多采用ATM(Asynchronous Transfer Mode,异步传输模式)技术。ATM包括一个接口和一个协议,该协议能够运行在常规的传输信道上,用于数据、语音、视频以及多媒体应用程序的高速数据传输。由于ATM的成本比较高,因此一般在银行、医院等场所使用。

③ 广域网。广域网(Wide Area Network, WAN)也称远程网,所覆盖的范围(地理范围可从几百千米到几千千米)比城域网更广,一般用于不同城市、国家或洲之间的网络互联。由于信息传送距离较远而衰减比较严重,因此这种网络一般要租用专线,并通过IMP(Interface Message Processor,接口信息处理)协议和线路连接起来,构成网状结构,解决寻径问题。

广域网的通信子网主要使用分组交换技术,可以利用公用分组交换网、卫星通信网和无线分组交换网,并将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的(互联网就是世界范围内最大的、典型的广域网)。广域网具有以下特点。

● 适应大容量与突发性数据的请求。

● 适应综合业务服务的请求。

● 开放的设备接口与规范化的协议。第2章CentOS安装配置本章主要内容概述CentOS是基于Red Hat Enterprise Linux(以下简称RHEL)内核重新编译而成的开源操作系统,每个CentOS新版本的发布都可以视为下版RHEL的预先发行版,因此通过新发行的CentOS就能大概看出下一版RHEL所新增的功能。另外,由于CentOS的内核是RHEL的源内核代码,因此它在稳定性上也很出色。本章内容导读本章就操作系统的安装和基本配置进行解析,主要内容由3部分组成,涉及CentOS的基本概念、CentOS的安装及系统环境的基本配置等。其中,CentOS基本概念部分的内容涉及系统发行版的基本概念;系统的安装方面内容涉及系统安装时需要注意的事项、系统安装的方式及安装的过程;系统基础环境配置部分的内容主要涉及系统的防火墙、安全子系统SELinux、网络和本地YUM服务的配置。2.1 CentOS基本概念

CentOS(Community Enterprise Operating System,企业社区操作系统)是Linux的发行版之一,是由Red Hat Enterprise Linux依照开放源代码规定释出的源代码重新编译而成的产物。简单地说,它就是Red Hat公司开源免费的Linux操作系统。

不管是Red Hat Enterprise Linux(以下简称RHEL)还是CentOS,它们在发行时要不就是通过二进制的发行要不就是通过源代码方式,无论是哪一种发行方式都可以免费获得并允许再次发布,但CentOS不提供服务,而要对RHEL进行在线升级(包括补丁)或咨询服务则必须付费。相对于RHEL系列版本而言,CentOS常常先发布,而且很多新的功能通常先在CentOS上测试后用于RHEL(这也是CentOS大小大于相同版本RHEL的原因)。

CentOS是RHEL源码的再次编译并将REDHAT的商标去掉,可以不需要支付任何费用就能够获取CentOS的使用权,但不会得到任何的服务。由于相同版本的CentOS与RHEL都出自同样的源代码,因此在不支付费用下通常选择以CentOS来替代RHEL。2.2 CentOS安装

系统的安装对后期的维护也会带来一定的影响,因此系统的安装比较重要,如何安装一个适合的系统应该根据实际的需要而定。本节对系统安装时需要注意的相关事项、如何为应用定制一个合适的系统及系统安装过程做简单的介绍。2.2.1系统安装的主要事项

在系统安装前先确认系统运行的平台是否为虚拟化,确认磁盘是否是RAID及硬件是否已经准备好等,检查完条件后再通电。在系统安装的过程中,电源不能中断,也不能取出安装光盘,否则将导致系统安装失败。另外,如果是对物理机的系统重装,建议重做RAID,然后再安装系统,或在安装到划分磁盘分区时删除全部的旧分区后创建新分区。

在系统安装的过程中,会涉及主机名、网络、磁盘分区等一些比较主要的配置。主机名建议与应用相关(如Web服务器,可取名为Web),以便于维护。网络配置选项与主机名的配置位于同一个界面的左下角处,配置网卡设备时应将IP地址设为静态地址(通常,服务器环境下需要设定静态IP地址网络才正常),这样就不会导致IP地址混乱且更易于管理。

对于直接安装在物理机上的服务器,如果这个物理机配有两个或两个以上的RAID(并不是每个物理机都支持),那么在操作系统的安装到选择储存时就应该指定用于存放系统相关数据的RAID。在划分磁盘分区时,建议采取先划分/boot分区,然后创建LVM(Logical Volume Manager),之后在LVM上先创建swap和根分区(可不分/home分区),这样就可以把剩余的所有空间都划分为根分区。

如果一台服务器只部署一个应用,那么系统组件应尽量与要部署的应用相关,而其他的如游戏、办公软件之类的应用就不需要安装了(建议系统以最小的方式安装,组件间的依赖可通过搭建本地YUN服务来解决)。

对于firewalld和SELinux,建议将它们关闭,以避免在部署应用时受到限制。同时,对于普通用户的创建,应该根据所部署的应用来创建,不需要在系统安装的过程中创建普通用户账号,且在系统安装完成后要做一些基本的配置(如启动自编写的脚本防火墙、修改内核参数等),保证系统消耗的资源更小、更安全。2.2.2 系统的量身定制

这里所说的系统量身定制,指的是以什么类型来安装系统,这些类型包括桌面、最小桌面、最小、基本服务器等,如图2-1所示。图2-1 操作系统安装类型选择界面

对于类型的选择,应该根据实际使用来选择(如果是安装在物理机上,建议系统带有图形界面)。对于Web服务器等,可以采取Minimal方式安装,如果安装Oracle数据库,强烈建议安装图形界面。

另外,还有一点就是语言的选择。建议采用英文(如图2-2所示,并将其设置成默认的系统语言)+中文的方式,因为在系统上部署应用及日常的维护主要通过执行命令来完成,如果语言仅有中文,那么输出可能有乱码,更重要的是在排错时这些乱码会扰乱相关的信息,而系统语言是英文时则不会输出乱码。图2-2 系统语言类型的设置

最后做一些补充,一个操作系统在安装时应该尽量考虑到后期的维护。如果在安装的过程中做足了准备工作,就会为后期的维护带来很大的便利。特别是要考虑到维护的应用更偏向于哪方面,因此相关的组件在安装系统时应该先安装,否则在后期的维护中需要部署其他的应用时,若遇到缺少依赖包而依赖包间又存在其他的依赖关系则会比较棘手。2.2.3 系统的安装过程

以下是基于3.10.0内核CentOS的安装过程。(1)配置好机器后打开电源开关,放入安装盘并稍等片刻就会看到引导选项单界面,由于是安装操作系统,因此选择“Install CentOS 7”选项,如图2-3所示。图2-3 系统安装方式选择(2)在弹出的另外一个界面上按回车键继续,或等待系统自动进行,并在弹出的系统语言设置的界面上选择自己喜欢的语言。(建议选择英文,或选择适合自己的语言类型。)(3)CentOS 7版本的系统完全改变了以往系统安装的流程,这个版本把以往分步骤的安装方式变成集中式的安装方式。简单地说,就是在一个主界面上不需要按照先后顺序完成系统正式安装前的准备工作。CentOS 7的集中式主界面称为INSTALLATION SUMMARY(安装信息概要),界面布局如图2-4所示。图2-4 系统安装信息概要界面

安装信息概要界面由LOCALIZATION(本地化)、SOFTWARE(软件)和SYSTEM(系统)这3个部分组成。其中,LOCALIZATION部分主要用于设置日期及时间、键盘和系统语言,SOFTWARE主要用于设置系统安装源的选择和安装哪些类型的软件,而SYSTEM部分则主要用于指定系统安装的位置(包括磁盘分区的操作)、配置网络参数及一些安全设置等。

另外,完成设置后单击相关界面左上角的“Done”按钮就可以保持设置并退出,或进入新的配置界面继续配置。

① 对于LOCALIZATION部分的设置。

● DATE&TIME(日期和时间):关于日期和时间的设置,打开设置界面并在Region(地区)处选择Asia,在City处选择shanghai(简单的做法就是用鼠标点一下地图上相应的位置)。

● KEYBOARD(键盘):关于键盘设置,保持默认值就可以。

● LANGUAGE SUPPORT(语言支持):关于系统的语言,可以根据需要选择,建议选择英文+中文,并设置英文为默认语言。

② 对于SOFTWARE部分的设置。

● INSTALLATION SOURCE(安装源):对于系统安装源的选择,应该根据实际情况来设置。如果采用的是光盘安装就不需要做任何设置(默认是自动检测)。如果是通过http/https、ftp或nfs等方式来安装,就需要指定安装源在网络上的位置。

● SOFTWARE SELECTION(软件选择):在软件安装的选择上,如果该系统只是用于部署一些如Web、MySQL及LVS等不需要图形界面支持的应用,建议选择最小化安装(Minimal Install)的方式来安装系统;如果是部署Oracle这类需要图形支持的应用,建议安装桌面。注意不管是选择哪种安装方式,在“Base Environment”中选择安装方式后一定要在右侧的“Add-Ons for Selected Environment”中选择具体的安装包。另外,以最小化的方式安装后系统可能缺少一些常用的工具,这些工具需要额外安装。

③ 对于SYSTEM部分的设置。

在创建磁盘分区前先介绍一下磁盘分区的问题。对于磁盘分区的设置,有自动和手动两种,创建磁盘分区时需要选择磁盘和磁盘分区的方式。其实还有一些问题,由于安装CentOS时它引导系统启动的分区位于/boot上,而系统启动时它默认以第一块磁盘(如sda和had等)为启动盘并尝试读取其中的启动数据来引导系统启动,但如果这些数据不在第一块盘上,那么系统就会因找不到相关的数据而启动失败。

不少的服务器会自动按照顺序读取所有在启动项中设置的设备,这样就不需要担心服务器没法启动的问题了。不过有一个问题要特别注意,比如一个服务器上有多块磁盘但磁盘阵列是0(就是RAID 0),那么服务器就会认为只有一块磁盘,因此它会读取这块盘的开始位置。不过在安装系统并在创建磁盘分区时会发现有两块盘。遇到这样的情况就必须把系统安装在第一块盘上,不然系统就无法启动。

说了那么多,现在开始创建磁盘分区。首先单击“INSTALLTION DESTINATION”(安装位置)来打开磁盘分区创建的首个界面(见图2-5),在该界面上可以看到所有的磁盘。图2-5 磁盘分区创建前的概要界面

在该界面上一定要选择第一块磁盘作为安装系统的盘(如图2-5中的sda)。需要新增磁盘时可以单击“Add a disk”来新增一个磁盘。要以手动的方式来创建磁盘分区时就在Other Storage Options的Partitioning下选择“I will configure partitioning”选项,然后单击“Done”按钮就会进入磁盘分区创建的界面,如图2-6所示。图2-6 创建磁盘分区的首界面

CentOS 7支持的文件系统类型不再是单一的ext类型,而是在ext上还支持xfs和vfat等。对于这些文件系统的类型,可根据磁盘空间的大小和文件系统的特点来选择,例如比较小的磁盘空间建议使用ext,磁盘空间为2TB或2TB以上建议考虑xfs,而系统要支持超长的文件名时可选择vfat。

磁盘分区的创建使用/boot(根)、/swap(交换)的方式,以/boot—>/swap—>/的顺序进行,这样做的目的是能够更加合理地使用磁盘空间,最后创建/分区就可以把剩余的全部空闲空间都划分给它,以免造成磁盘空间浪费。

① 先创建/boot分区。单击“+”按钮,在弹出的新建分区窗口挂载点中选择/boot并设置大小(该分区用于系统启动引导,单位默认是MB,大小设置为200即可),确定后弹出另外一个界面,在该界面上将设备类型改为Standard Partition、文件系统类型改为ext4,完成后单击“Update Settings”来重置参数。

② 完成/boot分区的创建后接着创建/swap分区。单击“+”按钮,并在弹出的窗口中设置swap及其大小,并在确定后弹出的界面中选择设备类型LVM(可修改swap所在卷组的名称,更改后要更新设置)。交换分区的大小设置以及与物理内存之间的关系如表2-1所示。表2-1 交换空间与物理内存的比较

当然,如果物理内存远大于8GB,那么swap的大小不一定要等于物理内存的0.75倍,否则会使swap占用大量的磁盘空间而造成浪费,因为现在有不少服务器的内存都达到上百吉字节,因此swap值的设置应根据实际情况而定。

③ 最后创建/分区。在创建/分区时,它的大小不需要设置(不设置/分区的大小就是把剩余的全部空间都划分给它)。确定设置后,在弹出的另外一个界面中设置磁盘类型为LVM、文件系统类型为ext4(注意,由于创建swap分区时卷组名称为system,因此/分区的卷组也应该是system)。

图2-7所示的是分区创建完成后的界面。如果参数设置没有问题就单击左上角的“Done”按钮,并在弹出的警告信息中确认。图2-7 磁盘分区创建后的相关参数

在开始安装系统前的最后一项工作是设置主机名和相关的网络参数。在设置这些参数时先打开“NETWORK & HOSTNAME”(网络和主机名)界面,在该界面上的左侧可以设置主机名,在右侧可以设置网络参数,如图2-8所示。图2-8 主机名及相关的网络参数设置界面

主机名可自选,例如将主机名设置为system;关于网络的设置,如果是设置动态IP地址就打开右上角的开关,如果是设置静态IP时就单击“Configure”按钮并在打开的界面中设置网络参数,如图2-9所示。图2-9 网络参数的设置

这里的网卡名称先不要管,这是新版本使用的命名方式,后面会进行介绍。注意,在完成每个IP地址及相关的参数设置时建议使用回车键,不然可能会出现无法保存的现象。另外,设置DNS时可以在“DNS servers”处设置,或单击“Routes”按钮设置路由,完成后就可以保存,并在退回到上级界面时打开网卡的开关,然后看看参数是不是刚才设置的参数。(4)到此,系统安装前的准备工作完成,接着在系统安装概要(INSTALLATION SUMMARY)界面单击“Begin Installation”按钮开始安装系统。(5)在弹出的系统安装进度界面中,设置root用户的密码,设置root用户名密码时单击“ROOT SETTINGS”(见图2-10)并在弹出的界面中输入root用户的密码。注意,一定要在软件安装完成前设置密码或创建新的用户账户。图2-1 0系统root用户密码的设置

当然,如果需要一个普通用户的账户,就单击“USER CREATION”并在弹出的界面中分别输入用户账户和密码(如果安装了图形系统组件,建议创建普通用户账号)。(6)系统安装完成后单击“Reboot”按钮重启系统。(7)如果系统是以最小化或未安装桌面环境的方式安装,那么在首次重启后看到的是登录系统的界面,此时依次输入用户名root和密码就可以登录系统。图2-11所示的是文本工作界面。图2-1 1登录系统的界面(8)如果安装桌面环境,那么重启后首先看到的是协议,此时同意就可以了。(9)在Kdump设置界面上,如果不使用Kdump就在“Enable kdump”处取消并在弹出的确认窗口中确认。(10)其他的依次根据系统的提示进行设置,直到看到登录界面。(11)看到登录界面后输入用户名和密码,成功通过用户名和用户密码的验证后可看到如图2-12所示的CentOS 7的图形界面工作环境。图2-1 2 CentOS 7的图形界面注意关于登录,CentOS 7安装了图形界面后在登录系统前通常要先创建一个普通用户账号,但创建用户后就默认以该账户登录,如果要切换到root,就直接切换。

另外,登录后还需要做一些设置。这些设置就是选择默认的系统语言。关于系统默认语言的选择,建议将英文作为系统的默认语言。2.3 CentOS基础环境配置

系统安装完成后,默认的配置并不利于初期的使用,因此建议在系统登录后对系统的一些默认配置进行修改,使得使用时更加便捷。本节主要是对防火墙、SELinux及网络服务配置这3个部分的内容做简单的介绍。2.3.1 系统防火墙设置

在操作系统中开启防火墙,最主要的作用是防止非法尝试连接,减少系统被网络攻击成功的概率,使系统更安全。在学习、测试等环境中,为了避免因防火墙带来不必要的麻烦,建议暂时关闭防火墙。当然,对于内网的生产环境,也是可以关闭防火墙的。不过在刚安装系统后建议先关闭,等到部署应用并了解需要开放哪些端口后再启动防火墙,这样可以避免在应用的部署中出现一些意想不到的奇怪问题。

对于Red Hat内核系列的Linux系统的防火墙,iptables是系统默认且唯一的防火墙,并且已经跟随Linux多年。不过,在CentOS 7中已经使用firewalld作为系统默认的防火墙。当然,iptables依然还是存在的,只是需要关闭firewalld并安装iptables的组件并进行相关的配置。

在系统安装完成后,这个firewalld服务组件会在系统启动时自动启动并处于运行状态。关于firewalld服务的状态,可以通过service命令来查看。

从输出的信息中可以看到firewalld处于激活状态,这说明firewalld服务默认状态下是处于运行状态的,这就意味着默认的配置下系统只是开放一些特定的端口,而其他不常使用到的端口处于被禁止的状态,因此建议关闭防火墙。

关闭firewalld服务,可以使用service或使用systemctl工具。这里说的关闭防火墙可以是暂时关闭,也可以是关闭开机启动。如果是暂时关闭,可以执行下面的命令之一来关闭。(当然,关闭firewalld不仅仅是这些方式。)

例如,使用systemctl命令关闭frewalld服务,并在关闭后查看它的进程状态。

以上的关闭方式只是对当前有效,如果系统重启后防火墙也自己启动了,那么为了避免开机时防火墙启动,需要将firewalld服务的运行级别关闭。

iptables/ip6tables也一同被安装了,不过默认处于被禁止状态。2.3.2 系统SELinux设置

SELinux(Security-Enhanced Linux)是在Linux内核级别上提供一个灵活的强制访问控制系统(MAC),这个强制访问控制系统建立在自由访问控制系统(DAC)上。DAC是指系统的安全访问控制都是由系统管理员root自由管理。

SELinux为每一个用户、进程及文件定义了访问和传输的权限,并对所有这些对象之间的交互关系设定严格的权限,或是完全禁用(在大多数情况下)。然而,SELinux对于用户来说是完全透明的,普通用户根本感觉不到它的存在,只有系统管理员才需要考虑到这些策略。

SELinux提供非常具体的控制策略,且范围覆盖整个Linux系统,这为学习带来了一定的麻烦。为了避免这些策略带来的问题,应该将SELinux关闭,可使用以下命令来检查SELinux状态。

输出结果显示SELinux处于禁用状态,因此就不需要再关闭了。如果输出不是禁用状态,那么要禁用时,可以修改SELinux的配置/etc/selinux/config,并将SELINUX的值更改成禁用(值为disabled),具体如下:

由于SELinux属于内核级的服务,因此对SELinux做修改后需要重启系统,使其永久生效。2.3.3 系统网络服务配置

在完成CentOS 7的安装后,只要在安装系统的过程中配置了网络,就可以在登录系统后查看系统的网络参数,如使用ifconfig命令来查看系统IP地址等相关的网络参数。

不过需要注意一个问题,如果系统是以最小化的方式来安装,那么在执行ifconfig命令时可能会出现“-bash: ifconfig: command not found”的提示,原因是CentOS 7不再以ifconfig作为系统网络默认的管理工具。因此对于最小化安装的系统,要是有ifconfig命令就需要安装,否则就是有ip命令(该命令实际是用于替换ifconfig的,关于它的使用方法在后面会有介绍)。

从上面所输出的参数可以知道系统已经有了IP地址,此时可以在客户端上测试网络的状态,如打开Windows的DOS终端窗口,然后执行ping命令测试CentOS的IP地址的状态,具体如下:

测试结果显示,发送4个请求包全部接收并得到回复,丢包率为0,说明网络配置已经成功,IP地址可以使用。2.3.4 本地YUM服务配置

YUM是一个基于RPM管理的后台程序,能够从指定的服务器自动下载RPM安装包,且能够自动安装,能够有效地解决存在依赖性的软件包。

YUM也称为软件的仓库,它要正常工作就需要有属于自己的站点。YUM的站点既可以是http或ftp,也可以是本地的软件池,但必须包含rpm的header(在header中包括了rpm包的各种信息,如描述、功能、提供的文件和依赖性等),它要通过header来收集相关的信息并加以分析,才能自动地完成相关的工作。

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载