菜鸟科技网

yum常用命令有哪些?

yum(Yellow dog Updater, Modified)是 Red Hat 及其衍生发行版(如 CentOS、Fedora、RHEL 等)中常用的包管理器,用于自动处理软件的安装、更新、卸载和依赖关系管理,它基于 RPM 包管理,但通过依赖解析功能简化了操作流程,尤其适合初学者和系统管理员使用,以下将详细介绍 yum 的常用命令及其应用场景,帮助用户高效管理软件包。

yum常用命令有哪些?-图1
(图片来源网络,侵删)

软件包查询命令

在使用 yum 时,查询软件包信息是基础操作,通过查询,可以了解系统中已安装或可用的软件包及其详细信息。

  1. 列出所有已安装的软件包
    执行 yum list installedyum list installed | grep "关键词" 可查看系统中已安装的软件包,结合 grep 可快速筛选特定软件包。yum list installed | grep "nginx" 仅显示与 nginx 相关的已安装包。

  2. 列出仓库中可用的软件包
    yum list available 显示当前仓库中所有可安装的软件包,而 yum list updates 则列出可更新的软件包,若需查看特定软件包的可用版本,可使用 yum list "软件包名",如 yum list "httpd"

  3. 搜索软件包
    yum search "关键词" 可根据描述或名称搜索软件包。yum search "ftp" 会返回与 FTP 相关的软件包列表,帮助用户快速定位所需工具。

    yum常用命令有哪些?-图2
    (图片来源网络,侵删)
  4. 查看软件包详细信息
    yum info "软件包名" 提供软件包的详细描述、版本、大小、依赖关系等信息。yum info "vsftpd" 可查看 FTP 服务器软件 vsftpd 的具体信息,辅助决策是否安装。

  5. 查询软件包文件所属
    若需了解某个文件属于哪个软件包,可使用 yum provides "文件路径"yum provides "/usr/bin/ssh" 会显示提供 ssh 命令的软件包(通常为 openssh-clients)。

软件包安装与更新

安装和更新软件包是 yum 的核心功能,支持自动处理依赖关系,避免手动解决复杂依赖问题。

  1. 安装软件包
    yum install "软件包名" 用于安装指定软件包及其依赖。yum install "git" 会自动安装 git 及其所需的库文件,若需安装多个包,可用空格分隔,如 yum install "vim" "wget"

    yum常用命令有哪些?-图3
    (图片来源网络,侵删)
  2. 安装特定版本的软件包
    通过 yum install "软件包名-版本号" 可安装指定版本。yum install "httpd-2.4.6" 安装 httpd 的 2.4.6 版本,需注意,仓库中必须存在该版本。

  3. 更新软件包
    yum update 更新所有已安装软件包至最新版本,而 yum update "软件包名" 仅更新指定软件包。yum update "kernel" 可单独更新内核。

  4. 升级系统
    yum upgradeyum update 类似,但会处理配置文件的冲突,通常用于系统 major 版本升级。

  5. 重新安装软件包
    若软件包文件损坏,可通过 yum reinstall "软件包名" 重新安装,保留原有配置文件。

软件包卸载与清理

卸载不需要的软件包并清理缓存,可释放磁盘空间并保持系统整洁。

  1. 卸载软件包
    yum remove "软件包名"yum erase "软件包名" 用于卸载软件包及其依赖(若未被其他包使用)。yum remove "nginx" 会彻底删除 nginx 及其未使用的依赖。

  2. 卸载时保留配置文件
    默认情况下,卸载软件包会删除配置文件,若需保留,可使用 yum remove "软件包名" --save-old,但需注意后续安装同名包时可能产生冲突。

  3. 清理缓存
    yum 会缓存下载的软件包,可通过以下命令清理:

    • yum clean all:清理所有缓存(包括 headers、packages、metadata 等)。
    • yum clean packages:仅清理已下载的软件包文件。
    • yum clean metadata:清理软件包元数据。

    定期清理可节省磁盘空间,尤其对于存储空间有限的系统。

仓库与组管理

yum 支持管理软件源和软件包组,便于批量操作。

  1. 列出可用的软件源
    yum repolist 显示当前启用的软件源及其包含的软件包数量,而 yum repolist all 列出所有软件源(包括禁用的)。

  2. 启用或禁用软件源
    通过 yum-config-manager --enable "源ID" 启用软件源,--disable 禁用。yum-config-manager --enable "epel" 启用 EPEL 源。

  3. 安装软件包组
    yum groupinstall "组名" 批量安装一组相关软件包。yum groupinstall "Development Tools" 安装开发工具组(包含 gcc、make 等)。

  4. 查看软件包组信息
    yum groupinfo "组名" 显示组内包含的软件包列表。yum groupinfo "Web Server" 查看 Web 服务器组的组成。

其他实用命令

  1. 检查更新
    yum check-update 列出所有可更新的软件包,但不执行更新操作。

  2. 历史记录管理
    yum history list 查看 yum 操作历史记录,yum history undo "ID" 撤销指定操作(如安装或卸载)。

  3. 依赖关系检查
    yum deplist "软件包名" 显示指定软件包的依赖及其提供者,便于排查依赖问题。

yum 常用命令速查表

功能分类 命令 说明
查询已安装包 yum list installed 列出所有已安装的软件包
查询可用包 yum list available 列出仓库中所有可安装的软件包
搜索软件包 yum search "关键词" 根据关键词搜索软件包
查看包信息 yum info "软件包名" 显示软件包的详细信息
安装软件包 yum install "软件包名" 安装指定软件包及其依赖
更新软件包 yum update "软件包名" 更新指定软件包至最新版本
卸载软件包 yum remove "软件包名" 卸载指定软件包及其未使用的依赖
清理缓存 yum clean all 清理所有 yum 缓存文件
安装软件包组 yum groupinstall "组名" 批量安装软件包组
查看软件源 yum repolist 显示当前启用的软件源列表

相关问答 FAQs

问题 1:如何使用 yum 安装指定版本的软件包?
解答:若需安装特定版本,可通过 yum install "软件包名-版本号" 实现,安装 nginx 的 1.18.0 版本,命令为 yum install "nginx-1.18.0",需确保仓库中存在该版本,否则会提示“没有可用软件包”,可通过 yum list "软件包名" 查看所有可用版本。

问题 2:yum 缓存占用空间过大,如何清理?
解答:yum 默认将下载的软件包和元数据保存在 /var/cache/yum/ 目录下,执行 yum clean all 可清理所有缓存(包括 headers、packages、dbcache 等),释放磁盘空间,若仅想清理软件包文件,可使用 yum clean packages;清理元数据则用 yum clean metadata,建议定期执行清理命令,尤其在磁盘空间紧张时。

分享:
扫描分享到社交APP
上一篇
下一篇