
make-jpkg と fakeroot を使用して Debian Wheezy に Oracle Java をインストールするにはどうすればいいですか?
Debian wheezy に Oracle Java をインストールするためのマニュアルは非常に明確でわかりやすいです。
http://wiki.debian.org/JavaPackage https://blogs.oracle.com/marigan/entry/installation_of_the_jdk_on より http://www.debian-administration.org/articles/142
- Oracleからjdk-7u21-linux-x64.tar.gzをダウンロードします。
- Javaパッケージをインストールする
- jdk-7u21-linux-x64.tar.gz で make-jpkg を実行します。
ルートとして実行:
make-jpkg jdk-7u21-linux-x64.tar.gz
fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz
次のエラーが発生します。
あなたは本当の root です。残念ながら、一部の Java ディストリビューションには /etc を直接操作するインストール スクリプトがあり、システムに不整合が生じる可能性があります。代わりに、非 root ユーザーになって次のコマンドを実行してください。
偽ルート make-jpkg jdk-7u21-linux-x64.tar.gz
これにより、システム ファイルに損傷を与えることなく、Java ディストリビューションを正常に抽出できるようになります。
中止します。
通常のユーザーとして実行:
make-jpkg jdk-7u21-linux-x64.tar.gz
fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz
警告とエラーの両方が表示されます。
いくつかのエラー:
dpkg-shlibdeps: warning: Can't extract name and version from library name `libverify.so'
error: couldn't find library libxslt.so.1 needed by /tmp/make-jpkg.MxvYKHyE3L/install/usr/lib/jvm/j2sdk1.7-oracle/jre/lib/amd64/libjfxwebkit.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-gencontrol: warning: Depends field of package oracle-j2sdk1.7: unknown substitution variable ${shlibs:Depends}
dpkg-shlibdeps: error: cannot continue due to the errors listed above
完全な出力: fakerootなし http://pastie.org/private/r2llqa2pubqzh8krhbymw
フェイクルート付き http://pastie.org/private/kigrgcsam9pvdazbex1fa
インストールは正常に動作します:
dpkg -i oracle-j2sdk1.7_1.7.0+update21_amd64.deb
Javaバージョン:
java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
このエラーは無視しても安全でしょうか?
答え1
まず、dpkg-shlibdeps によって発行される警告は無視できます。エラーは、JDK のすべてのライブラリ依存関係を満たすためにインストールする必要があるパッケージを示唆するはずです。
これが起こる理由は、バイナリ ディストリビューション、つまりコンパイル済みの JDK から deb パッケージをビルドしているためです。通常、Debian パッケージはバイナリではなくソースからビルドされます。そのためには、パッケージをビルドする人が、ソースが依存するすべてのライブラリを特定のファイル ( debian/control
) に追加します。これらのライブラリがインストールされていないと、ソースをコンパイルできず、パッケージにはなりません。
この場合、JDK 全体は Oracle によってすでにコンパイルされており、make-jpkg
ソースからパッケージをビルドするプロセスを模倣するだけです。したがって、必要なライブラリをすべて事前にインストールする必要はありません。
エラーを黙らせるには、 を使用して、不足しているファイル ( 、、、...) がapt-file
含まれているパッケージを特定し、それらをすべてインストールします。libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libatk-1.0.so.0
または、Debian Wheezy 用にパッケージ化されており、 から簡単にインストールできる OpenJDK を使用することもできますapt-get install openjdk-7-jdk
。