了解 CentOS 7:是什么?如何用? – wiki基地


了解 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)寻找,但请注意这些源的可靠性和完整性。
  • 制作启动盘:
    • 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 通过网络启动安装。
  • 启动计算机并进入安装程序:

    • 将制作好的启动盘插入计算机,重启。
    • 进入计算机的 BIOS/UEFI 设置,将启动顺序设置为从 USB 或 DVD 启动。
    • 保存设置并退出,计算机将从启动盘启动。您将看到 CentOS 7 的启动菜单。
    • 选择 “Install CentOS Linux 7″。
  • Anaconda 安装程序:
    CentOS 7 使用 Anaconda 作为其安装程序,这是一个图形化界面(即使您选择最小安装,安装程序本身也是图形的)。安装过程主要分为以下几个配置项:

    1. 语言选择: 选择安装过程中使用的语言,这也会影响安装后系统的默认语言。
    2. 安装信息摘要: 这是 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(不推荐禁用)。
        1. 开始安装: 配置完成后,点击 “Begin Installation”。
        2. 配置用户: 在安装进行的同时,您可以配置以下内容:
      • ROOT 密码: 务必设置一个强密码! Root 用户拥有系统最高权限。
      • 创建用户: 创建一个普通用户。可以选择是否将其设置为管理员(即加入 wheel 组,可以使用 sudo)。
        1. 等待安装完成: 安装程序会格式化分区,复制文件,安装软件包等。这可能需要一些时间。
        2. 重启: 安装完成后,点击 “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 用户有几种主要的迁移或替代选择:

  1. CentOS Stream: 作为 RHEL 的上游,可以看作是 RHEL 的“滚动预览版”。它提供了最新的特性和修复,但牺牲了传统 CentOS 的稳定性,可能不适合所有生产环境。
  2. Rocky Linux / AlmaLinux: 这是两个由社区主导的、旨在成为 RHEL 免费下游二进制兼容替代品的项目。它们的目标是填补 CentOS Linux EOL 后留下的空白,并提供长期支持。它们被视为 CentOS Linux 的精神继承者,是许多原 CentOS 用户迁移的首选。
  3. Oracle Linux: Oracle 提供的 RHEL 兼容发行版,提供免费使用和更新,付费支持。
  4. Ubuntu LTS: 另一个非常流行的企业级 Linux 发行版,基于 Debian,使用不同的软件包管理器 (apt) 和一些不同的系统工具。Ubuntu LTS (Long Term Support) 版本同样提供长期支持。
  5. 付费 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 作为曾经的基石,值得我们深入了解和铭记。


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部