在企业服务器和开发环境中,稳定高效的软件包管理是系统维护的基础。CentOS 8 作为流行的 Linux 发行版,默认使用 DNF 管理工具替代了传统的 YUM,但二者依然密切相关。本文将带你全面了解 YUM 与 DNF 的定义、作用及特点,演示基础命令,详细讲解如何配置网络和本地 ISO 源,最后说明缓存管理命令的使用技巧,助你轻松构建高效的软件包管理环境。
1. YUM 与 DNF:定义、作用及特点
YUM(Yellowdog Updater Modified)
-
定义:基于 RPM 的包管理器,CentOS 7 及之前版本默认软件包管理工具。
-
作用:自动解决软件包依赖关系,便捷安装、更新和卸载软件。
-
特点:
-
支持插件扩展
-
网络与本地仓库均支持
-
成熟稳定,用户基础大
-
DNF(Dandified YUM)
-
定义:YUM 的下一代替代者,采用现代化依赖解决库 libsolv。
-
作用:提供更快更准确的软件包管理体验,CentOS 8 默认使用。
-
特点:
-
性能更优,依赖解析更精准
-
兼容 YUM 命令,便于过渡
-
改进内存管理和插件架构
-
2. YUM 与 DNF 基本命令示例
功能 | YUM 示例命令 | DNF 示例命令 |
---|---|---|
安装软件包 | yum install httpd | dnf install httpd |
卸载软件包 | yum remove httpd | dnf remove httpd |
更新系统软件包 | yum update | dnf update |
查询已安装包 | yum list installed | dnf list installed |
搜索软件包 | yum search nginx | dnf search nginx |
清理缓存 | yum clean all | dnf clean all |
查看包详情 | yum info vim | dnf info vim |
3. 配置 YUM 与 DNF 网络仓库
3.1 网络仓库简介
网络仓库指系统通过互联网访问的远程软件包源,默认 CentOS 配置使用官方镜像。
3.2 替换为阿里云镜像仓库示例
阿里云镜像速度快,稳定,适合国内用户:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
dnf clean all
dnf makecache
执行后,系统将使用阿里云的 CentOS 8 仓库,提高软件包下载速度。
4. 配置 YUM 或 DNF 本地 ISO 仓库
4.1 挂载 ISO 文件
将 CentOS 8 安装镜像挂载到本地目录:
mkdir -p /mnt/liuguohua.com.iso
mount -o loop /opt/CentOS-8-x86_64-*.iso /mnt/liuguohua.com.iso
4.2 创建本地仓库配置
编辑 /etc/yum.repos.d/local.repo
文件,示例如下:
[local-base]
name=CentOS 8 Local BaseOS Repository
baseurl=file:///mnt/liuguohua.com.iso/BaseOS
enabled=1
gpgcheck=0
[local-appstream]
name=CentOS 8 Local AppStream Repository
baseurl=file:///mnt/liuguohua.com.iso/AppStream
enabled=1
gpgcheck=0
4.3 更新缓存
dnf clean all
dnf makecache
此时系统即可从本地 ISO 镜像中安装和更新软件包,适合无网络环境或企业内部镜像管理。
5. yum makecache 与 yum clean 说明
5.1 yum makecache
-
功能:预先下载和缓存所有启用仓库的元数据,加快后续软件包安装和更新速度。
-
使用示例:
yum makecache
或
dnf makecache
5.2 yum clean
-
功能:清理 YUM/DNF 缓存数据,释放磁盘空间,常用于仓库源变更后刷新缓存。
-
常用参数:
-
yum clean all
:清理所有缓存(元数据与软件包) -
yum clean metadata
:只清理仓库元数据 -
yum clean packages
:只清理已下载的软件包缓存
-
示例:
yum clean all
或
dnf clean all
6.总结
CentOS 8 中,DNF 替代 YUM 成为默认的软件包管理器,兼顾效率与稳定。通过配置网络仓库和本地 ISO 仓库,结合合理的缓存管理命令,可以显著提升系统软件安装与更新体验。如果还想学习centos7或centos9下,更多技术经验,请访问:https://www.liuguohua.com