我想在 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 安装。