Apt

如何讓 apt 辨識已安裝的 tar 包?

  • May 1, 2017

我已經安裝了 Oracle Java。我希望能夠刪除 OpenJDK,但是在嘗試這樣做時apt想要安裝另一個版本的 Java。

我該如何配置apt,讓它知道我已經安裝了第三方 Java,以便我可以刪除這些 OpenJDK 包?

使用equivs創建一個虛擬包。簡而言之:

  1. 為虛擬包創建一個控製文件。該程序equiv-controls創建一個模板。給它一個文件名。
equivs-control oracle-jre.control
  1. 編輯控製文件。至少將該Package:行設置為sun-java6-jre(已失效的 Sun/Oracle Java 包的名稱)。你還應該寫一個有意義的Description:,設置為java. 聲明包Provides: java-6-runtime和其他版本(這是其他程序所依賴的虛擬包,可以通過查看openjdk-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
  1. 使用您創建的控製文件創建一個 Debian 軟體包。該軟體包僅用於依賴項並且不安裝任何文件。
equivs-build oracle-jre.control
  1. 安裝生成的 deb 包。
sudo dpkg -i sun-6-jre_1.0_all.deb

引用自:https://unix.stackexchange.com/questions/85928