linux学习笔记 · 2022年2月10日 0

1. 安装 Rocky Linux 8

很多人对 Rocky Linux 感到陌生,毕竟到现在,它才诞生一年多一点的时间。虽然它叫 Rocky Linux 8,但是在它之前并没有 1、2、3、4、5、6、7。从某些意义上说,它是一个全新的操作系统。正因为此,我打算写一个系列文章,以帮助系统管理、运维等技术人员快速掌握 Rocky Linux 的生产最佳实践。

既然是 Rocky Linux 的第一个大版本,为什么从 8 开始呢?再从某些意义上说,它又是一个很老的、久经考验的操作系统。Rocky Linux 的诞生,是因为 Redhat 宣布会在 2021 年的最后一天,停止对 CentOS 8 稳定版的维护。CentOS 是主流的社区版企业级操作系统,被很多企业使用。在 Redhat 宣布 CentOS 稳定版会停止维护后,引发了 CentOS 用户的强烈不满。需要有新的社区版的企业级操作系统来代替 CentOS。因此,CentOS 的创始人 Gregory Kurtzer 发起了 Rocky Linux 项目。Rocky Linux 与 CentOS Linux 类似,都是 RHEL 的再编译版本。

“Rocky Linux 最佳实践”系列是我“云原生运维指南”的一个子系列。云原生运维指南包括:Rocky Linux 最佳实践、配置管理工具 (Ansible、SaltStack、Puppet、Git & GitLab)、ceph 最佳实践、OpenStack 最佳实践、IaC (Terraform、Pulumi)、容器 (Docker、Containerd)、Kubernetes 最佳实践、Helm 最佳实践、服务网格、监控、零基础学 Golang 、TypeScript、云原生 DevOps 平台——Three Chicks (三只小鸡)。

在“云原生运维指南”系列中,”Rocky Linux 最佳实践“是最基础的一部分,因为它介绍的 Linux 操作系统,是我们运行软件的基础。

1.1 为什么要学习 Linux 系统

互联网、移动互联网连接了世界的每个角落,人类社会正加速进入万物互联时代。在这个进程中,云计算、大数据、物联网、人工智能等计算机科学领域的技术,越来越多的应用于我们的生活。我们对网络系统的依赖也与日俱增,对其稳定性的要求愈发严苛。现在,我们已经很难接受应用程序的延迟和卡顿了:和远方的亲朋分享视频时,提示上传数据失败;在排队结账时,支付 APP 无法打开;进入公共场所时,健康码扫描失败……这些糟糕的体验都让人很难忍受。人们对便捷生活的期望,无时无刻不在鞭策 IT 从业者努力提升技能。

在新冠疫情的持续冲击下,经济发展也受到了影响。企业比以往更青睐有能力降本增效的员工,并且这将成为招聘要求之一。通过人类社会的发展规律不难看出,人类学习掌握知识或工具的原因之一,在于它们降低成本的同时,还能带来生产力的提升。比如驾驶汽车,让我们的出行更便捷高效;使用手机,让我们的交流更便捷高效;操作电脑,让我们的工作更便捷高效。在互联网技术如此发达的今天,Linux 甚至比汽车还要常见,它已成为大多数技术创新的重要组成部分。从最小的智能设备到世界上最大的超级计算机都少不了它的支持。当然,汽车系统通常也是 Linux。

云原生架构、SRE 这些岗位,都强调“谁开发谁运维”这种全新的工作模式。在高度竞争的信息时代,技能单一的 T 型人才将逐渐失去竞争力。要努力进化成 π 型人才,做到真正有“两把刷子”,才能在职场站稳脚跟。

Linux 是常见的服务器,不论开发人员、测试人员、运维人员还是 SRE 等,大部分是在 Linux 操作系统上做道场。所以,只有熟悉了 Linux 操作系统,才能让程序更高效、稳定的运行,进而做到为企业降本增效。

1.2 安装 Rocky Linux 8

在使用操作系统前,甚至于在使用任何系统、组件、应用前,第一步都是先让它运行起来。作为学习 Rocky Linux 操作系统的前提条件,你需要找个地方运行它。Rocky Linux 支持物理硬件和虚拟硬件。物理硬件就是物理服务器、笔记本或台式机电脑等。物理服务器比较贵、笨重,并且用途单一;笔记本或台式机安装 Linux 系统,不便于我们办公。所以虚拟硬件是我们学习 Rocky Linux 比较方便的、也是最经济的选择。

我们可以通过虚拟化工具运行 Linux 系统。Windows 系统中常见的虚拟化工具有 VMware Workstation (我们示例中使用的工具,该工具需要激活) 和 VirtualBox (免费),macOS 中 Intel 内核的选择会多一些,M1 内核可以使用 UTM。不论那种虚拟化工具,安装步骤都差不多。

在本章中,我们一起安装 Rocky Linux 8 系统,以便你能够跟随本书的介绍,学习 Linux 知识。我会按照典型的安装过程将 Rocky Linux 安装在虚拟机上,并讨论此过程中每个步骤的可用选项。

1.3 准备工作

本节的示例中,我们采用 VMware Workstation 进行演示。无论是在笔记本电脑上,还是在物理服务器上,Rocky Linux 系统的安装过程并无太大差异。关于 virt-mananger 的虚拟化知识,我会在 “OpenStack 最佳实践”中介绍。

本文假设你已经有了虚拟化环境 (VMware Workstation 或者 virtualBox 等)。首先我们从 Rocky Linux 官网下载 需要的 Rocky Linux 最新稳定版的 ISO 镜像,把它下载到指定的路径。写此篇时,最新的稳定版本系统是 8.5 版本,所以我这里下载的就是 Rocky Linux 8.5 x86_64 ISO 镜像。

1.启动 VMware Workstation:

图1-1 VMware workstation 主界面

2.创建虚拟机,点击界面中的“创建新的虚拟机”按钮,根据”下一步“向导选择“自定义(高级)”选项,根据“下一步”向导选择我们刚才下载的 ISO 镜像:

图1-2 选择操作系统的安装镜像

3.选择客户机操作系统,我们安装的 Rocky 操作系统,属于 Linux 系列。VMware workstation 中目前没有对应的 Rocky 版本,我们可以选择 ”CentOS 8 64 位“:

图1-3 选择操作系统类型及版本

4.修改虚拟机名称及安装路径。此处的虚拟机名称是 VMware workstation 显示的名称,和操作系统名称是不同的概念和内容:

图1-4 命名虚拟机及选择安装路径

5.设置虚拟机处理器数量:

图1-5 设置虚拟机 CPU 核数

6.设置虚拟机内存:

图1-6 设置虚拟机内存大小

7.设置虚拟机网络类型,我们在此处选择 NAT 网络:

图1-7 设置虚拟机网络类型

8.设置虚拟机 I/O 控制器类型:

图1-8 设置虚拟机 I/O 控制器

9.选择虚拟机磁盘类型:

图1-9 选择虚拟机磁盘类型

10.选择”创建新虚拟磁盘“,根据”下一步“向导,设置磁盘容量。在我们的实验环境中,不小于 ”20G“ 即可:

图1-10 设置磁盘容量,用于练习使用,不小于 20G 即可

11.点击”下一步“,直到点击”完成“按钮。

1.4 启动安装

在新建的虚拟机标签页中点击“开启此虚拟机”按钮,正式安装操作系统。此时会进入安装前的选项,如下图:

图1-11 安装操作系统选项

有三个选项可供选择,白色字体表示正在选择此项。我们需要在 60s 内通过键盘的上下方向键做出选择,否则会执行默认选项。默认是 “Test this media & install Rocky Linux 8” 的选项。

Install Rocky Linux 8:此选项将引导并运行安装程序。Test this media & install Rocky Linux 8:此选项会先检测正在使用的镜像有没有被损坏,并确保安装可以顺利进行。建议对第一次使用的镜像,执行此项。在虚拟机中,检查过程大约会执行一分钟。检查结束,会根据检查结果执行安装或者退出安装。Troubleshooting:该选项包含其他子选项,以防在安装、运行系统或硬件方面出现问题,在安装过程中遇到问题,可以使用此选项:Install Rocky Linux 8 in basic graphics mode:该选项用于使用旧显卡或不支持显卡的系统。在发生可视化问题时,可以选择该选项帮助安装系统。Rescue a Rocky Linux system:当系统启动出现问题时,或者当我们想要访问它进行内省时 (检查可能损坏的系统时),可以使用这个选项。它将启动一个基本的内存系统来执行这些任务。Run a memory test:对内存进行检查,确保服务器的内存正常。Boot from local drive:在安装了操作系统后,选择从安装介质引导。Return to main menu:回到先前的菜单。

在图 1-11 中,我们看到前两个选项都有不同颜色的字母存在。第一个选项的特殊字母是 I,第二个选项的特殊字母是 m。我们可以通过 ”i“ 或 ”m” 键,快捷的选择。

选项下方还有一行蓝色字体,提示我们通过 Tab 键可以对选项进行配置。

我们选择 Test this media & install Rocky Linux 8 选项,然后输入 Tab 键,配置网卡名称为 eth0,输入的内容如下:

 net.ifnames=0 biosdevname=0

接着输入“回车”键,让安装程序检查我们正在使用的 ISO 镜像,如图 1-12:

图1-12 Rocky Linux 8 ISO 镜像自检

检查完成后,会进入安装界面。安装界面遵循一步步的方法,每一步都有不同的选项需要选择。

1.5 Localization

安装的第一步是选择安装语言,我们选择 English,然后是 English (United States):

图1-13 Rocky 8 安装 – 语言选择

也可以在列表下的框中输入语言进行搜索。选择一种语言后,我们可以单击 Continue 按钮继续,进入安装摘要界面:

图1-14 安装 Rocky Linux 8 的主要配置界面

INSTALLATION SUMMARY 界面,显示了所有需要配置的部分,其中许多 (没有警告标志和红色字体的部分) 已经预先配置了默认值。

1.5.1 Keyboard

可以点击 “Keyboard” 图标,查看它的默认设置,以及添加新的键盘布局:

图1-15 键盘选择

可以通过点击 + 按钮实现。下面是添加中文的示例。我们搜索 Chinese,然后选择它,点击 “Add”:

图1-16 键盘布局中的中文列表

1.5.2 Language Support

在 “Language Support” 中,可以添加语言。我们以添加 “中文” 为例:

图1-17 语言选择对话框

在搜索框中输入 “Chinese” ,选择“中文”,勾选“简体中文”。

1.5.3 Time & Date

默认的时区是美国纽约,我们有两个选择:

使用本地时区。如果你的服务器都在本地时区,建议使用这个方法。在本示例中,我们选择亚洲/上海时区。

图1-18 选择上海时区

使用协调世界时 (UTC)。如果你的服务器遍布全球,想让服务器都有相同的时区,推荐使用 UTC。

图1-19 选择 UTC 时区

我们选择亚洲/上海时区,作为本操作系统的时区。

在 “Time & Date” 界面,有一个选项可以选择 “Network Time”,让服务器时钟与其他服务器同步。这个选项只有在网络配置好后才能选择。我会在配置完成网络后,回到这里,再次查看 ”Network Time“ 的配置。

1.6 Software

除了 “Network Time”,“Localization” 部分已经配置完成了,现在我们进行 “Software” 部分的配置。

1.6.1 Installation Source

这个选项用于配置远程源,当我们使用的 ISO 镜像只包含了操作系统本身时,可以通过这个选项配置远程的 dnf 源。现在,我们使用的是完整的 ISO 镜像,它已经包含了完成安装所需的所有软件包,所以此项无需配置。

1.6.2 Software Selection

在这个步骤中,我们可以选择要安装在系统上的一组预定义包,以便它可以执行不同的任务。虽然在这个阶段安装包会非常方便,但我们会采用更灵活的方式,选择 “Minimal Install”,只安装基本功能。当以后需要某个软件包时,我们再手动安装它:

图1-20 选择最小化安装

1.7 System

现在我们开始系统配置部分,首先配置操作系统的安装位置。

1.7.1 Installation Destination

”Installation Destination“ 的图标上有警告的标志,说明里面的一些选项需要我们配置。这一部分非常重要,它定义了系统在磁盘上的部署方式、磁盘分区及工具。下图是默认的 “Device Selection” 界面,只有一块本地标准磁盘,这是我们在创建虚拟机时,设置的 20G 容量的那块磁盘。“Specialized & Network Disks” 部分有一个添加磁盘的选项,而没有现成的磁盘。“Storage Configuration” 部分默认是自动分区。如图 1-21 所示:

图1-21 选择自动分区

点击 “Done” 按钮,完成磁盘部分的最小化设置。

1.7.1.1 Local Standard Disks

本地标准磁盘用来安装操作系统。可以有多块本地标准磁盘,我们选择特定的用作系统的安装:

图1-22 选择本地标准磁盘

在图 1-22 中,有三块可用的磁盘,选择使用第一块 (sda) 和第二块 (sdb)。

在我们的安装示例中,仅有一块可用磁盘,而且它已经被选中了:

图1-23 已经被选择的单块本地标准磁盘

1.7.1.2 Storage Configuration

该选项会完成磁盘分区的操作:

/boot:存放系统内核及在引导过程中提供帮助的文件 (例如初始引导镜像、initrd)。**/**:根文件系统,是系统所在的主要存储空间。其他磁盘或者分区会以目录的形式挂载到 / 目录下,也就是挂载点。/home:用户的主目录。

1.7.2 Kdump

Kdump (Kernel Dump) 是内核崩溃转储机制。在系统崩溃时,kdump 将从系统中捕获信息,这有助于确定崩溃的原因。Kdump 需要保留一部分系统内存,这部分内存将不能被其他用户使用,关于这部分内存大小,我们使用默认值即可。

图1-24 Kdump 配置界面

点击 “Done”,进行 “Network & Host Name“ 的配置。

1.7.3 Network & Host Name

这部分设置系统的网络连接,我们从 ”Network & Host Name“ 的图标上,可以看到 ”Not connected“。

在虚拟机环境中,对外部网络的访问由虚拟化软件处理。默认配置使用网络地址转换 (NAT) 和动态主机配置协议 (DHCP),它们为虚拟机提供了网络配置并允许访问外部网络。

在配置页面上,可以看到为主机分配了多少网络接口 (网卡)。在我们的安装示例中,只配置了一个网卡 (eth0),如下所示:

图1-25 网络和主机名配置界面

首先,我们单击 eth0 右边的 ON/OFF 启用网络连接。现在是关闭的状态:

图1-26 Ethernet OFF

点击 OFF 按钮,开启网络连接:

图1-27 开启网络连接

开启后,我们会看到类似图1-27 中的网络接口的配置信息,包括 IP 地址、默认路由、DNS。

为了使此更改永久生效,我们单击屏幕右下角的 Configure 按钮来编辑接口配置:

图1-28 接口配置界面,默认是 Ethernet 页

“General” 是主配置项,我们点击 ”General“ 切换标签页,选择 “Connect automatically with priority”,并保持值为 0,如图所示:

图1-29 接口配置界面,General 标签页

点击 “Save” 按钮使配置永久生效,并在默认情况下启用该网络接口。

现在是时候给虚拟主机命名了。在 ”Network & Host Name“ 界面,最下方的 ”Host Name“ 栏中输入主机名,默认是 ”localhost.localdomain“,我使用 ”rocky8-host.aiops.red“ 作为主机名,你可以自定义该名称,然后点击 ”Apply“ 按钮应用主机名的配置。最终 “Networking & Host Name” 界面看起来如下:

图 1-30 Network & Host Name 完成配置后的界面

点击 “Done” 回到安装主界面,可以看到 ”Network & Host Name“ 图标上的 ”Not connected“ 已经变成了 “Wired (eth0) connected”。

在“启用网络连通性”一章中,我会更详细地介绍 Rocky Linux 操作系统中网络可用性的配置选项。

现在系统已经连接到网络了,我们回到 “Time & Date”,可以看到 “Network Time” 已经由安装器自动开启了。

1.8 Security Policy

点击 “Security Policy 配置界面”,我们会看到在系统中默认启用的安全配置文件列表:

图 1-31 安全策略

安全配置文件有一些我们在本次安装中没有涉及的内容 (比如独立的 /var 或 /tmp 分区)。我们可以点击 “Apply security policy” 的 ON 关闭它,然后点击 Done:

图1-32 关闭安全策略

关于这个主题的更多内容将在第11章,使用 OpenSCAP 的系统安全配置文件中讨论。

1.9 User Settings

”User Settings“ 部分用来设置 root 用户的密码,以及为系统创建新用户。

1.9.1 Root Password

Unix 或 Linux 系统的管理员用户称为 root

单击 “Root Password” 启用 root 用户,尽管这不是必需的,并且在安全受限制的环境中,会限制 root 用户的使用。我们将在本章中这样做,以便学习如何这样做,并解释所涉及的案例。

点击 “Root Password” 之后,我们会看到 “ROOT PASSWORD” 的对话框,用来设置 root 用户的密码:

图1-33 Root 密码设置界面

密码规范建议:

10 个字符以上大小写数字特殊字符 (如 $、@、%、&)

如果密码不符合这些要求,它将警告我们,我们需要单击两次 “Done”,才能使用弱密码。

现在可以通过单击 “User Creation” 为系统创建用户了:

1.9.2 User Creation

点击 ”User Creation“ 为系统创建用户,界面如下:

图1-34 用户创建

创建用户时的密码与修改 root 密码要求的密码规范一样。

勾选 “Make this user administrator” ,该用户会被设置为管理员账号。

作为最佳实践的一部分,不要为 root 用户和普通用户设置相同的密码。

在第五章”使用用户、组和权限保护系统“中,会介绍如何使用 sudo 工具设置用户的管理权限。

单击 ”Done“ 返回到主安装程序屏幕。安装程序已经准备好。安装页面看起来是这样的:

图1-35 配置完成后的主安装界面

点击 “Begin Installation” 启动安装进程。如果忽略了启动安装所需的任何步骤,“Begin installation” 按钮将是灰色,无法单击。

图1-36 安装进行中

安装完成后点击 “Reboot System”,重启后,系统就可用了。

别忘了从虚拟机中卸载 ISO 镜像 (或从服务器中移除 u 盘),并检查系统中的引导顺序是否正确配置。

你的第一个 Rocky Linux 8 现在已经准备好了!

在虚拟机或物理中安装 Rocky 还是很简单的,并且我们可以用它来运行服务。在公有云上,安装操作系统的过程与此截然不同,因为机器是从镜像实例化来运行的。在下一章中,我会为大家介绍如何在公有云的虚拟机中运行 Rocky。

1.10 本章总结

Rocky Linux 是一个全新的操作系统,在 CentOS 逐步退出舞台的时候,极有可能成为主流的 Linux 系统。本书中的所有技术点,都会结合本人在生产中积累的 Linux 经验进行讲解。学习这些内容的最好方式就是多做练习。

关于安装,本书讨论了不同的场景:物理机、虚拟机以及云实例。在本章中,我们重点讨论了物理机及虚拟机。

在使用物理硬件时,你可以购买性价比高的二手设备或者 mini 服务器,甚至是使用笔记本电脑作为 Linux 体验的主要安装载体。

在虚拟机的情况下,我介绍了如何在虚拟化工具中运行 Linux 系统。

在本章之后,你已经有了 Rocky Linux 8 操作系统了,这是一个好的开始,可以用来学习和练习以后章节中的知识和技巧。

在下一章中,我会讨论一些安装 Linux 系统的高级选项,如自动安装、使用云实例,以及相关的最佳实践。

本篇文章来源于微信公众号: 魏文第