zoukankan      html  css  js  c++  java
  • 制作rpm和deb包

    RPM

    安装依赖

    yum install -y rpm-build
    

    目录说明

    默认工作路径移动到用户家目录下的 rpmbuild目录里,即 $HOME/rpmbuild ,并且推荐用户在制作 rpm 软件包时尽量不要以 root 身份进行操作。

    默认位置 宏代码 名称 用途
    ~/rpmbuild/SPECS %_specdir Spec 文件目录 保存 RPM 包配置(.spec)文件
    ~/rpmbuild/SOURCES %_sourcedir 源代码目录 保存源码包(如 .tar 包)和所有 patch 补丁
    ~/rpmbuild/BUILD %_builddir 构建目录 源码包被解压至此,并在该目录的子目录完成编译
    ~/rpmbuild/RPMS %_rpmdir 标准 RPM 包目录 生成/保存二进制 RPM 包
    ~/rpmbuild/SRPMS %_srcrpmdir 源代码 RPM 包目录 生成/保存源码 RPM 包(SRPM)
    ~/rpmbuild/BUILDROOT %_buildrootdir 最终安装目录 保存 %install 阶段安装的文件

    rpmbuild 命令选项

    -bp 只解压源码及应用补丁
    -bc 只进行编译
    -bi 只进行安装到%{buildroot}
    -bb 只生成二进制 rpm 包
    -bs 只生成源码 rpm 包
    -ba 生成二进制 rpm 包和源码 rpm 包
    --target 指定生成 rpm 包的平台,默认会生成 i686 和 x86_64 的 rpm 包,但一般我只需要 x86_64 的 rpm 包
    --rebuild 编译提供 SRPM
    

    rpm示例

    refer

    How to create an RPM package/zh-cn

    RPM 包的构建 - 实例

    spec参数说明

    rpm 包签名

    rpm 包签名

    deb

    deb打包参考 linux下deb包的制作(2) – 源码包和自动编译构建deb包,有些复杂,可以通过alien工具将rpm转化为deb包。

    apt-get install alien
    alien --to-deb hello-2.10-1.el7.x86_64.rpm
    root@instance-zz3pql3l:~# dpkg -i hello_2.10-2_amd64.deb
    Selecting previously unselected package hello.
    (Reading database ... 164776 files and directories currently installed.)
    Preparing to unpack hello_2.10-2_amd64.deb ...
    Unpacking hello (2.10-2) ...
    Setting up hello (2.10-2) ...
    Processing triggers for install-info (6.5.0.dfsg.1-2) ...
    Processing triggers for man-db (2.8.3-2) ...
    root@instance-zz3pql3l:~# hello
    Hello, world!
    
  • 相关阅读:
    四叶草社交平台——十天冲刺(7)
    四叶草社交平台——十天冲刺(6)
    多表查询
    单表 查询
    django模板的导入
    2019-3-1
    DJANGO 28
    路由
    Django项目的创建与介绍
    数据传输方式
  • 原文地址:https://www.cnblogs.com/hiyang/p/13524537.html
Copyright © 2011-2022 走看看