如何制作.deb 包来安装 docker 和其他依赖项?

如何制作.deb 包来安装 docker 和其他依赖项?

我有一个包,我使用 shell 脚本在 Ubuntu 上安装它。我想改用文件.deb,并且这个软件包有先决条件,包括 DOTNET 和 Docker。

为此目的制作 .deb 文件的步骤是什么?

答案1

我实际上有这样一个项目这里。每次创建新的 Ubuntu 安装时,我都希望一次性安装一组基本工具和一组 Debian 软件包。

该项目包括一个脚本bin/create-packages.sh,我运行该脚本来创建.deb包。

在我的例子中,所有依赖项都存在于 Ubuntu 系统中,因此我只需在Depends: ...包的字段中输入它们的名称即可。这可以在debian/control文件中找到。在我的例子中,我有两个包,一个用于非 GUI,一个用于 GUI。GUI 具有以下Depends字段:

Depends: vim-gtk3, alex-tools, ${shlibs:Depends}, ${misc:Depends}

这会强制安装基础包 ( alex-tools),并且我还安装了vim-gtk3软件。默认情况下,gvim不会安装,这样我就有了它免费

但是,正如 Thomas Ward 提到的,如果您需要执行诸如将 URL 安装到不同的存储库之类的操作,则脚本将无法正常工作.postinst。这是因为在您安装 Debian 软件包时,Debian 环境已被锁定。因此,您的软件包可以安装客户端必须运行的脚本。也许这是他们每次必须运行的命令的名称,并且当您第一次检测到尚未 100% 安装时,您会在那时运行该附加安装。

如果您要处理许多非免费软件包,那么无论哪种方式都不太实用。话虽如此,如果您有一些法律帮助,您可能能够在一个地方获得一个包含所有必要文件的软件包(即提取 .NET 文件并将它们安装在您的存储库中,当您创建软件包时,您就可以随意使用它们……从法律上讲,如果没有适当的协议,您可能不允许这样做)。

相关内容