问题描述
我去了Ubuntu wiki,但感到困惑,有太多的方法。请告诉我一个简单的Debian包装指南。
最佳解决办法
This是创建基本.deb
文件的一个很好的方法。它适用于创建.deb
文件供个人使用,但如果您希望将软件包包含在Debian /Ubuntu中,则不够严格 – 因为您应该阅读Debian New Maintainer’s Guide和/或Ubuntu Packaging Guide(我相信您已经尝试过) 。
检查.deb
文件是否符合要求的好工具是lintian
(可从存储库安装)。
Ask Ubuntu聊天室中有两个会话。
The Basics of Packaging on Ubuntu (Packaging: Part 1)
Ubuntu Packaging for Launchpad PPAs (Packaging: Part 2)
次佳解决办法
你遇到什么问题?虽然很复杂,但当我跟踪它时,指南显得非常清晰。
快速总结:
-
提取源
.tar.gz
-
运行
dh_make
-
编辑debian文件
-
运行debuild
第三种解决办法
你甚至可以使用dpkg-deb
来创建简单的包。
这是来自Ubuntuforums的一个很好的教程。
第四种办法
打包的最简单方法是使用checkinstall。
第五种办法
最初发布在StackOverFlow上,本指南适用于pre-compiled或解释型软件:
构建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/
-
将所有文件夹权限更改为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.