Ubuntu(基于Debian)和CentOS(基于Red Hat系)在软件包管理上的主要区别如下:
1. 包管理工具
- Ubuntu:使用 APT(Advanced Package Tool)作为前端工具,后端基于 dpkg(Debian Package Manager)。
- 常用命令:
apt update、apt install、apt remove、apt upgrade。
- 常用命令:
- CentOS:使用 YUM(Yellowdog Updater Modified,CentOS 7及以前)或 DNF(CentOS 8+,Fedora的下一代工具),后端基于 RPM(Red Hat Package Manager)。
- 常用命令:
yum install、yum update(CentOS 7)或dnf install(CentOS 8+)。
- 常用命令:
2. 包格式
- Ubuntu:软件包格式为 .deb,依赖关系通常较复杂但管理自动化程度高。
- CentOS:软件包格式为 .rpm,依赖关系通过YUM/DNF自动解决。
3. 软件源与仓库
- Ubuntu:
- 软件源配置文件位于
/etc/apt/sources.list或/etc/apt/sources.list.d/。 - 官方仓库提供大量软件,社区支持活跃(如PPA个人软件包存档)。
- 软件源配置文件位于
- CentOS:
- 软件源配置文件位于
/etc/yum.repos.d/(YUM/DNF)。 - 依赖EPEL(Extra Packages for Enterprise Linux)仓库扩展软件数量,稳定性优先于新特性。
- 软件源配置文件位于
4. 更新策略
- Ubuntu:
- 每6个月发布常规版本,每2年发布LTS(长期支持)版本。
- 软件版本较新,更新频繁。
- CentOS:
- 强调稳定性和企业级支持,软件版本较旧但经过充分测试。
- CentOS 7使用YUM,CentOS 8+过渡到DNF并引入模块化仓库。
5. 依赖解析与处理
- APT:自动处理依赖关系,支持更复杂的依赖冲突解决。
- YUM/DNF:同样自动解决依赖,但历史版本中YUM速度较慢,DNF在性能和依赖解析上有改进。
6. 系统服务管理
- Ubuntu:使用 systemd(新版)但保留部分Upstart/SysVinit兼容。
- CentOS:CentOS 7+全面使用 systemd,与包管理工具独立但紧密集成。
7. 典型操作对比
| 操作 | Ubuntu (APT) | CentOS 7 (YUM) | CentOS 8+ (DNF) |
|---|---|---|---|
| 更新源 | apt update |
yum check-update |
dnf check-update |
| 安装软件 | apt install <包名> |
yum install <包名> |
dnf install <包名> |
| 删除软件 | apt remove <包名> |
yum remove <包名> |
dnf remove <包名> |
| 搜索软件 | apt search <关键词> |
yum search <关键词> |
dnf search <关键词> |
8. 特殊工具
- Ubuntu:
dpkg -i直接安装本地.deb文件。add-apt-repository添加PPA源。
- CentOS:
rpm -ivh直接安装本地.rpm文件(需手动处理依赖)。yum-config-manager管理仓库(CentOS 7+)。
总结
- Ubuntu 适合追求新软件、易用性和桌面环境的用户,包管理灵活且社区资源丰富。
- CentOS 适合企业服务器场景,强调稳定性、安全性和长期支持,包管理更保守但可靠。
注:CentOS已转向CentOS Stream(滚动更新),传统CentOS Linux 8+已停止维护,用户可考虑Rocky Linux或AlmaLinux作为替代。
CLOUD技术笔记