如何使用 apt 在 Azure AMD64 Ubuntu Server 14.04 LTS (Trusty) 上安装 32 位 OpenJDK-7-JRE?

Gif*_*guy 4 server apt java openjdk 14.04

适用于 Azure 的 Ubuntu Server 14.04 LTS 未预装 Java。
服务器架构是AMD64。

我知道您不能同时安装 x64 和 x86 JRE,我只需要 x86 版本(应用程序要求、内存要求等)。

x86 和 x64 版本的 OpenJDK-7-JRE 都可以直接从 Ubuntu 获得:
http : //packages.ubuntu.com/trusty/openjdk-7-jre
http://packages.ubuntu.com/trusty/i386/ openjdk-7-jre/下载

但是,Ubuntu 强烈建议使用包管理器(例如 apt)来安装包,而不是使用 Web 浏览器下载二进制文件并手动复制到目标计算机。

因此,我一直在尝试从命令行安装,但遇到了问题:

MyAdmin@Server01:~$ sudo apt-get install openjdk-7-jre:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package openjdk-7-jre
MyAdmin@Server01:~$
Run Code Online (Sandbox Code Playgroud)

如果省略i386,则安装成功,但是默认情况下我会获得 64 位 JRE - 这不是我需要的。

我已经确认源已经添加到 /etc/apt/sources.list

deb http://security.ubuntu.com/ubuntu trusty-security main
deb-src http://security.ubuntu.com/ubuntu trusty-security main
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
# deb http://security.ubuntu.com/ubuntu trusty-security multiverse
# deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse
Run Code Online (Sandbox Code Playgroud)

在继续apt安装 OpenJDK x86 JRE之前,是否需要安装或更新其他包、库或存储库?

Gif*_*guy 10

事实证明,我需要向系统明确添加对 32 位架构的支持。

openjdk-7-jre:i386 我这样做后安装成功:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install openjdk-7-jre:i386
Run Code Online (Sandbox Code Playgroud)

注意: ia32-libs安装openjdk-7-jre:i386. 无需ia32-libs手动安装,最好安装自动选择的库,以确保您绝对获得正确的版本等。