【linux】rpm和src.rpm、rpm和noarch.rpm的区别

【linux】rpm和src.rpm、rpm和noarch.rpm的区别这里关键字有 红帽 包 和 管理器

大家好,欢迎来到IT知识分享网。

目录

简略

前言

一、rpm和src.rpm文件类型区别及联系

二、rpm文件名称那么长,分别是什么意思?

三、如何本地编译并安装rpm包?

四、如何查看rpm包的源码包名称?


简略

  含有noarch的包说明,你可以在任何平台上安装这个软件包,就是说它并不依赖于哪个特定的linux发布版。

下文转自:http://events.jianshu.io/p/00de73b138f6

前言

rpm的概念——Redhat Package Manager,翻译过来就是,红帽包管理器。

这里关键字有“红帽”、“包”和“管理器”。“红帽”是linux操作系统服务商,“包”是一指包含完整特定功能的代码集合,“管理器”是用于管理“包”的工具。

1.安装软件:执行rpm -ivh rpm包名

升级软件:执行rpm -Uvh rpm包名。

3.反安装:执行rpm -e rpm包名称。

4.查询软件包的详细信息:执行rpm -qpi rpm包名称

5查询文件属于哪个rpm包:执行rpm -qf rpm包名称

6检查软件包将写入系统的文件:执行rpm -qpl rpm软件包名称

一、rpm和src.rpm文件类型区别及联系

我们以git包为例。

git-2.9.5-3.fc25.src.rpm 

这是包含git源码的rpm包,换句话说,就是还没有编译成二进制的原始代码。它只是以rpm包的方式存在。我们使用file命令来看一下这个包的类型。

[root@arm-team-0009 2]# file git-2.9.5-3.fc25.src.rpm

git-2.9.5-3.fc25.src.rpm: RPM v3.0 src

git-2.9.5-3.fc25.i686.rpm 

这是已经经过编译包装完成的 rpm 文件。就是可以直接安装到你的系统中运行的目标文件。我们使用file命令来看一下这个包的类型。

[root@arm-team-0009 2]# file git-2.9.5-3.fc25.i686.rpm

git-2.9.5-3.fc25.i686.rpm: RPM v3.0 bin i386/x86_64 git-2.9.5-3.fc25

说完区别,我们再来说说联系。

src.rpm包可以经过编译,生成rpm包。并且它们是一对一或者一对多的关系。换句话说,就是一个src.rpm包可以编译出一个rpm包,或者一个src.rpm包可以编译出多个rpm包。

比如git-2.9.5-3.fc25.src.rpm ,就编译出来下面6个包:

git-2.9.5-3.fc25.i686.rpm

git-core-2.9.5-3.fc25.i686.rpm

git-core-doc-2.9.5-3.fc25.i686.rpm

git-daemon-2.9.5-3.fc25.i686.rpm

git-debuginfo-2.9.5-3.fc25.i686.rpm

git-svn-2.9.5-3.fc25.i686.rpm

二、rpm文件名称那么长,分别是什么意思?

下面我们来拆解一个rpm包全名:

git-2.9.5-3.fc25.i686.rpm

git——名称

2.9.5——版本号

3——release号

i686——架构类型,常见的有aarch64,x86_64,noarch等

rpm——文件类型

三、如何本地编译并安装rpm包?

步骤一:安装源码包

rpm -ivh git-2.9.5-3.fc25.src.rpm

步骤二:编译

rpmbuild -ba /root/rpmbuild/SPECS/git.spec

步骤三:安装编译好的rpm包

rpm -ivh /root/rpmbuild/RPMS/i686/git-2.9.5-3.fc25.i686.rpm

注意:根据你环境的架构的不同,编译出来的二进制rpm包存在路径略有差异。比如上面的i686架构,如果是aarch64架构,那么编译好的包就在

/root/rpmbuild/RPMS/aarch64/git-2.9.5-3.fc25.aarch64.rpm

当然,一些跟架构无关的二进制包,都存在于/root/rpmbuild/RPMS/noarch/路径。

四、如何查看rpm包的源码包名称?

并不是所有的rpm包名称都和src.rpm名称对应,真实的情况是,rpm的名字是A,src.rpm包的名字可能是B。如果系统上已经安装了A rpm包,你想找到A的源码包,自行修改重新编译,该如何是好呢?

下面一条命令可以帮助你:

[root@arm-team-0009 2]# rpm -qip git-2.9.5-3.fc25.i686.rpm

Name        : git

Version    : 2.9.5

Release    : 3.fc25

Architecture: i686

Install Date: (not installed)

Group      : Development/Tools

Size        :

License    : GPLv2

Signature  : (none)

Source RPM  : git-2.9.5-3.fc25.src.rpm

Build Date  : Thu 16 Nov 2017 03:55:56 PM CST

Build Host  : buildvm-24.phx2.fedoraproject.org

Relocations : (not relocatable)

Packager    : Fedora Project

Vendor      : Fedora Project

URL        : https://git-scm.com/

Summary    : Fast Version Control System

Description :

Git is a fast, scalable, distributed revision control system with an

unusually rich command set that provides both high-level operations

and full access to internals.

The git rpm installs common set of tools which are usually using with

small amount of dependencies. To install all git packages, including

tools for integrating with other SCMs, install the git-all meta-package.

使用 rpm -qip命令查看rpm包的信息,其中加粗的Source RPM就是源码包的名称

说明:如果是已经安装到系统的rpm包,使用rpm -qi查看。如果还没有安装,则使用rpm -qip查看。

作者:赵敏是程序媛
 


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/120481.html

(0)
上一篇 2025-10-29 15:00
下一篇 2025-10-29 15:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信