0

私は気が狂っていて、明らかな何かを見逃しているに違いありませんが、これをまったく理解できないので、どんな助けも大歓迎です。

新しい Ubuntu 12.10 マシンに Java 6 をインストールしています。そうです:

sudo aptitude install openjdk-6-jdk

おそらくすべてをインストールします。しかし、何らかの理由で、実質的に jre がまったく付属していません。

richard@holly:/usr/lib/jvm/java-6-openjdk-amd64/jre/bin$ ls -atl
total 48
drwxr-xr-x 2 root root  4096 Dec 12 11:54 .
drwxr-xr-x 5 root root  4096 Dec 12 11:54 ..
-rwxr-xr-x 1 root root 39600 Oct 24 18:54 policytool

openjdk-6-jre をインストールしようとしましたが、すでにインストールされていると表示されます。

完全に困惑しています。私は何が欠けていますか?

乾杯、

リチャード

4

2 に答える 2

2

dpkg-query を使用して、パッケージに含まれるファイルを確認できます。

dpkg-query -L openjdk-6-jdk

... Java 実行可能ファイルの場所が /usr/lib/jvm/java-6-openjdk-$ARCH/bin として表示されます ($ARCH はアーキテクチャです)。

于 2012-12-12T13:49:29.133 に答える
2

openjdk-6-jre をインストールすると、その依存関係である openjdk-6-jre-headless も含まれているはずです。これは、Java バイナリを含むパッケージです。

/usr/lib/jvm/java-6-openjdk-amd64/jre/bin ディレクトリの内容は、パッケージによって直接読み込まれます。ファイルが見つからない場合は、システムに重大な問題があります。

dpkg -l次のコマンドを使用して、両方のパッケージがインストールされていることを確認する必要があります。

dpkg -l openjdk-6-jre openjdk-6-jre-headless
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                     Version                  Description
+++-========================-========================-================================================================
ii  openjdk-6-jre            6b24-1.11.5-0ubuntu1~12. OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-6-jre-headless   6b24-1.11.5-0ubuntu1~12. OpenJDK Java runtime, using Hotspot JIT (headless)

何らかの理由で openjdk-6-jre-headless がインストールされていない場合は、インストールしてください。

/usr/bin には、openjdk-6-jre および openjdk-6-jre-headless postinst (インストール後) スクリプトによって作成された Java およびその他の実行可能ファイルへのリンクが含まれているはずです。postinst スクリプトを調べたい場合は、/var/lib/dpkg/info に .postinst としてあるスクリプトとその他のパッケージ スクリプトを調べます。

便利なヒントとして、これに似たコマンドは、非リンク ターミネータへのシンボリック リンクのチェーンを一覧表示します。

f=/usr/bin/java; while [ -h $f ]; do ls -l $f; f=$(readlink $f); done; ls -l $f
于 2013-01-17T14:02:14.500 に答える