我去了Ubuntu Wiki,但是很困惑,方法太多了。请告诉我有关Debian包装的简单指南。

评论

您要创建供自己使用,在特定计算机上还是供其他人使用的软件包?

您想打包哪种软件?

我有同样的问题。大多数教程和指南都是从“获取上游压缩包”开始的。从这一点开始,我们迷路了。我们想部署一个简单的东西,没有上游的tarball,没有源代码。它只是一个war文件,一些脚本和一些jar文件。上游tar球到底是什么,有没有人看到过不使用指南的指南,它是全面的(例如,处理用户问题)

我将去我通过StackOVerflow发布的那个。

如果您要创建“虚拟包”(将组依赖关系放在一起),那么值得一看的是equivs-build

#1 楼

这是用于创建基本.deb文件的好方法。它适合于创建供个人使用的.deb文件,但是如果您想要将该软件包包含在Debian / Ubuntu中,则不够严格-为此,您应该阅读《 Debian新维护人员指南》和/或《 Ubuntu包装指南》(我相信您可以已经尝试过)。

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

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

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

评论


这很好地编译了从打包开始所需的内容,但是在HOWTO中,我错过了在deb文件中包含应用程序图标的信息(并且在其他地方未找到任何有关此信息)。关于如何做的任何提示?

–nightcod3r
17年7月3日在7:48

#2 楼

您在哪些方面遇到问题?尽管很复杂,但当我遵循它时,该指南似乎很清晰。

快速摘要:

编辑debian文件
运行debuild


评论


让我感到困惑的是,无论源语言还是目录结构,此过程都一样吗?

–赛斯
2014-09-26 0:15

问题是,我们没有.tar.gz。我们想打包我们编写的应用程序。似乎没有指南涵盖这方面,它们都以我们没有的“上游压缩包”开头。

–约翰·利特尔
2015年11月13日15:40

@JohnLittle这个答案可能有帮助:askubuntu.com/a/27731/5

–内森·奥斯曼(Nathan Osman)
15年11月13日在18:25

长期重复包装呢?我是否每次都要进行如此漫长而复杂的包装过程?

– Kravemir
17年8月13日在18:28

如果用户没有GPG密钥,则构建失败,并显示“ debsign:gpg错误!中止...。”。

–agc
17年12月15日在16:04

#3 楼

您甚至可以使用dpkg-deb来创建简单的软件包。

这是Ubuntuforums的不错的教程。

#4 楼

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

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

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



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

ProgramName-Version/
ProgramName-Version/DEBIAN
ProgramName-Version/DEBIAN/control
ProgramName-Version/usr/
ProgramName-Version/usr/bin/
ProgramName-Version/usr/bin/your_script


放置在/usr/bin/上的脚本是从终端直接调用的,请注意,我没有在脚本中添加扩展名。您还可以注意到,一旦安装了deb软件包的结构便成为该程序的结构。因此,如果您的程序只有一个文件,那么如果遵循此逻辑,则可以直接将其放置在ProgramName-Version/usr/bin/your_script下,但是如果您有多个文件,则应将它们放置在ProgramName-Version/usr/share/ProgramName/all your files下,而只能将一个文件放在/usr/bin/下,这将从/usr/share/ProgramName/调用脚本br />

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

 chown root:root -R /path/to/ProgramName-Version  



更改脚本的权限:

 chmod 0755 /path/to/the/script


最后,您可以运行: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.


评论


完美答案谢谢!

– YCN-
20 May 22 '13:38

#5 楼

打包内容的最简单方法是使用checkinstall。

评论


checkinstall提供了一种从源安装方法构建debin二进制软件包(.deb)的快速方法。但是,它没有提供适当的debian软件包(从debian源软件包构建)。

–JoãoPinto
2010年8月6日在20:14

噢,我在编译之前就不得不使用它。

– Piotr Kula
2015年2月20日在23:57

#6 楼

不,这个世界上最简单,最清晰的打包指南是

为Ubuntu和其他Debian打包Java应用程序

几天前,对于我的第一个应用程序,我创建了DEB package by按照本教程。非常清楚,我的应用程序打包成功。是的,至少对我来说这是最简单的。

您可以将其与Debian Packaging Guide进行比较。

评论


“简单”并不意味着“完整”。基本的.deb打包教程不会针对不同类型的程序提供很多政策,因此打包并不像“简单教程”那样简单。

–托马斯·沃德♦
13年7月7日在2:54

绝对简单。它使我开始工作,并且能够在几分钟内创建我的第一个debian软件包。仍然有很多细节需要处理(林田包装质量差的消息),但是很好的起点。

– atmelino
15年11月22日在1:05