忽略 Java 包的 APT 依赖项

忽略 Java 包的 APT 依赖项

我想在 Ubuntu 上使用一些打包为 .debs 并将 java-common 及其相关文件作为依赖项的 Java 应用程序。

但是,我不想使用 Ubuntu 或 Debian 附带的 JVM;我想使用 Sun/Oracle,并且已经在系统的其他位置下载并安装了原始 tarball。

问题是,如果我强制安装这些没有依赖项的包,即dpkg --force-all -i,它会破坏我的 APT 包存储库,以至于任何新的包安装都会提示我解决这些依赖项(即apt-get -f install)。

有什么方法可以告诉 APT 永久忽略给定包的依赖关系?

答案1

您可以使用这些equivs包:它将允许您构建一个与您不想安装的包同名的包:

equivs-control java-comon.control

将创建一个具有给定名称的文件(java-comon.control),您必须根据自己的喜好进行编辑(至少,将名称字段设置为您想要替换的包的名称,您可能需要将版本设置为您想要替换的包的版本)

然后运行

equivs-build java-comon.control

创建可以安装的 Debian 软件包,让 apt 正常运行

请注意,这可能会混淆依赖性解决程序,并且如果您使用它来替换一些重要的包,可能会破坏您的 Debian 安装。

相关内容