使用 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/file或yum provides *package_name*
五、清除 YUM 缓存
yum 会将下载的软件包(RPM)和元数据(headers)缓存起来,默认不会自动删除。可以使用以下命令清理缓存以释放磁盘空间:
yum clean packages:清除缓存中的软件包文件。yum clean headers:清除旧的 header 元数据。yum clean all或yum 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)与本文所述基本兼容,但部分仓库和软件版本会有所不同。