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月前
|
安全 数据挖掘 Linux
Linux命令rpm深度解析
`rpm`是Linux下的软件包管理器,用于安装、升级、卸载和查询`.rpm`包,常见于Red Hat系Linux。它管理依赖、维护软件信息数据库,支持版本控制和安全验证。常用命令如`-i`安装,`-U`升级,`-e`卸载,`-q`查询。安装时用`-v`和`-h`可查看详细信息和进度。注意依赖关系、权限和签名验证,最佳实践包括使用仓库、定期更新和备份数据。
|
1月前
|
监控 安全 Linux
Linux命令rpmkeys:守护RPM包的安全之门
`rpmkeys`是Linux中管理RPM包公钥的工具,用于验证软件包的签名,确保安全。它支持导入、导出、删除和查询公钥,通过数字签名保证包的完整性和来源可靠性。例如,使用`--import`导入公钥,`--query`查询公钥。最佳实践包括验证公钥来源、定期更新并备份。该命令间接保障了数据处理和分析的安全环境。
|
7天前
|
缓存 安全 Linux
本地YUM源大揭秘:搭建您自己的Linux软件宝库,从此告别网络依赖!一文掌握服务器自给自足的终极技能!
【8月更文挑战第13天】在Linux中,YUM是一款强大的软件包管理工具,可自动处理依赖关系。为适应离线或特定安全需求,本指南教你搭建本地YUM源。首先创建存放软件包的`localrepo`目录,复制`.rpm`文件至其中。接着,安装并运用`createrepo`生成仓库元数据。随后配置新的`.repo`文件指向该目录,并禁用GPG检查。最后,清理并重建YUM缓存,即可启用本地YUM源进行软件搜索与安装,适用于网络受限环境。
25 3
|
17天前
|
Web App开发 缓存 Ubuntu
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
|
20天前
|
弹性计算 安全 Linux
云服务器 ECS产品使用问题之如何处理Linux软件漏洞
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
1月前
|
Linux
Linux 中RPM软件包管理
Linux 中RPM软件包管理
|
1月前
|
存储 数据挖掘 Linux
探索Linux命令rpm2cpio:解析RPM包内容的利器
`rpm2cpio`是Linux下用于从RPM包中提取内容的工具,它将`.rpm`转换为CPIO归档。无需安装,可直接访问包内文件,适合数据分析。命令简单,常与`cpio`结合使用,如`rpm2cpio package.rpm | cpio -idmv`解压文件。示例包括提取特定文件和列出包内所有文件。注意权限、路径和文件完整性,使用前备份数据,并查阅文档以优化使用。
|
1月前
|
Linux 网络安全 虚拟化
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
|
1月前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
1月前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re