Shu*_*ary 4 shell debian build dpkg package
什么:我有一个shell脚本,我想分发给我的LUG.我相信debian软件包将是分发它的最简单方法.我想为此存储库中的脚本创建一个.deb文件
其中:我希望将它放在某些目录中,如/ usr/local/bin,以便它易于执行,并可能创建一些符号链接
问题:如何为其创建make文件和/或执行此操作所需的其他文件和文件夹.几个月前我尝试做的时候研究了很多但是没有运气.以下是我之前尝试的文件现在我正在尝试将此包装在我的LUG中的shell脚本教程中,并再次遇到类似的情况.
如果有人能够耐心指导我完成它,我会很高兴的.
任何类型的资源或细节将不胜感激.
PS:我也打算很快将脚本移植到perl.
正如mirabilos所说,你至少应该看看现任Debian项目负责人Lucas Nussbaum撰写的包装教程.您可以直接从Debian存储库安装它:
# apt-get install packaging-tutorial
然后,打开并浏览位于的PDF /usr/share/doc/packaging-tutorial/packaging-tutorial.pdf.浏览它之后,您将掌握了解Debian软件包结构所需的基本知识.
现在让我们亲自动手吧.mv您的脚本到新目录.目录的名称必须遵循命名contextname - *version*.
rul@helicon:/tmp/a$ mkdir script-0.1
rul@helicon:/tmp/a$ mv script.sh script-0.1
Run Code Online (Sandbox Code Playgroud)
cd到脚本所在的目录并运行dh_make --createorig.选择single binary.你现在将拥有一个debian/包含大量文件的目录.这些文件是您制作包装所需的文件.在您的情况下,大多数(如果不是全部)*.ex文件都可以安全删除.在需要时读取并修改剩余文件.
现在让我们编写包的核心.您想要安装脚本/usr/local/bin.好消息是已经有一个程序可以帮到你.您只需指定文件名和放置位置即可.这个程序是dh_install.它有一个非常完整的手册页.阅读之后,您现在应该明白必须install在debian/目录中创建一个文件.
rul@helicon:/tmp/a/script-0.1$ echo "script.sh usr/local/bin/" > debian/install
Run Code Online (Sandbox Code Playgroud)
这里有一个关于此文件用法的真实示例.
而已!您拥有构建软件包所需的一切.cd到您的包的根目录并运行dpkg-buildpackage.如果一切顺利,你将拥有全新.deb的../.
| 归档时间: |
|
| 查看次数: |
5225 次 |
| 最近记录: |