yum主要用于centos、rhel、fedora(旧版)等rpm系系统,apt用于ubuntu、debian等debian系系统;1. 更新软件列表:yum用yum check-update,apt需先运行apt update;2. 安装包:yum install package_name,apt install package_name;3. 删除包:yum remove package_name,apt remove package_name;4. 升级系统:yum update,apt upgrade;5. 搜索包:yum search keyword,apt search keyword;6. 查看信息:yum info package_name,apt show package_name;7. 清理缓存:yum clean all,apt clean;两者均自动处理依赖,apt依赖解析更成熟,yum在旧版中可能遇冲突,建议操作前更新软件源列表以避免问题,此为掌握两者使用的关键。
在linux系统中,安装软件包是日常运维和开发中的常见操作。不同的Linux发行版使用不同的包管理器,其中最常见的是基于RPM的yum(及其继任者dnf)和基于Debian的apt。下面从命令用法、功能特点和使用场景等方面对
yum
和
apt
进行对比,帮助你快速掌握两者的使用方法。
一、yum 和 apt 分别用于哪些系统?
- yum:主要用于 centos、RHEL、Fedora(旧版本) 等基于 RPM 的系统。
- apt:主要用于 Ubuntu、Debian、Linux Mint 等基于 Debian 的系统。
注意:从 Fedora 22 开始,dnf 取代了 yum,但命令接口保持兼容,很多用户仍习惯称其为 yum。
二、常用命令对比
下面是
yum
和
apt
在常见操作中的命令对照表:
操作 | yum 命令 | apt 命令 |
---|---|---|
更新软件包列表 | @@######@@ | @@######@@ |
安装软件包 | @@######@@ | @@######@@ |
删除软件包 | @@######@@ | @@######@@ |
升级所有软件包 | @@######@@ | @@######@@ |
搜索软件包 | @@######@@ | @@######@@ |
查看软件包信息 | @@######@@ | @@######@@ |
清理缓存 | @@######@@ | @@######@@ 或 @@######@@ |
三、关键差异与使用建议
1. 软件源更新机制不同
-
yum check-update
需要先运行
apt update
才能获取最新的软件包列表。
-
yum install package_name
在执行
apt install package_name
或
yum remove package_name
时会自动检查更新,但建议先运行
apt remove package_name
确认。
建议:在使用
yum update时,养成先
apt upgrade的习惯,否则可能安装旧版本或报“找不到包”。
2. 依赖处理能力
- 两者都能自动解决依赖关系。
-
yum search keyword
的依赖解析更成熟,错误提示更清晰。
-
apt search keyword
在旧版本中有时会卡住或提示冲突,新版
yum info package_name
有明显改进。
3. 缓存管理
-
apt show package_name
默认缓存下载的 RPM 包,可通过
yum clean all
清理。
-
apt clean
缓存位于
apt autoclean
,使用
apt
可删除所有缓存
apt update
包。
小技巧:定期清理缓存可节省磁盘空间。
4. 批量操作与脚本支持
-
yum
支持
install
参数自动确认,适合脚本中使用:
update
-
yum check-update
同样支持:
apt
四、实际使用示例
假设你要安装 nginx:
-
在 CentOS/RHEL 上:
update
-
在 Ubuntu/Debian 上:
apt
注意:Ubuntu 上如果不先
yum
,可能会因为本地索引过期而无法找到包。
五、扩展工具与图形界面支持
-
dnf
有
yum
这个更强大的前端工具(文本界面),支持更复杂的依赖操作。
-
yum clean all
有
apt
等图形前端,但使用较少。
- 现代系统更多依赖命令行,图形工具已逐渐边缘化。
基本上就这些。虽然
/var/cache/apt/archives/
和
apt clean
命令语法略有不同,但功能高度对应。记住几个核心命令,根据你使用的系统选择即可。关键是理解:先更新源列表,再安装软件,这个习惯能避免大多数问题。
.deb
apt
-y
apt update && apt install -y nginx
yum
yum install -y nginx
yum install -y nginx systemctl start nginx
apt update apt install -y nginx systemctl start nginx
update
apt
aptitude
yum
yumex
yum
apt