Linux yum命令介绍
yum
(Yellowdog Updater Modified)是在Fedora和RedHat以及SUSE中基于RPM的软件包管理器。它能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无需繁琐地一次次下载安装。
Linux yum命令适用的Linux版本
yum
命令主要在基于RedHat的Linux发行版中使用,包括RedHat Enterprise Linux (RHEL)、CentOS 和 Fedora等。随着新的包管理器如dnf
的出现,一些发行版可能会逐步放弃yum
,但大多数基于RedHat的发行版仍然支持yum
。
如果您在使用的发行版中发现bash: yum: command not found
,您可能需要安装yum
或者切换到该发行版推荐的包管理器。例如,Fedora 22及更高版本推荐使用dnf
。
以下是在不同Linux发行版中安装yum
的命令:
# 基于dnf的发行版(如Fedora)
sudo dnf update && sudo dnf install yum
# 如果您的系统中没有预装yum,并且不支持dnf,请参考您的Linux发行版文档来获取安装yum的方法。
Linux yum命令的基本语法
语法格式如下:
yum [options] [command] [package ...]
Linux yum命令的常用选项或参数说明
选项/参数 | 说明 |
---|---|
install | 安装一个或多个软件包 |
update | 更新当前系统所有软件包 |
remove | 删除一个或多个软件包 |
list | 列出软件包信息 |
search | 搜索软件包 |
clean | 清除yum缓存 |
info | 显示一个或多个软件包的信息 |
provides | 查找提供某功能的软件包 |
check-update | 检查可用更新 |
deplist | 显示包依赖信息 |
Linux yum命令实例详解
实例1:安装软件包
通过yum
安装软件包,例如安装vim
编辑器:
[linux@bashcommandnotfound.cn ~]$ sudo yum install vim
这个命令会安装vim
编辑器,并自动解决所有必要的依赖关系。
实例2:更新软件包
更新系统中所有已安装的软件包:
[linux@bashcommandnotfound.cn ~]$ sudo yum update
如果只想更新某个特定的软件包,可以指定软件包名,比如更新httpd
:
[linux@bashcommandnotfound.cn ~]$ sudo yum update httpd
实例3:删除软件包
使用yum
删除一个已安装的软件包,例如删除httpd
:
[linux@bashcommandnotfound.cn ~]$ sudo yum remove httpd
实例4:列出所有可安装的软件包
列出所有可通过yum安装的软件包:
[linux@bashcommandnotfound.cn ~]$ yum list available
实例5:搜索软件包
搜索包含关键词的软件包,比如搜索与httpd
相关的软件包:
[linux@bashcommandnotfound.cn ~]$ yum search httpd
实例6:清除yum缓存
清除缓存文件:
[linux@bashcommandnotfound.cn ~]$ sudo yum clean all
这将会清除所有缓存的包和头文件。
实例7:显示软件包信息
查看某个软件包的详细信息,例如httpd
:
[linux@bashcommandnotfound.cn ~]$ yum info httpd
这会显示httpd
软件包的详细信息,包括版本、发布日期、大小和描述等。
实例8:查找提供某功能的软件包
如果你想找出提供特定文件或功能的软件包,可以使用provides
或whatprovides
:
[linux@bashcommandnotfound.cn ~]$ yum provides ifconfig
这会搜索哪个软件包提供ifconfig
命令。
实例9:检查可用更新
检查系统中所有软件包的更新情况:
[linux@bashcommandnotfound.cn ~]$ yum check-update
这个命令会列出所有有可用更新的软件包。
实例10:显示包依赖信息
查看软件包的依赖信息,这对于解决依赖问题非常有用:
[linux@bashcommandnotfound.cn ~]$ yum deplist vim
这将列出vim
软件包的所有依赖。
实例11:列出所有已安装的软件包
若想查看系统中已安装的所有软件包:
[linux@bashcommandnotfound.cn ~]$ yum list installed
实例12:查看启用的仓库列表
要查看当前系统中启用的仓库:
[linux@bashcommandnotfound.cn ~]$ yum repolist enabled
实例13:安装本地RPM文件
通过yum
安装本地的RPM文件同时解决其依赖:
[linux@bashcommandnotfound.cn ~]$ sudo yum localinstall /path/to/package.rpm
这个命令会安装本地的RPM文件,并且尝试解决所有依赖关系。
实例14:列出所有已安装的软件包及其来源仓库
列出所有已安装的包以及它们来自哪个仓库:
[linux@bashcommandnotfound.cn ~]$ yum list installed | grep @
实例15:安装一个软件组
安装一个预定义的软件包组:
[linux@bashcommandnotfound.cn ~]$ sudo yum groupinstall "Development Tools"
这个命令会安装开发工具组中的所有软件包。
实例16:列出所有可用的软件组
查看系统中所有可用的软件包组:
[linux@bashcommandnotfound.cn ~]$ yum grouplist
实例17:升级特定软件包
升级系统中的特定软件包到最新版本:
[linux@bashcommandnotfound.cn ~]$ sudo yum upgrade package_name
实例18:锁定软件包版本
防止软件包更新到更高版本:
[linux@bashcommandnotfound.cn ~]$ sudo yum install yum-plugin-versionlock
[linux@bashcommandnotfound.cn ~]$ sudo yum versionlock package_name
首先安装yum-plugin-versionlock
插件,然后锁定特定软件包。
实例19:解除软件包版本锁定
解除对特定软件包版本的锁定:
[linux@bashcommandnotfound.cn ~]$ sudo yum versionlock delete package_name
实例20:下载但不安装软件包
下载软件包而不安装,用于后续离线安装:
[linux@bashcommandnotfound.cn ~]$ sudo yumdownloader package_name
这个命令需要yum-utils
包,如果没有安装,使用sudo yum install yum-utils
来安装它。
实例21:查找软件包安装文件的位置
如果需要知道软件包安装的文件位置:
[linux@bashcommandnotfound.cn ~]$ repoquery -l package_name
repoquery
是一个yum-utils
的工具,它允许查询仓库中的信息。
实例22:查看软件包更新历史
查看系统中软件包的更新历史:
[linux@bashcommandnotfound.cn ~]$ yum history
实例23:回滚更新
回滚到之前的一个更新点:
[linux@bashcommandnotfound.cn ~]$ sudo yum history undo last
将last
替换为你要撤销的更新编号。
实例24:查找那些包含特定文件的软件包
如果你想找出哪些已安装的软件包包含特定文件:
[linux@bashcommandnotfound.cn ~]$ yum whatprovides */filename
将filename
替换成你想查找的文件名。
注意事项
- 在执行
yum
命令时,通常需要有root权限,因此在大多数命令前面需要添加sudo
。 - 在使用
yum
命令之前,最好先执行yum makecache
来生成缓存,这可以提高搜索和安装软件包的速度。 - 在安装、更新或删除软件包时,确保没有其他软件包管理器正在运行,以避免数据库锁定问题。
- 当遇到依赖问题时,
yum
会尝试自动解决这些问题,但是在某些情况下,手动干预可能是必要的。 - 使用
yum
时,确保你的系统已经配置了正确的仓库(repository),这样yum
才能找到并安装最新的软件包。 - 在执行涉及大量软件包的操作之前,建议备份重要数据,以防止意外情况导致数据丢失。
评论区