什么是最简单的 Debian 打包指南?

aks*_*atj 191 packaging debian

我去了 Ubuntu wiki,但很困惑,方法太多了。请告诉我 Debian 打包的简单指南。

dv3*_*0ea 128

是创建基本.deb文件的一个很好的 HOWTO 。它适用于创建.deb供个人使用的文件,但如果您希望将软件包包含在 Debian / Ubuntu 中,则不够严格 - 为此,您应该阅读Debian 新维护者指南和/或Ubuntu 打包指南(我相信您已经试过了)。

检查.deb文件是否合规的一个好工具是lintian(可从存储库安装)。

Ask Ubuntu 聊天室中有两个会话。

Ubuntu 上的打包基础知识(打包:第 1 部分)

Launchpad PPA 的 Ubuntu 打包(打包:第 2 部分)


Nat*_*man 13

你有哪些部分有问题?虽然很复杂,但当我跟着它时,指南似乎很清楚。

快速总结:

  • 提取来源 .tar.gz
  • dh_make
  • 编辑 debian 文件
  • 运行解构

  • 关键是,我们没有 .tar.gz。我们想打包我们编写的应用程序。似乎没有指南涵盖这一点,它们都从我们没有的“上游 tarball”开始。 (14认同)
  • 让我困惑的是,无论源语言还是目录结构,这个过程都一样吗? (3认同)

Sea*_*ock 13

您甚至可以dpkg-deb用于创建简单的包。

这是来自Ubuntuforums的一个很好的教程。


小智 8

最初发布在StackOverFlow 上,本指南适用于预编译或解释的软件:

构建 deb 包的正确方法是使用,dpkg-buildpackage但有时它有点复杂。相反,您可以使用dpkg -b <folder>它来创建您的 Debian 软件包。

这些是dpkg -b <folder>使用任何二进制文件或任何无需手动编译(Python、Bash、Pearl、Ruby)自动运行的脚本来创建 Debian 软件包的基础知识:

  1. 创建文件和文件夹以重新创建以下结构:

    ProgramName-Version/
    ProgramName-Version/DEBIAN
    ProgramName-Version/DEBIAN/control
    ProgramName-Version/usr/
    ProgramName-Version/usr/bin/
    ProgramName-Version/usr/bin/your_script
    
    Run Code Online (Sandbox Code Playgroud)

    放置在的脚本/usr/bin/是直接从终端调用的,注意我没有给脚本添加扩展。您还可以注意到 deb 包的结构将是程序安装后的结构。所以,如果你按照这个逻辑,如果你的程序有一个单一的文件,你可以直接将其下ProgramName-Version/usr/bin/your_script,但如果你有多个文件,你应该把他们下ProgramName-Version/usr/share/ProgramName/all your files和地方只有一个文件下/usr/bin/将从调用脚本/usr/share/ProgramName/

  2. 将所有文件夹权限更改为root:

     chown root:root -R /path/to/ProgramName-Version  
    
    Run Code Online (Sandbox Code Playgroud)
  3. 更改脚本的权限:

     chmod 0755 /path/to/the/script
    
    Run Code Online (Sandbox Code Playgroud)
  4. 最后,您可以运行:dpkg -b /path/to/the/ProgramName-Version您的 deb 包将被创建!(你也可以添加 post/pre inst 脚本和你想要的一切,它像一个普通的 Debian 包一样工作)

这是该control文件的示例。您只需要将其复制/粘贴到一个名为“control”的空文件中,然后将其放入 DEBIAN 文件夹中。

Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
 Here you put the long description, indented by 1 space.
Run Code Online (Sandbox Code Playgroud)


小智 7

打包某些东西的最简单方法是使用checkinstall

  • checkinstall 提供了一种从源安装方法构建 debin 二进制包 (.deb ) 的快速方法。但是它没有提供合适的 debian 包(从 debian 源包构建)。 (4认同)