第一章:Linux操作系统安装以及服务控制

本章重点

Ø  CentOS系统的安装过程

Ø  启动、停止、重启服务的方法。

Ø  优化自动运行的系统服务。

1        CentOS

Red Hat公司代表着Linux操作系统的事实标准,而CentOS系统是基于红帽RHEL的源代码组件重构的社区版Linux操作系统。

Ø Red Hat企业版

Red Hat Enterprise Linux(简称RHEL),是红帽公司面向企业级应用推出的官方版本。目前最新的版本为7.x系列,它是面向企业应用的操作系统,它的应用包括网站、数据库、电子邮件、虚拟化、存储、云计算、高可用性等技术的全新支持(需要买维保)。

Ø CentOS社区版

CentOS的全称为Community Enterprise Operating System(社区企业操作系统),它并不属于红帽公司,而是基于红帽RHEL的源代码组件进行重构的社区版Linux操作系统(翻版),CentOS使用的是RHEL的源代码,但是这些源代码是红帽公司开源发布的,所以CentOS的使用者不会遇到任何版权问题。不过需要使用者自己进行维护(不需要买维保)。

2        安装CentOS操作系统

2.1          虚拟机安装

2.1.1     下载CentOS

国内有几个个开源的镜像网站“网易镜像站”、“清华大学开源镜像站”、“阿里云开源镜像站”百度一下就可以找到,然后在镜像站下找到需要的操作系统就可以下载了。

2.1.2     创建虚拟机

由于Linux需要的系统资源不高,在实验的环境下如需安装图形化界面内存不少于2G、硬盘不少于20G即可。

2.1.3     安装CentOS

插入光盘,开机后将自动从光盘引入CentOS安装程序,这个界面会出现几个选项。

u  Install CentOS 7:直接安装CentOS 7

u  Test this media & install CentOS 7:先测试安装介质并安装CentOS 7

u  Troubleshooting:用来测试内存和启动救援模式修复已存在的CentOS。修复选项还包括以下几个子选项:

l  install CentOS Linux 7 in basic graphic mode:以基本图形用户模式安装CentOS 7(使用标准显卡来设置安装步骤图示)

l  Rescue a CentOS Linux system:选择该选项可以修复已安装的无法正常引导的CentOS

l  Run a memory test:在系统中运行内存测试

l  Boot from local drive:从本地硬盘引导启动系统,不由光盘启动。

2.2          配置安装程序

2.2.1     选择安装程序的显示语言

安装程序默认为English(英文),因为Linux下的程序均为英文显示,建议大家使用English,不过对于没有英文基础的学生来说请选择“简体中文”。然后点击“Continue”按钮继续。

2.2.2     查看安装信息摘要

安装程序将需要用户设置的信息分为三部分:本地化、软件和系统。带有“感叹号”的选项必须手动配置。

ü  本地化:设置日期和时间、键盘、语言支持

ü  软件:安装源、软件选择。

n  对于初学者来说,在软件选择选项下最好选择GNOME桌面、兼容性程序库、开发工具。

ü  系统:安装位置、KDUMP、网络和主机名、SECURITY POLICY

n  安装位置:打开安装位置选项后会看到本地标准磁盘、专用磁盘&网络磁盘、其它存储选项。

u  本地标准磁盘:会看到创建虚拟机是添加的那一块40G的空闲磁盘。

u  专用磁盘&网络磁盘:这里可以添加其它磁盘。

u  其它存储选项:有三个子选项

l  自动配置分区:系统自动分配磁盘空间(这种方式比较浪费系统资源)

l  我要配置分区:重点难点

n  标准分区:就是我们一直谈的分区

n  LVM:这是一种可以弹性增加或缩小文件系统容量的分区。

n  LVM精简配置:LVM的高级版这个选项可以让你在使用多少容量才分配多少容量给你。

n  ext2/ext3/ext4:这是Linux早期使用的文件系统类型。由于ext3/ext4文件系统多了日志功能,对于系统的恢复比较快速,不过由于磁盘容量越来越大,ext似乎有点挡不住了,所以除非你有特殊的设置需求,否则少用ext文件系统。

n  BIOS Boot:就是GPT分区表可能会使用的东西,若你使用MBR,那就不需要这个东西了

n  xfs:这个是目前CentOS 7默认的文件系统,最早是为大型服务器开发,他对于大容量的磁盘管理非常好

n  vfat:同时被Linuxwindows所支持的文件系统类型。

n  swap:交换文件系统,用于为Linux操作系统建立交换分区,单内存不足的时候,系统将调用swap分区充当内存。

文件系统与目录树的关系(挂载)

所谓的“挂载”就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下;也就是说进入该目录就可以读取该分区的意思。(windows也用挂载的概念,当你拿U盘连接到你的windows时,系统会检测到一个H盘,那你想要读取U盘数据,要去哪里?当然去H盘)

2.3    Linux操作系统的引导过程

2.3.1     MBRMS-DOS)与GPT磁盘分区表

早期磁盘的第一个扇区含有的重要信息我们称为MBRmaster boot record)格式,但是由于近年来磁盘容量的不断扩大,造成读写上的不便,甚至有些2TB的磁盘分区已经让某些操作系统无法存取,因此后来又多了一个新的磁盘分区格式,称为GPT,这两种分区格式与限制大不相同。

2.3.2     MBR分区表格式与限制

早期Linux系统为了兼容windows的硬盘,因此使用的是MBR(主引导记录)的方式来处理启动引导程序与分区表。而启动引导程序记录区与分区表区则通通放在磁盘的第一个扇区,这个扇区通常是512字节的大小,第一个扇区的512字节主要会有这两个东西

u  主引导记录(Master Boot RecordMBR):可以安装启动引导程序的地方,有446字节

u  分区表(Partition table):记录整块硬盘分区的状态,有64字节。

由于分区表所在的区块仅有64字节容量,因此最多仅能有四组记录区,每组记录区记录了该区段的启始与结束的柱面号码。若将硬盘以长条形来看,然后将柱面图来看,那么那64字节的记录区段有点像下面图:

假设上面的硬盘设备文件名为/dev/sda时,那么这四个分区在Linux系统中的设备文件名如下所示,重点在于文件名后面会再接一个数字,这个数字与该分区所在的位置有关:

u  P1/dev/sda1

u  P2/dev/sda2

u  P3/dev/sda3

u  P4/dev/sda4

第一章:Linux操作系统安装以及服务控制_1


 

 

上图中我们假设硬盘只有400个柱面,共划分为四个分区,第四个分区所在为第301~400号柱面的范围。当你的操作系统为windows时,那么第一到第四个分区的代号应该就是CDEF。当你有数据写入F区时,你的数据会被写入这块磁盘的301~400号柱面之间的意思。

由于分区表就只有64字节而已,最多只能容纳四组分区记录,这四个分区的记录被称为主要(Primary)或扩展(Extended)分区。根据上面的图与说明,我们可以得到几个重点信息:

u  其实所谓的分区只是对那个64字节的分区进行设置而已

u  硬盘默认的分区表仅能写入四组分区信息

u  这四组划分信息我们称之为主要(Primary)或扩展(Extended)分区

u  分区的最小单位通常称为柱面(Cylinder

u  当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理。

MBR主要分区,扩展分区的特性我们做一个简单的定义。

u  主要分区与扩展分区最多可以有4

u  扩展分区最多只能有一个

u  逻辑分区是由扩展分区持续划分出来的分区

u  能够被格式化后作为数据存取的分区是主要分区与逻辑分区,扩张分区无法格式化

u  逻辑分区的数量依操作系统而不同,在Linux系统中SATA硬盘已经可以突破63个以上的分区限制。

2.3.3     启动流程中的BIOS启动检测程序

BIOS是写入到主板上的一道程序,这个BIOS就是在启动的时候,计算机系统会主动执行的第一个程序,接下来BIOS会去分析计算机有哪些存储设备,BIOS会依据用户的设置去取得能够启动的硬盘,并且到该硬盘里面去读取第一个扇区的MBR位置。MBR这个仅有446字节的硬盘容量里面会放置最基本的启动引导程序,此时BIOS就功成圆满,而接下来就是MBR内的启动引导程序的工作了。

这个启动引导程序的目的是在加载内核文件,由于启动引导陈序是操作系统在安装的时候所提供的,所以它会认识硬盘内的文件系统格式,因此就能够读取内核文件,然后接下来就是内核文件的工作,启动引导程序与BIOS也功成圆满了

简单地说,整个启动流程到操作系统之间的过程应该是这样的:

1.         BIOS:启动主动执行的程序,会认识第一个可启动的设备。

2.         MBR:第一个可启动设备的第一个扇区内的主引导记录块,内涵启动引导代码

3.         启动引导程序(boot loader):一个可读取内核文件来执行的软件

4.         内核文件:开始启动操作系统。

5.         init进程初始化

2.3.4     系统初始化进程以及文件

2.3.4.1    init进程

Linux操作系统中的进程使用数字进行标记,每个进程的身份标记号码为PID。在引导Linux操作系统的过程中,“/sbin/init”是内核第一个加载的程序,因此init进程对应的PID号总是为1.

2.3.4.2    Systemd概述

SystemdLinux操作系统的一种init软件,CentOS 7系统中采用了全新的Systemd启动方式,取代了传统的SysVinit

3        服务控制以及优化启动过程

3.1    系统服务控制

CentOS系统中,各种系统服务的控制脚本默认放在/usr/lib/systemd目录下。通过systemctl命令工具可以实现对指定系统服务的控制,语法格式如下:

systemctl        控制类型         服务名称

对于大多数系统服务来说,常见的几种控制类型如下所述

u  start(启动):运行指定的系统服务程序,实现服务功能

u  stop(停止):终止指定的系统服务程序,关闭相应的功能

u  restart(重启):先退出,在重新运行指定的系统服务程序

u  reload(重载):不退出服务程序,只是刷新配置

u  status(查看状态):查看指定的系统服务的运行状态以及相关信息。

例:关闭防火墙

[root@localhost ~]#systemctl stop firewalld.service

[root@localhost ~]#systemctl disable firewalld.serivce

查看防火墙状态

[root@localhost ~]#systemctl status firewalld.service

重启防火墙

[root@localhost ~]#systemctl restart   firewalld.service

重新加载防火墙

[root@localhost ~]#systemtel reload firewalld.service

3.2       切换运行级别

不同的target代表系统运行不同的运行状态,所启用的服务或程序也不一样。例如,对于互联网中的网站、电子邮件等服务器来说,只需要运行文本模式就可以了,启用图像化桌面程序主要是为了做一下图片类的编辑。

3.2.1     查看系统的target

       [root@localhost ~]#runlevel

3.2.2     查看系统启动时默认的target

       [root@localhost ~]#systemctl get-default

3.2.3     切换系统的target

       [root@localhost ~]#init 3

   或者

       [root@localhost ~]#systemctl                  ioslate      multi-user.target

   通过切换target操作机还可以关机和重启。

   关闭当前系统

        [root@localhost ~]#init 0

   重启当前系统

        [root@localhost ~]#init 6

   因为级别06又分别对应着systemd的“poweroff.target”和“reboot.target”因此关闭和重启也可以这样写

        [root@localhost ~]#systemctl poweroff

        [root@localhost ~]#systemctl reboot

3.3    优化启动过程

3.3.1     使用ntsysv工具

ntsysv工具可以在字符模式中运行,为用户提供一个仿图形的交互式操作界面,专门用于集中配置各种系统服务状态。当需要同时设置多个服务启动状态时,使用ntsysv工具会比较方便

3.3.2     使用systemctl工具

systemctl不提供交互式操作界面,它用于查询或设置系统服务的默认启动状态 

systemctl        控制类型         服务名称

常见的选项有三种

u  enable:开机自动启动

u  disable:开机自动关闭

u  is-enable:查看开机启动状态

开机开启防火墙

[root@localhost ~]#systemctl enable firewalld.service

查看防火墙开机启动状态

[root@localhost ~]#systemctl is-enabled firewalld.service

开机关闭防火墙

[root@localhost ~]#systemctl disable firewalld.service

查看当前系统中所有已激活的系统服务

[root@localhost ~]#systemcrl list-units --type=service

4        重点回顾

Ø  磁盘的第一个扇区主要记录了两个重要的信息,分别是(1)主引导记录(Master Boot RecordMBR)可以安装启动引导程序的地方,有446字节;(2)分区表(partition table):记录整块硬盘分区状态,有64字节。

Ø  磁盘的MBR分区方式中,主要与扩展分区最多有四个,逻辑分区的设备文件号码,一定由5开始。

Ø  如果磁盘容量大于2TB以上是时,系统会自动使用GPT分区方式来处理磁盘分区。

Ø  GPT分区已经没有扩展与逻辑分区的概念,你可以想象成所有分区都是主要分区

Ø  开机的流程由:BIOS--->MBR--->引导启动程序--->内核文件

Ø  引导启动程序的功能主要由:提供选项,加载内核,转交控制权给其他引导程序

Ø  引导启动程序可以安装的地点有两个,分别是MBR与引导扇区。

Ø  建议练习机安装时的磁盘区能有//boot/home,交换分区等四个分区。

Ø  安装CentOS7.x的模式至少有两种,分别是图形用户界面与命令行模式

Ø  CentOS 7会主动依据你的磁盘容量判断要用MBRGPT分区格式,你也可以强制使用GPT格式

Ø  一般要求交换分区应该为物理内存的1.5~2倍,但即使没有交换分区依旧能够安装与运行Linux操作系统。

Ø  CentOS 7默认使用xfs作为文件系统