安装特定版本的 OPENJDK

Jor*_*pos 5 package-management apt jdk openjdk 12.04

我想知道是否以及如何在 Ubuntu 服务器上安装 OpenJDK 的特定版本(版本和更新版本)?

我知道如何按照OpenJDK 站点上的文档使用以下命令正常安装它(是的,我需要它是 jdk):

sudo apt-get install openjdk-7-jdk
Run Code Online (Sandbox Code Playgroud)

问题是我正在创建一个用作测试服务器的服务器,而生产服务器使用 OpenJDK 版本 7 更新 55。我被要求安装完全相同的版本。这就是我被困的地方。我已经尝试过使用 apt-get 命令,例如:

sudo apt-get install openjdk-7-jdk=7u55-2.6.6-0ubuntu0.12.04.1

sudo apt-get install openjdk-7-jdk=7u55-2.4.7-1ubuntu0.12.04.2    

sudo apt-get install openjdk-7-jdk=7u55

sudo apt-get install openjdk-1.7.0.55-jdk
Run Code Online (Sandbox Code Playgroud)

当然,这些命令都不起作用。对于所有然后我得到E: Version '[given_version]' for 'openjdk-7-jdk' was not found

在生产服务器上运行命令apt-cache policy openjdk-7-jdk我得到这个输出:

openjdk-7-jdk:
  Installed: 7u55-2.4.7-1ubuntu1~0.12.04.2
  Candidate: 7u101-2.6.6-0ubuntu0.12.04.1
  Version table:
     7u101-2.6.6-0ubuntu0.12.04.1 0
        500 http://ftp.daum.net/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 7u55-2.4.7-1ubuntu1~0.12.04.2 0
        100 /var/lib/dpkg/status
     7~u3-2.1.1~pre1-1ubuntu2 0
        500 http://ftp.daum.net/ubuntu/ precise/universe amd64 Packages
Run Code Online (Sandbox Code Playgroud)

我的 Ubuntu 服务器版本是:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.3 LTS"
NAME="Ubuntu"
VERSION="12.04.3 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.3 LTS)"
VERSION_ID="12.04"
Run Code Online (Sandbox Code Playgroud)

我什至在网上找到了我需要软件包,但我不知道如何安装它。

Jor*_*pos 1

我能够解决它。首先,我必须下载我提到的Ubuntu Secure Proposed 团队链接上的所有软件包

我使用以下命令完成了此操作:

sudo wget https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/5935007/+files/openjdk-7-jre_7u55-2.4.7-1ubuntu1~0.12.04.2_amd64.deb
sudo wget https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/5935007/+files/openjdk-7-jre-zero_7u55-2.4.7-1ubuntu1~0.12.04.2_amd64.deb
sudo wget https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/5935007/+files/openjdk-7-jre-headless_7u55-2.4.7-1ubuntu1~0.12.04.2_amd64.deb
sudo wget https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/5935007/+files/openjdk-7-jdk_7u55-2.4.7-1ubuntu1~0.12.04.2_amd64.deb
Run Code Online (Sandbox Code Playgroud)

然后我尝试按此顺序手动安装所有内容:

sudo dpkg -i openjdk-7-jre-zero_7u55-2.4.7-1ubuntu1~0.12.04.2_amd64.deb
sudo dpkg -i openjdk-7-jre-headless_7u55-2.4.7-1ubuntu1~0.12.04.2_amd64.deb
sudo dpkg -i openjdk-7-jre_7u55-2.4.7-1ubuntu1~0.12.04.2_amd64.deb
sudo dpkg -i openjdk-7-jdk_7u55-2.4.7-1ubuntu1~0.12.04.2_amd64.deb
Run Code Online (Sandbox Code Playgroud)

上述所有命令都会导致依赖项错误,我只是忽略所有命令并运行以下命令:

sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)

一切都已安装并且工作正常。似乎该apt-get -f install命令尝试通过自身安装所有需要的依赖项来解决以前的依赖项错误(但不确定,因为我不是专家)。

如果有人认为这不是正确的程序,请告诉我。