インストールされたtarパッケージを適切に認識する方法は?

インストールされたtarパッケージを適切に認識する方法は?

Oracle Javaをインストールしました。 OpenJDKを削除したいのですが、そうしようとするときにapt別のバージョンのJavaをインストールしたいと思います。

aptこれらのOpenJDKパッケージを削除できるようにサードパーティのJavaがインストールされていることを知るように設定するにはどうすればよいですか?

答え1

ダミーパッケージの作成使用同等。簡単に言うと:

  1. 仮想パッケージの制御ファイルを作成します。プログラムはequiv-controlsテンプレートを生成します。ファイル名を指定してください。

    equivs-control oracle-jre.control
    
  2. 制御ファイルを編集します。少なくともこの行を(未使用のSun / Oracle Javaパッケージの名前)Package:に設定してください。また、意味のある設定セクションをsun-java6-jre作成する必要があります。パッケージと他のバージョンを宣言します(他のプログラムが依存する仮想パッケージで提供されているものとそのプログラムが必要とするものを確認して見つけることができます)。ファイルは次のようになります。Description:javaProvides: java-6-runtimeopenjdk-6-jre

    Section: java
    Priority: optional
    Standards-version: 3.9.2
    Package: sun-6-jre
    Provides: java6-runtime, java-runtime
    Description: dummy package when Oracle Java is installed
    
  3. 作成した制御ファイルを使用してDebianパッケージを作成します。このパッケージは依存関係のみであり、ファイルはインストールされません。

    equivs-build oracle-jre.control
    
  4. 生成されたdebパッケージをインストールします。

    sudo dpkg -i sun-6-jre_1.0_all.deb
    

答え2

私はこれを行う方法がないと思います。代わりに、.debJavaパッケージを提供するPPAリポジトリを使用できます。このスクリプト一度試してみると、Javaインストール用の.debパッケージが作成されます。

このスクリプトはOAB-Java、具体的にoab-java.sh

はい

スクリプトのダウンロード:

cd ~/
wget https://github.com/flexiondotorg/oab-java6/raw/0.2.8/oab-java.sh -O oab-java.sh
chmod +x oab-java.sh
sudo ./oab-java.sh

スクリプトは次のスイッチを使用します。

  • -7:sun-java6の代わりにoracle-java7パッケージをビルドします。
  • -c:既存のパッケージ/var/local/oab/debとソースを削除します/var/local/oab/src
  • -k:キーを生成する代わりに、指定された既存のキーを使用します。
  • -s:パッケージがすでに存在する場合は、ビルドをスキップします。
  • -t: アップストリーム Debian パッケージングスクリプトで使用する Java バージョンタグを指定します。
  • -h:役に立つ

Oracle 6ファイルを準備してインストールするには、次のようにします.deb

$ sudo ./oab-java.sh
$ sudo apt-get install sun-java6-jre

Oracle 7ファイルを準備してインストールするには、次のようにします.deb

$ sudo ./oab-java.sh -7
$ sudo apt-get install oracle-java7-jre

答え3

@Gillesが提供した上記の答えはしばらく私にとって非常に効果的でした。ただし、Java 8 および最新バージョンの Ubuntu では動作しません。以下はoracle-jre.control現在私が使用しているファイルです。

Section: java
Priority: optional
Standards-version: 3.9.2
Package: sun-8-jre
Provides: default-jre, openjdk-8-jre, openjfx
Description: Dummy package when Oracle Java is installed

答え4

apt-markを使用してパッケージを保存できます。

キャッチ:

sudo apt-mark hold package_name

保留をキャンセルするには:

sudo apt-mark unhold package_name

これにより、適切に触れるのを防ぐことができます。

関連情報