適性がOracle Javaを有効なJava依存関係として認識させる方法

適性がOracle Javaを有効なJava依存関係として認識させる方法

DebianにOracle Java 7があります。

aptitudeを使ってTomcatサーバーをインストールしたいのですが、icedteaと不要なJava関連パッケージのインストールを続けたいと思います。適性は私がすでにJavaを持っていることがわかりますか?

注:make-jpkgコマンドを使用してアーカイブからJavaをインストールしました。

答え1

編集:より簡単なアプローチは一番上ですが、controlファイルに対する完全な元の答えはまだ関連しているので、水平ルールの下に保ちます。

make-jpkgOracle Java .debファイルをすでに作成している場合は、次のことができます。解凍し、ファイルを修正し、以下のようにディレクティブをcontrol追加し、再パッケージして修正されたdebをインストールします。provides


元の答え:

を使用すると、デフォルトequivsでdpkgが何かがすでにインストールされていると思うようにするダミーパッケージを作成できます。

「equivs」を使って始める方法の良い例を書きました。ここ

正式には、まずequivs-control <:pkgname>現在のディレクトリにファイルを作成する必要があります。pkgname内部にはさまざまなフィールドがありますが、8つだけ必要で、残りは簡単に削除するだけです。最終的に完成すべき仮想パッケージのおおよその内容は次のとおりですpkgname

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: pkgname
Version: 1:42
Maintainer: Your Name <[email protected]>
Architecture: all
Description: fake pkgname to block a dumb dependency

Oracle Javaに対してこれを行い、openjdk(私が使用しているsidの依存関係であるように見える)の代替として機能させるには、dpkg構成でその項目を設定する必要があるとicedtea-netx思います。provides:したがって、制御ファイルは次のようになります。

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: oracle-java
Version: 7u181-2.6.14-1
Maintainer: Joe Bob <[email protected]>
Architecture: all
Description: dummy Java package to let the system know Oracle JDK is OK to use
Provides: openjdk-7-jdk, openjdk-7-jre, openjdk-7-jre-headless

最後の行の追加に注意してください。 Markdownでカラーテキストを作成できる場合は、強調するために赤でカラーを指定します。

次に、上記のリンクされたブログ投稿によると:

これを完了した後にやるべきことは、コマンドを実行することだけですequivs-build path-to-pkgname(可能な限り同じディレクトリで)。これで使用可能な偽のデブが準備されますdpkg -i

このprovidesディレクティブの詳細については、次を参照してください。 https://www.debian.org/doc/debian-policy/ch-relationships.html#virtual-packages-provides

どのバージョンのDebianを使用しているのかわからないので、OpenJDK 7、8、または他のバージョンがIcedteaに依存しているかどうかはわかりません。 OracleのJDKにはWebプラグインがないため、少なくともIcedTeaをインストールする必要があります。しかし、あなたが望み、それが何も台無しにしないと確信しているなら、アイスティを「提案」として追加することもできます。パッケージ名は(私の意見ではDebianのバージョンによって異なります)ですicedtea-7-plugin

関連情報