我有一个需求,我需要将*.deb
安装库所需的所有文件libmotif-dev
与软件包捆绑在一起。这是因为,安装软件的目标计算机可能没有互联网连接,无法运行apt-get
安装libmotif-dev
。因此,安装程序首先libmotif-dev
通过使用安装 deb 文件来安装“” dpkg
。然后安装软件。
现在的问题是,如果目标 Ubuntu 计算机在安装我的软件之前进行更新,那么这可能会导致一些潜在的依赖性错误。
Setting up libmpx2:amd64 (8-20180414-1ubuntu2) ...
dpkg: dependency problems prevent configuration of libpng-dev:amd64:
libpng-dev:amd64 depends on libpng16-16 (= 1.6.34-1); however:
Version of libpng16-16:amd64 on system is 1.6.34-1ubuntu0.18.04.1.
dpkg: error processing package libpng-dev:amd64 (--install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libpng-tools:
libpng-tools depends on libpng16-16 (= 1.6.34-1); however:
Version of libpng16-16:amd64 on system is 1.6.34-1ubuntu0.18.04.1.
dpkg: error processing package libpng-tools (--install):
dependency problems - leaving unconfigured
在上述情况下,libpng-dev
正在寻找libpng16-16
版本 1.6.34-1,但由于 Ubuntu 已经更新,现在的libpng16-16
版本是 1.6.34-1ubuntu0.18.04.1。我们该如何解决这类问题?
libpng16-11.6.34-1ubuntu0.18.04.1
我考虑过清除文件然后安装 1.6.34-1 版本的可能性。
但问题是我的安装包里没有 1.6.34-1 版本。电脑可能也没有网络连接,所以旧版本甚至无法使用 安装apt-get
。
请告知如何解决此类依赖性问题。如能提供任何帮助,我们将不胜感激。
答案1
经过大量研究,我最终决定使用 Cubic 创建一个自定义 Ubuntu ISO,并在 ISO 上预先安装所需的所有库。
这样,用户只需安装新的 ISO 即可,所有库和软件都已预先安装。这不会带来任何依赖性问题。