linux软件管理之yum管理操作软件包
1.什么是rpm包?
RPM
全称 RedHat Package Manager
缩写,由红帽开发用于软件包的安装、升级、卸载与查询。
1.2rpm包名组成部分
RPM
包命名以-将软件分成了若干部分 bash-4.2.46-28.el7.x86_64.rpm
1.1怎么获取rpm包
在刚开始学习rpm包,建议先从本地镜像中获取 rpm
但实际生产环境中大多数是通过联网方式获取 rpm
包,或者搭建企业私有包管理仓库平台
1.2 其他类型的包
rpm包 预先编译打包,安装简单
源码包 手动编译打包,安装繁琐
二进制包 解压即用,安装简单
2.yum命令详解。
1.什么是yum
yum/dnf
是 RedHat
及 CentOS
系统中的软件包管理器。它能够通过互联网下载 .rpm
格式包进行安装,并能自动处理其依赖间关系,无须繁琐地一次次下载安装。
要使用 yum
命令工具安装更新软件,需要有一个包含各种 rpm
软件包的仓库,这个软件仓库我们一般称为 yum
源。当然这个源可以是本地仓库、也可以是网络仓库。如图所示:
client --ftp/http/file-> yum地址 --->yum仓库(rpm包集合)
2.什么是yum配置文件
centos8下:
cat /etc/yum.conf
[main]
gpgcheck=1 # 检查来源是否合法,需要有制作者的公钥信息
installonly_limit=3 # 同时可以安装5个软件包、最小为2,设置为0或者1则不限制
clean_requirements_on_remove=True # 删除包时,是否将不再使用的包删除
best=True # 升级时,自动选择安装最新版,即使缺少包的依赖
skip_if_unavailable=False
centos7下:
cat /etc/yum.cnf
cachedir=/var/cache/yum/$basearch/$releasever # 缓存目录
keepcache=0 # 缓存软件包,1启动 0 关闭
debuglevel=2 # 调试级别
logfile=/var/log/yum.log # 日志记录位置
exactarch=1 # 检查平台是否兼容
obsoletes=1 # 检查包是否废弃
gpgcheck=1 # 检查来源是否合法,需要有制作者的公钥信息
plugins=1
installonly_limit=5 # 同时可以安装5个软件包、最小为2,设置为0或者1则不限制
# metadata_expire=90m #每小时手动检查元数据
# in /etc/yum.repos.d #包含repos.d目录中的.repo文件
3. 配置阿里yum源
阿里源:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11dy0fK7
清华源:https://mirrors.tuna.tsinghua.edu.cn/centos/
centos7为例
wget -O /etc/yum.repos.d/CentOS-Base.repo \ http://mirrors.aliyun.com/repo/Centos-7.repo
4. 查找软件包
- 使用dnf/yum list 查询所有仓库中的软件包
yum list
yum list | grep httpd
- 使用dnf/yum list installed查询所有已安装系统中的软件包
dnf list installed && yum list installed
- 查询系统命令来自哪个软件包
rpm -qf $(which cd)
bash-4.2.46-31.l7.x86_64
# PS: rpm需要知道命令的绝对路径, 如果不存在该命令是无法查找到该命令所属的软件包
- yum provides查找来自那个包
yum provides zabbix
已加载插件:fastestmirror
Repository base is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* elrepo: mirrors.neusoft.edu.cn
zabbix30-3.0.31-1.el7.x86_64 : Open-source monitoring solution for your IT infrastructure
源 :epel
匹配来源:
提供 :zabbix = 3.0.31-1.el7
zabbix40-4.0.27-1.el7.x86_64 : Open-source monitoring solution for your IT infrastructure
源 :epel
匹配来源:
提供 :zabbix = 4.0.27-1.el7
5. 安装软件包
yum install -y httpd
6. 删除软件包
yum remove httpd -y
7. yum管理仓库
列出仓库
dnf/yum repolist
源可用的软件仓库
yum repolist
yum repolist all
8. yum管理历史记录
当我们删除了某个软件时,希望撤销删除的操作,可以使用
yum history
yum history undo
9. 删除软件
yum remove httpd
yum history
10. yum缓存软件包
1.缓存rpm包方式一、通过修改全局配置文件/etc/yum.conf
vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1 # 启动缓存
yum install lrzsz -y
find /var/cache/yum/ -type f -name "*.rpm"
2.缓存rpm包方式二,通过 dnf/yum下载该软件包至本地,不进行安装
yum install httpd -y \
--downloadonly \
--downloaddir=/opt
11. 清理缓存
yum clean all
12. 仅清理所有缓存的软件包
yum clean packages
作者:梨花海棠
出处:https://www.cnblogs.com/xunweidezui/p/14557512.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」