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

sha*_*anu 7 debian

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

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

Lek*_*eyn 7

可能的,但您可能会遇到几个问题。首先,每个包在控制文件中都有自己的安装前和安装后脚本和依赖项。即使你使用Provides字段制作一个包提供包含的包,未来的升级可能会毁掉你的上帝包:

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

所以,最好不要创建一个上帝包,而是单独安装每个包。如果您需要离线安装软件,请参阅如何在没有 Internet 的情况下安装软件或软件包(离线)?

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

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