一、背景引入

大家在使用 AlmaLinux 系统的时候,有没有遇到过 YUM 配置方面的问题呢?系统默认的 YUM 配置有时候就像个大杂烩,里面有很多冗余的东西,不仅会影响系统性能,还可能让我们在使用 YUM 进行软件安装、更新等操作时遇到各种小麻烦。而且,有些插件可能并不适用于我们当前的系统内核,这就好比给一辆车装了不合适的零件,开起来肯定不顺手。所以啊,对 AlmaLinux 的 YUM 进行专属优化配置就显得很有必要啦。

二、应用场景分析

日常开发环境

在日常开发中,我们经常需要使用 YUM 来安装各种开发工具和依赖库。比如,我们要开发一个基于 Python 的 Web 应用,就需要安装 Python 解释器、相关的开发包等。如果 YUM 配置冗余,安装过程可能会变得很慢,甚至出现一些莫名其妙的错误。优化后的 YUM 配置可以让安装过程更加顺畅,节省我们的时间。

生产服务器环境

对于生产服务器来说,系统的稳定性和性能至关重要。默认的 YUM 配置可能会导致服务器在进行软件更新时消耗过多的资源,影响服务器的正常运行。通过优化 YUM 配置,精简插件并适配系统内核,可以提高服务器的性能,减少不必要的资源消耗,确保服务器稳定运行。

三、技术优缺点

优点

提高性能

优化 YUM 配置后,系统在进行软件安装、更新等操作时会更快。因为去除了冗余的配置和不必要的插件,减少了系统的负担,就好像给汽车减轻了重量,跑起来自然更快。

增强稳定性

适配系统内核的 YUM 配置可以避免因插件与内核不兼容而导致的系统故障。就像给车换了合适的轮胎,行驶起来更加平稳。

节省资源

精简插件和配置后,系统占用的内存、CPU 等资源会减少,这对于资源有限的服务器来说非常重要。

缺点

配置过程相对复杂

优化 YUM 配置需要对系统有一定的了解,对于初学者来说可能有一定的难度。

可能存在配置风险

如果配置不当,可能会导致 YUM 无法正常工作,甚至影响系统的稳定性。所以在进行配置时需要谨慎操作。

四、优化前的准备工作

备份 YUM 配置文件

在进行任何更改之前,一定要先备份 YUM 的配置文件,以防配置失误导致系统出现问题。我们可以使用以下命令来备份:

# 技术栈:Shell
# 备份 yum 主配置文件
cp /etc/yum.conf /etc/yum.conf.backup
# 备份 yum 仓库配置文件所在目录
cp -r /etc/yum.repos.d/ /etc/yum.repos.d.backup

了解系统内核信息

我们需要知道当前系统使用的内核版本,以便选择合适的插件和进行配置。可以使用以下命令查看:

# 技术栈:Shell
uname -r

这个命令会输出当前系统的内核版本号,比如 4.18.0-305.19.1.el8_4.x86_64

五、精简 YUM 插件

查看当前安装的插件

我们可以通过以下命令查看当前系统中安装的 YUM 插件:

# 技术栈:Shell
yum list installed | grep yum-plugin

这个命令会列出所有已安装的以 yum-plugin 开头的插件。

删除不必要的插件

有些插件可能我们根本用不到,就可以把它们删除。比如,yum-plugin-fastestmirror 插件在某些情况下可能会导致网络问题,我们可以通过以下命令删除它:

# 技术栈:Shell
yum remove yum-plugin-fastestmirror

六、适配系统内核

检查内核相关的 YUM 配置

有些 YUM 配置可能与特定的内核版本有关,我们需要检查并确保这些配置与当前系统内核兼容。可以编辑 /etc/yum.conf 文件,查看其中是否有与内核相关的配置项:

# 技术栈:Shell
vi /etc/yum.conf

在文件中查找类似于 exclude=kernel* 这样的配置项,如果有的话,确保其配置符合我们的需求。

安装适用于当前内核的更新包

使用 YUM 安装适用于当前内核的更新包,以确保系统的稳定性和安全性:

# 技术栈:Shell
yum update kernel

这个命令会更新系统的内核到最新的可用版本。

七、优化 YUM 仓库配置

选择合适的镜像源

我们可以选择一些国内的镜像源来提高 YUM 下载软件的速度。以阿里云镜像源为例,我们可以将 /etc/yum.repos.d/ 目录下的所有 .repo 文件备份后,创建一个新的 alma.repo 文件,并添加以下内容:

# 技术栈:Shell
# 创建并编辑 alma.repo 文件
vi /etc/yum.repos.d/alma.repo

在文件中添加以下配置:

[almalinux-baseos]
name=AlmaLinux $releasever - BaseOS
baseurl=https://mirrors.aliyun.com/almalinux/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux

[almalinux-appstream]
name=AlmaLinux $releasever - AppStream
baseurl=https://mirrors.aliyun.com/almalinux/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux

[almalinux-extras]
name=AlmaLinux $releasever - Extras
baseurl=https://mirrors.aliyun.com/almalinux/$releasever/extras/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux

清理 YUM 缓存

修改镜像源后,我们需要清理 YUM 的缓存,让新的配置生效:

# 技术栈:Shell
yum clean all

然后重新生成缓存:

# 技术栈:Shell
yum makecache

八、优化 YUM 配置文件

编辑 /etc/yum.conf 文件

我们可以对 /etc/yum.conf 文件进行一些优化配置。使用以下命令打开文件:

# 技术栈:Shell
vi /etc/yum.conf

在文件中添加或修改以下配置项:

# 设置下载线程数,提高下载速度
max_parallel_downloads=10
# 启用增量更新
delta_rpm_metadata_percentage=100

解释一下这两个配置项的含义:

  • max_parallel_downloads:设置 YUM 下载软件时的最大并行线程数,数字越大,下载速度可能越快,但也会占用更多的网络资源。
  • delta_rpm_metadata_percentage:启用增量更新,只下载软件包的变更部分,减少下载量。

九、测试优化后的配置

安装一个测试软件

优化完成后,我们可以安装一个测试软件来验证配置是否正常工作。比如,安装 wget 工具:

# 技术栈:Shell
yum install wget

如果安装过程顺利,说明我们的优化配置生效了。

检查系统性能

通过监控系统的 CPU、内存、网络等指标,查看优化后系统在使用 YUM 进行软件操作时的性能是否有所提升。

十、注意事项

谨慎删除插件

在删除 YUM 插件时,一定要确认该插件是否真的无用。有些插件可能在特定的场景下有重要作用,删除后可能会影响系统的正常功能。

备份配置文件

在进行任何配置更改之前,一定要备份相关的配置文件,以防出现问题可以恢复到之前的状态。

配置完成后测试

每次完成配置更改后,都要进行充分的测试,确保配置正常工作,不会影响系统的稳定性和功能。

十一、文章总结

通过对 AlmaLinux 的 YUM 进行专属优化配置,我们可以解决系统默认 YUM 配置冗余的问题,精简插件并适配系统内核。优化后的配置可以提高系统的性能,增强稳定性,节省资源。在优化过程中,我们需要备份配置文件,谨慎删除插件,选择合适的镜像源,优化配置文件,并进行充分的测试。这样,我们就可以让 AlmaLinux 系统的 YUM 工具更加高效、稳定地运行,为我们的开发和生产工作提供更好的支持。