エラーなしで make-jpkg と fakeroot を使用して Debian Wheezy に Oracle Java をインストールするにはどうすればよいでしょうか?

エラーなしで make-jpkg と fakeroot を使用して Debian Wheezy に Oracle Java をインストールするにはどうすればよいでしょうか?

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.0libgdk-x11-2.0.so.0libatk-1.0.so.0

または、Debian Wheezy 用にパッケージ化されており、 から簡単にインストールできる OpenJDK を使用することもできますapt-get install openjdk-7-jdk

関連情報