什么是rpm

芝士年糕
• 阅读 443

CentOS7主要有rpm和yum这两种包软件的管理。两种包的管理各有用处,其中主要区别是:YUM使用简单但需要联网,YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作经度比较细,需要我们做的事情比较多。 软件包的安装和卸是很平常的事,但在Linux上面却不简单。Linux的其中一个哲学就是一个程序只做一件事,并且做好。组合小程序来完成复杂的任务,这样做有很多好处,但是各个小程序之间往往会存在着复杂的依赖关系。这时就有了redhat包管理器rpm。英文是redhat package manager ,redhat 软件包的管理。 rmp原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。 rpm是以一种数据库记录的方式来将所需要的套件安装在Linux主机的一套管理程序。也就是说Linux系统中存在一个关于rpm的数据库,它记录了安装的包与包之间的依赖相关性。rpm包是预先在Linux主机上编译好并打包的文件,安装起来非常快捷。 要安装rpm包,首先需要下载对应包,可用的下载链接: http://rpmfind.net/ http://www.rpmseek.com/index.html http://rpm.pbone.net/ 以tree命令对应的rpm包为例,下载界面可能是这样的:

什么是rpm

可以看到,有许多不同版本的rpm包,那么我们在确定应该下载哪个前,需要先了解rpm包的包名含义。

  1. rpm包名详解 rpm包以.rpm结尾,而源码包以.src.rpm结尾。RPM软件包命令规则: name-version-arch.rpm name-version-arch.src.rpm 以tree-2.0.2-1.2.x86_64.rpm为例 name,如:tree,是软件的名称 version,如:2.0.2-1.2,是软件的版本号,版本号格式通常为“主版本号.次版本号.修正号”。 arch,如:x86_64,是表示包适用的硬件平台,目前rpm支持的平台有:i386,i586,i686,sparc和alpha rpm和.src.rpm,是rpm包类型后缀,rpm是编译好的二进制包,.src.rpm是源码包 特殊名称: (1)el*:表示发行商的版本,el6表示这个软件包是在rhel6.x/centos6.x下使用;rpm包有个特点,centOS7的rpm包一般只能装到CentOS7的系统里,CentOS6的软件包只能装到CentOS6的系统里。 (2)devel:表示这个rpm包是软件的开发包 (3)noarch:说明这样的软件包可以在任何平台安装和运行,不需要特定的硬件平台 仅了解包名定义还无法帮助我们准确的找到我们需要的包,因为arch这一项我们还不太解
  2. 安装包的划分
  3. 安装包按操作系统划分,可以分为: windows包,以.mis以及.exe结尾 linux包,以.rpm以及.deb结尾
  4. 也可以按照处理器进行划分,如: xxx.x86_64.rpm,xxx.x86.exe,xxx_amd64.deb 上面x86_64,x86,amd64这三种属于x86架构。 xxx.aarch64.rpm 而aarch64这种属于arm架构
  5. 处理器架构简介 关于arm架构和x86架构的介绍,不是此次学习重点,简略介绍。
  6. 1 x86架构 一般PC机都选择x86这种架构处理器 x86和x64 x86是指32位处理器、(x86_64有时简称为x64)x64是指64位处理器,因为x64指令是在x86指令集上扩展出来的,所以x86编译出来的程序可以在64位处理器上运行,反过来就不行。 x64和amd64 这个有点历史渊源,一开始interl和amd都是x86架构,后来intel和amd都开始研发各自的64位处理器指令集,intel选择开辟新的指令集,amd则选择在x86上扩展。后来证明intel方案失败了,最终intel也采用amd的64指令标准,做了稍微的修改,所以有了x64和amd64。
  7. 2 arm架构 32位处理器需要armv7,或者armv7s架构, 64位处理器需要arm64架构。
  8. 3 其他 i386 就是已经即将被淘汰的x86的以奔腾系列位代表的32位架构 power9 ppc64le ppc64对应IBM的power系列,仅作了解 aarch64 就是arm架构的64位系统(aarch64和arm64指的是同一件事,两者已合并,现称为aarch64) 更多细节以及处理器发展,可参考文章https://blog.csdn.net/zygblock/article/details/60867744 至此,我们再看最开始的那张图,就能明白每个包适用的系统了。 另外,要确定我们自己的linux版本,可以通关查看镜像文件的命名,或者终端输入uname -a查看
  9. rpm常用命令

-i 安装软件包(–install) 可选附带参数: –nodeps 不验证软件包的依赖 –force 强制安装,即使覆盖其他包的文件也要安装 -v 可视化,提供更多的详细信息的输出 -h 显示安装进度 -a 查询所有已经安装的软件包 -f 查询文件所属于的软件包 -q 查询软件包(通常用来看下还未安装的软件包,注意,查询时不需要带包名后缀,只需命令名,如rpm -q tree) -l 显示软件包的文件列表 -e 卸载指定软件包(注意,卸载时需要指定具体包名后缀,如 rpm -e tree-1.7.0-1.30.x86_64) -U 升级软件包,很少用 常用组合: -ivh 安装指定rmp包并显示安装进度 -qa 查询所有已经安装的软件包 -qi 查询软件包安装信息

什么是rpm

-ql 显示软件包的文件列表

什么是rpm

-qf 查询文件所属的文件包 什么是rpm

  1. Ubuntu无法安装rpm包 ubuntu RPM should not be used directly install RPM packages, use Alien instead! Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb
  2. alien默认没有安装,所以首先要安装它 sudo apt-get install alien
  3. 将rpm转换位deb,完成后会生成一个同名的xxxx.deb sudo alien xxxx.rpm
  4. 安装 sudo dpkg -i xxxx.deb
点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Linux学习之六
详细介绍一下yum命令的用法。如果你是一个Linux的初学者,一定会被软件的安装所困扰过,尽管RPM包解决了一定层度的问题,但有些RPM的包的依赖关系让人很是头疼。而YUM、APT等一些RPM包的管理方式的出现,使Linux平台上软件的安装变得更加简便。那么什么是YUM呢?它是YellowdogUpdaterModified的缩写。它的出现目的是为
Stella981 Stella981
3年前
Linux下的yum怎么升级?
Linux下我们安装软件,可能会需要安装各种包来支持,你可以从安装介质中找到rpm,手动安装,但最常用的,可能还是yum,省了很多烦恼。但要知道yum同样需要升级,yum怎么升级?碰巧看到杨大师的一篇文章《LINUX环境下如何重建yum源并更新(https://www.oschina.net/action/GoToLink?urlhttp%
Stella981 Stella981
3年前
CentOS 7 使用rpm包安装mysql 5.7.18
一、卸载MariaDBCentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载MariaDB。1、查看已安装的MariaDB相关rpm包。rpmqa|grepmariadb2、查看已安装的MariaDB相关yum包,包名
Stella981 Stella981
3年前
CentOS 安装dnf软件包管理器
DNF即DandifiedYUM,基于RPM,Linux发行版下一代软件包管理工具。它首先在Fedora18中出现,并且在最近发行的Fedora22中替代YUM工具集。CentOS和OpenSUSE等Linux发行版也可以使用。yum已经有些老旧,不堪大用。下文将介绍怎么安装DNF软件包管理器,默认已经切换到root用户,如果没有切换,
Wesley13 Wesley13
3年前
7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法
7.1安装软件包的三种方法rpm工具rpm(RedhatPackageManager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序。rpm包是预先在Linux机器上编译好并打包好的文件,安装起来非常快捷。但是有一个缺点:安装环境必须与编译时的一致或相当;
Stella981 Stella981
3年前
Linux命令
aptTODO待补充yumYellowdogUpadater,Modifier基于rpm包管理,从指定的源服务器上下在rpm包并安装rpm的前段程序(高级封装),从rpm源服务器上下载rpm包,并自动处理依赖rpm原始的软件安装需要从源码编译而rpm是一个中间
Stella981 Stella981
3年前
Linux 软件安装 (YUM & RPM & 源码)
Liunx中的软件安装(详解yum)在win下,安装软件.exe双击运行即可Linux中,软件包封装类型多样常见的软件包封装类型:rpm扩展名为.rpmdeb软件包扩展名为.deb源代码软件包
Stella981 Stella981
3年前
Linux软件包管理
二进制软件包管理(RPM、YUM)源代码包安装脚本安装(shell或java脚本)Debian系Linux软件包管理简介RPM软件包的一个列子:  sudo1.7.2pl5.3l5.i386.rpm其中包括软件名(sudo),版本号(1.7.2pl),发行号(5.el5),和硬件平台(i386)。  (
Stella981 Stella981
3年前
CentOS 7 安装 MySQL 8.0,Navicat 远程连接
最近在学习Linux系统,安装好之后安装MySQL,网上的其他文档只能给我参考,没有找到一份可以让我照着步骤一次完成的,所以决定自己写一个,以后方便自己继续使用。1、配置YUM源先在MySQL官网获取RPM安装包:https://dev.mysql.com/downloads/repo/yum/(https://www.oschina.n
胖大海 胖大海
2年前
Linux rpm软件包管理
如何获取rpm包?yum工具、互联网、光盘镜像(通过本地光盘挂载获取本地的rpm包)安装软件rpmivh包名.rpmi安装installv显示过程viewh显示%rpm进阶用法查询是否安装rpmq 包名查询包的信息rpmqi包名查询安装位置rpmql包名查看配置文件rpmqc包名查看帮助文档的位置rp