目录
前言
上一章学习了YUM工具的使用,这篇文章学习RPM的使用,首先会介绍什么是RPM,RMP是干什么的,然后学习怎么使用RPM,这是本篇文章需要学习的内容
什么是RPM包
RMP Package Manager(原Red Hat Package Manager,现在是一个递归缩写),由Red Hat公司提出,被众多Linux发行版所采用,也称二进制(binary code)无需编译,可以直接使用,无法设定个人设置,开关功能,软件包示例(注意后缀):musql-community-common-5.7.12-1.el7.x86_64.rpm。
认识RPM包的结构
通过命令:ls /mnt/cdrom/Packages/ | tail -10
# /mnt/cdrom是上篇文章我们挂载光盘驱动的位置,RPM包在Packages下因为文件较多我们看后十行。
[root@localhost ~]# ls /mnt/cdrom/Packages/ | tail -10
yum-plugin-tmprepo-1.1.31-54.el7_8.noarch.rpm
yum-plugin-verify-1.1.31-54.el7_8.noarch.rpm
yum-plugin-versionlock-1.1.31-54.el7_8.noarch.rpm
yum-utils-1.1.31-54.el7_8.noarch.rpm
zenity-3.28.1-1.el7.x86_64.rpm
zip-3.0-11.el7.x86_64.rpm
zlib-1.2.7-18.el7.x86_64.rpm
zlib-devel-1.2.7-18.el7.x86_64.rpm
zsh-5.0.2-34.el7_8.2.x86_64.rpm
zziplib-0.13.62-12.el7.x86_64.rpm拿其中一个RPM包来解释:zip-3.0-11.el7.x86_64.rpm
- zip:是软件包名
- 3.0-11:是版本号(Version)
- el7:是发布版本(Release5/6/7)
- x86_64:是系统平台(32/64)
- rpm:是文件后缀
使用RPM工具
- 管理rpm包的基本工具
- YUM功能相同
- RPM无法处理依赖
安装(i)
以wget-1.14-15.el7x86_64.rpm为例,首先要检查wget-1.14-15.el7x86_64.rpm是否存在。
命令:rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
- -i:安装
- v:可视
- h:百分比
//进入到/mnt/cdrom/Packages/中
[root@localhost ~]# cd /mnt/cdrom/Packages/
//查看wget-1.14-18.el7_6.1.x86_64.rpm是否存在
[root@localhost Packages]# ls wget-1.14-18.el7_6.1.x86_64.rpm
wget-1.14-18.el7_6.1.x86_64.rpm
//安装wget-1.14-18.el7_6.1.x86_64.rpm包
[root@localhost Packages]# rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
警告:wget-1.14-18.el7_6.1.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
软件包 wget-1.14-18.el7_6.1.x86_64 已经安装
注意安装的时候是安装软件包所以一定要加.rpm后缀不然安装会报错。
查询(q)
命令:rpm -q 需要查询的部分名称
[root@localhost Packages]# rpm -q wget
wget-1.14-18.el7_6.1.x86_64
看到软件包的名字,就说明rpm-q查询成功,已经安装软件。查询的时候就不用加后缀了。
卸载(e)
命令:rpm -ech wget-1.14-18.el7_6.1.x86_64
//删除wget-1.14-18.el7_6.1.x86_64
[root@localhost Packages]# rpm -ech wget-1.14-18.el7_6.1.x86_64
################################# [100%]
正在清理/删除...
################################# [100%]
//查询wget-1.14-18.el7_6.1.x86_64,未找到,说明已经卸载成功
[root@localhost Packages]# rpm -q wget-1.14-18.el7_6.1.x86_64
未安装软件包 wget-1.14-18.el7_6.1.x86_64
安装需要依赖的软件包
[root@localhost Packages]# rpm -ivh xchat-2.8.8-25.el7.x86_64.rpm
警告:xchat-2.8.8-25.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:
libntlm.so.0()(64bit) 被 xchat-1:2.8.8-25.el7.x86_64 需要
libsexy.so.2()(64bit) 被 xchat-1:2.8.8-25.el7.x86_64 需要
安装需要依赖的软件包的时候,会提示安装失败,因为RPM无法处理依赖,这个时候用yum来安装,YUM可以处理依赖自动下载,RPM命令的优点是不需要配置,YUM需要配置。
[root@localhost Packages]# yum -y install xchat-2.8.8-25.el7.x86_64.rpm
已加载插件:fastestmirror, langpacks
正在检查 xchat-2.8.8-25.el7.x86_64.rpm: 1:xchat-2.8.8-25.el7.x86_64
xchat-2.8.8-25.el7.x86_64.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 xchat.x86_64.1.2.8.8-25.el7 将被 安装
--> 正在处理依赖关系 libntlm.so.0()(64bit),它被软件包 1:xchat-2.8.8-25.el7.x86_64 需要
Loading mirror speeds from cached hostfile
--> 正在处理依赖关系 libsexy.so.2()(64bit),它被软件包 1:xchat-2.8.8-25.el7.x86_64 需要
--> 正在检查事务
---> 软件包 libntlm.x86_64.0.1.3-6.el7 将被 安装
---> 软件包 libsexy.x86_64.0.0.1.11-23.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================
Package 架构 版本 源 大小
=======================================================================================
正在安装:
xchat x86_64 1:2.8.8-25.el7 /xchat-2.8.8-25.el7.x86_64 3.7 M
为依赖而安装:
libntlm x86_64 1.3-6.el7 dvd 44 k
libsexy x86_64 0.1.11-23.el7 dvd 45 k
事务概要
=======================================================================================
安装 1 软件包 (+2 依赖软件包)
总计:3.8 M
总下载量:89 k
安装大小:3.9 M
Downloading packages:
---------------------------------------------------------------------------------------
总计 15 MB/s | 89 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : libsexy-0.1.11-23.el7.x86_64 1/3
正在安装 : libntlm-1.3-6.el7.x86_64 2/3
正在安装 : 1:xchat-2.8.8-25.el7.x86_64 3/3
验证中 : 1:xchat-2.8.8-25.el7.x86_64 1/3
验证中 : libntlm-1.3-6.el7.x86_64 2/3
验证中 : libsexy-0.1.11-23.el7.x86_64 3/3
已安装:
xchat.x86_64 1:2.8.8-25.el7
作为依赖被安装:
libntlm.x86_64 0:1.3-6.el7 libsexy.x86_64 0:0.1.11-23.el7
完毕!
使用YUM命令,自动下载依赖,安装程序成功。
总结
本篇文章介绍了RPM工具的使用,了解RPM无法处理依赖,学习使用RPM命令安装程序、查看和卸载程序,并且要注意安装的时候需要加上后缀,卸载的时候不可以加后缀,否则会报错。
创作不易,动动小手给个点赞加关注吧,有什么意见评论区告诉我,一起学习。