yum是Yellowdog Updater Modified的缩写,是Linux系统中广泛使用的包管理器,主要用于RPM-based发行版(如CentOS、RHEL、Fedora)的软件安装、更新、卸载和依赖管理,通过配置仓库自动解决软件包依赖关系。

yum的全称来源于早期Yellow Dog Linux发行版中的改进工具,后来被红帽企业版Linux采纳并成为标准。其核心机制是读取远程或本地仓库中的元数据,比对当前系统已安装的软件包,智能下载并安装所需依赖,避免了传统手动安装RPM包时常见的“依赖地狱”问题。常用命令包括`yum install`、`yum update`、`yum remove`、`yum list`等。在CentOS 8及后续版本中,yum已被dnf(Dandified Yum)替代,但dnf保留了yum的兼容性命令行接口,大部分操作习惯仍可沿用。对于运维人员而言,理解yum的仓库配置(位于`/etc/yum.repos.d/`目录)、缓存清理(`yum clean all`)以及历史回滚(`yum history`)是掌握系统管理的关键。
【常见问题】
问题1:yum是什么,它与apt有什么区别?
回答1:yum是Linux系统中基于RPM的包管理器,主要用于CentOS、RHEL等发行版;而apt是基于Debian的包管理器,用于Ubuntu、Debian等系统。两者功能类似,但仓库格式、依赖解决算法和命令语法不同。yum使用`.repo`文件定义仓库,apt使用`sources.list`。
问题2:yum安装软件时提示“没有可用软件包”怎么办?
回答2:首先检查yum仓库配置是否正确,使用`yum repolist`查看已启用的仓库。如果仓库缺失,可以添加EPEL、Base等官方仓库,或手动下载并安装对应的RPM包。另外,确保网络连通且DNS解析正常,必要时更新缓存(`yum makecache`)。
问题3:yum update和yum upgrade有什么区别?
回答3:在传统yum中,`yum update`和`yum upgrade`功能相同,都会升级所有可更新软件包并处理依赖变化。但dnf(新一代yum)中,`upgrade`会跳过被标记为“跳过”的包,而`update`会更新所有包。建议日常使用`yum update`。
问题4:yum如何卸载软件及其依赖?
回答4:使用`yum remove
问题5:yum缓存占用了大量磁盘空间,如何清理?
回答5:执行`yum clean all`可以清除所有缓存(包括包文件、元数据、数据库)。如果只想清理下载的RPM包,使用`yum clean packages`。定期清理可以释放磁盘空间,但下次安装时需重新下载。


