从多个 deb 文件创建最终的 deb 文件

从多个 deb 文件创建最终的 deb 文件

我有一个包含所有依赖项 deb 文件的软件包 deb 文件。

是否可以使用全部内容创建最终的 deb 文件(一个文件)。例如,firefox.deb在另一个文件中有 10 个依赖项.deb。因此,有一个命令是先安装所有依赖项,然后再安装firefox.deb。我可以创建一个fullFirefox.deb自动维护所有内容的文件吗?我没有源代码,只有 deb 文件。

答案1

有可能,但您可能会遇到几个问题。首先,每个包在控制文件中都有自己的安装前和安装后脚本和依赖项。即使您使用该字段使包提供所包含的包Provides,将来的升级也可能会破坏您的 God 包:

  1. 你安装了 God 包,它提供了很多包
  2. 其中一个软件包正在更新,例如libpango1.0-0
  3. 如果你升级该软件包,你的 God 软件包将被删除。如果该软件包有任何依赖项,apt-get 就会产生无法解决的冲突。

因此,最好不要创建 God 包,而是单独安装每个包。如果您需要离线安装软件,请参阅如何在没有互联网(离线)的情况下安装软件或软件包?

如何创建God包(不推荐):

  1. 创建一个临时目录,例如“~/godpackage”并cd进入其中
  2. 使用以下方法提取每个 .deb 文件dpkg -x filename.deb .
  3. 使用 提取控制文件、postrm 文件……。dpkg --control filename.deb tmpdeb将创建一个名为 的新目录tmpdeb。调整控制文件(例如更改名称)以避免以后发生冲突。完成后,将 tmpdeb 目录与 DEBIAN 目录(如果需要,请创建)移动/合并。对每个 deb 文件重复此操作
  4. 离开目录:cd ..
  5. 创建新的 debfile,~/godpackage并将新创建的 .deb 文件存储在当前目录中:dpkg-deb --build ~/godpackage .

相关内容