如何判断某个软件包是否存在于 apt 存储库中?

如何判断某个软件包是否存在于 apt 存储库中?

我特别想确定 32 位版本的 OpenJDK8存在于apt/Ubuntu 存储库中。

根据这个答案,您可以通过以下方式安装 32 位版本的 Open JDK 7 软件包:

sudo apt-get install openjdk-7-jre:i386

我怎样才能做相当于ls -al查看 OpenJDK 8 有哪些软件包,特别是 32 位软件包?

答案1

首先,软件包(和不同版本)的可用性高度依赖于您拥有的版本。

我们可以做

apt-cache search --names-only '^openjdk-8-.*'

查找以 开头的包名openjdk-8。你应该sudo apt-get update先运行。

例如在我的 14.04 中:

$ apt-cache search --names-only '^openjdk-8-.*'
openjdk-8-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-8-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-8-doc - OpenJDK Development Kit (JDK) documentation
openjdk-8-jdk - OpenJDK Development Kit (JDK)
openjdk-8-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-8-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-8-jre-jamvm - Alternative JVM for OpenJDK, using JamVM
openjdk-8-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark
openjdk-8-source - OpenJDK Development Kit (JDK) source files

现在对于 32 位软件包,您需要multiarch先启用支持,然后可以apt-cache policy在单个软件包上使用它来检查它们的可用性:

$ apt-cache policy openjdk-8-jre:i386
openjdk-8-jre:i386:
  Installed: (none)
  Candidate: 8u45-b14-1
  Version table:
     8u45-b14-1 0
        500 http://archive.ubuntu.com/ubuntu/ vivid/universe i386 Packages

答案2

apt-cache search OpenJDK  

而且当然:

man apt-cache

在我的 Ubuntu 版本存储库中(14.04.3 LTS),答案是否定的。YMMV

相关内容