博客 / Linux/ CentOS 7 yum 包管理器完全指南:安装、卸载、查询与缓存管理

CentOS 7 yum 包管理器完全指南:安装、卸载、查询与缓存管理

CentOS 7 yum 包管理器完全指南:安装、卸载、查询与缓存管理

使用 yum 安装和卸载软件的前提是,yum 管理的软件包都是 RPM 格式的。

一、yum 安装命令

命令格式:yum install package_name

执行此命令时,yum 会查询软件仓库数据库,检查指定的软件包是否存在。如果存在,yum 会分析其依赖关系。如果没有依赖冲突,则会直接下载并安装。如果存在依赖冲突或需要额外依赖包,yum 会给出提示,询问用户是否要同时安装这些依赖包,用户可以根据提示进行选择。

二、yum 卸载/删除命令

命令格式:yum remove package_name

与安装过程类似,yum 在卸载软件时也会查询数据库,分析该软件包是否被其他软件所依赖,并给出相应的解决方案提示,由用户确认后执行卸载。

三、yum 安装指定版本

有时我们需要安装特定版本的软件。首先,可以使用 yum list --showduplicates package_name 命令来查看仓库中该软件所有可用的版本列表。然后,在安装命令中指定完整的包名和版本号即可。

安装指定版本 Redis 示例

# 查看 remi 仓库中 Redis 的所有可用版本
# yum --enablerepo=remi list redis --showduplicates | sort -r

# 输出示例:
# redis.x86_64                        6.0.6-1.el7.remi                        remi
# redis.x86_64                        5.0.9-1.el7.remi                        remi
# redis.x86_64                        3.2.12-2.el7                            epel

# 安装指定版本(例如 6.0.6)
# yum --enablerepo=remi install redis-6.0.6 -y

四、yum 查询命令

yum 提供了丰富的查询功能来帮助管理软件包:

  • 搜索软件包yum search keyword
  • 列出所有可安装的软件包yum list available
  • 列出所有可更新的软件包yum list updates
  • 列出所有已安装的软件包yum list installed
  • 列出指定软件包yum list package_name
  • 获取软件包详细信息yum info package_name
  • 列出软件包提供的文件yum provides /path/to/fileyum provides *package_name*

五、清除 YUM 缓存

yum 会将下载的软件包(RPM)和元数据(headers)缓存起来,默认不会自动删除。可以使用以下命令清理缓存以释放磁盘空间:

  • yum clean packages:清除缓存中的软件包文件。
  • yum clean headers:清除旧的 header 元数据。
  • yum clean allyum clean metadata:执行全面的清理(包括 packages, headers, metadata 等)。这是最常用的清理命令。

六、其他常用 yum 命令与技巧

  • yum update:升级所有可更新的软件包(升级系统)。
  • yum update package_name:升级指定软件包。
  • yum grouplist:列出所有可用的和已安装的软件包组。
  • yum groupinstall "group_name":安装一个软件包组。
  • yum groupremove "group_name":卸载一个软件包组。
  • yum deplist package_name:列出指定软件包的依赖关系。
  • yum localinstall /path/to/package.rpm:安装本地 RPM 文件并自动解决依赖(需要仓库支持)。

在 CentOS 7 中安装中文字体

可以通过安装 "fonts" 软件包组来获取基础的中文字体支持:

yum groupinstall "fonts"

安装完成后,可以检查系统是否已添加中文语言环境支持:

locale -a | grep "zh_CN"

如果安装成功,通常会看到类似以下的输出,表明中文语言包已可用:

zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

注意:本文基于 CentOS 7 编写。CentOS 7 已于 2024 年 6 月结束生命周期(EOL)。对于新项目,建议考虑迁移至 RHEL、Rocky Linux、AlmaLinux 等后续替代发行版,其包管理命令(dnf/yum)与本文所述基本兼容,但部分仓库和软件版本会有所不同。

发表评论

您的邮箱不会公开。必填项已用 * 标注。