百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

RPM制作安装包 rpm软件包安装

qiyuwang 2024-10-19 08:56 10 浏览 0 评论

RPM是Red-Hat Package Manager的缩写,其中文意思是红帽软件包管理器,应用于Red-Hat、CnetOS、Fedora、OpenLinu 等Linux操作系统。可以便捷地执行软件的安装、卸载、升级。我们通过YUM下载和安装的软件,就是通过RPM实现的打包和分发。

环境准备

使用Centos环境:

CentOS Linux release 7.9.2009 (Core)

设置打包工作区

在root下运行命令:

mkdir -pv ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,BUILDROOT}

以上命令创建了打包工作区目录布局。下面表格是各个目录的具体用处:

目录

用途

BUILD

构建和编译安装包的临时目录

RPMS

二进制RPM在此处创建,在不同的架构子目录中

SOURCES

压缩的源代码和补丁,rebuild命令会在此处查找它们

SPECS

SPEC描述文件

SRPMS

用于构建SRPM时生成的文件

BUILDROOT

编译后生成的软件临时安装目录

准备打包源文件

1、创建<软件名>-<软件版本>/<软件安装路径>的文件夹,这个文件夹是一个相对路径。

2、将需要安装释放到主机上的文件复制到步骤1的文件夹中

3、打包<软件名>-<软件版本> 文件夹(包含文件夹本身)为<软件名>-<软件版本>.tar.gz

4、将打包好的文件<软件名>-<软件版本>.tar.gz拷贝到~/rpmbuild/SOURCES

编写SPEC文件

此文件是rpm制作的核心,SEPC文件是rpmbuild构建rpm的方法,它通过在Preamble和Body部分中定义的若干命令向构建系统提供必要的信息。

Preamble部分包含一系列元数据,Body部分的指令实现具体的构建和安装。Preamble常用指令如下表:

指令

解释

Name

软件包的基本名称,与SPEC文件名一致

Version

软件版本号

Release

本版软件的发布次数。通常,将初始值设置为 1%{?dist},并在软件包的每个新版本中递增它。构建新 Version 软件时,重置为 1

Summary

软件包摘要

License

许可证

Source0

源代码压缩存档的路径或 URL。这应该指向存档的可访问且可靠的存储,如果需要,可以添加更多 SourceX 指令,每次增加数量,例如 Source1、Source2 和 Source3 等。

BuildArch

如果软件包不依赖于构架,例如,如果完全使用解释的编程语言编写,请将其设置为 BuildArch: noarch。如果没有设置,软件包会自动继承构建它的机器的架构,例如 x86_64。

Requires

软件在安装后需要运行的软件包列表,用逗号或空格分隔。Requires 可能有多个条目,每个条目在 SPEC 文件中独立存在。

Requires还可以约定软件的最低版本,例如:Requires: xx-yyy >= 1.8



Body常用指令:

指令

解释

%description

rpm中打包的软件包完整描述,可以跨行可以分段落。

%prep

用于准备要构建的软件的命令或一系列命令,例如解压Source0中的文档,指令可以包含shell脚本

%build

用于将软件构建到主机的命令或者一系列命令

%install

将所需构建从%builddir(构建进行的位置)复制到%buildroot目录中的命令

%check

用于测试软件的命令

%files

将在终端用户系统中安装的文件列表

%changelog

记录不同Version或Release构建之间软件包发生的更改

构建安装包

rpmbuild -bb --nodigest --nosignature ~/rpmbuild/SPECS/<SPEC文件名>

执行完后,~/rpmbuild/RPMS/下就是构建好的安装包

相关推荐

windows开启telnet服务,检测远程服务端口是否可以连通

本文介绍windwos开启telnet服务,telnet服务一般可以用于检测远程主机的某个端口服务是否可以连通,在日常的工作中,我们经常会遇到在本地的windows检测远程服务端口是否可以连通。win...

仅在Web登录新华三交换机条件下启用设备Telnet登录方式

概述Web登录新华三交换机可以在“网络-服务”页面中启用设备Telnet服务或SSH服务,也可以在“设备-管理员”设置管理员用户的可用服务,然而,在设备Web页面中,无法设置lineVTY用户线【l...

思科交换机,路由器如何关闭telnet 开启ssh服务

SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。今天我们就来说说思科交换机,路...

智能化弱电行业常用的DOS命令,掌握了你也能成为...

前言在做智能化弱电项目时,前端摄像头设备安装结束后,我们会对网络摄像头进行调试,调试过程中会遇到前端摄像头没有图像或者图像出来了画面卡顿的现象。我们会采用ping命令来测试网络的连通性和网络承载能力。...

「干货」eNSP模拟器之配置Telnet登录

配置说明:配置Telnet,使R2(模拟PC)通过SW1登录到R1进行管理和配置。操作步骤:system-view##进入系统视图[Huawei]sysnameR1##改名为R1[R1]int...

win11开启telnet服务怎么操作 win11打开telent指令是什么

telnet服务是我们在进行远程连接的时候,必须要打开的一项功能。但是有不少用户们不清楚在windows11系统中怎么开启telnet服务。今天小编就使用详细的图文教程,来给大家说明一下打开telen...

华三(H3C)交换机Telnet的远程登陆

一,配置交换机管理IP[SW1]vlan20//创建管理vlan[SW1]interfacevlan20//进入vlan接口[SW1-Vlanif20]ipaddress192.168....

win10 telnet命令怎么查看端口是否打开

可能大家也会遇到这个问题,win10telnet命令查看端口是否打开的步骤是什么?具体方法如下:1、键盘输入快捷键WIN+R,打开运行窗口。2、输入cmd,点击确定按钮。3、弹出cmd命令行窗...

Windows 7如何打开Telnet功能(win7系统打开telnet)

Windows7默认安装后是没有开启telnet客户端功能的,例如,我们在开始菜单中输入cmd,然后使用telnet命令,会弹出下图提示:‘telnet’不是内部或外部命令,也不是可运行程序或批处理文...

为锐捷路由器交换机开启web和telnet,实现轻松管理

笔者上一篇文章写了关于锐捷二层交换机配置教程,那么接下来讲一下锐捷的路由交换设备配置web、telnet技巧。同样,今天的教程也是基于命令行,比较简单,适合新手小白进行学习。准备工作配置前准备:con...

一文学会telnet命令的用途和使用方法

Telnet是一个古老的远程登录协议,可以让本地计算机获得远程计算机的工作能力。它采用了TCP的可靠连接方式,可以连接任何网络互通的远程计算机。不过由于它采用了明文传输方式,存在安全风险,目前已经很少...

Telnet命令是什么?如何使用?(telnet命令在哪里开启)

telnet命令是一个常用的远程登陆工具,使用它,我们可以快捷地登陆远程服务器进行操作。那么如何使用telnet命令呢?首先,我们需要打开telnet功能,任何电脑默认是关闭此功能的,开启方式如下:打...

win11系统如何开启telnet服务(拷贝版本)

  我们要知道,Telnet协议是Internet远程登陆服务的标准协议,可以使用户在本地计算机上完成远程主机的工作,不过对于一些刚接触win11中文版系统的用户来说,可能还不知道telnet服务在哪...

如何开启telnet客户端(如何开启telnet服务)

Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式,Telnet是常用的远程控制Web服务器的方法。工作中经常用到telnet客户端,但在windows...

Telnet 是什么,如何启用它?(telnet有什么用)

对于Internet等TCP/IP网络,Telnet是一个终端仿真程序。Telnet软件在您的系统上运行并将您的个人计算机链接到网络服务器。它将所有数据转换为纯文本这一事实被认为是易受...

取消回复欢迎 发表评论: