Linux软件包管理-rpm
1、基础
1.1、什么是rpm
RPM全称RedHat Package Manager缩写,由红帽开发用于软件包的安装、升级、卸载与查询。
1.2、rpm包名组成部分
如:bash-4.2.46-34.el7.x86_64.rpm bash : 软件名 4.2.46 : 版本 34 : 发布次数 x86_64 : 硬件平台
1.3、如何获取rpm包
1、光盘镜像获取,如地址:http://isoredirect.centos.org/centos/7/isos/x86_64/ 2、互联网yum仓库获取 3、企业自有yum仓库获取
1.4、安装包类型
1.4.1、rpm包
预先编译打包,安装简单,软件版本偏低
1.4.2、源码包
手动编译打包,安装繁琐,软件版本随意
1.4.3、二进制包
解压即可使用,安装简单,不能修改源码
2、rpm-命令
2.1、命令介绍
-i :安装软件包 -v :显示安装过程. -h :显示安装进度条
2.2、示例1-rpm安装
2.2.1、安装本地下载rpm包
rpm -ivh /mnt/Package/tree-1.6.0-10.el7.x86_64
2.2.2、安装互联网的rpm包
rpm -ivh http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm
2.3、示例2-rpm有依赖包安装
2.3.1、问题点
包依赖是指 A-->依赖-->B,B-->依赖-->C,而C-->依赖-->A。当我们需要安装的rpm类型包出现了依赖关系应该如何处理,比如安装samba软件包。
2.3.2、依赖包报错
rpm -ivh samba-4.10.16-5.el7.x86_64.rpm error: Failed dependencies: libCHARSET3-samba4.so()(64bit) is needed by samba-0:4.10.16-5.el7.x86_64 libCHARSET3-samba4.so(SAMBA_4.10.16)(64bit) is needed by samba-0:4.10.16-5.el7.x86_64 libMESSAGING-SEND-samba4.so()(64bit) is needed by samba-0:4.10.16-5.el7.x86_64 libaddns-samba4.so()(64bit) is needed by samba-0:4.10.16-5.el7.x86_64 libads-samba4.so()(64bit) is needed by samba-0:4.10.16-5.el7.x86_64 libaesni-intel-samba4.so()(64bit) is needed by samba-0:4.10.16-5.el7.x86_64 libasn1util-samba4.so()(64bit) is needed by samba-0:4.10.16-5.el7.x86_64 ...
# 需要一个一个解决依赖关系,这种不可取
2.3.3、rpm使用场景和解决依赖的方法
场景:
只能用于,没有依赖的rpm安装或升级
解决方法:
由于rpm工具安装rpm包依赖关系太强,所以通常我们都是使用yum来解决
2.4、示例3-rpm升级软件
2.4.1、以zabbix-agent为演示
wget https://mirrors.aliyun.com/centos/7.9.2009/infra/x86_64/infra-common/Packages/z/zabbix-agent-4.0.9-3.el7.x86_64.rpm wget https://mirrors.aliyun.com/centos/7.9.2009/infra/x86_64/infra-common/Packages/z/zabbix-agent-3.0.10-1.el7.x86_64.rpm
2.4.2、先安装zabbix-agent-3.0版本
]# rpm -ivh zabbix-agent-3.0.10-1.el7.x86_64.rpm warning: zabbix-agent-3.0.10-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f56d1621: NOKEY Preparing... ################################# [100%] Updating / installing... 1:zabbix-agent-3.0.10-1.el7 ################################# [100%]
2.4.3、升级至zabbix-agent-4.0版本
]# rpm -Uvh zabbix-agent-4.0.9-3.el7.x86_64.rpm warning: zabbix-agent-4.0.9-3.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f56d1621: NOKEY Preparing... ################################# [100%] Updating / installing... 1:zabbix-agent-4.0.9-3.el7 ################################# [ 50%] Cleaning up / removing... 2:zabbix-agent-3.0.10-1.el7 ################################# [100%]
2.5、示例4-rpm卸载软件包
2.5.1、查询包是否存在
]# rpm -q zabbix-agent zabbix-agent-4.0.9-3.el7.x86_64
2.5.2、卸载包
]# rpm -e zabbix-agent
2.6、示例5-查询rpm包
2.6.1、查询参数介绍
选项 描述 rpm -q 查看指定软件包是否安装 rpm -qa 查看系统中已安装的所有RPM软件包列表 rpm -qi 查看指定软件的详细信息 rpm -ql 查询指定软件包所安装的目录、文件列表 rpm -qc 查询指定软件包的配置文件 rpm -qf 查询文件或目录属于哪个RPM软件
2.6.2、查询vsftpd这个rpm包是否安装
rpm -q vsftpd
2.6.3、模糊查找系统已安装的rpm包
rpm -qa | grep vsftpd
2.6.4、查询zabbix-agent软件包相关信息
rpm -qi zabbix-agent
2.6.5、查询zabbix-agent软件包所安装后在系统中生成的文件路径
rpm -ql zabbix-agent
2.6.6、 查询zabbix-agent软件包的主配置文件
rpm -qc zabbix-agent
2.6.7、查询配置文件或系统命令是由哪个rpm包提供
]# rpm -qf /sbin/ifconfig net-tools-2.0-0.25.20131004git.el7.x86_64 ]# rpm -qf /etc/zabbix/zabbix_agentd.conf zabbix-agent-4.0.9-3.el7.x86_64
2.6.8、查询未安装的rpm包会产生哪些文件
rpm -qlp zabbix-agent-3.0.10-1.el7.x86_64.rpm
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)