我如何从二进制文件创建 deb?

我如何从二进制文件创建 deb?

我有几个二进制文件:foo、bar.so 和 foo.lnk。我想制作一个 deb,将 foo 提取到/usr/share/foo/foo,将 bar 提取到同一目录,将 foo.lnk 提取到/usr/share/applications。我不想包含任何源,而且我需要确保安装了几个依赖项。

我找到了一些资源,例如http://www.webupd8.org/2010/01/how-to-create-deb-package-ubuntu-debian.htmlhttps://wiki.debian.org/IntroDebianPackaging。问题是它们是包含源代码的指南。此外,我真的不明白如何指定将某些文件提取到哪里。

答案1

我发现了一个相对简单的方法,所缺少的就是如何运行安装前和安装后脚本。(以及是否有办法添加卸载脚本)。

http://ubuntuforums.org/showthread.php?t=910717

  1. 确定软件包的名称。标准 Debian 符号全部小写,格式如下:

    <project>_<major version>.<minor version>-<package revision>
    

    例如,您可以将您的第一个包命名为...

    helloworld_1.0-1
    
  2. 创建一个目录来制作你的包。该名称应该与包名称相同。

    mkdir helloworld_1.0-1
    
  3. 假设打包目录实际上是文件系统的根目录。将程序文件放在系统上要安装的位置。

    mkdir helloworld_1.0-1/usr  
    mkdir helloworld_1.0-1/usr/local  
    mkdir helloworld_1.0-1/usr/local/bin  
    cp "~/Projects/Hello World/helloworld" helloworld_1.0-1/usr/local/bin  
    
  4. 现在创建一个特殊的元数据文件,包管理器将使用它来安装您的程序。

    mkdir helloworld_1.0-1/DEBIAN  
    gedit helloworld_1.0-1/DEBIAN/control
    

    将类似这样的内容放入该文件中。

    Package: helloworld
    Version: 1.0-1
    Section: base
    Priority: optional
    Architecture: i386
    Depends: libsomethingorrather (>= 1.2.13), anotherDependency (>= 1.2.6)
    Maintainer: Your Name <[email protected]>
    Description: Hello World
     When you need some sunshine, just run this
     small program!
    

    描述中每行前面的空格很重要。

  5. 现在你只需要制作包装:

    dpkg-deb --build helloworld_1.0-1
    

相关内容