如何让 apt 识别已安装的 tar 包?

5 java apt

我已经安装了 Oracle Java。我希望能够删除 OpenJDK,但在尝试这样做时apt想要安装另一个版本的 Java。

我如何配置才能apt知道我已经安装了第三方 Java,以便我可以删除这些 OpenJDK 软件包?

Gil*_*il' 4

使用equals创建一个虚拟包。简而言之:

  1. 为虚拟包创建控制文件。该程序equiv-controls创建一个模板。给它一个文件名。

    equivs-control oracle-jre.control
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编辑控制文件。至少将该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
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用您创建的控制文件创建 Debian 软件包。该软件包仅用于依赖项,不安装任何文件。

    equivs-build oracle-jre.control
    
    Run Code Online (Sandbox Code Playgroud)
  4. 安装生成的 deb 包。

    sudo dpkg -i sun-6-jre_1.0_all.deb
    
    Run Code Online (Sandbox Code Playgroud)