前言
上一章学习了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命令安装程序、查看和卸载程序,并且要注意安装的时候需要加上后缀,卸载的时候不可以加后缀,否则会报错。