可执行文件简单打包成rpm文件

操作环境:CentOS_6.7-Minimal
首先安装rpm环境:
yum install rpm-build
yum install rpm-devel
yum install rpmdevtools
生成rpm运行环境:
rpmdev-setuptree
这时在root目录下会有rpmbuild文件,进入/root/rpmbuild/SPECS/,编辑打包脚本test.spec

Name:           test
Version:        1.1.1
Release:        0
Summary:        test

Group:          System Environment/Daemons
License:        GPL
Vendor:         MySelf.com 

%description

%pre    

%preun 

%postun   

%clean 

%files
%defattr (-,root,root,0777)
/usr/local/test
/etc/init.d/testctl

%post
chmod +x /etc/init.d/testctl
/sbin/chkconfig -add testctl
/sbin/chkconfig testctl on

将要打包的文件复制到rpmbuild/BUILDROOT/test-1.1.1-0.x86_64/usr/local/test目录下,
然后执行
rpmbuild -ba test.spec
此时在rpmbuild/RPMS/x86_64/目录会生成rpm打包文件。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
版本包含的 JEP(Java/JDK Enhancement Proposals,JDK 增强提案)比 Java 12 和 13 加起来的还要多。总共 16 个新特性如下: 305:Pattern Matching for instanceof (Preview) 为 instanceof 运算符引入模式匹配(预览阶段) 通过模式匹配,开发者可以用更简洁和更安全的方式来表达通用的程序逻辑。instanceof 运算符的模式匹配支持从对象中按条件来提取组件,此语言特性目前处于预览阶段。 343:Packaging Tool (Incubator) 打包工具(孵化阶段) 创建一个用于打包独立 Java 应用程序的工具。 345:NUMA-Aware Memory Allocation for G1 针对 G1 的 NUMA-Aware 内存分配 通过实现 NUMA-aware 内存分配,提升 G1 在大型机器上的性能。 349:JFR Event Streaming JFR 事件流 暴露 JDK Flight Recorder 数据以进行连续监视。 352:Non-Volatile Mapped Byte Buffers 非易失性映射的字节缓冲 非易失性映射的字节缓冲将添加新的 JDK 特定文件映射模式,该模式允许 FileChannel API 用于创建引用非易失性内存(NVM)的 MappedByteBuffer 实例。 358:Helpful NullPointerExceptions 改进 NullPointerExceptions,通过准确描述哪些变量为 null 来提高 JVM 生成的异常的可用性。该提案的作者希望为开发人员和支持人员提供有关程序为何异常终止的有用信息,并通过更清楚地将动态异常与静态程序代码相关联来提高对程序的理解。 359:Records (Preview) Records 提供了一种紧凑的语法来声明类,以帮助开发者写出更简洁的代码,这些类是浅层不可变数据(shallowly immutable data)的透明拥有者。该特性主要用在特定领域的类,这些类主要用于保存数据,不提供领域行为。 361:Switch Expressions (Standard) Switch Expressions 在 JDK 12 与 13 中都是预览状态,现在在 JDK 14 中已为稳定特性。switch 表达式扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的模式匹配做好准备。 362:Deprecate the Solaris and SPARC Ports 弃用 Solaris 和 SPARC 端口 弃用 Solaris/SPARC, Solaris/x64 和 Linux/SPARC 端口,以便在未来的版本进行移除。 363:Remove the Concurrent Mark Sweep (CMS) Garbage Collector 移除 CMS(Concurrent Mark-Sweep) 垃圾回收器。 364:ZGC on macOS 将 ZGC 垃圾回收器移植到 macOS。 365:ZGC on Windows 将 ZGC 垃圾回收器移植到 Windows。 366:Deprecate the ParallelScavenge + SerialOld GC Combination 弃用 ParallelScavenge + SerialOld GC 的垃圾回收算法组合。 367:Remove the Pack200 Tools and API 移除 Pack200 工具和 API 删除 java.util.jar 包中的 pack200 和 unpack200 工具以及 Pack200 API。 368:Text Blocks (Second Preview) 文本块特性(Text Blocks)与常见的 Python"""any input"""特性一样,它支持多行字符串文字,可以不需要使用大多数转义序列,并以一种可预测的方式自动设置字符串格式,同时可以让开发人员控制格式。虽然这不是特别复杂的特性,但对于开发中想将 HTML 代码引入 Java 来说是极大的便利,代码可
如果您使用 `electron-builder` 打包 Electron 应用时,每次都只生成可执行文件(如 .exe 文件)而不是安装文件,可能是因为您在 package.json 中的配置不正确。 您需要在 `build` 属性中为每个平台指定 `target` 属性来生成相应的安装文件。例如,如果要生成 Windows 安装程序,则需要将 `target` 属性设置为 `nsis` 或 `msi`。以下是一个示例: ``` "build": { "appId": "com.example.myapp", "productName": "My App", "directories": { "output": "dist" }, "win": { "target": "nsis" }, "mac": { "target": ["dmg", "zip"] }, "linux": { "target": ["deb", "rpm"] } } ``` 在上面的示例中,我们为每个平台都指定了一个 `target` 属性,用于指定生成的安装文件类型。例如,对于 Windows 平台,我们将 `target` 属性设置为 `nsis`,这将生成一个 Windows 安装程序。对于 macOS 平台,我们将 `target` 属性设置为 `dmg` 和 `zip`,这将生成一个 macOS 安装程序和一个压缩包。对于 Linux 平台,我们将 `target` 属性设置为 `deb` 和 `rpm`,这将生成一个 Debian 安装文件和一个 RPM 安装文件。 如果您已经正确配置了 `target` 属性,但仍然无法生成安装文件,请检查您的打包命令是否正确。例如,在 Windows 平台上,您可以使用以下命令生成安装程序: ``` electron-builder --win --x64 ``` 这将生成一个 Windows x64 安装程序。 希望这些信息能够帮助您找到问题所在。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值