制作rpm包

统信UOS和银河麒麟V10x86版编译安装scst和zfs过程 国产操作系统环境下的zfs和 scst源码编译 阅读详情

制作rpm包

1)安装rpm-build软件包
[root@web1 ~]# yum -y install rpm-build

2)生成rpmbuild目录结构
[root@web1 ~]# rpmbuild -ba nginx.spec //会报错,没有文件或目录
[root@web1 ~]# ls /root/rpmbuild //自动生成的目录结构

3)准备工作,将源码软件复制到SOURCES目录
[root@web1 ~]# cp nginx-1.12.2.tar.gz /root/rpmbuild/SOURCES/

4)创建并修改SPEC配置文件
[root@web1 ~]# vim /root/rpmbuild/SPECS/nginx.spec

Name:nginx #源码包软件名称
Version:1.12.2 #源码包软件的版本号
Release: 10 #制作的RPM包版本号
Summary: Nginx is a web server software. #RPM软件的概述

License:GPL #软件的协议
URL: www.test.com #网址
Source0:/linux-soft/02/lnmp_soft/nginx-1.12.2.tar.gz #源码包文件的全称

#BuildRequires: #制作RPM时的依赖关系
#Requires: #安装RPM时的依赖关系

%description
nginx [engine x] is an HTTP and reverse proxy server. #软件的详细描述
%post
useradd nginx #非必需操作:安装后脚本(创建账户)

%prep
%setup -q #自动解压源码包,并cd进入目录
%build
./configure
make %{?_smp_mflags}

%install
make install DESTDIR=%{buildroot}
%files
%doc
/usr/local/nginx/* #对哪些文件与目录打包
%changelog

步骤二:使用配置文件创建RPM包
1)安装依赖软件包
[root@web1 ~]# yum -y install gcc pcre-devel openssl-devel
[root@web1 ~]# cp /root/rpmbuild/SOURCES/nginx.spec /root/rpmbuild/SPECS/

2)rpmbuild创建RPM软件包
[root@web1 ~]# rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec

…

错误:/var/tmp/rpm-tmp.gaiUzR (%build) 退出状态不好

RPM 构建错误:
/var/tmp/rpm-tmp.gaiUzR (%build) 退出状态不好
(解决办法 :vim /root/rpmbuild/SPECS/nginx.spec  ./configure是否写错

[root@web1 ~]# ls /root/rpmbuild/RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm

[root@web1 ~]# cd /root/rpmbuild
[root@room12pc14 rpmbuild]# ls
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
[root@web1 ~]# rpm -qpi RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm
Name : nginx Relocations: (not relocatable)
Version : 1.12.2 Vendor: (none)
Release : 10 Build Date: Mon 02 May 2016 02:30:53 AM PDT
Install Date: (not installed) Build Host: localhost
Group : Applications/Internet Source RPM: nginx-1.8.0-1.src.rpm
Size : 721243 License: GPL
Signature : (none)
URL : www.nginx.org
Summary : Nginx is a web server software.
Description :
nginx [engine x] is an HTTP and reverse proxy server.
[root@web1 ~]# rpm -qpl nginx-1.12.2-10.x86_64.rpm
…

步骤三:安装、卸载软件
[root@web1 ~]# rpm -ivh RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm
…
准备中… ################################# [100%]
正在升级/安装…
1:nginx-1.12.2-22 ################################# [100%]
useradd:用户“nginx”已存在
警告:%post(nginx-1.12.2-22.x86_64) 脚本执行失败,退出状态码为 9
(解决办法: 用户已存在,可忽略)

[root@web1 ~]# rpm -qa |grep nginx
[root@web1 ~]# /usr/local/nginx/sbin/nginx
[root@web1 ~]# curl http://127.0.0.1/

RPM 构建错误: /var/tmp/rpm-tmp.gAmM5N (%prep) 退出状态不好,怎么办 第一次尝试linux打包,但是进展不太顺利,当然这也跟查询的资料有关,我这边用的AI工具 kimi,一直没解决,没找到原因!不过后来跟着其他ai工具,很快就找到了原因,并且解决了! 阅读详情

相关推荐

怎么制作RPM包

目录   1、安装rpm-build软件 2.生成rpmbuild目录结构 3.准备工作,将源码软件复制到SOURCES目录 4.创建并修改SPEC配置文件 5.安装依赖软件包 6.rpmbuild创建RPM软件包 7.默认打包好的包安放的目录 8.查看打包后的信息 1、安装rpm-build软件 [root@nginx ~]# yum -y intsall rpm-buil...

朱海燕的博客日记 415

解决 CentOS 编译 rpm 升级包 vmlinux.id 错误

编译命令:# rpmbuild -bb kernel-4.9-patch.spec编译报错打印:…… + test -s vmlinux.id + echo '*** ERROR *** no vmlinux build ID! ***' *** ERROR *** no vmlinux build ID! *** + exit 1 错误:/var/tmp/rpm-tmp.yMVeIn (%bui...

fhqfghgdx blog 3258

旋转矩阵推导

推导前提: 坐标使用右手坐标系,角度逆时针旋转为正。 绕X轴旋转角度为 俯仰角 即Pitch 绕Y轴旋转角度为 偏航角 即Yaw(Head) 绕Z轴旋转角度为 翻滚角 即Roll 一、平面二维坐标点的旋转 如右图所示,根据三角函数关系,可以列出向量OP与OP’的坐标表示形式: x = |OP|•cosα x′ = |OP|•cos(α+β) y = |OP|•sinα y′ = |OP|•sin(α+β) 将P′(x′,y′)表达式展开: x′ =

suixinger_lmh的随笔 1384

退出状态

<br />退出状态<br /> 1.如果要观察其退出状态,使用最后状态命令:<br /> $ echo $?<br /> 2.要退出当前进程,shell提供命令exit,一般格式为:<br /> exit n<br /> 其中,n为一数字.<br /> 退出状态0 退出成功,无错误.<br /> 退出状态1 退出失败,某处有错误.

永远都没有做完的软件,只有发布的软件 817

Zynq7020实战:ARM Cortex-A9降频避坑指南(附温度对比测试)

本文详细介绍了如何在Zynq7020平台上对ARM Cortex-A9处理器进行降频优化,以降低功耗并提升系统稳定性。通过分析时钟架构、提供实战操作步骤和温度对比测试数据,帮助开发者有效避免降频过程中的常见问题,实现嵌入式系统的高效能耗管理。

root9的博客 205

从‘平行’到‘鱼骨’:手把手拆解AlGaN/GaN HEMT多栅指结构的布局优化实战

本文深入探讨了AlGaN/GaN HEMT多栅指结构的布局优化,从传统的平行栅结构到创新的鱼骨栅结构,详细解析了如何通过优化信号路径和热管理提升功率器件的性能。文章结合实测数据和EDA工具,展示了鱼骨栅结构在相位一致性、热阻和版图利用率方面的显著改进,为射频功率放大器设计提供了实用指导。

weixin_27061475的博客 439

rpm包制作之openssh8.7升级

以openssh为例,将源码包转换为二进制包,从openssh6.4升级至8.7。

weixin_43263019的博客 1687

Claude Code + 自定义模型体验

AI 编程工具的发展突飞猛进:Cursor 横空出世,推出了“Agent 模式”;新竞争者如 Windsurf 也纷纷加入战局。几乎所有产品都开始转向“代理式(agentic)”开发模式——不再依赖单次 LLM 响应进行补全,而是让大模型在一个循环中调用各种工具,来完成更复杂的任务:分析代码库上下文、读取网页与文档、编译程序、运行测试、修复失败构建或测试、不断迭代等。

西京刀客 5790

RPM 包制作备查 &SRPM 包编译

本文介绍了RPM包制作原理和步骤,包括准备环境、设置目录结构、创建spec文件、编译源码、安装文件、清理和生成RPM包。通过详细步骤和命令,指导用户从源码编译生成RPM包,并提供常见问题解决方案。

You build it, you run it 2709

App inventor2通过蓝牙控制Arduino Uno LED开关

App inventer2控制Arduino Uno LED开关 如果学会这个小程序,大部分的手机通过蓝牙控制Arduino的功能都可以实现,这个小示例是通过蓝牙模块向Arduino发送"0"和"1",而其它功能要发送其它不同的字符串内容给Arduino. 所需硬件: Arduino Uno JDY-16 蓝牙模块(我的是蓝牙4.2版本) 草帽LED(可选) 手机(我用的是安卓,苹果手机应该也可以,最近其应用商店也有App inventor(AI)伴侣) 软件: Aduino IDE或者Platfom

Firmin123456的博客 5495

ICS v9.5 OverbyteIcsWSocket.pas 整体架构分析

核心架构:OverbyteIcsWSocket.pas 是 Internet Component Suite (ICS) 的基础网络组件单元,提供跨平台 Winsock API 封装,支持TCP/UDP 客户端/服务器,DNS 解析和Raw Socket。在 v9.5 中,SSL/TLS 代码已分离至 OverbyteIcsSslBase.pas 等单元,使核心单元更精简,专注于非加密 socket 操作。

sonadorje的专栏 991

RPM包制作及安装

文章目录RPM包制作及安装一、背景1.1、源码包安装过程1.2、RPM包安装1.3、RPM包优势1.4、Tips二、准备工作2.1、准备源码包2.2、安装rpmbuild软件包2.3、编写SPEC文件三、制作3.1、正常制作3.2、正常制作失败补救方案四、安装RPM包及验证 RPM包制作及安装 一、背景 由于某些系统或者某些需求的约束下我们需要制作某个程序的rpm安装包,当然了制作rpm包需要使用到源码包,不过最好还是不要遇到这种情况。 1.1、源码包安装过程 1、首先下载软件包 2、解压缩 3、进入到解

YangzaiLeHeHe的博客 3907

【K8S系列】Kubernetes 中 Pod 无法通过 Service 名称访问服务的 DNS 解析失败问题【已解决】

在 Kubernetes 中,Service 提供了一种稳定的方式,通过名称访问一组 Pod。当其他 Pod 无法通过 Service 名称访问服务,并且出现 DNS 解析失败时,通常会导致应用无法正常工作。本文将详细分析此问题的常见原因及其解决方案。

颜淡慕潇 1万+

RPM包制作

介绍RPM包制作的原理和过程

一条大河 2303

龙芯2K1000 OTG双模驱动深度解析

是Synopsys公司开发的USB 2.0 OTG控制器IP核,龙芯2K1000内置该IP,作为唯一的OTG控制器(PCI Dev4 Func0),物理基地址0x40000000。核心能力:同时支持Host主机模式(接U盘/键盘)、Device设备模式(虚拟串口ttyGS0)、OTG双模自动切换速率驱动路径:内核源码PMON:启用otg0设备树内核:开启HOSTPERIPHERALG_SERIAL启动参数脚本:sysfs角色切换+开机自启Host按以上配置,龙芯2K1000 DWC2 OTG可完美实现。

weixin_44932366的博客 374

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

如何制作nginx的RPM包

假如官网没有提供rpm包只有源码包那怎么办呢?这里主要讲的nginx的源码包制作rpm包的过程。 1. 安装rpm-build软件包 [root@localhost ~]# yum -y install rpm-build 2. 生成rpmbuild目录结构 [root@localhost ~]# rpmbuild -ba nginx.spec 会报错,没有文件或目录,但是会自动创建一个目录rpmbuild并生成目录结构 error: failed to stat /root/nginx.spec.

weixin_45625174的博客 1148

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

RPM包详解以及如何制作RPM包

RPM 全名 RedHat Package Managerment,一开始只是Red Hat Linux的软件包格式,它最初的名字为Red Hat软件包管理程序。从那以后,RPM逐渐称为许多其他Linux发行版所接受的一种软件包格式。Linux标准化规范将RPM作为其官方软件包格式。

new9232的博客 6057

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

小白上手RPM包制作

此篇文章 可以了解到rpm包的制作过程,了解fpm 与 rpmbuild 工具的基本使用,对于一般的rpm 打包需求 可以手拿把掐,

勤不了一点 1253

RPM包制作理论基础篇

我将通过两篇博客来说明rpm包制作,分为《RPM包制作理论基础篇》和《RPM包制作实战进阶篇》;本篇将从学习RPM包制作目的、原理以及基本的命令进行讲解: 准备工作 rpm 包制作需要rpmbuild 命令工具,因此我们需要先安装好该工具包,但是在这里我们不直接安装rpm-build,而是通过安装rpmdevtools(该工具包依赖rpm-build 包)将rpm-build 自动给安装上;...

zhaihaibo168的博客 1520

rpm包制作

rpm包制作流程 1、指定rpm包制作位置,默认/root/rpmbuild文件夹里面包含BUILD、BUILDROOT、RPMS、SOURCES、SPECS、SRPMS文件夹 2、将要打包的包放入rpmbuild/SOURCES文件夹下 3、制作spec文件 rpmbuild文件夹 %_topdir BUILD 编译rpm包的临时目录 %_builddir BUILDROOT 编译后生成的软件...

bobi的博客 2666

RPM包制作之Spec文件详解

看这篇文章的人基本都有一个想法,就是:“劳资不想用YUM的安装!不是版本太低就是文件分布太野路子”,此时我们需要自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包,其中的Spec文件是制作RPM包的核心。下面我们以制作NGINX的RPM开始介绍其制作方法。以下操作在CentOS7.4 64位系统进行(切记,不要把7上的文件装到6上去)。 1.1 起手势 安装rpm-buil...

weixin_34161032的博客 7033

从源码制作rpm包

发现Makefile文件中的前缀是大写的PREFIX,因为Makefile文件对大小写文件敏感,所以make install 中的prefix参数没生效,改成PREFIX后,并覆盖Makefile文件中LIBRARY_PATH值。编写 RPM 包的元数据文件~/rpmbuild/SPECS/myapp.spec。将源码包放入 ~/rpmbuild/SOURCES/这时会在root下生成一个rpmbuild目录。下面以构建cjson包为例。

青山绿水 630

制作RPM包

制作RPM包 实现此案例需要按照如下步骤进行。 步骤一:安装rpm-build软件 1)安装rpm-build软件包 [root@web1 ~]# yum -y install rpm-build 2)生成rpmbuild目录结构 [root@web1 ~]# rpmbuild -ba nginx.spec //会报错,没有文件或目录 [root@web1 ~]# ...

CHenYushan3的博客 286

制作Linux RPM包

RPM是Redhat Package Manage的缩写。透过RPM的管理,使用者可以把Source Code包装成一种Source和Binary的档案形式。利用它,我们可以用Binary的档案进行安装,用 Source 的档案形式重新整理包装。许多Linux爱好者对安装RPM包比较熟悉,但对如何在Linux下制作RPM包不甚了解,因此,我将通过实例,讲解如何在Linux下制作RPM包。 ...

子曰小玖的博客 1515

RPM包一步步制作

一.RPM制作步骤 我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根据我们的需求制作RPM安装包吧。先来说说基本布骤: 1.Planning what you want             计划做什么rpm包。软件的?库的? 2.Gathering the software to package  收集原材料,即收集源码包 3.Patch t

倾听雨落 1589

制作mysql rpm包_一步步制作RPM包

一.RPM制作步骤我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根据我们的需求制作RPM安装包吧。先来说说基本布骤:1.Planning what you want 计划做什么rpm包。软件的?库的?2.Gathering the software to package 收集原材料,即收集源码包3.Patch the software as n...

weixin_42526310的博客 427
上一篇: Linux修改History历史命令数量
下一篇: 快速搭建ceph集群
faydeng08
博客等级 码龄8年 6粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值