CentOS 7:停止更新后如何下载软件?

news/2024/7/24 5:02:37 标签: centos, linux, 运维

引言

        CentOS 7 是一个广受欢迎的 Linux 发行版,它为企业和开发者提供了一个稳定、安全、且免费的操作系统环境。然而,随着时间的推移,CentOS 7 的官方支持已经进入了维护阶段,这意味着它将不再收到常规的更新和新功能,只会有极少量的安全补丁和修复。本文将详细介绍 CentOS 7 的定义、架构、原理、应用场景,并提供在停止更新后如何继续下载和安装软件的解决方案。

一、CentOS 7 的定义

        CentOS(Community Enterprise Operating System)是一个源自 Red Hat Enterprise Linux (RHEL) 的开源 Linux 发行版。CentOS 的主要目标是提供一个企业级的操作系统,与 RHEL 保持高度的二进制兼容性,但无需购买 RHEL 的订阅。

1.1 CentOS 7 的特点

  • 开源和免费:所有源代码都可以自由获取和修改,适合各种规模的企业和开发者使用。
  • 企业级稳定性:源自 RHEL,拥有企业级的稳定性和可靠性。
  • 长期支持周期:通常一个主要版本有长达十年的支持周期(包括全生命周期的维护和安全更新)。

1.2 主要用途

  • 服务器操作系统:广泛用于 Web 服务器、数据库服务器、文件服务器等。
  • 开发和测试环境:许多开发者选择 CentOS 作为开发和测试平台,因为它与生产环境的 RHEL 高度兼容。
  • 容器基础镜像:由于其稳定性,CentOS 镜像经常被用于容器化应用的基础镜像。

二、CentOS 7 的架构

        CentOS 7 的架构与 RHEL 7 类似,采用模块化设计,以实现高效管理和维护。以下是 CentOS 7 的主要架构组件:

2.1 内核

        CentOS 7 使用的是 Linux 内核,提供了操作系统的核心功能,包括进程管理、内存管理、设备驱动、文件系统管理等。

2.2 包管理系统

        CentOS 7 采用 RPM 包管理系统(Red Hat Package Manager),并使用 yum(Yellowdog Updater, Modified)作为高层包管理工具。yum 支持软件包的安装、更新、移除以及依赖关系的自动解决。

2.3 文件系统

        CentOS 7 默认使用 XFS 文件系统,但也支持 ext4、btrfs 等其他文件系统。XFS 以其高性能和可扩展性著称,适合处理大规模的数据存储需求。

2.4 系统服务和守护进程

        使用 systemd 作为系统和服务管理器,取代了传统的 init 系统。systemd 提供了并行化启动、按需启动、依赖关系管理等先进特性。

2.5 网络管理

        CentOS 7 提供了 NetworkManager 作为网络管理工具,支持动态网络配置、VPN 管理、网络接口自动检测和配置等功能。

三、CentOS 7 的原理

        CentOS 7 的工作原理可以从内核启动、用户空间初始化、服务管理等方面进行探讨。

3.1 内核启动

        当系统启动时,BIOS/UEFI 会加载并启动引导程序(如 GRUB),引导程序接着加载 Linux 内核并启动它。内核完成自检后,会初始化硬件设备并挂载根文件系统。

3.2 用户空间初始化

        内核启动后会启动第一个用户空间进程 systemd(PID 1),systemd 负责初始化用户空间环境,包括挂载文件系统、启动系统服务、设置系统时钟等。

3.3 服务管理

        systemd 采用单一进程树模型,通过单一的配置文件结构管理系统服务和资源。服务的配置文件通常位于 /etc/systemd/system 和 /usr/lib/systemd/system 目录下,用户可以通过 systemctl 命令管理服务的启动、停止、重启等操作。

四、CentOS 7 的应用场景

4.1 Web 服务器

        CentOS 7 常用于搭建 Web 服务器,支持 Apache、Nginx、Lighttpd 等常见的 Web 服务器软件。

4.2 数据库服务器

        CentOS 7 支持 MySQL、MariaDB、PostgreSQL 等数据库管理系统,是许多数据库服务器的首选操作系统。

4.3 文件服务器

        利用 Samba 或 NFS,CentOS 7 可以配置成高效的文件服务器,满足企业内部的文件共享需求。

4.4 容器平台

        作为稳定的操作系统,CentOS 7 经常被用于 Docker 和 Kubernetes 等容器平台的基础环境。

4.5 虚拟化环境

        CentOS 7 支持 KVM(Kernel-based Virtual Machine),可以作为虚拟化主机运行多个虚拟机实例。

五、CentOS 7 停止更新后的应对方案

        随着 CentOS 7 进入维护阶段,用户可能会遇到无法下载和安装软件的问题。以下是几种有效的解决方案:

5.1 使用 EPEL 仓库

        Extra Packages for Enterprise Linux (EPEL) 是由 Fedora 项目维护的一个软件仓库,提供了许多额外的软件包。通过以下命令可以安装 EPEL 仓库:

sudo yum install epel-release

安装 EPEL 仓库后,可以使用 yum 或 dnf 命令安装其中的软件包。

5.2 使用 CentOS Vault

        CentOS Vault 存储了 CentOS 各个历史版本的软件包,包括 CentOS 7。你可以通过配置 yum 仓库文件来访问 CentOS Vault。例如,创建或编辑 /etc/yum.repos.d/CentOS-Vault.repo 文件,并添加以下内容:

[CentOS-Vault]

name=CentOS Vault

baseurl=http://vault.centos.org/7.9.2009/os/x86_64/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

5.3 使用第三方仓库,比如华为源

        有许多第三方仓库提供 CentOS 7 的软件包。例如:

1、备份配置文件:

cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

2、配置下列方案。

方案:

下载新的CentOS-Base.repo文件到/etc/yum.repos.d/目录下,选择 CentOS 版本:

执行如下命令:

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo

3、执行yum clean all清除原有 yum 缓存

4、执行yum makecache(刷新缓存)或者yum repolist all(查看所有配置可以使用的文件,会自动刷新缓存)。

5.4 编译源码安装

        如果无法找到预编译的二进制软件包,或者需要特定版本的软件,可以选择下载源码并进行编译安装。以下是一个编译安装软件的一般步骤:

  1. 下载源码包。
  2. 解压源码包。
  3. 阅读 README 或 INSTALL 文件获取编译和安装指令。
  4. 执行编译和安装命令,例如:

./configure

make

sudo make install

六、结论

        尽管 CentOS 7 已经停止了官方更新,但通过适当的配置和方法,我们仍然可以继续在其上安装和使用软件。通过使用 EPEL 仓库、CentOS Vault、第三方仓库、编译源码安装,以及考虑迁移到替代发行版如 CentOS Stream、AlmaLinux 或 Rocky Linux,用户可以保持系统的功能性和安全性。此外,熟练掌握 CentOS 7 的常见命令体系也是确保系统稳定运行的重要一环。

        在未来,随着 CentOS 7 的完全停止支持,规划和实施迁移到新的操作系统版本或替代方案将是不可避免的。因此,建议用户尽早开始迁移准备工作,以确保业务和系统的持续稳定运行。希望本文能够为在使用 CentOS 7 的用户提供有价值的信息和解决方案。


http://www.niftyadmin.cn/n/5546895.html

相关文章

微软清华提出全新预训练范式,指令预训练让8B模型实力暴涨!实力碾压70B模型

现在的大模型训练通常会包括两个阶段: 一是无监督的预训练,即通过因果语言建模预测下一个token生成的概率。该方法无需标注数据,这意味着可以利用大规模的数据学习到语言的通用特征和模式。 二是指令微调,即通过自然语言指令构建…

uniapp——银行卡号脱敏

样式 代码 {{bankNumber.replace(/(\d{4})(?\d)/g, "●●●● ").replace(/(\d{2})(?\d{2}$)/, " $1")}} 将银行卡号按照每四位一组的方式进行处理,前面的变成 剩下的正常显示

fatal error: napi.h: No such file or directory

使用Cmake-js构建基于node-addon-api的C扩展 基于node-addon官方的eample改造测试:https://github.com/nodejs/node-addon-examples Cmake-js的github给了一个例子,但是是基于NAN的,而不是node-addon-api:https://github.com/cma…

【AIGC】一、本地docker启动私有大模型

本地docker启动私有大模型 一、最终效果中英文对话生成代码 二、资源配置三、搭建步骤启动docker容器登录页面首次登录请注册登录后的效果 配置模型尝试使用选择模型选项下载模型选择适合的模型开始下载 试用效果返回首页选择模型中英文对话生成代码 四、附录资源监控 五、参考…

idea推送到gitee 401错误

在idea上推送时遇到这样的问题,解决方法如下: 在https://的后面加上 用户名:密码 然后再提交就ok啦!

负载均衡技术怎么实现的,负载均衡策略

目录 负载均衡技术怎么实现的 负载均衡技术的实现方式 举例说明 负载均衡策略 1. 轮询(Round Robin) 2. 加权轮询(Weighted Round Robin) 3. 最少连接数(Least Connections) 4. 响应时间(Response Time) 总结 负载均衡技术怎么实现的 负载均衡技术主要通过多种…

ADOQuery 查询MSSQL存储过程一个莫名其妙的错误;

在 SSMS 中执行完成正常的的存储过程。 也能正常的返回想要的数据,,然后通过 ADO 查询时,总是提法 某 字段不存在的问题; 此问题困扰了一天。 例如(当然,实际数据结构比下面举例的复杂)&…

C语言笔记28 •顺序表经典算法OJ题•

1.删除数组中指定的元素 //算法实现 int removeElement(int* nums, int numsSize, int val) { int src 0;//nums[src] val src int dst 0;///nums[src] ! val src dst while(src< numsSize) { if (nums[src] val) { src; …