![如何使用较新的软件包来满足较旧的依赖关系?](https://linux22.com/image/1019749/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E8%BE%83%E6%96%B0%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E6%9D%A5%E6%BB%A1%E8%B6%B3%E8%BE%83%E6%97%A7%E7%9A%84%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%EF%BC%9F.png)
我想使用 Bombono 制作一些 DVD,但与 16.04 和 18.04 不同,20.04 在存储库中没有此软件包。因此,我从 18.04 存储库下载了相关软件包并尝试安装它们。常规的非强制安装尝试将由于未满足依赖关系而被拒绝,即使每个缺失的依赖关系在 20.04 中都以较新的形式存在。使用会dpkg -i --force-install
中断 apt,直到我删除 Bombono。我如何知道dpkg
或apt
使用这些新软件包来满足较旧的依赖关系?
答案1
这个答案会让人失望。.deb
安装包会为每个特定的发行版重新创建,以匹配当前版本上可用的依赖项。特定.deb
文件旨在连接到特定的依赖项。因此,根据设计,您不能让较旧的.deb
依赖项使用较新的依赖项。
即使您解压.deb
并重新打包它,应用程序的二进制代码也可能无法与依赖项的当前版本一起使用,并且您无法更改/编辑这些二进制文件。
对于不再受支持且无法在新版本上运行的旧软件,您可能别无选择,只能尝试在当前系统上重新编译代码。这可能还需要调整程序代码。