Linux软件包管理,yum常用命令汇总
前言
CentOS 装软件怎么装?装完怎么卸?找不到某个软件包名怎么办?这些都需要用到 yum 命令。yum 是 CentOS/RHEL 系统的软件包管理器,自动解决依赖关系,比 rpm 好用多了。本文就把 yum 常用命令汇总一下,装软件、卸软件、查软件都能用。
安装软件
安装软件包
yum install nginx -y
-y 表示自动确认,不用手动输 y。
安装多个软件包
yum install nginx mysql php -y
重新安装
yum reinstall nginx -y
软件装坏了想重装,用这个。
卸载软件
卸载软件包
yum remove nginx -y
卸载并删除依赖
yum autoremove nginx -y
把安装 nginx 时自动装上的依赖也一起删掉。
更新软件
更新所有软件
yum update -y
注意: 这个会把所有软件都更新一遍,包括内核。生产环境慎用,可能会把系统搞挂。
更新某个软件
yum update nginx -y
只更新 nginx。
检查哪些软件可以更新
yum check-update
查找软件
搜索软件包
yum search nginx
模糊搜索,输出所有名字或描述里包含 nginx 的包。
查找文件属于哪个包
yum provides /usr/sbin/nginx
你知道某个文件路径,但不知道是哪个包装的,用这个查。
查看软件包信息
yum info nginx
输出软件包的详细信息:版本、大小、描述等。
查看已安装软件
列出所有已安装的包
yum list installed
太多了可以配合 grep:
yum list installed | grep nginx
查看某个软件装没装
yum list installed nginx
仓库管理
查看已启用的仓库
yum repolist
查看所有仓库(包括禁用的)
yum repolist all
清理缓存
yum clean all
yum 下载的包会缓存下来,占磁盘空间。定期清理一下。
重建缓存
yum makecache
常用场景
场景1:装 Nginx
yum install nginx -y
systemctl start nginx
systemctl enable nginx
场景2:不知道软件包名
想装个下载工具,但不知道叫什么。
yum search wget
或者:
yum search curl
场景3:某个命令找不到
输入 ifconfig 提示 command not found,不知道是哪个包装的。
yum provides ifconfig
会告诉你是 net-tools 包提供的,装一下:
yum install net-tools -y
场景4:软件版本太旧
CentOS7 自带的软件版本都比较老,比如 Nginx 是 1.20。想用新版本,需要加第三方源。
装 EPEL 源:
yum install epel-release -y
装完 EPEL 源之后,就能装更多软件包了。
常见坑
坑1:yum install 不加 -y
不加 -y 的话,安装到一半会停下来问你 Is this ok [y/d/N],自动化脚本里很容易卡在这里。
解决: 命令后面加 -y:
yum install nginx -y
坑2:yum update 把系统搞挂了
生产环境跑了 yum update -y,结果内核更新了,重启之后服务起不来。
解决: 生产环境不要随便 yum update,要更新就单独更新某个软件:
yum update nginx -y
坑3:找不到软件包
用默认源搜不到某个软件,比如 Docker、Node.js 这些。
解决: 加第三方源,比如 EPEL:
yum install epel-release -y
坑4:yum 缓存满了
yum 缓存的包占了很多磁盘空间。
解决: 定期清理:
yum clean all
总结
yum 常用命令:
| 命令 | 作用 |
|---|---|
yum install 包名 -y |
安装软件 |
yum remove 包名 -y |
卸载软件 |
yum update 包名 -y |
更新软件 |
yum search 关键词 |
搜索软件 |
yum provides 文件路径 |
查文件属于哪个包 |
yum info 包名 |
查看软件包信息 |
yum list installed |
列出已安装的包 |
yum repolist |
查看仓库列表 |
yum clean all |
清理缓存 |
记住这几个,CentOS 日常装软件就够用了。
遇到问题加QQ23979811 协助处理