接下来,我们开启 CentOS的安装之旅。
CentOS 7.x可安装在 i386、x86_64的 CPU硬件平台上,我们使用的个人计算机多从 i386发展而来,现在到了 i686,是向下兼容的;而 x86_64则是用于 x86 CPU架构的64位硬件平台。也就是说,如果是 32位的 CPU,则安装 i386版本;如果是 64位的 CPU,则安装 x86_64 版本。所以需要下载正确的安装版本,才可顺利安装。CPU 的信息可在开机时进入 BIOS查看。不过一般 32位或 64位的硬件平台都可以运行 32位的操作系统,作为学习来说,倒是没有大碍,像上面提及的出错情况较少发生。若使用 VMware安装,则下载 i386的版本即可。
试验环境使用 32位操作系统消耗的资源更小,推荐使用 32位操作系统。不过需要注意的是,32位的操作系统,理论上最大只支持 2的 32次方 bit大小的内存,约为 4GB。这么小的内存支持量,明显已经不适合生产环境的真实服务器了,所以如果在真实服务器上,则必须安装 64位的操作系统。
CentOS 7.x官网目前主要提供两个版本可供下载(之前一段时间,官网还提供一种Everything ISO,目前官网已经不提供此版本了)。
· DVD ISO:这是 CentOS标准安装版本,里面包含了 CentOS安装所需的绝大多数软件包,大多数情况下请选择此版本。
· Minimal ISO:最小化安装版本,里面提供了安装 CentOS所需的最少软件包组合。如果在生产服务器上,我们推荐最小化安装,需要什么软件再手工进行安装,这样占用的系统资源更小。但是这个版本对初学者来讲,很多基本的命令和工具都没有安装,使用起来并不方便,所以推荐初学者使用 DVD ISO版本。
我们下载并使用 DVD ISO版本的 CentOS。
在光驱中放入安装光盘,或者在虚拟机光驱设置中直接指定下载的 ISO镜像。推荐使用后者,比较环保。然后单击“开启此虚拟机”按钮启动虚拟机,在启动界面按 F2键,进入虚拟机的 BIOS设置(注意:要用鼠标单击虚拟机后,再按 F2键)。
现在的计算机由于性能强大,虚拟机模拟的启动界面速度非常快,按 F2 键的时间变得非常短暂,用户很难来得及按 F2键。所以虚拟机提供了启动直接进入 BIOS设置的按钮,单击绿色启动三角旁的小箭头,可以看到启动选项,选择“启动时进入 BIOS”,如图 2-16所示。
图2-16 启动时进入 BIOS
进入虚拟机 BIOS后,会看到如图 2-17所示的界面。
在此界面中,按箭头键移动光标,按加号键或减号键改变键值,按 Esc键退出,按Enter键确定,按 F10键保存退出。
移动光标到 Boot(启动)项,修改启动顺序。把光标移动到 CD-ROM Drive(光驱)上,按加号键把 CD-ROM Drive变为第一项,让光盘成为第一启动设备,如图 2-18所示。
图2-17 虚拟机 BIOS界面
图2-18 修改启动顺序
务必记得在 Linux系统安装完成后,要改回 Hard Drive(硬盘驱动)为第一启动设备,否则每次启动虚拟机,都将进入 Linux安装界面。
按 F10 键保存退出后,就能看到 Linux 的安装欢迎界面了,如图 2-19 所示。以下Linux安装过程和在真实计算机中安装没有任何差别。
在安装欢迎界面上有以下 3个选项。
· Install CentOS 7:安装 CentOS 7,请选择此项。
· Test this media&install CentOS 7:测试光盘镜像并安装 CentOS 7,注意此选项是默认选项。
· Troubleshooting:故障排除。
这里默认选项是“Test this media&install CentOS 7”,这个选项会先检测光盘,这个检测非常浪费时间,而且没有太大的意义。所以请选择“Install CentOS 7”,直接安装CentOS 7即可。
如果选择了“Troubleshooting”,则会出现新的选项,如图 2-20所示。
图2-19 Linux的安装欢迎界面
图2-20 故障排除
这里有以下几个选项。
· Install CentOS 7 in basic graphics mode:使用基本图形模式安装 CentOS 7,就是字符界面。
· Rescue a CentOS system:进入系统修复模式。
· Run a memory test:内存检测。
· Boot from local drive:从本地硬盘启动。
· Return to main menu:返回主界面。
这些选项是进行 Linux高级安装操作的选项,如“Rescue a CentOS system”这个选项就是修复 Linux系统错误使用的,我们会在启动章节讲解修复模式的使用方法,这里先忽略这些选项。
我们这里选择“Install CentOS 7”开始 Linux安装。
注意 :在虚拟机系统和宿主机系统之间,鼠标是不能同时起作用的。如果从宿主机进入虚拟机,则需要单击虚拟机;当从虚拟机返回宿主机时,按 Ctrl+Alt组合键退出。
等待一会,就会进入选择安装系统默认语言的界面,这里可以根据需要选择你需要的语言,我们当然建议大家选择“简体中文(中国)”,如图 2-21所示。
图2-21 默认语言选择
单击“继续”按钮,进入“安装信息摘要”界面。CentOS 7安装过程所需要的信息全部都在这一个界面中进行配置,不再像之前的 CentOS 版本,一步一步进行配置,如图 2-22所示。
图2-22 安装信息摘要
这里需要配置的内容很多,可以通过鼠标滚轮进行调节。我们一个一个来看,首先选择“日期和时间”,进入日期和时间配置界面。这里可以设定时区、时间和日期,时区有“上海”和“乌鲁木齐”,可以根据实际情况进行选择。
设置好之后,单击“完成”,会返回“安装信息摘要”界面。接下来的“键盘”使用默认选项即可,我们就不多介绍了。
我们接下来选择“语言支持”选项,有读者会问,我们之前不是已经选择语言了吗?怎么还要选择?大家注意,之前选择的语言是系统的默认语言,只能选择一个;而这里选择的是系统支持语言,可以选择多个。也就是说,如果除了支持中文之外,还想支持其他的语言,就可以在这里选择。如图 2-23所示,大家如果仔细看,会发现这里的语言选择提供了复选框,代表可以选择多种语言。
图2-23 选择系统支持语言
单击“完成”,返回“安装信息摘要”界面。接下来我们选择“安装源”选项,会看到“安装源”界面。这里可以选择本地安装源或网络安装源。这里使用默认的本地光盘安装源即可,如图 2-24所示。
图2-24 “安装源”界面
单击“完成”,返回“安装信息摘要”界面。接下来我们单击“软件选择”选项,会进入“软件选择”界面,如图 2-25所示。
图2-25 “软件选择”界面
在“软件选择”界面中,左半边是选择安装的软件包基本环境,而右半边是已选环境中可以选择的附加选项。
左边的“基本环境”中,后三种“GNOME桌面”“KDE Plasma Workspaces”“开发及生产工作站”安装之后,Linux拥有图形界面。对服务器端的 Linux来说,图形界面会占用更多的资源,开启更多的服务,这会使服务器的性能和安全性下降,所以我们建议不要选择这三种安装方式。
如果站在服务器端的角度,我们建议选择“最小安装”。“最小安装”的优点在于安装的软件少,系统占用的资源更少;而且安装的软件少,出错的概率也小。这种安装的缺点在于不方便使用,安装的软件少,导致大量的常用工具及命令没有安装,需要手工安装。而服务器主要追求的是安全与稳定,那么明显“最小安装”在安全性与稳定性上占有优势。至于不方便使用,可能就不是专业运维工程师所考虑的问题了。
至于其他安装选项,主要可以在安装系统的时候,同时安装一些程序及服务。例如“基础设施服务器”是在常规安装的基础之上,可以选装 Linux常用服务,如 DNS、FTP等;“虚拟化主机”是在常规安装的基础之上,安装了 KVM、Virtual Machine Manager等虚拟化组件。这些组件都可以在“最小安装”之后手工进行安装。
我们这里选择“最小安装”,同时在右侧勾选“调试工具”“兼容性程序库”“开发工具”这三个子选项,这能在最小化安装基础之上,安装一些系统必备的工具。
单击“完成”,返回“安装信息摘要”界面。接下来单击“安装位置”,会进入“安装目标位置”界面,也就是分区的界面。在这个界面下,可以选择“添加硬盘”来给 Linux加入新的硬盘。分区选项中,我们可以选择“自动配置分区”,这样 Linux会自动进行分区;也可以选择“我要配置分区”,这是手工分区的方式,如图 2-26所示。
图2-26 “安装目标位置”界面
如果选择“自动配置分区”,则默认会使用 LVM(逻辑卷管理)方式进行分区,而读者目前只是初学状态,LVM我们会在高级文件系统管理章节再进行探讨。所以我们目前选择“我要配置分区”,来进行手工分区设置。
勾选“我要配置分区”,然后单击“完成”,会进入“手动分区”界面,如图 2-27所示。
图2-27 “手动分区”界面
硬盘分区是本章的重点和难点,我们需要单独进行讲解。硬盘分区是使用分区编辑器在硬盘上划分几个逻辑部分,并写入相应的文件系统。硬盘一旦被划分成数个分区,不同类的目录与文件就可以存储进不同的分区。在 Linux中,给一块硬盘分区,主要需要 4个步骤:分区、格式化、指定设备文件名和挂载。我们一步一步来介绍这 4个步骤。
1.硬盘的分区
(1)分区的概念
我们举个例子来解释一下分区的概念。硬盘为什么一定要分区呢?想象一下,编者在办公室里做了一个和墙一样大的柜子,可是我很粗心,做柜子的时候没有把大柜子分成合适大小的小柜子,而且柜子中间也没有打隔断。那么我们把所有的办公用品全部放入这个不合理的柜子中,有一天要从柜子中找一份教学计划,我还能找到这份文件吗?答案是当然能够找到,但是本来很轻易地拿出文件的一个动作,可能会变成整个柜子中文件的大清理,用了几天时间才能找到所需的文件。如图 2-28所示,如果柜子做成这样,查找文件的效率就会极低。
硬盘也是如此,如果所有数据没有差别地全部胡乱塞入硬盘,那么数据的读取效率会非常低。所以需要先把硬盘分区(也就是把大柜子按照使用的要求分成多个小柜子),这样不同的数据保存到不同的分区中,管理起来效率就会更高,如图 2-29所示。
图2-28 柜子示意图
图2-29 硬盘分区
(2)硬盘分区的类型
可是硬盘当中分区到底可以分多少个呢?最开始的时候,硬盘分区只有一种类型,就是主分区,但是由于 MBR(主引导记录)中只保留了 64 B存储空间,而每个分区要用 16 B,所以一块硬盘只能分成 4个主分区。当硬盘很小的时候,4个主分区足够使用;但是随着硬盘容量的不断增加,4 个分区已经不能满足我们的工作需要了。这时为了分配更多的分区,就出现了扩展分区和逻辑分区。
· 主分区。由于 MBR的限制,最多只能分配 4个主分区。
· 扩展分区。扩展分区在一块硬盘上只能有 1个,而且扩展分区和主分区是平级的,也就是说,主分区加扩展分区最多只能有 4个。扩展分区不能直接写入数据,也不能格式化,需要在扩展分区中再划分出逻辑分区才能使用。
· 逻辑分区。逻辑分区是在扩展分区中再划分出来的。在 Linux系统中,IDE硬盘最多有 59个逻辑分区(加 4个主分区最多能识别 63个分区),SCSI硬盘最多有11个逻辑分区(加 4个主分区最多能识别 15个分区)。
这三种分区可以用图 2-30表示。在图 2-30中,分区 1、2、3是主分区,分区 4是扩展分区,而分区 5和 6是逻辑分区。扩展分区不能写入数据,也不能格式化,唯一的作用就是包含逻辑分区。大家可以理解为柜子 4是一个大柜子,这个柜子不能放文件,只能在里面放小柜子(逻辑分区)。
图2-30 分区类型
2.格式化
分区有了,就可以向里面存储数据了吗?当然不是。我们还用柜子来说明,大柜子分成了小柜子就能放文件了吗?还是不行,柜子当然要打入隔断,才能放入数据,如图 2-31所示。
图2-31 格式化示意图
对柜子来讲,格式化就是打入隔断;对硬盘来讲,格式化的目的是写入文件系统。很多人认为格式化是为了清空数据,这个概念是错误的。目前常见的文件系统有以下几种。
· Ext3文件系统:Ext2文件系统的升级版本,带日志功能,支持最大 16TB的分区和最大 2TB的文件(1TB=1024GB=1024×1024MB)。而且 Ext3文件系统最大只支持 32000个子目录。
· Ext4文件系统:Ext3文件系统的升级版,向下兼容 Ext3文件系统,支持无限量子目录,支持最大 1EB(1EB=1024PB=1024×1024TB)的文件系统(分区)和最大 16TB的文件。这是 CentOS 6.x默认的文件系统。
· BTRFS文件系统:通常读为 Butter FS,是在 2007年 Oracle发布的文件系统,支持最大 16EB的文件系统(分区),最大文件大小是 16EB。它拥有强大的扩展性、数据一致性,支持快照和克隆等一系列先进技术。可是很遗憾,BTRFS 读写速度上非常缓慢,甚至连 Ext4 或 XFS 文件系统的一半都达不到,这使得 BTRFS的实用性大大降低。目前 CentOS 7.x虽然支持 BTRFS文件系统,但是并不推荐大家使用。
· XFS文件系统:一种高性能的日志文件系统,于 2000年左右移植到 Linux内核中。XFS 特别擅长处理大文件,同时提供平滑的数据传输。XFS最大支持 18EB的文件系统和 9EB的单个文件。这是 CentOS 7.x的默认文件系统。
· FAT32文件系统:早期 Windows的文件系统,支持最大 32GB的分区和最大 4GB的文件。
· NTFS文件系统:现在 Windows的主流文件系统,比 FAT32更加安全、速度更快,支持最大 2TB的分区和最大 64GB的文件。
把硬盘当成柜子,格式化就是按照文件系统的要求,把分区分成等大小的数据块(默认 4KB)。可以理解为将小柜子分成等大小的抽屉,并在柜子门上贴上标签,标签上写明每个文件的索引号、访问时间、权限、数据保存在哪个抽屉中等信息。硬盘有了这样的隔断,才可以真正地保存数据。不过在写入文件系统的时候,会顺带清空分区中的数据,就像给柜子打隔断,当然要先取出柜子内的所有文件一样。
3.指定设备文件名
在 Windows中,在硬盘分区并格式化之后,只要分配盘符就可以使用了。而在 Linux中,还需要给分区分配一个设备文件名。Linux中所有的硬件都被当成一个文件来对待,分区当然也是文件。既然是文件,当然就有文件名,不过把硬件的文件名称为设备文件名。分区的设备文件名有固定的命名方式。常见的设备文件名见表 2-1。
表2-1 常见的设备文件名
(1)IDE硬盘接口
IDE(Integrated Drive Electronics,电子集成驱动器)硬盘也称“ATA硬盘”或“PATA硬盘”,ATA100的硬盘理论传输速率是 100MB/s。在 Linux中,IDE硬盘接口被标识为“hd”,如图 2-32所示。
图2-32 IDE硬盘接口
(2)SCSI硬盘接口
SCSI(Small Computer System Interface,小型计算机系统接口)硬盘广泛应用在服务器上,具有应用范围广、多任务、带宽大、CPU占用率低及支持热插拔等优点。其理论传输速率达到 320MB/s。在 Linux中,SCSI硬盘接口被识别为“sd”,如图 2-33所示。
图2-33 SCSI硬盘接口
(3)SATA硬盘接口
SATA(Serial ATA,串口硬盘)硬盘是速度更高的硬盘标准,具备了更高的传输速率,并具备了更强的纠错能力。目前已经是 SATA三代,理论传输速率达到 600MB/s。目前 SATA硬盘接口已经取代 IDE硬盘接口和 SCSI硬盘接口,成为主流的硬盘接口。在 Linux中,SATA硬盘接口也被识别为“sd”,如图 2-34所示。
图2-34 SATA硬盘接口
也就是说,在 Linux 中使用“/dev/sd”代表 SCSI 或 SATA 接口的硬盘,而使用“/dev/hd”代表 IDE接口的硬盘。“a”代表第一块硬盘,“b”代表第二块硬盘,以此类推。知道了硬盘的设备文件名,那分区又该如何表示呢?我们通过图 2-35来说明分区的设备文件名。
图2-35 分区设备文件名示意图1
在 Linux中用 1、2、3和 4代表主分区的分区号,而从 5开始代表逻辑分区。也就是说,主分区 1用/dev/sda1表示,主分区 2用/dev/sda2表示,主分区 3用/dev/sda3表示,扩展分区用/dev/sda4表示,逻辑分区 1用/dev/sda5表示,逻辑分区 2用/dev/sda6表示,逻辑分区 3用/dev/sda7表示。
如果我们采用如图 2-36所示的方式来分区呢?
图2-36 分区设备文件名示意图2
主分区 1用/dev/sda1表示,扩展分区应该用/dev/sd2表示,可是逻辑分区 1还是用/dev/sda5表示,逻辑分区 2还是用/dev/sda6表示,逻辑分区 3还是用/dev/sda7表示。因为虽然分区号 3和 4是空闲的,但是分区号 1~4只能用来表示主分区和扩展分区,所以逻辑分区在任何分区情况下都是从 5开始计算的。
4.挂载
Linux中的挂载可以当成 Windows中的分配盘符,只不过 Windows的盘符是 C、D、E等字母,而 Linux的盘符是目录。在 Linux中把盘符称为挂载点。这是分区的最后一步,只要给分区分配了挂载点,就可以正常使用分区了。
(1)Linux基础分区
Linux系统安装必须划分的分区有两个:
· 一个是根分区“/”,在硬盘不太大时,建议根分区越大越好,主要用于存储数据。而现在的硬盘都以 TB计量了,这时如果给根分区分配太大的空间,存储太多的数据,是有可能降低系统的性能的。所以目前不建议根分区越大越好,而是建议给根分区几十 GB足够使用即可,剩余空间可以分配在真正存储数据的分区(如/home分区,或建立/web分区,用于存储网页数据)。
· 另一个是虚拟内存分区“swap”。swap分区的作用可简单描述为:当系统的物理内存不够用时,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到 swap 分区中,等到那些程序要运行时,再从 swap 分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行 swap分区交换。其实,swap分区的调整对 Linux 服务器,特别是 Web服务器的性能至关重要。通过调整 swap 分区,有时可以越过系统性能瓶颈,节省系统升级费用。
现代操作系统都实现了“虚拟内存”这一技术,不但在功能上突破了物理内存的限制,使程序可以操纵大于实际物理内存的空间,更重要的是,“虚拟内存”是隔离每个进程的安全保护网,使每个进程都不受其他程序的干扰。
计算机用户经常会遇到这种现象:在使用 Windows系统时,可以同时运行多个程序,当你切换到一个很长时间没有理会的程序时,会听到硬盘“哗哗”直响。这是因为这个程序的内存被那些频繁运行的程序给“偷走”了,放到了 swap分区中。因此,一旦该程序被放置到前端,它就会从 swap分区中取回自己的数据,将其放进内存,然后接着运行。
需要说明一点,并不是所有从物理内存中交换出来的数据都会被放到 swap 分区中(如果这样做,swap分区就会不堪重负),有相当一部分数据被直接交换到文件系统中。例如,有的程序会打开一些文件,对文件进行读/写(其实每个程序至少要打开一个文件,那就是运行程序本身),当需要将这些程序的内存空间交换出去时,就没有必要将文件部分的数据放到 swap分区中了,而可以直接将其放到文件中。如果是读文件操作,那么内存数据被直接释放,不需要交换出来,因为当下次需要时,可直接从文件系统中恢复;如果是写文件操作,那么只要将变化的数据保存到文件中,以便恢复。
分配太多的 swap分区会浪费硬盘空间,而 swap分区太小,如果系统的物理内存用完了,系统就会运行得很慢,但仍能运行;如果 swap分区用完了,系统就会发生错误。例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程),如果 swap分区用完了,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此,swap分区的分配是很重要的。
通常情况下,swap 分区应大于或等于物理内存的大小,一般官方文档会建议 swap分区的大小应是物理内存的 2倍。但现在的服务器通常有 16GB/32GB内存,是不是 swap分区也要扩大到 32GB/64GB呢?其实,大可不必。根据服务器实际负载、运行情况及未来可能的应用来综合考虑 swap分区的大小即可,如桌面系统,只需要较小的 swap分区;而服务器系统,尤其是数据库服务器和 Web服务器,则对 swap分区要求较高。我们推荐的 swap分区设置如下:
· 4GB或 4GB以下内存的系统,最少需要 2GB swap分区。
· 大于 4GB而小于 16GB内存的系统,最少需要 4GB swap分区。
· 大于 16GB而小于 64GB内存的系统,最少需要 8GB swap分区。
· 大于 64GB而小于 256GB内存的系统,最少需要 16GB swap分区。
swap分区设置过大,是对硬盘空间的浪费,而对系统性能不会产生太大的影响。
学习用的实验环境,swap分区不需要超过 2GB。
(2)Linux的常用分区
除根分区和 swap分区外,其他也可单独划分出来的分区如下。
·/boot/:存放 Linux系统启动所需文件。我们建议给/boot单独分区,分配 500MB空间。任何系统启动都需要一定的空闲空间,如果不把/boot 单独分区,那么,一旦根目录写满,系统将无法正常启动。
·/usr/:存放 Linux 系统所有命令、库、手册页等,类似 Windows 系统引导盘 C盘的 Windows目录。
·/home:用户宿主目录,用于存放用户数据。
其他应用分区,如专门划分一个分区“/web/”用于存放 Web服务器文件;或者创建一个用于本地和远程主机数据备份的分区“/backup/”;初学者创建一个专门用于练习的分区“/test”……都可以视服务器需求来决定。
(3)不能单独分区的目录
不过大家需要小心,并不是所有目录都可以单独分区,有些目录必须和根目录(/)在一个分区中,因为这些目录是和系统启动相关的,如果单独分区,系统就无法正常启动,如下所示。
·/etc/:配置文件目录。
·/bin/:普通用户可以执行的命令保存目录。
·/dev/:设备文件保存目录。
·/lib/:函数库和内核模块保存目录。
·/sbin/:超级用户才可以执行的命令保存目录。
(4)Linux的目录结构
Linux采用树形目录结构,最高一级目录是根目录(/),根目录下保存一级目录,一级目录下保存二级目录,如图 2-37所示。
Linux 系统的每个目录(除不能单独分区的目录外)都可以划分为分区,包括自己手工建立的新目录。它们从 Linux层面上看都是根目录的子目录,但是从硬盘层面上看是并列的。也就是说,给“/”分了一个区,也可以给“/home”单独分区,从 Linux层面上看“/home”目录是“/”目录的子目录,但是从硬盘层面上看“/home”分区有单独的存储空间,在“/home”下写入的内容会写到不同的硬盘存储空间上,如图 2-38所示。
图2-37 Linux的目录结构
图2-38 分区硬盘空间
简单总结一下 Linux硬盘分区的 4个步骤:第一步是分区,把大硬盘分为逻辑上的小硬盘;第二步是分区格式化,也就是给分区写入文件系统;第三步是给分区指定设备文件名;第四步是分配挂载点。
我们介绍完了分区的基本知识,继续回到 CentOS 7.x的安装过程。在手动分区界面,我们可以单击“新挂载点将使用以下分区方案”,会出现分区方案选择界面,这里我们选择“标准分区”。“Btrfs”文件系统并不是 CentOS 主要使用的文件系统,我们就不再讨论;而“LVM”我们会在高级文件系统管理章节再进行介绍,如图 2-39所示。
图2-39 选择标准分区
在选择“标准分区”之后,我们可以单击“+”来新建分区。我们先分/boot 分区,给它 500MB的空间足够了,如图 2-40所示。
图2-40 建立/boot分区
单击“添加挂载点”之后,/boot分区就会建立完成,如图 2-41所示。
图2-41/boot分区建立完成
然后可以接着单击“+”创建更多分区,当然如想要删除分区可以单击“-”。我们这里只分最基本的“/”“/boot”“swap”三个分区即可。分区完成,如图 2-42所示。
图2-42 分区完成
单击“完成”,出现了“更改摘要”界面,这是一个确认界面,如图 2-43所示。
图2-43 “更改摘要”界面
单击“接受更改”,分区终于完成了,会返回“安装信息摘要”界面。
当然,我们在手动分区界面,也可以选择“点这里自动创建他们”,可以自动创建分区。当然要注意在自动分区的时候,“分区方案”需要选择“标准分区”。
在“安装信息摘要”界面,接下来的“KDUMP”是 Linux内核崩溃存储机制,用于崩溃诊断。它默认是开启的,但是会占用大量内存,如果你不是 Linux系统的开发工程师,一般都不需要分析系统崩溃信息,建议大家还是关闭这个选项,如图 2-44所示。
图2-44 KDUMP设置
单击“完成”后,会返回“安装信息摘要”界面,接下来的“网络和主机名”是用于配置 IP地址和主机名的。我们在安装的时候可以先不配置,等安装完成之后,可以通过命令进行修改,如图 2-45所示。
图2-45 网络和主机名设置
单击“完成”,会返回“安装信息摘要”界面,最后一项是“SECURITY POLICY”(安全策略)设置,这是 SELinux安全策略的配置。SELinux是一个 Linux安全增强组件,由 Red Hat和 NSA(美国国家安全局)联合开发,可以明显地提升 Linux的安全性能。SELinux 我们会在 SELinux 管理章节中进行讲解,在这里先关闭 SELinux,因为如果不关闭,很多网络服务试验都会被 SELinux阻挡,导致试验失败(工作中建议开启 SELinux策略,并通过合理配置使其正常工作,不过这需要学习 SELinux章节),如图 2-46所示。
图2-46 SECURITY POLICY设置
单击“完成”,返回“安装信息摘要”界面。这个界面中所有选项我们都已经配置完成了,接下来可以单击“开始安装”,开始真正的安装了,如图 2-47所示。
图2-47 开始安装
在此界面下,可以单击“ROOT 密码”,给 root 用户配置密码,也可以添加普通用户(普通用户如果需要,安装完成之后,可以通过命令添加,在此不添加普通用户),如图 2-48所示。
图2-48 设置 root密码
给 root用户设置密码,什么样的密码是合理密码呢?下面介绍一下密码三原则。
① 复杂性:复杂性需要符合以下几个条件。
· 密码长度大于 8位,密码位数越长,被暴力破解(暴力破解指的是穷举法,不是真使用暴力来威胁别人)的可能性越小,安全性也越高。当然密码太长,并且不方便记忆与使用,所以我们认为 8位密码是一个合理的长度。
· 密码中需要大写字母、小写字母、数字和特殊符号,四种符号最少包含三种。
· 不能使用和个人相关的信息作为密码。例如,你的身份证号码、电话号码、家庭门牌号码等都不能作为密码,这样非常容易被熟悉你信息的人猜出密码。
· 不能使用现有的英文单词作为密码。比如“hello world”就不能作为密码,因为母语是英语的人很容易猜出这样的英文单词。
② 易记忆:在工作中运维工程师有可能需要同时维护成百上千,甚至上万台服务器,理论上每台服务器都应该使用不同的密码。当然如果服务器数量真的太多了,每台服务器使用单独的密码并不现实,这时一般采用的是每组服务器使用同样的密码(比如数据库服务器密码一致,We b服务器密码一致等)。就算是每组服务器密码一致,密码数量也可能会有几十上百个,这时易记忆就显得至关重要了。关于易记忆,我们给出如下建议。
· 可以说一句对你有意义的话,然后通过变形作为合理密码。如“我们学习云计算”,就可以把这句话的拼音首字母连起来变成“wmxxyjs”,再通过合理变形变成“wmxx_YJS”,这就可以作为合理密码,而且比较容易记忆。
· 可以唱一句你喜欢的歌词,比如“知否?知否?应是绿肥红瘦”,通过变形(字母 z和数字 2非常接近)变成“zf2fys_LFHS”,就是合理密码。
· 可以背一句你熟悉的诗词,比如“停车坐爱枫林晚”,通过变形,变成“tc2a_FLW”,就是合理密码。
③ 时效性:密码应该定期更换,我们认为合理的密码有效期不应该超过 180天,也就是每半年密码应该更换一次(实际工作中,半年换一次密码实在太过烦琐,我们一般采用的是掌握密码的核心工程师离职再更换密码的策略)。
密码设定完成之后,普通用户不需要在安装的时候添加,我们可以以后通过命令行来添加,这里就不再添加普通用户了。等待一会,安装完成了,如图 2-49所示。
单击“重启”,重启之后,Linux就会进入等待登录界面,安装就完成了,如图 2-50所示。
还记得 Linux的超级用户 root吗?还记得安装时输入的 root密码吗?输入正确的用户名和密码就可以登录系统了。登录系统输入密码时,要注意 Linux不像 Windows在登录时会直接用“*”屏蔽显示密码,Linux是不显示密码输入状态的,只要你输入的密码是正确的,直接按 Enter键即可进入,不要误以为没有进入输入状态。
CentOS 7.x安装之后的日志文件只剩/root/anaconda-ks.cfg文件了,如表 2-2所示。
图2-49 安装完成
图2-50 等待登录界面
表2-2 日志文件