首页 > 其他分享 >RPM打包

RPM打包

时间:2024-05-24 09:18:14浏览次数:20  
标签:1.12 rpmbuild RPM nginx 64 root rpm 打包

yum -y install  rpm-build

生成rpmbuild目录结构
rpmbuild -ba nginx.spec             //报错后会自动在家目录root下创建一个子目录

ls /root/rpmbuild                    //自动生成的目录结构
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS

RPMS         RPM包的存放位置
SOURCES     原码包位置,允许有多个原码包
SPECS        定义参数
SRPMS       原码包及spec文件(相当于把SOURCE下和SPECS下的文件打包)

将源码软件复制到SOURCES目录
cp nginx-1.12.2.tar.gz /root/rpmbuild/SOURCES/

创建并修改SPEC配置文件
vim /root/rpmbuild/SPECS/nginx.spec
Name:nginx            // 和真实信息一致
Version:1.12.2          // 源码包版本 与真实信息一致
Release:    10         // 第几次打rpm包
Summary: Nginx is a web server software.    // 描述信息,支持中文   
#Group:               // 可以为空,也可以属于哪个组包
License:GPL            // gpl开源协议,允许复制,修改,再发布
URL:    www.test.com     // 网址
Source0:nginx-1.12.2.tar.gz    // 源码包名 和真实信息一样
#BuildRequires:    // 依赖包
#Requires:        // 依赖包
%description     // 详细描述
nginx [engine x] is an HTTP and reverse proxy server.
%post    // 安装后脚本,整个rpm安装完了执行这个脚本
#useradd nginx                       // 非必需操作:安装后脚本(创建账户)
useradd dc    // 只要用户安装软件,就会创建一个用户dc,验证见下边
%prep
%setup –q                 // 这是个脚本,自动解压源码包,上边Source0写的谁,就解压谁,并cd进入目录
%build                    // 指定安装需要参数
./configure   
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
cp /root/rpmbuild/SPECS/nginx.sh %{buildroot}/usr/local/nginx/   
##注意,cp非必须操作,注意,这里是将一个脚本拷贝到安装目录,必须提前准备该文件
%files                     // 对哪些文件压缩 写在下方
%doc                     // 对哪些文件与目录打包 写在下方
/usr/local/nginx/*        
%changelog

使用配置文件创建RPM包

1)安装依赖软件包
yum -y install  gcc  pcre-devel zlib-devel openssl-devel

2)rpmbuild创建RPM软件包
rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec    // 执行配置文件内容
cd /root/rpmbuild/RPMS/ x86_64
ls
nginx-1.12.2-1.x86_64.rpm  nginx-debuginfo-1.12.2-1.x86_64.rpm  

// 有两个文件,第一个文件即nginx软件,第二个软件是排错用的
rpm -qpi RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm // 列出软件信息
rpm -qpl RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm // 列出软件信息
-i:显示套件的相关信息;
-l:显示套件的文件列表;
-p:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户

标签:1.12,rpmbuild,RPM,nginx,64,root,rpm,打包
From: https://www.cnblogs.com/lixunblogs/p/18183852

相关文章

  • 关于如何使用JNI将C语言接口打包成可供java环境调用的so库文件
    一、环境检查在linux下打包.so文件,首先需要确认是否有安装java环境,可通过在终端中输入指令java的方式来进行查看。如下图所示,则为已安装java环境。  若当前未安装java环境,则可通过在终端中输入如下指令进行安装,我这里使用的java环境为1.8.0版本。sudoapt-getinstallo......
  • docker添加文件重新打包
    dockersave归档dockercommint按照运行状态打包一个镜像dockerbuild打包一个新镜像 [root@ecs-353585sdkjs-plugins]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTS......
  • utools插件开发踩坑记录 - vite+recat搭建打包到utools环境时运行页面报错unexpected
    问题现象在本地开发环境时,运行无问题,一但打包到utools环境运行时,就出现了下面的现象依赖"dependencies":{"@ant-design/icons":"^5.3.7","antd":"^5.17.3","react":"^18.2.0","react-dom":"^......
  • 在springboot项目中,打包本地的外部jar包,到运行的jar包中
    1、配置依赖<dependency><groupId>com.genesyslab</groupId><artifactId>genesyslab</artifactId><version>1.0.0</version><scope>system</scope><systemPath>${project.basedir}/src/main/re......
  • 如何全程使用docker部署jeecg平台,无需安装开发环境(主要是如何使用Docker来进行Maven打
    在部署jeecg平台时,文档中即使通过docker部署,也需要安装开发环境编译一部分内容,本文记录使用docker替代安装环境的过程。使用docker的目的是在平台选型的过程中,不希望麻烦的安装环境,同时如果选型不满意,无需卸载环境就能恢复一个干净的系统。部署环境:UbuntuServer20.04docker,......
  • Unity安卓IOS一键打包
    添加菜单构建按钮,使用下面API进行构建,注意设置和配置等usingSystem;usingSystem.IO;usingAssetBundles;usingLiXiaoQian.Common.Editor.Tools;usingUnityEditor;usingUnityEngine;///打包工具publicclassBuildTool{[MenuItem("Tools/构建/Android平台")]......
  • 一个maven打包Fatjar的配置(非遮蔽)
     <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.6.0</version><configur......
  • 控制台+Topshelf实现Windows服务,以及打包
    场景:实现Windows服务,例如TerryService。1服务安装脚本serviceInstall.batcd/d%~dp0echo%date%_%time%>>InstallLog.txtTerryService.exeuninstall>>InstallLog.txtTerryService.exeinstall>>InstallLog.txtscconfigTerryServicetype=interacttype=......
  • docker - 容器镜像打包
    镜像保存与载入将镜像打包成tar包#保存镜像,使用镜像id保存,这个操作会丢失版本号和镜像名称(变成null)dockersave[image_id]-o[filename]#保存镜像,个人推荐这么打包dockersave[image]:[tag]-o[image]:[tag].tardockersave[image]:[tag]gzip-o[image]:[tag......
  • 跨平台应用开发进阶(八) :uni-app 实现Android原生APP-云打包集成极光推送(JG-JPUSH)详
    跨平台应用开发进阶(八):uni-app实现Android原生APP-云打包集成极光推送(JG-JPUSH)详细教程:https://blog.csdn.net/sunhuaqiang1/article/details/124337987?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171619616916800182772309%2522%252C%2522scm%2522%253A%252......