如何判断特定软件包是否存在于apt仓库中?

我特别想知道在 apt/Ubuntu 软件库中是否存在 OpenJDK 8 的 32 位版本。

根据 this answer,你可以通过以下方式安装 Open JDK 7 的 32 位版本:

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

如何执行类似于ls -al的操作来查看OpenJDK 8存在哪些软件包,特别是32位的软件包?
2个回答

首先,软件包的可用性(以及不同版本)高度取决于您所使用的发行版。
可以进行以下操作:
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

apt-cache search OpenJDK  

当然了:
man apt-cache

在我的Ubuntu版本(14.04.3 LTS)的存储库中,答案是否定的。可能因人而异。