常用 yum 命令速查表(CentOS/Alibaba Cloud Linux)
01
安装&卸载相关
安装 sudo yum install 包名 安装软件包 sudo yum install nginx
安装 sudo yum install -y 包名 安装并自动确认,不用手动按 y sudo yum install -y git
卸载 sudo yum remove 包名 卸载软件包 sudo yum remove httpd
重装 sudo yum reinstall 包名 重新安装某个包 sudo yum reinstall openssl
02
查询相关
查询 yum list installed 列出所有已安装的包 yum list installed
查询 yum list installed | grep 关键词 查是否已装某个包 yum list installed | grep mysql
查询 yum search 关键词 按关键词搜索可安装的包 yum search redis
查询 yum info 包名 查看某个包的详细信息 yum info nginx
查询 yum provides 文件路径 查某个文件属于哪个包 yum provides /usr/bin/vim
03
更新相关
更新 sudo yum update 更新所有已安装的包 sudo yum update
更新 sudo yum update 包名 只更新指定的包 sudo yum update curl
更新 yum check-update 只检查可更新项,不实际执行 yum check-update
04
源管理
源管理 yum repolist 查看已启用的软件源 yum repolist
源管理 yum repolist all 查看所有软件源(含禁用) yum repolist all
源管理 sudo yum clean all 清除本地缓存 sudo yum clean all
源管理 sudo yum makecache 重新生成缓存 sudo yum makecache
05
历史
历史 sudo yum history 查看操作历史 sudo yum history
历史 sudo yum history undo 编号 撤销某次操作 sudo yum history undo 12
06
组安装
组安装 sudo yum groupinstall "组名" 安装软件组(如开发工具组) sudo yum groupinstall "Development Tools"
07
为什么以上命令有些有sudo,而有些不用?
一个简单判断口诀:这条命令会不会"改变系统上的东西"(装/删/改/清缓存)?会的话就要 sudo;只是"看一看/查一查"就不需要。
这是按操作是否会修改系统来区分的:
需要 sudo(写操作,会改动系统文件)
install / remove / reinstall / update —— 要往系统目录(比如 /usr、/etc)里装文件、删文件、改文件
clean all / makecache —— 要操作 yum 的缓存目录(通常在 /var/cache/yum),普通用户没权限写
history undo —— 本质也是执行一次卸载/安装操作,等于又要改系统
这些操作没有 root 权限的话,系统会直接报 Permission denied,所以必须 sudo。
不需要 sudo(只读操作,纯查询)
list installed / search / info / provides / repolist —— 这些只是读取已有的包数据库或仓库元数据,不写入任何东西,普通用户权限就够用