当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

我去了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)即可自动运行:

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

    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/

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

     chown root:root -R /path/to/ProgramName-Version  
    
  3. 更改脚本的权限:

     chmod 0755 /path/to/the/script
    
  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.

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/398.html,未经允许,请勿转载。