web-dev-qa-db-ja.com

特定のパッケージがaptリポジトリに存在するかどうかを確認する方法は?

OpenJDKの32ビットバージョン8apt/Ubuntuリポジトリに存在するかどうかを判断することに特に興味があります。

この回答 によると、32ビットバージョンのOpen JDK 7パッケージは次の方法でインストールできます。

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

ls -alに相当するものを実行して、OpenJDK 8、具体的には32ビットのパッケージに存在するパッケージを確認するにはどうすればよいですか?

6
smeeb

まず、パッケージ(および異なるバージョン)の可用性は、使用しているリリースに大きく依存します。

できること

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
6
heemayl
apt-cache search OpenJDK  

そしてもちろん:

man apt-cache

そして、私のバージョンのUbuntu(14.04.3 LTS)のリポジトリでは、答えはNoです。YMMV

2
waltinator