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



相关文章
|
2月前
|
安全 Ubuntu Linux
Linux系统中的软件管理工具主
Linux系统中的软件管理工具主
55 7
|
2月前
|
Web App开发 监控 Linux
在Linux上,有许多软件可以下载和安装
在Linux上,有许多软件可以下载和安装
128 67
|
2月前
|
存储 关系型数据库 Linux
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
123 2
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
|
2月前
|
Kubernetes Linux 测试技术
|
1月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
164 0
|
2月前
|
存储 安全 Unix
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
54 0
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
|
1月前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
49 0
|
4月前
|
存储 缓存 安全
在Linux中,什么是软件仓库,并且如何管理它?
在Linux中,什么是软件仓库,并且如何管理它?
|
3月前
|
Linux 网络虚拟化 Windows
ccproxy windows上用的代理软件(类似linux系统上的squid)
ccproxy windows上用的代理软件(类似linux系统上的squid)
|
4月前
|
Unix Linux 开发者
在Linux中,什么是GPL、GNU,自由由软件?
在Linux中,什么是GPL、GNU,自由由软件?
下一篇
DataWorks