如何为 Debian/Ubuntu 创建 DEB 软件包如何为 Debian/Ubuntu 创建 DEB 软件包如何为 Debian/Ubuntu 创建 DEB 软件包如何为 Debian/Ubuntu 创建 DEB 软件包
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何为 Debian/Ubuntu 创建 DEB 软件包

发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux 上的大多数软件都是作为软件包分发的。为基于 Debian 的发行版创建 DEB 包比您想象的要容易。

DEB 包是一个包含所有文件的存档,包括应用程序的编译版本、源代码、配置文件、映像和安装命令。基于 Debian 的操作系统(如 Ubuntu 和 Kali Linux)中的 DEB 文件相当于 Windows 中的 EXE 文件。

以下是您如何为基于 Debian 的 Linux 发行版开发自己的 DEB 软件包。

第 1 步:安装所需的软件包

准备 Debian 软件包需要一些程序。首先,在您的系统上安装这些实用程序:

sudo apt install build-essential binutils lintian debhelper dh-make devscripts

第 2 步:套餐选择

在为程序创建 Debian 软件包 (DEB) 之前,您应该考虑以下几点:

  • 检查您计划创建的软件包是否已在 Debian 存储库中:

    apt-cache search package-name
  • 检查您要打包的程序具有哪种类型的许可证。使用 GNU/GPL 许可证是一种普遍的文化。

  • 确保该程序不会给系统带来安全问题。

  • 联系该程序的作者。通知 Debian 开发者此程序进入 Debian 存储库。

第三步:开始准备包裹

首先,在您的主目录下创建一个新目录以避免混淆。

cd /home
mkdir package
cd package

然后在此目录下提取包含要打包的程序源代码的 tar 存档。为了进行演示,我们将使用 rsyslog 存档。

tar -zxvf rsyslog-6.3.6.tar.gz

使用 cd 命令导航到新创建的目录:

cd rsyslog-6.3.6

通常,程序的源代码附带INSTALL和README文件。即使您知道该程序是什么以及它如何工作,花一些时间阅读这些文件也会对您有所帮助。

有诸如 ./configure make 和 make install 之类的命令可以轻松地将此类存档安装到您的系统上。但您应该注意 ./configure 选项的几个参数。您可以使用./configure --help命令来获取此类信息。

第四步:添加开发者信息

在为您的程序创建 DEB 包之前,请注意包名称和版本号。创建包时您还需要添加一些打包程序信息。为此,您必须使用以下命令导出您的信息:

export DEBEMAIL="your@mail.com"
export DEBFULLNAME="Name Lastname"

之后,使用魔法命令dh_make。

dh_make

发出dh_make命令后,您应该选择包类型并按Enter。

执行此步骤后,您将注意到父目录中有一个扩展名为“.orig”的目录。如果这不起作用,请尝试运行带有 --createorig 参数的 dh_make 命令。

ls
# Output
rsyslog-6.3.6 rsyslog_6.3.6.orig.tar.xz rsyslog-6.3.6.tar.gz

您还可以在当前工作目录中看到一个名为 Debian 的新目录。这些目录和文件包含有关该程序的所有 Debian 软件包相关信息。

第5步:与软件包相关的Debian文件

您需要了解有关 Debian 目录中的文件的以下信息。

1. 控制文件

控制文件提供各种与包相关的信息。

  • 来源:您将在其中指定程序名称的行

  • Section:根据许可证确定您的程序属于哪个部分的行

  • Maintainer:包含准备包的人的信息的行

  • Build-Depends:此行列出了依赖项

  • 取决于:这条线非常重要。您可以使用此值指定包的依赖项

  • 描述:您可以在其中输入有关包裹的信息的行

2. 版权文件

该文件包含有关程序许可证的信息。其默认内容如下:

3. 变更日志文件

该文件就像您的程序的日志路线图。如果您做了一些与程序源无关的事情或者修复了一些错误,则可以将其添加到此文件中。

4. 规则文件

规则文件就像 Debian 软件包的 Makefile。使用 dpkg 安装准备好的 Debian 软件包时,以该文件中的信息为基础。

您当然可以根据需要更改此文件中的参数。

5.目录中的其他文件

了解以下文件的功能也可能很有用:

  • README.Debian:自述文件

  • conffiles.ex:如果您想在安装程序时保留旧的设置文件,请使用此文件

  • cron.d.ex:您可以使用此文件执行 cron 操作

  • dirs: 使用此文件指定不应在安装期间安装但应在以后创建的目录

  • docs:如果您的程序中有文档,请使用此文件指定它们

  • emacsen*.ex:如果您的程序在安装过程中需要Emacs文件,请使用此文件指定

  • init.d.ex:如果您希望程序在系统启动时运行,请使用此文件

要继续进行下一阶段,请删除您认为不再需要的所有文件。然后重命名文件扩展名并删除末尾的“.ex”。 “.ex”(示例)表示这是一个示例文件。

第 6 步:构建包

如果您已经完成了这一步,那么您现在可以为您的程序准备 Debian 软件包了。为此,请运行以下命令:

dpkg-buildpackage

这里的另一个重要问题是为您导出为维护者的电子邮件地址创建 GPG。

export DEBEMAIL="example@mail.com"

dpkg 将在创建包时查找您的 GPG 信息。您可以使用命令gpg --list-keys列出它。

如果您在dpkg-buildpackage阶段遇到任何问题,请尝试以下命令:

dpkg-buildpackage -nc -i

该命令将忽略一些可能导致错误的部分。

如果一切顺利,您的程序的 Debian 软件包将准备好安装并存储在下一个目录中。使用以下命令,您可以安装、测试和查看该包。

dpkg -i package-name

任何人都可以在 Linux 上创建包

DEB 打包系统是 Debian 作为 GNU/Linux 领导者的最基本要素之一。 Debian 是一个大型系统,对于贡献者来说,能够创建自己的软件包非常重要。

如果您是 GNU/Linux 的新手,这可能会让人感到困惑。然而,正如您所看到的,准备 Debian 软件包比您想象的要简单。当然,构建 Debian 软件包需要时间和工作。

但这并不意味着您必须为要安装的程序手动创建包。互联网上有几个网站可以免费下载 DEB 软件包。

©2015-2025 Norria support@norria.com