Skip to content

Instantly share code, notes, and snippets.

@imtiazShakil
Last active June 30, 2024 09:06
Show Gist options
  • Save imtiazShakil/d9b8eea375d60e955a39f4d432f398fa to your computer and use it in GitHub Desktop.
Save imtiazShakil/d9b8eea375d60e955a39f4d432f398fa to your computer and use it in GitHub Desktop.
Installing Java on a fresh linux server

Installing jdk 21 by eclipse-temurin

sudo apt-get install -y wget apt-transport-https gpg
sudo wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
# For Linux Mint (based on Ubuntu) you have to replace VERSION_CODENAME with UBUNTU_CODENAME. 
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^UBUNTU_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list



sudo apt-get update
sudo apt-get install temurin-21-jdk

Output:

update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jar to provide /usr/bin/jar (jar) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jarsigner to provide /usr/bin/jarsigner (jarsigner) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/javac to provide /usr/bin/javac (javac) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/javadoc to provide /usr/bin/javadoc (javadoc) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/javap to provide /usr/bin/javap (javap) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jcmd to provide /usr/bin/jcmd (jcmd) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jdb to provide /usr/bin/jdb (jdb) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jdeprscan to provide /usr/bin/jdeprscan (jdeprscan) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jdeps to provide /usr/bin/jdeps (jdeps) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jfr to provide /usr/bin/jfr (jfr) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jhsdb to provide /usr/bin/jhsdb (jhsdb) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jimage to provide /usr/bin/jimage (jimage) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jinfo to provide /usr/bin/jinfo (jinfo) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jlink to provide /usr/bin/jlink (jlink) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jmap to provide /usr/bin/jmap (jmap) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jmod to provide /usr/bin/jmod (jmod) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jps to provide /usr/bin/jps (jps) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jrunscript to provide /usr/bin/jrunscript (jrunscript) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jshell to provide /usr/bin/jshell (jshell) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jstack to provide /usr/bin/jstack (jstack) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jstat to provide /usr/bin/jstat (jstat) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jstatd to provide /usr/bin/jstatd (jstatd) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/jwebserver to provide /usr/bin/jwebserver (jwebserver) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/bin/serialver to provide /usr/bin/serialver (serialver) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode
update-alternatives: using /usr/lib/jvm/temurin-21-jdk-amd64/lib/jspawnhelper to provide /usr/bin/jspawnhelper (jspawnhelper) in auto mode

Installing jdk 11

mkdir -p /usr/lib/jvm 
cd /usr/lib/jvm
sudo wget https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.tar.gz
sudo tar -xzf amazon-corretto-11-x64-linux-jdk.tar.gz
sudo rm -f amazon-corretto-11-x64-linux-jdk.tar.gz
sudo ln -s $(ls | grep amazon) default-java

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/default-java/bin/java 1112
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/default-java/bin/javac 1112
sudo update-alternatives --install /usr/bin/keytool keytool /usr/lib/jvm/default-java/bin/keytool 1112
sudo update-alternatives --install /usr/bin/jexec jexec /usr/lib/jvm/default-java/lib/jexec 1112
sudo update-alternatives --install /usr/bin/jfr jfr /usr/lib/jvm/default-java/bin/jfr 1112
sudo update-alternatives --install /usr/bin/jjs jjs /usr/lib/jvm/default-java/bin/jjs 1112
sudo update-alternatives --install /usr/bin/jshell jshell /usr/lib/jvm/default-java/bin/jshell 1112

Check which java is installed

update-alternatives --display java
java --version
javac -version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment