rpm软件包的制作方法

news2024/10/9 14:29:03

源码制作成rpm可以centos系列系统平移

其他机器需要这个环境发过去可以yum -y install new_pkg_name.rpm安装

比较方便

rpm包构建过程:
第一步下载tar.gz源码包

nginx官网下载自己准备版本

linux主机

真机windows话,传输方法

1. rz命令 # receive ZMODEM

2. windterm远程登录时,直接源码包windterm界面聊天窗口文件类似

3. windterm快捷键alt+w 然后 alt+f,会打开文件管理器,右击空白处点击“上传到当前文件夹”,选择源码包所在路径

上传到Linux主机的路径为:当前目录

官网地址nginx: downloadicon-default.png?t=O83Ahttps://nginx.org/en/download.html

步:安装 rpm-build

yum -y install rpm-build

步:创建默认目录

]# rpmbuild -ba nginx.spec

报错但是会产生一个默认目录rpmbuild

]# ls rpmbuild/

BUILD BUILDROOT RPMS SOURCES SPECS SRPMS

步:放材料

源码包放到SOURCES目录

配置文件放在SPECS目录

创建之后结果放在RPMS目录

cp nginx-1.22.1.tar.gz rpmbuild/SOURCES

步:配置文件

~]# cat rpmbuild/SPECS/nginx.spec
Name: nginx     # rpm
Version: 1.22.1  # 版本
Release: 1        # 发行版
Summary: nginx is a tool for web server # Rpm概述信息,可自定义

# Group:
License: GPL        # 自由软件
URL: www.test.com  # 自定义
Source0: nginx-1.22.1.tar.gz  #源码包名称

# BuildRequires: gcc make pcre-devel openssl-devel  # 依赖关系
Requires: pcre-devel openssl-devel  # 依赖

%description
nginx is a tool for web server, http/https cluster proxy, and TCP/UDP scheduler            # rpm描述信息自定义
%post            #  添加
useradd nginx   # 用rpm包安装nginx之后,自动执行这条指令创建用户nginx
%prep
%setup -q


%build
./configure  --with-stream --with-http_ssl_module --user=nginx --group=nginx --prefix=/usr/local/nginx  --with-http_stub_status_module       # 跟装哪些模块自己需求
make %{?_smp_mflags}


%install
%make_install


%files
%doc
/usr/local/nginx/*         # 安装路径


%changelog

第六步:用配置文件和源码包构建rpm

构建成功

]# rpmbuild -ba rpmbuild/SPECS/nginx.spec
]# ls rpmbuild/RPMS/x86_64/
nginx-1.22.1-1.x86_64.rpm  nginx-debuginfo-1.22.1-1.x86_64.rpm  nginx-debugsource-1.22.1-1.x86_64.rpm

第七步:准备安装环境

~]# grep nginx /etc/passwd  
~]# ls /usr/local/nginx
ls: 无法访问'/usr/local/nginx': 没有那个文件或目录
~]# rpm -q nginx
未安装软件包 nginx 

第八步:使用rpm包安装nginx

~]# yum -y install rpmbuild/RPMS/x86_64/nginx-1.22.1-1.x86_64.rpm
~]# rpm -q nginx
nginx-1.22.1-1.x86_64

第九步测试验证

~]# !grep
grep nginx /etc/passwd
nginx:x:1000:1000::/home/nginx:/bin/bash
~]# ls /usr/local/nginx/
conf  html  logs  sbin
~]# rpm -q nginx
nginx-1.22.1-1.x86_64
~]# /usr/local/nginx/sbin/nginx 
~]# ss -ntulp | grep nginx
tcp   LISTEN 0      128           0.0.0.0:80         0.0.0.0:*    users:(("nginx",pid=15819,fd=9),("nginx",pid=15818,fd=9))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2199252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

查询效率提升近200倍!AntDB数据库助力医疗行业省级医保信息平台建设

导读: 本文介绍了在西北某省医保信息平台架构演进升级过程中,AntDB对于新建平台数据分析能力、数据同步能力、数据运维管理能力的提升。本次AntDB数据库多引擎能力的上线,解决了该医保系统数据同步不准确、数据查询结果不准确、复杂数据查询…

U盘数据丢失?这4款神器助你找回!

朋友们,今天咱们来聊聊U盘数据恢复工具;你是不是也遇到过U盘数据丢失的尴尬情况?别急,今天就让我来给你推荐几款好用的U盘数据恢复工具,并分享一下我的使用感受。 第一款:福昕数据恢复 直通车(…

OBOO鸥柏:布局于为无人机展厅行产业提供LCD液晶显示终端

新华网快讯,于10月9日消息,有投资者在互动平台向OBOO鸥柏公司提问:您好!目前有哪些工业/商用显示产品应用于无人机展厅展馆场景?能否着重介绍下贵司屏幕主要应用哪些品牌无人机数字化展厅展馆做保障? 鸥柏…

【ELKB】Kibana使用

搭建好ELKB后访问地址:http://localhost:5601 输入账号密码登录以后 左侧导航有home、Analysis、Enterprise search 、Observability、Security、Management home:首页Analysis:工具来分析及可视化数据Enterprise search:企业级搜…

原生USDC正式上线Sui

今天,标志着Sui生态的一个重要里程碑 — — 原生USDC现已正式在Sui主网上线。作为最广泛使用的稳定币之一,USDC为日益增长的Sui生态带来了稳定的价值传输和流动性。 随着Sui DeFi锁仓量(TVL)突破10亿美元,网络上需要更…

JAVA无人值守共享娱乐棋牌室系统源码

无人值守共享娱乐棋牌室系统——自由畅玩,尽享娱乐新风尚 🎲 开篇:无人值守,开启娱乐新纪元 在这个快节奏的时代,人们越来越追求便捷、高效的娱乐方式。而“无人值守共享娱乐棋牌室系统”正是这样一款应运而生的创新…

YOLOv11模型地址

地址链接 项目Git地址:https://github.com/ultralytics/ultralytics?tabreadme-ov-file

随机掉落的项目足迹:Element UI组件库 ElMessage 组件报错或样式丢失

问题引入 使用 Element UI 组件库时,如果用的是自动按需导入,那么就无需通过import语句导入组件,直接就能在项目里使用 但是 ElMessage 虽然可以正常使用,但是代码却会出现报错 虽然组件用起来没问题,但是这个报错看…

SpringBoot3响应式编程全套-Spring Webflux

目录 传送门前言一、组件对比二、WebFlux1、引入2、Reactor Core3、DispatcherHandler3.1、请求处理流程 4、注解开发4.1、目标方法传参4.2、返回值写法 5、文件上传6、错误处理7、RequestContext8、自定义Flux配置9、Filter 传送门 SpringMVC的源码解析(精品&…

MATLAB - 四旋翼机器人上的飞行机械臂路径规划

系列文章目录 前言 本示例展示了如何使用 “浮动 ”类型的刚体关节(rigidBodyJoint)和操纵器RRT 为浮动基座系统规划无碰撞的几何路径。浮动基座系统的基座带有一个 “浮动 ”关节,可以在空间自由平移和旋转,因此具有六个自由度。…

Tita使用小技巧:项目类型自定义,业务管理个性化

应用场景 某互联网企业,企业内部有研发部,有销售部 研发部通常需要管理各种技术研发类型项目,因此需要管理「研发型」项目,该类型项目需要明确「所属产品」、「级别管理:国家级/省市级」、「项目类别:创新…

DS1302时钟模块(STM32)

目录 一、介绍 二、模块原理 1.原理图 2.引脚描述 3.工作原理:读/写时序 4.寄存器地址/定义 三、程序设计 main.c文件 ds1302.h文件 ds1302.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 DS1302是一款由达拉斯半导体(Dallas Semic…

货拉拉冲刺上市:周胜馥已“套现”16亿元,被指经营管理问题突出

撰稿|多客 来源|贝多财经 10月2日,货拉拉以“拉拉科技控股有限公司-W(简称“拉拉科技”,英文名:Lalatech)”为主体更新递交招股书,继续冲刺港交所上市。此前,货拉拉曾分别于2023年3月、2023年…

面试中遇到的关于Transformer模型的问题有哪些?

Transformer是深度学习中极具影响力的模型架构之一,广泛应用于自然语言处理、计算机视觉等领域。它通过自注意力机制和并行计算等特点,取得了比传统模型(如RNN、LSTM)更优异的性能。本文将针对Transformer的多个关键问题进行详细探…

1,STM32CubeMX生成第一个freeRTOS工程

1,前言 本章内容是CubeMX工程配置freeRTOS的demo工程,后续其他本专栏文章中不再提及,默认在本章内容上完成。 单片机型号:STM32F407 编程环境 :STM32CubeMX Keil v5 2,STM32CubeMX新建工程 双击打开ST…

最新2024 LLM大模型学习路线图:从入门到精通的完整路径,收藏一下吧很难找全的!

ChatGPT的出现在全球掀起了AI大模型的浪潮,2023年可以被称为AI元年,AI大模型以一种野蛮的方式,闯入你我的生活之中。 从问答对话到辅助编程,从图画解析到自主创作,AI所展现出来的能力,超出了多数人的预料&…

JSBSim脚本运行结果

JSBSim 读取飞机xml文件:a 1982 Cessna 172P "C:\jsbsim-master\aircraft\c172p\c172p.xml"上面是文件位置,下面是读取的结果 JSBSim Flight Dynamics Model v1.2.0.dev1 Oct 5 2024 21:22:03[JSBSim-ML v2.0]JSBSim startup beginning ...…

15个出色和使用的python库用于制图与GIS分析

用于 GIS 和制图的 Python 库。Python 库是 GIS 的终极扩展,因为它们允许你增强其核心功能。通过使用 Python 库,你可以摆脱 GIS 的束缚,深入研究一些严肃的数据科学。Python有200 多个标准库。但也有数千个第三方库。所以,你能走…

必须保证信号连续的原因

**引言:**本文首先总体叙述了信号线不连续的情况,然后通过仿真,更直观的表达了各种阻抗不连续对传输线带来的影响,最后针对信号线提出了相应的措施。 信号不连续的情况(阻抗不连续) 1、 参考平面不一致 …

Unity实现自定义图集(五)

以下内容是根据Unity 2020.1.0f1版本进行编写的   在Unity编辑器上的自定义图集已经完成了,但是如何将自定义图集文件打包,以及在移动平台将自定义图集和对应的纹理图(Texture)加载出来是个问题,本篇就来解决这些问题 1、思路 首先是自定义图集的打包。 自定义图集实际…