Get a download link from the GraalVM CE Release Site.
Run the graalvm-install.bash
script as sudo/root and pass the download link as a parameter.
After the script has run, use update-java-alternatives
to select the JDK.
Get a download link from the GraalVM CE Release Site.
Run the graalvm-install.bash
script as sudo/root and pass the download link as a parameter.
After the script has run, use update-java-alternatives
to select the JDK.
name=graalvm-ce-java | |
priority=1119 | |
section=main | |
hl rmid /usr/lib/jvm/graalvm-ce-java/bin/rmid | |
hl java /usr/lib/jvm/graalvm-ce-java/bin/java | |
hl keytool /usr/lib/jvm/graalvm-ce-java/bin/keytool | |
hl jjs /usr/lib/jvm/graalvm-ce-java/bin/jjs | |
hl pack200 /usr/lib/jvm/graalvm-ce-java/bin/pack200 | |
hl rmiregistry /usr/lib/jvm/graalvm-ce-java/bin/rmiregistry | |
hl unpack200 /usr/lib/jvm/graalvm-ce-java/bin/unpack200 | |
jdkhl jar /usr/lib/jvm/graalvm-ce-java/bin/jar | |
jdkhl jarsigner /usr/lib/jvm/graalvm-ce-java/bin/jarsigner | |
jdkhl javac /usr/lib/jvm/graalvm-ce-java/bin/javac | |
jdkhl javadoc /usr/lib/jvm/graalvm-ce-java/bin/javadoc | |
jdkhl javap /usr/lib/jvm/graalvm-ce-java/bin/javap | |
jdkhl jcmd /usr/lib/jvm/graalvm-ce-java/bin/jcmd | |
jdkhl jdb /usr/lib/jvm/graalvm-ce-java/bin/jdb | |
jdkhl jdeprscan /usr/lib/jvm/graalvm-ce-java/bin/jdeprscan | |
jdkhl jdeps /usr/lib/jvm/graalvm-ce-java/bin/jdeps | |
jdkhl jimage /usr/lib/jvm/graalvm-ce-java/bin/jimage | |
jdkhl jinfo /usr/lib/jvm/graalvm-ce-java/bin/jinfo | |
jdkhl jlink /usr/lib/jvm/graalvm-ce-java/bin/jlink | |
jdkhl jmap /usr/lib/jvm/graalvm-ce-java/bin/jmap | |
jdkhl jmod /usr/lib/jvm/graalvm-ce-java/bin/jmod | |
jdkhl jps /usr/lib/jvm/graalvm-ce-java/bin/jps | |
jdkhl jrunscript /usr/lib/jvm/graalvm-ce-java/bin/jrunscript | |
jdkhl jshell /usr/lib/jvm/graalvm-ce-java/bin/jshell | |
jdkhl jstack /usr/lib/jvm/graalvm-ce-java/bin/jstack | |
jdkhl jstat /usr/lib/jvm/graalvm-ce-java/bin/jstat | |
jdkhl jstatd /usr/lib/jvm/graalvm-ce-java/bin/jstatd | |
jdkhl rmic /usr/lib/jvm/graalvm-ce-java/bin/rmic | |
jdkhl serialver /usr/lib/jvm/graalvm-ce-java/bin/serialver | |
jdkhl jhsdb /usr/lib/jvm/graalvm-ce-java/bin/jhsdb | |
jdk jconsole /usr/lib/jvm/graalvm-ce-java/bin/jconsole | |
jdk jfr /usr/lib/jvm/graalvm-ce-java/bin/jfr | |
jdk jvisualvm /usr/lib/jvm/graalvm-ce-java/bin/jvisualvm |
#!/bin/bash | |
# Purpose: Install GraalVM CE on Linux | |
# Author: Florian Hotze | |
# License: MIT | |
if [ "${EUID:-$(id -u)}" -ne 0 ]; then echo "Please run as root or with sudo!" && exit; fi | |
DOWNLOAD_LINK=$1 # Example: https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.0/graalvm-ce-java11-linux-amd64-22.> | |
GRAALVM_ARCHIVE="$(pwd)/$(basename "${DOWNLOAD_LINK}")" | |
echo "Downloading GraalVM..." | |
wget "${DOWNLOAD_LINK}" 2>&1 | grep ERROR | |
echo "Extracting GraalVM..." | |
GRAALVM_EXTRACTED=$(tar -tf "${GRAALVM_ARCHIVE}" | head -1 | sed -e 's/\/.*//') | |
tar -xzf "${GRAALVM_ARCHIVE}" | |
echo "Moving GraalVM to /usr/lib/jvm..." | |
mv "$(pwd)/${GRAALVM_EXTRACTED}" /usr/lib/jvm/ | |
echo "Adding GraalVM to alternatives..." | |
GRAALVM_PATH="/usr/lib/jvm/${GRAALVM_EXTRACTED}" | |
add_alternative () { | |
update-alternatives --install "/usr/bin/${1}" "${1}" "${GRAALVM_PATH}/bin/${1}" 1119 | |
} | |
# Add alternatives for stuff provided by the OpenJDK | |
for val in java jjs keytool pack200 rmid rmiregistry unpack200; do | |
add_alternative "${val}" | |
done | |
# Add alternatives for some GraalVM stuff | |
for val in gu javac jconsole javadoc jshell; do | |
add_alternative "${val}" | |
done | |
echo "Installing config file for update-java-alternatives..." | |
wget -P /usr/lib/jvm/ https://gist.githubusercontent.com/florian-h05/bc5367263733db2c73e843fcd4033631/raw/cedd042455ac1c5077994dada2617b19d962c95d/graalvm-ce-java.jinfo 2>&1 | grep ERROR | |
sed -i 's/graalvm-ce-java/'"${GRAALVM_EXTRACTED}"'/g' /usr/lib/jvm/graalvm-ce-java.jinfo | |
mv /usr/lib/jvm/graalvm-ce-java.jinfo "/usr/lib/jvm/.${GRAALVM_EXTRACTED}.jinfo" | |
echo "Installing VisualVM..." | |
gu install visualvm > /dev/null | |
add_alternatives jvisualvm | |
echo "Use 'update-java-alternatives' (Debian) or 'alternatives --config java' (Fedora) to change the JDK" |