curl -s https://repos.azul.com/azul-repo.key | sudo gpg --dearmor -o /usr/share/keyrings/azul.gpg
echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zing/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/zing.listGet Started with Azul Platform Prime on APT Systems
| Note | Need a different Linux distro? Go back to Azul Platform Prime Downloads. | 
These instructions guide you through the Azul Platform Prime installation for APT-based installation packages. APT packages are available for the following operating systems:
- 
Debian 
- 
Ubuntu 
Installing a Stream Build via Linux Package
Stream Builds are produced once a month, do not receive any security backports, and are free for development and evaluation. By downloading Stream Builds, you agree to the Azul Platform Prime Evaluation Agreement. For more information, see the Azul Platform Prime Roadmap.
- 
Import Azul’s public key: OS Command Debian Ubuntu curl -s https://repos.azul.com/azul-repo.key | sudo gpg --dearmor -o /usr/share/keyrings/azul.gpg echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zing/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/zing.list
| Note | The generated file requires access permissions level 644. You can set this permission using chmod 644 azul.gpg. | 
- 
Update the information about available packages: sudo apt update
- 
Run the following command to install Azul Platform Prime: sudo apt install zing-jdk<version-number>Use the following strings to specify the JDK version number: JDK Version Version string JDK 8 x86 1.8.0 JDK 8 ARM64 8.0.0 JDK 11 11.0.0 JDK 13 13.0.0 JDK 15 15.0.0 JDK 17 17.0.0 JDK 21 21.0.0 
Installing a Downloaded Stable Build
Stable Builds require a license for use, contain only critical fix backports, and are produced on an ongoing basis.
- 
Download the build from the Azul Platform Prime Customer Downloads page. 
- 
Import Azul’s public key: curl -s https://repos.azul.com/azul-repo.key | sudo gpg --dearmor -o /usr/share/keyrings/azul.gpg echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zing/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/zing.list sudo apt update
| Note | The generated file requires access permissions level 644. You can set this permission using chmod 644 azul.gpg. | 
- 
Run the following command: sudo apt install ./<apt-installation-file>The <apt-installation-file> has the following form: zing<zulu_prime_version>-jdk<version>-<architecture>.debFor example: zing22.08.301.0-1-jdk17.0.5.0.101-linux_amd64.deb
Installing a Downloaded Stream Build
Stream Builds are available for development and trial use and include the latest major features. Stream builds are released regularly on a monthly basis.
- 
Download the build from the Azul JDK Downloads page. 
- 
Run the following command: sudo apt install ./<apt-installation-file>The <apt-installation-file> has the following form: zing<zulu_prime_version>-jdk<version>-<architecture>.deb,For example: zing23.01.0.0-3-jdk17.0.6-linux_amd64.deb
Running Azul Platform Prime
Once you performed all installation steps, you can start running your Java applications with Azul Platform Prime as follows:
| Note | Starting from the 24.10 release, the install directory for x86_64 DEB packages changed to /usr/lib/jvm/<ZVM directory name>. For instance:/usr/lib/jvm/zing-jdk11.0.24.0.101-24.10.0.0-4-amd64. | 
- 
Verify the Java version: /opt/zing/zing-<jdk-version>/bin/java -version # Or for 24.10 and newer /usr/lib/jvm/zing-<jdk-version>/bin/java -versionSample output for Java 8: java version "1.8.0-zing_19.07.0.0" Zing Runtime Environment for Java Applications (build 1.8.0-zing_19.07.0.0-b3) Zing 64-Bit Tiered VM (build 1.8.0-zing_19.07.0.0-b4-product-linux-X86_64, mixed mode)
- 
You may want to set the JAVA_HOMEenvironment variable to point to the Azul Platform Prime installation directory:export JAVA_HOME=/opt/zing/zing-<jdk-version> # Or for 24.10 and newer export JAVA_HOME=/usr/lib/jvm/zing-<jdk-version>
Switching Between Zing Installations
When you have multiple versions of Java installed on your system, e.g. 11, 17, and 21, switching between them can be useful for testing and experimentation purposes. You can easily switch between Java versions using update-alternatives, which you can use to update your Java configuration, including JAVA_HOME, quickly.
Example usage and output for java:
 # update-alternatives --config java
There are 6 choices for the alternative java (providing /usr/bin/java).
  Selection    Path                                                          Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/zing-jdk21.0.5.0.101-25.01.0.0-5-amd64/bin/java   11700013  auto mode
* 1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java                    1111      manual mode
  2            /usr/lib/jvm/java-17-amazon-corretto/bin/java                  11700012  manual mode
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java                 1081      manual mode
  4            /usr/lib/jvm/zing-jdk21.0.5.0.101-25.01.0.0-5-amd64/bin/java   11700013  manual mode
  5            /usr/lib/jvm/zre-23-amd64/bin/java                             2233000   manual mode
  6            /usr/lib/jvm/zulu-21-amd64/bin/java                            2213400   manual mode
Press <enter> to keep the current choice[*], or type selection number: 4
update-alternatives: using /usr/lib/jvm/zing-jdk21.0.5.0.101-25.01.0.0-5-amd64/bin/java to provide /usr/bin/java (java) in manual mode
# java -version
openjdk version "21.0.5.0.101" 2025-01-31 LTS
OpenJDK Runtime Environment Zing25.01.0.0+5 (build 21.0.5.0.101+1-LTS)
Zing 64-Bit Tiered VM Zing25.01.0.0+5 (build 21.0.5.0.101-zing_25.01.0.0-b5-release-azlinuxM-X86_64, mixed mode)
Example usage and output for javac:
 # update-alternatives --config javac
There are 3 choices for the alternative javac (providing /usr/bin/javac).
  Selection    Path                                                           Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/zing-jdk21.0.5.0.101-25.01.0.0-5-amd64/bin/javac   11700013  auto mode
* 1            /usr/lib/jvm/java-17-amazon-corretto/bin/javac                  11700012  manual mode
  2            /usr/lib/jvm/zing-jdk21.0.5.0.101-25.01.0.0-5-amd64/bin/javac   11700013  manual mode
  3            /usr/lib/jvm/zulu-21-amd64/bin/javac                            2213400   manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/zing-jdk21.0.5.0.101-25.01.0.0-5-amd64/bin/javac to provide /usr/bin/javac (javac) in manual mode
# javac -version
javac 21.0.5.0.101