了解 CentOS 7:是什么?如何用?
在企业级计算和服务器领域,Linux 操作系统扮演着举足轻重的角色。在其众多发行版中,CentOS 曾是许多系统管理员、开发者和企业的心头好,尤其是在其第七个主要版本——CentOS 7 时代。尽管 CentOS 7 已于 2024 年 6 月 30 日到达其生命周期终点(EOL),停止接收官方更新和支持,但理解它是什么以及它是如何使用的,对于维护遗留系统、进行历史研究或理解当前企业级 Linux 生态系统的演变仍然至关重要。
本文将带您深入了解 CentOS 7:探讨它的本质、它为何如此流行,以及如何安装、配置和使用这个曾经的企业级 Linux 基石。
第一部分:CentOS 7 是什么?理解它的本质
要理解 CentOS 7,我们需要从几个层面进行剖析:Linux、发行版、Red Hat Enterprise Linux (RHEL) 以及 CentOS 本身。
1. Linux:操作系统的核心
首先,CentOS 是一个 Linux 发行版。Linux 本质上是一个类 Unix 的操作系统内核。内核是操作系统的核心,负责管理硬件资源(CPU、内存、存储、网络等)并为应用程序提供服务。Linux 内核以其开放性、稳定性、安全性和高效性而闻名,被广泛应用于从嵌入式设备到智能手机,从个人电脑到世界上绝大多数的服务器和超级计算机。
2. 发行版(Distribution):穿上衣服的内核
仅仅有内核是不足以构成一个完整可用操作系统的。一个完整的操作系统还需要大量的其他组件,例如:
* Shell: 用户与内核交互的命令行解释器(如 Bash)。
* GNU 工具集: 一系列命令行工具,用于文件管理、文本处理、软件编译等(如 ls
, cd
, grep
, gcc
)。
* 库文件: 应用程序运行时需要的共享代码。
* 软件包管理器: 用于安装、更新和删除软件的工具(如 Yum)。
* 启动系统: 初始化系统进程的机制(如 Systemd)。
* 桌面环境(可选): 提供图形界面的组件(如 GNOME, KDE)。
* 各种服务和应用程序: 网络服务(Web 服务器、数据库)、开发工具、办公软件等。
一个 Linux 发行版就是将 Linux 内核与上述这些以及更多组件打包在一起,形成一个完整的、可安装和使用的操作系统。不同的发行版在内核版本、组件选择、软件包管理系统、配置方式、发布周期以及目标用户等方面可能有所不同。常见的发行版包括 Debian、Ubuntu、Fedora、openSUSE、以及我们今天要讨论的 CentOS。
3. Red Hat Enterprise Linux (RHEL):企业级的标杆
Red Hat 是领先的开源解决方案提供商,其旗舰产品是 Red Hat Enterprise Linux (RHEL)。RHEL 是一个商业级的 Linux 发行版,专注于为企业提供稳定、安全、高性能的平台。RHEL 的特点是:
* 长期支持(LTS): 每个主要版本都有长达十年的维护周期,提供安全更新和错误修复。
* 稳定性: 软件组件经过严格测试,版本相对固定,注重兼容性。
* 商业支持: Red Hat 提供专业的付费技术支持、培训和认证。
* 面向企业应用: 针对服务器、云计算、数据中心等场景进行优化。
然而,RHEL 是一个商业产品,需要购买订阅才能获得官方的支持和更新。这对于预算有限的组织或个人用户来说可能是一个障碍。
4. CentOS:RHEL 的社区克隆
这就是 CentOS 诞生的原因。CentOS(Community ENTerprise Operating System)项目旨在利用 Red Hat 公开的 RHEL 源代码,进行重新编译,去除所有 Red Hat 的商标和商业组件,然后免费发布。
因此,CentOS 可以被看作是 RHEL 的一个“下游”发行版或“社区克隆”。在技术层面,特定版本的 CentOS(如 CentOS 7)与对应版本的 RHEL(RHEL 7)在绝大多数方面都是二进制兼容的。这意味着为 RHEL 7 编译的软件通常可以直接在 CentOS 7 上运行,反之亦然。
CentOS 继承了 RHEL 的许多优点:
* 稳定性与可靠性: 基于经过企业环境验证的 RHEL 源代码。
* 安全性: 同样受益于 RHEL 强大的安全特性,如 SELinux。
* 企业级特性: 包含 Systemd、Firewalld 等现代企业级 Linux 特性。
* 广泛的软件兼容性: 许多企业软件和硬件厂商会优先为 RHEL/CentOS 提供支持。
最关键的是,CentOS 是完全免费的,这使得它成为许多中小型企业、网站托管商、学术机构和个人用户在服务器环境中部署 Linux 的首选。
5. CentOS 7:基于 RHEL 7 的版本
CentOS 7 是 CentOS 项目基于 Red Hat Enterprise Linux 7 源代码构建的版本。RHEL 7 于 2014 年发布,带来了许多重要的变化和新特性,CentOS 7 也随之继承了这些:
- Systemd: 替代了 SysVinit,成为新的系统和服务管理器。这是一个重大改变,影响了系统启动、服务管理、日志记录等多个方面。
- XFS 文件系统: 成为了默认的文件系统(此前是 ext4),XFS 在处理大文件和大型存储卷方面表现出色。
- Firewalld: 替代了 iptables 服务,提供了更灵活、更动态的防火墙管理方式。
- GNOME 3 / KDE 4: 作为主要的桌面环境选项(尽管服务器版本通常没有桌面)。
- 改进的网络管理: 使用 nmcli/nmtui 工具。
- 内核版本: 基于 Linux Kernel 3.10 系列。
CentOS 7 的生命周期始于 2014 年,并延续了 RHEL 7 的十年支持周期,直到 2024 年 6 月 30 日正式结束。
总结第一部分: CentOS 7 是一个免费的、社区驱动的 Linux 发行版,它是 Red Hat Enterprise Linux 7 的二进制兼容重建版本。它继承了 RHEL 的稳定性、安全性和企业级特性,并因其免费特性而广泛应用于服务器领域。它引入了 Systemd、Firewalld 等新特性,标志着企业级 Linux 向现代化迈进的重要一步。然而,需要强调的是,它已经到达了生命周期终点。
第二部分:如何使用 CentOS 7?从安装到日常管理
尽管 CentOS 7 已EOL,但在某些场景下(如学习目的、处理现有系统等),了解如何使用它仍然有价值。本部分将详细介绍 CentOS 7 的安装过程以及安装后的基本使用和管理。
注意: 由于 CentOS 7 已 EOL,从官方源获取安装介质和软件包更新已变得困难或不可能。以下内容是基于其活跃时期的标准使用流程描述。在实际操作中,您可能需要寻找存档镜像或考虑迁移到支持中的发行版。
1. CentOS 7 的安装
安装 CentOS 7 通常通过下载 ISO 镜像文件并制作启动盘来完成。
- 获取 ISO 镜像:
- 在 CentOS 7 活跃时期,可以从官方网站
www.centos.org
或其镜像站点下载。主要版本有Minimal ISO
(最小安装,无图形界面,适合服务器)和DVD ISO
(包含更多软件包,可选安装图形界面)。选择适合您需求的版本。由于 EOL,官方下载链接已移除,您可能需要从历史存档镜像站点(如archive.kernel.org
)寻找,但请注意这些源的可靠性和完整性。
- 在 CentOS 7 活跃时期,可以从官方网站
- 制作启动盘:
- USB 启动盘: 这是最常见的方式。在 Windows 上可以使用 Rufus, Win32 Disk Imager 等工具。在 Linux 或 macOS 上,可以使用
dd
命令:
bash
# 假设您的USB设备是 /dev/sdX,请务必替换成您的实际设备名称,数据会被覆盖!
sudo dd if=/path/to/CentOS-7-x86_64-DVD-YYYY.iso of=/dev/sdX bs=4M status=progress - DVD 光盘: 将 ISO 文件刻录到 DVD 光盘上。
- 网络安装: 使用 PXE Boot 通过网络启动安装。
- USB 启动盘: 这是最常见的方式。在 Windows 上可以使用 Rufus, Win32 Disk Imager 等工具。在 Linux 或 macOS 上,可以使用
-
启动计算机并进入安装程序:
- 将制作好的启动盘插入计算机,重启。
- 进入计算机的 BIOS/UEFI 设置,将启动顺序设置为从 USB 或 DVD 启动。
- 保存设置并退出,计算机将从启动盘启动。您将看到 CentOS 7 的启动菜单。
- 选择 “Install CentOS Linux 7″。
-
Anaconda 安装程序:
CentOS 7 使用 Anaconda 作为其安装程序,这是一个图形化界面(即使您选择最小安装,安装程序本身也是图形的)。安装过程主要分为以下几个配置项:- 语言选择: 选择安装过程中使用的语言,这也会影响安装后系统的默认语言。
-
安装信息摘要: 这是 Anaconda 的主界面,您需要在这里配置所有重要的安装设置。未配置完成或存在问题的项会显示警告图标。
- 日期和时间: 选择您的时区。
- 键盘布局: 选择键盘布局。
- 语言支持: 添加额外的语言支持(如果需要)。
- 安装源: 通常是本地介质(如 USB/DVD),也可以配置网络源。
- 软件选择: 重要步骤!
- 对于服务器,通常选择 “Minimal Install”(最小安装)以减少不必要的软件包和潜在攻击面。
- 如果需要图形界面,可以选择 “GNOME Desktop” 或 “KDE Plasma Workspaces”。
- 您还可以根据用途选择其他基本环境(如带兼容性库的最小安装,基础设施服务器,文件及打印服务器等)。
- 在右侧的附加软件列表中,您可以选择安装 SSH Server、开发工具、系统管理工具等。
- 安装位置 (Partitioning): 非常重要!
- 自动分区: 让安装程序自动创建分区。您可以选择安装到哪块硬盘以及是否加密。如果您不熟悉分区,这是个简单选项,但灵活性较低。
- 手动分区 (I will configure partitioning): 推荐给有经验的用户,可以完全自定义分区布局。
- 选择要分区的硬盘。
- 选择分区方案:LVM(逻辑卷管理,推荐,更灵活)、标准分区、Btrfs、或精简配置 LVM。LVM 是企业环境中常用的方案。
- 手动创建分区:
- 需要至少一个
/
(根)分区用于存放操作系统文件。 - 通常需要一个
/boot
分区用于存放引导加载程序和内核文件(通常 500MB-1GB 即可)。 - 建议创建一个
swap
分区,作为虚拟内存(大小通常与物理内存相当,或根据系统用途和内存大小调整)。 - 可能需要创建独立的分区用于
/home
(用户家目录)、/var
(日志、缓存、变量数据)、/opt
(第三方软件)等,这有助于数据隔离和管理。
- 需要至少一个
- 设置每个分区的文件系统类型(默认为 XFS)。
- 完成分区后,点击 “Done”,确认更改。
- 网络和主机名:
- 配置网络接口(IPv4/IPv6 地址,DHCP 或静态)。点击网卡开关使其 “ON”。
- 设置主机名。
- 配置
/etc/hosts
文件(可选)。
- KDUMP: 内核崩溃转储机制,通常保持启用。
- 安全策略 (SELinux): 默认是 Enforcing 模式,通常保持默认或根据需要设置为 Permissive 或 Disabled(不推荐禁用)。
- 开始安装: 配置完成后,点击 “Begin Installation”。
- 配置用户: 在安装进行的同时,您可以配置以下内容:
- ROOT 密码: 务必设置一个强密码! Root 用户拥有系统最高权限。
- 创建用户: 创建一个普通用户。可以选择是否将其设置为管理员(即加入
wheel
组,可以使用sudo
)。- 等待安装完成: 安装程序会格式化分区,复制文件,安装软件包等。这可能需要一些时间。
- 重启: 安装完成后,点击 “Reboot” 按钮。记得移除安装介质。
系统将启动进入您刚刚安装的 CentOS 7 环境。
2. CentOS 7 的基本使用(命令行为主)
CentOS 7 主要用于服务器环境,因此掌握命令行界面 (CLI) 是非常重要的。登录系统后,您可能会看到一个命令行提示符(如果您安装了最小版本)或进入图形登录界面。
- 登录: 使用您在安装时设置的用户名和密码登录。使用 root 用户登录时要格外小心,因为其权限过大。
- 终端/Shell: 登录 CLI 环境后,您就在一个 Shell 中(默认为 Bash)。Shell 是您输入命令与系统交互的地方。
-
常用基本命令:
ls
: 列出文件和目录 (ls -l
查看详细信息,ls -a
查看隐藏文件)。cd
: 改变当前目录 (cd /path/to/directory
,cd ..
返回上一级,cd ~
返回家目录)。pwd
: 显示当前工作目录的路径。mkdir
: 创建目录 (mkdir mydir
).rm
: 删除文件或目录 (rm myfile
,rm -r mydir
删除目录及其内容)。cp
: 复制文件或目录 (cp source destination
,cp -r sourcedir destdir
).mv
: 移动或重命名文件/目录 (mv oldname newname
,mv file /path/to/directory
).cat
: 查看文件内容 (cat myfile
).less
,more
: 分页查看文件内容 (less largefile
).head
,tail
: 查看文件头部或尾部内容 (tail -f logfile
实时查看日志)。grep
: 在文件中搜索匹配的行 (grep "error" system.log
).man
: 查看命令的手册页 (man ls
查看 ls 命令的帮助)。sudo
: 以其他用户(通常是 root)的权限执行命令。首次使用时会提示输入当前用户的密码。这是进行系统管理操作的主要方式。
-
文件系统结构概述:
/
: 根目录,所有文件和目录的起点。/bin
: 存放基本用户命令。/sbin
: 存放基本系统管理命令(通常需要 root 权限)。/etc
: 存放系统配置文件。/home
: 存放普通用户的家目录(如/home/username
)。/root
: root 用户的家目录。/var
: 存放经常变化的文件,如日志 (/var/log
)、缓存、队列文件等。/usr
: 存放用户安装的软件和文件(大部分程序文件)。/opt
: 存放第三方独立软件包。/tmp
: 存放临时文件。/dev
: 存放设备文件。/proc
: 存放进程信息和内核信息(虚拟文件系统)。/sys
: 存放系统硬件信息(虚拟文件系统)。/run
: 系统启动后产生的信息,易失性。
3. 软件包管理 (Yum)
Yum (Yellowdog Updater, Modified) 是 CentOS 7 默认的软件包管理器(在后续版本中被 DNF 取代)。它用于从软件仓库(Repositories)获取、安装、更新和删除软件包及其依赖关系。
-
基本 Yum 命令:
sudo yum update
: 更新系统上所有已安装的软件包到最新版本。这是保证系统安全和稳定的重要步骤。 (但请注意,EOL后此命令将不再获取官方更新)。sudo yum check-update
: 检查是否有可用的更新,但不安装。sudo yum install <package_name>
: 安装指定的软件包及其依赖。sudo yum remove <package_name>
: 卸载指定的软件包。sudo yum search <keyword>
: 搜索包含关键字的软件包。sudo yum info <package_name>
: 显示软件包的详细信息。yum list installed
: 列出所有已安装的软件包。yum repolist
: 列出当前配置的软件仓库。sudo yum clean all
: 清理 Yum 缓存。sudo yum history
: 查看 Yum 操作历史。
-
软件仓库配置: Yum 从
/etc/yum.repos.d/
目录下的.repo
文件中获取软件仓库信息。每个.repo
文件定义了一个或多个仓库的名称、基础 URL、GPG 密钥等。在 CentOS 7 活跃时期,这些文件默认指向官方仓库。由于 EOL,这些默认仓库可能不再提供服务。您可能需要配置指向存档镜像或第三方扩展仓库(如 EPEL – Extra Packages for Enterprise Linux)才能安装更多软件,但请注意这些仓库的维护状态。
4. 系统和服务管理 (Systemd)
CentOS 7 引入了 Systemd 作为新的 init 系统和服务管理器。它负责系统启动过程、管理后台服务(daemons)、挂载文件系统等。Systemd 使用“单元”(units)的概念来管理各种资源,常见的单元类型有 service
(服务)、socket
(套接字)、mount
(挂载点)、device
(设备)等。
-
Systemd 基本命令 (
systemctl
):sudo systemctl start <service_name>
: 启动指定的服务(如sudo systemctl start httpd
启动 Apache Web 服务器)。sudo systemctl stop <service_name>
: 停止指定的服务。sudo systemctl restart <service_name>
: 重启指定的服务。sudo systemctl status <service_name>
: 查看指定服务的当前状态、进程 ID、最近日志等信息。sudo systemctl enable <service_name>
: 设置服务在系统启动时自动启动。sudo systemctl disable <service_name>
: 禁止服务在系统启动时自动启动。systemctl is-active <service_name>
: 检查服务是否正在运行。systemctl is-enabled <service_name>
: 检查服务是否设置为开机自启。systemctl list-units --type=service
: 列出所有已加载或正在运行的服务单元。journalctl
: 查看系统日志(Systemd 的日志系统)。journalctl -u <service_name>
查看特定服务的日志。
-
服务配置文件: Systemd 服务的配置文件通常位于
/usr/lib/systemd/system/
或/etc/systemd/system/
目录下,以.service
结尾。后者目录下的文件优先级更高,用于覆盖默认配置或添加自定义服务。修改配置文件后,需要运行sudo systemctl daemon-reload
命令来重新加载 Systemd 配置,然后才能重启或启动服务使更改生效。
5. 防火墙管理 (Firewalld)
CentOS 7 使用 Firewalld 作为默认的防火墙管理工具,它提供了动态管理规则集的功能,无需重启整个防火墙服务。Firewalld 使用“区域”(zones)的概念来划分网络接口和流量,并为每个区域应用不同的规则。
-
Firewalld 基本命令 (
firewall-cmd
):sudo systemctl status firewalld
: 查看 Firewalld 服务状态。sudo systemctl start firewalld
: 启动 Firewalld 服务。sudo systemctl enable firewalld
: 设置 Firewalld 开机自启。firewall-cmd --get-active-zones
: 列出当前正在使用的区域及其关联的网络接口。firewall-cmd --list-all
: 列出默认区域的所有配置(服务、端口、伪装等)。firewall-cmd --zone=public --list-all
: 列出 public 区域的配置。sudo firewall-cmd --zone=public --add-service=http --permanent
: 在 public 区域永久允许 HTTP 服务(80端口)。--permanent
标志使得更改在 Firewalld 重启或系统重启后仍然有效,否则更改只在当前运行时有效。sudo firewall-cmd --zone=public --remove-service=http --permanent
: 永久移除 public 区域的 HTTP 服务允许。sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
: 在 public 区域永久允许 TCP 协议的 8080 端口。sudo firewall-cmd --reload
: 重新加载 Firewalld 配置,使永久更改生效。sudo firewall-cmd --panic-on
: 启用应急模式,阻止所有网络连接(除了 root 用户)。sudo firewall-cmd --panic-off
: 关闭应急模式。
-
区域 (Zones): 常见的区域包括
public
(公共网络,不信任其他计算机)、internal
(内部网络,信任其他计算机)、external
(外部网络,配置 NAT 伪装)等。网络接口可以被分配到特定的区域。
6. 安全增强式 Linux (SELinux)
SELinux 是 CentOS/RHEL 中一个重要的安全机制,它提供强制访问控制 (MAC)。除了传统的自主访问控制 (DAC – 文件权限),SELinux 为进程、文件等资源定义了安全上下文,并基于策略强制限制进程可以对哪些对象执行哪些操作。这可以有效阻止即使是 root 用户也可能造成的损害(例如,即使一个 Web 服务器进程被攻破,SELinux 策略可以限制它只能访问特定的 Web 目录文件,而不能访问其他用户的敏感数据)。
-
SELinux 模式:
enforcing
: 强制执行 SELinux 策略,阻止所有违反规则的操作,并记录日志。这是最安全的模式,也是默认模式。permissive
: 记录所有违反规则的操作并发出警告,但 不阻止 操作的执行。用于排查问题或测试新策略。disabled
: 完全禁用 SELinux。不推荐,会大大降低系统安全性。
-
SELinux 基本命令:
getenforce
: 查看当前 SELinux 模式。setenforce [Enforcing|Permissive|1|0]
: 在运行时切换 SELinux 模式(1=enforcing, 0=permissive)。此更改在重启后会丢失,除非修改配置文件。sestatus
: 查看 SELinux 的详细状态,包括策略文件、模式等。/etc/sysconfig/selinux
: SELinux 的配置文件。修改SELINUX=
行可以设置系统重启后的模式(enforcing
,permissive
,disabled
)。修改后需要重启系统生效。ls -Z
: 查看文件或目录的 SELinux 上下文。ps -Z
: 查看进程的 SELinux 上下文。semanage
,restorecon
,chcon
,audit2allow
: 高级 SELinux 管理和故障排除工具。
SELinux 的配置和故障排除可能比较复杂,通常需要仔细阅读日志 (/var/log/audit/audit.log
或使用 journalctl -xe
) 并理解其策略。
7. 用户和组管理
管理用户和组是系统管理的基础。
-
用户管理:
sudo useradd <username>
: 创建新用户。sudo passwd <username>
: 设置或修改用户密码。sudo usermod -aG <groupname> <username>
: 将用户添加到现有组(-aG
表示附加到组)。sudo userdel <username>
: 删除用户(保留家目录)。sudo userdel -r <username>
: 删除用户及其家目录和邮件池。- 用户账户信息存储在
/etc/passwd
文件中,加密的密码存储在/etc/shadow
文件中。
-
组管理:
sudo groupadd <groupname>
: 创建新组。sudo groupdel <groupname>
: 删除组。- 组信息存储在
/etc/group
文件中。
-
文件权限 (chmod, chown):
ls -l
查看文件权限,格式如-rwxr-xr-x
。分别表示文件类型、所有者权限 (rwx)、所属组权限 (r-x)、其他用户权限 (r-x)。r=读, w=写, x=执行。sudo chmod <permissions> <file>
: 修改文件权限。可以使用数字表示法(如755
表示 rwxr-xr-x)或符号表示法(如u+x, g-w, o=r
)。sudo chown <owner>:<group> <file>
: 修改文件或目录的所有者和所属组。
8. 网络配置
在 CentOS 7 中,网络可以通过命令行工具 nmcli
或图形界面工具 nmtui
(NetworkManager Text User Interface) 以及编辑配置文件 /etc/sysconfig/network-scripts/
进行管理。
-
使用
nmcli
:nmcli device status
: 查看网络设备状态。nmcli connection show
: 查看所有网络连接配置。sudo nmcli connection add type ethernet ifname <interface> con-name <connection_name>
: 添加新的以太网连接。sudo nmcli connection modify <connection_name> ipv4.method manual ipv4.addresses '192.168.1.100/24' ipv4.gateway '192.168.1.1' ipv4.dns '8.8.8.8'
: 配置静态 IP。sudo nmcli connection up <connection_name>
: 激活连接。sudo nmcli connection down <connection_name>
: 关闭连接。
-
使用
nmtui
: 这是一个基于文本的用户界面工具,提供了一个相对直观的方式配置网络,输入sudo nmtui
即可启动。 -
配置文件: 每个网络连接的配置文件通常在
/etc/sysconfig/network-scripts/
目录下,文件名为ifcfg-<connection_name>
。您可以手动编辑这些文件来配置网络。修改后,可能需要重启网络服务 (sudo systemctl restart network
) 或使用nmcli connection reload
后再nmcli connection up <connection_name>
使更改生效。 -
主机名: 使用
hostnamectl
命令设置主机名。hostnamectl status
: 查看当前主机名信息。sudo hostnamectl set-hostname <new_hostname>
: 设置新的主机名。
9. 常见应用和服务器架设基础
CentOS 7 广泛应用于架设各种服务器。基本流程通常是:
1. 使用 Yum 安装相应的软件包(如 httpd
for Apache, nginx
for Nginx, mariadb-server
for MariaDB, postgresql-server
for PostgreSQL, openssh-server
for SSH)。
2. 编辑软件包的配置文件(通常在 /etc/
目录下)。
3. 使用 systemctl
启动并启用服务(如 sudo systemctl enable httpd --now
)。
4. 使用 firewall-cmd
配置防火墙规则,允许外部访问相应的端口和服务(如 HTTP 服务默认端口 80)。
5. 配置 SELinux 策略,确保服务能够正常访问所需的文件和端口(如果 SELinux 阻止了服务的正常运行,日志中会有记录,可以使用 audit2allow
等工具生成本地策略模块)。
例如,架设一个基本的 Web 服务器 (Apache):
“`bash
sudo yum install httpd # 安装 Apache
sudo systemctl enable httpd –now # 启动并设置开机自启
编辑配置文件 /etc/httpd/conf/httpd.conf 或 /etc/httpd/conf.d/
sudo firewall-cmd –zone=public –add-service=http –permanent # 永久允许 HTTP 服务
sudo firewall-cmd –reload # 重新加载防火墙规则
测试访问服务器的IP地址或域名
“`
第三部分:CentOS 7 的遗产与未来的选择
CentOS 7 在过去十年间为无数企业和个人提供了稳定可靠的免费企业级 Linux 平台。它的流行证明了社区驱动的 RHEL 克隆模式的巨大成功。
然而,随着红帽公司宣布将 CentOS 项目的重心从传统的稳定版(如 CentOS 7、8)转移到滚动更新的 CentOS Stream,以及 CentOS Linux 8 的提前 EOL,整个企业级 Linux 生态系统发生了显著变化。CentOS Stream 现在作为 RHEL 的上游(开发版本)存在,不再是 RHEL 的下游稳定克隆。
对于仍然运行 CentOS 7 或计划在未来部署类似系统的用户,由于 CentOS 7 已 EOL,获取官方安全更新和错误修复已不可能。这使得它不再适合部署新的生产环境,并且对于现有的生产环境也存在严重的安全风险。
因此,考虑迁移到其他得到支持的平台是必要的。CentOS 7 用户有几种主要的迁移或替代选择:
- CentOS Stream: 作为 RHEL 的上游,可以看作是 RHEL 的“滚动预览版”。它提供了最新的特性和修复,但牺牲了传统 CentOS 的稳定性,可能不适合所有生产环境。
- Rocky Linux / AlmaLinux: 这是两个由社区主导的、旨在成为 RHEL 免费下游二进制兼容替代品的项目。它们的目标是填补 CentOS Linux EOL 后留下的空白,并提供长期支持。它们被视为 CentOS Linux 的精神继承者,是许多原 CentOS 用户迁移的首选。
- Oracle Linux: Oracle 提供的 RHEL 兼容发行版,提供免费使用和更新,付费支持。
- Ubuntu LTS: 另一个非常流行的企业级 Linux 发行版,基于 Debian,使用不同的软件包管理器 (apt) 和一些不同的系统工具。Ubuntu LTS (Long Term Support) 版本同样提供长期支持。
- 付费 RHEL 订阅: 如果预算允许且需要官方商业支持,直接购买 Red Hat Enterprise Linux 订阅是最直接的选择。
理解 CentOS 7 的架构和使用方式对于迁移到 Rocky Linux、AlmaLinux 或 Oracle Linux 等基于 RHEL 的发行版非常有帮助,因为它们继承了大部分相同的工具和概念(Yum/DNF、Systemd、Firewalld、SELinux 等)。
结论
CentOS 7 作为一个基于 RHEL 7 的免费、稳定、可靠的 Linux 发行版,在过去十年中扮演了至关重要的角色,尤其是在服务器和企业环境中。它通过提供无需付费订阅的企业级功能,极大地推动了 Linux 的普及和应用。
通过本文,我们详细了解了 CentOS 7 的定义、它与 RHEL 的关系、它的核心特性(如 Systemd, Firewalld, SELinux)以及如何进行基本的安装和命令行操作、软件包管理、服务管理、防火墙配置等。
尽管 CentOS 7 已经退出了历史舞台的中心,到达了其生命周期的终点,但它留下的遗产以及在其上积累的知识和经验仍然宝贵。理解 CentOS 7 不仅是回顾一段重要的 Linux 历史,也是为迁移到新的、有支持的 RHEL 兼容发行版(如 Rocky Linux, AlmaLinux)打下坚实的基础。对于需要维护遗留 CentOS 7 系统的管理员来说,了解其内部机制更是必不可少的。未来,企业级 Linux 的舞台将由新的玩家和模式主导,但 CentOS 7 作为曾经的基石,值得我们深入了解和铭记。