游乐游手机版
首页/系统平台/文章详情

Linux系统中软件包管理器yum和apt-get的全面对比与详解

时间:2026-06-24 22:08
yum与apt-get的区别:Linux包管理工具全面对比在Linux的世界中,系统管理主要分为两大流派:RedHat家族(包括Redhat、Centos、Fedora等)与Debian家族(涵盖Debian、Ubuntu等派生版本)。理清这两大派系在软件包管理上的差异,基本上就掌握了Linux软件

yum与apt-get的区别:Linux包管理工具全面对比

在Linux的世界中,系统管理主要分为两大流派:RedHat家族(包括Redhat、Centos、Fedora等)与Debian家族(涵盖Debian、Ubuntu等派生版本)。理清这两大派系在软件包管理上的差异,基本上就掌握了Linux软件安装与维护的核心逻辑。

RedHat 系列

RedHat家族采用rpm作为软件包格式,底层操作命令为rpm -参数。其高级包管理工具yum堪称rpm的“智能管家”,能自动处理依赖关系。此外,tar包这类通用压缩格式同样被支持,但使用方式有所不同。

Debian系列

Debian家族则使用deb格式,底层命令为dpkg -参数,其高级包管理工具是广为人知的apt-get。同样,tar包也能在Debian系统中使用。

这里有必要澄清一个概念——tar。tar本质上是一种归档打包工具,它只负责将多个文件合并成一个文件,并不关心文件内容。因此,遇到tar包时,需要先解压再处理。

rpm则不同。它类似于Windows中的安装程序,但更出色之处在于能自动处理软件包之间的依赖关系,省去手动安装缺失库的繁琐步骤。不过,rpm多为预编译的二进制文件,可能针对特定CPU架构或发行版,迁移到其他机器时可能无法运行。

tar包通常包含源码及编译脚本,用户可以在自己的环境中随时编译,具有很好的通用性。简言之,如果开发者不打算开源,发布rpm包是主流选择;而如果源码是开放的,使用tar包分发让用户自行编译配置,反而更加灵活。

具体操作上,tar源码包一般解压后执行经典三部曲:./configuremakemake install。而rpm包可直接通过rpm命令安装或卸载,最大优势在于自动解决依赖问题,无需用户手动操心。

RedHat 系列:rpm 包的日常操作

以下列举一些常见的rpm命令,虽略显“古老”,但日常运维中仍有用武之地。

安装: rpm -ivh *.rpm

卸载: rpm -e packagename

查看是否安装: rpm -q nginx

升级: rpm -Uvh xxx

查询相关:
查询所有已安装包: rpm -qa
查询某个包是否安装: rpm -qa | grep xxx
查看包详细信息: rpm -qi xxx
查看安装路径: rpm -ql xxx
查看配置文件: rpm -qc xxx
查询某个文件属于哪个rpm包: rpm -qf /etc/yum.conf
查看未安装的rpm包信息: rpm -qpi xxx

另外,如果遇到src.rpm这种源代码格式的rpm包,处理方式略有不同。需要先编译:
rpm -rebuild *.src.rpm
然后进入生成目录: cd /usr/src/dist/RPMS
再安装生成后的二进制包: rpm -ivh *.rpm

Debian 系列: dpkg 的基本功

dpkg是Debian家族的底层包管理器,最基础的使用方法如下:

1. 安装deb包: dpkg -i

2. 查看deb包内容: dpkg -c

3. 提取deb包的元信息: dpkg -I

4. 移除已安装的包: dpkg -r

5. 完全清除包(包括配置文件): dpkg -P

6. 列出已安装包的所有文件: dpkg -L

7. 查看已安装包的详细信息: dpkg -s

8. 重新配置已经安装的包: dpkg-reconfigure

生产力工具:yum 和 apt-get

手动使用rpm或dpkg偶尔还行,但在批量管理或频繁更新时,必须借助yum和apt-get这类高级包管理工具,它们能显著提升运维效率。

1. 先讲 RedHat 的 yum

yum的配置文件位于/etc/yum.conf。其核心价值在于自动解决rpm包间的依赖关系,并支持同时配置多个软件源,简单可靠且能保持与RPM数据库的一致性。

常用命令:

安装软件: yum install gcc

更新系统或包: yum update

删除软件: yum remove xxx

清理缓存: yum clean all

搜索包: yum search xxx

列出所有包: yum list

查看包信息: yum info xxx

一组常见的批量安装示例:
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel ...

其他常用子命令:

检查可更新包:yum check-update

更新内核:yum update kernel

大规模版本升级(包含淘汰包):yum upgrade

搜索包含特定文件的包:yum provides realplay

以组为单位操作:yum groupinstall、yum grouplist、yum groupremove

关于源的选择:

可以安装yum-fastestmirror插件,自动选择最快的镜像源,避免因慢速镜像拖慢下载速度。

2. 再讲 Ubuntu 的 apt-get

apt-get的源配置文件位于/etc/apt/sources.list。日常使用中,除了基础命令,还推荐功能更强大的前端工具aptitude。

通过sudo apt-get install aptitude安装后,可直接执行sudo aptitude进入交互式管理界面。

常用aptitude命令同样直观:

update、upgrade、dist-upgrade、install、remove、purge、search、show、clean、autoclean。整体风格与yum一致,但apt-get在依赖处理和软件包查找方面历史积累更为深厚。

常用的APT命令参数:

搜索包:apt-cache search package

查看包详情:apt-cache show package

安装包:sudo apt-get install package

重新安装:sudo apt-get install package --reinstall

修复依赖:sudo apt-get -f install

删除包:sudo apt-get remove package

完全删除(含配置):sudo apt-get remove --purge package

更新源:sudo apt-get update

升级已安装的包:sudo apt-get upgrade

升级整个发行版:sudo apt-get dist-upgrade

查看依赖关系:apt-cache depends package

查看被依赖关系:apt-cache rdepends package

安装编译依赖环境:sudo apt-get build-dep package

下载源码:apt-get source package

清理无用的缓存包:sudo apt-get clean && sudo apt-get autoclean

检查依赖完整性:sudo apt-get check

最后做个简明总结,为日常选择提供参考。如果环境是CentOS/RedHat,包管理以yum为核心;如果环境是Ubuntu/Debian,则apt-get是最佳伙伴。tar作为源头活水,提供了编译自由;rpm实现即装即用,更加省心。而yum与apt-get则让这一切变得高效而优雅,真正提升了Linux系统管理的生产力。

来源:https://www.jb51.net/os/RedHat/534223.html
上一篇CentOS联合编译动态链接库详解 下一篇CentOS文件通配符详解
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送