Linux软件管理RPM的使用

简介: 上一章学习了YUM工具的使用,这篇文章学习RPM的使用,首先会介绍什么是RPM,RMP是干什么的,然后学习怎么使用RPM,这是本篇文章需要学习的内容

前言


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



相关文章
|
1月前
|
安全 Ubuntu Linux
Linux系统中的软件管理工具主
Linux系统中的软件管理工具主
43 7
|
1月前
|
Web App开发 监控 Linux
在Linux上,有许多软件可以下载和安装
在Linux上,有许多软件可以下载和安装
115 67
|
1月前
|
存储 关系型数据库 Linux
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
51 2
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
|
14天前
|
Kubernetes Linux 测试技术
|
7天前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
22 0
|
27天前
|
存储 安全 Unix
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
35 0
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
|
3月前
|
存储 缓存 安全
在Linux中,什么是软件仓库,并且如何管理它?
在Linux中,什么是软件仓库,并且如何管理它?
|
3月前
|
安全 Ubuntu Linux
在Linux中,如何卸载软件?
在Linux中,如何卸载软件?
|
2月前
|
Linux 网络虚拟化 Windows
ccproxy windows上用的代理软件(类似linux系统上的squid)
ccproxy windows上用的代理软件(类似linux系统上的squid)
|
3月前
|
Unix Linux 开发者
在Linux中,什么是GPL、GNU,自由由软件?
在Linux中,什么是GPL、GNU,自由由软件?