Linux系统中不同的发行版往往搭配不同的包管理工具,yum和apt就是其中最具代表性的两类,二者的设计逻辑和使用场景存在诸多差异。

适用发行版不同
yum全称为Yellow dog Updater Modified,主要应用于基于RPM包管理的Red Hat系列发行版,包括CentOS、RHEL、Fedora等。而apt全称为Advanced Package Tool,是Debian系列发行版的标准包管理工具,常见于Ubuntu、Debian、Linux Mint等系统。
底层包格式与依赖处理机制不同
yum基于RPM(Red Hat Package Manager)包格式工作,安装软件时会自动处理RPM包的依赖关系,从配置的软件仓库中下载对应的依赖包完成安装。apt则基于DPKG(Debian Package)包格式,同样具备自动解决依赖的能力,其依赖处理逻辑针对DPKG包的特性做了专门优化。
常用命令对比
两者虽然核心功能都是管理软件包,但具体的命令语法存在明显区别,以下是常见操作的命令对照:
| 操作类型 | yum命令 | apt命令 |
|---|---|---|
| 更新软件包列表 | yum makecache | apt update |
| 升级所有已安装软件 | yum update | apt upgrade |
| 安装指定软件 | yum install 软件名 | apt install 软件名 |
| 卸载软件(保留配置) | yum remove 软件名 | apt remove 软件名 |
| 卸载软件(删除配置) | yum erase 软件名 | apt purge 软件名 |
| 搜索软件包 | yum search 关键词 | apt search 关键词 |
| 查看已安装软件列表 | yum list installed | apt list --installed |
仓库配置方式不同
yum的软件仓库配置文件存放在/etc/yum.repos.d/目录下,每个.repo文件对应一个仓库源,用户可以手动编辑这些文件添加第三方仓库。apt的仓库配置则分为两部分,源地址配置在/etc/apt/sources.list文件中,第三方源配置存放在/etc/apt/sources.list.d/目录下的.list文件中,修改后需要执行apt update刷新本地包列表缓存。
使用示例
yum安装nginx示例
# 更新yum仓库缓存 yum makecache # 安装nginx yum install nginx -y # 启动nginx服务 systemctl start nginx # 查看nginx安装状态 yum list installed | grep nginx
apt安装nginx示例
# 更新apt本地包列表 apt update # 安装nginx apt install nginx -y # 启动nginx服务 systemctl start nginx # 查看已安装的nginx包信息 apt list --installed | grep nginx
其他差异点
- yum默认的操作日志存放在
/var/log/yum.log,apt的操作日志则存放在/var/log/apt/history.log - yum支持使用
yum history命令查看历史操作记录并支持回滚操作,apt没有原生的操作回滚功能 - 部分基于RPM的发行版 newer版本已经用dnf替代了yum作为默认包管理工具,而apt在Debian系列发行版中仍然保持稳定的核心地位