Upgrade OpenJDK 11 auf 17

Eine Voraussetzung für den Betrieb des IdP 5.x ist JDK 17. Die Shibboleth-Entwickler weisen darauf hin, dass die Verwendung von Java 17 den Einsatz von IdP 4.2 oder höher erfordert.

Aktive Java-Version prüfen

root@idp:~# java -version

Installierte Java-Versionen anzeigen lassen:

root@idp:~# update-alternatives --list java
 
/usr/lib/jvm/java-11-openjdk-amd64/bin/java # Wird hier nur OpenJDK 11 angezeigt, müssen Sie OpenJDK 17 installieren. 
/usr/lib/jvm/java-17-openjdk-amd64/bin/java # Ist OpenJDK 17 bereits installiert, aber nicht aktiviert, können Sie die Installation überspringen.

installierte IdP-Version prüfen:

root@idp:~# /opt/shibboleth-idp/bin/version.sh

Bei Versionen unter 4.2 führen Sie bitte zuerst ein IdP-Update durch. Upgrades innerhalb der Produktlinie IdP 4.x

Installation mittels:

root@idp:~# apt install openjdk-17-jre-headless

Default-JDK umstellen; OpenJDK 17 aktivieren:

Wenn Sie verschiedene Versionen eines Programms, z.B. Java, installiert haben, verwenden Sie update-alternatives um die bevorzugte Version festzulegen.

root@idp:~# update-alternatives --config java

Die aktuell aktive Version ist markiert. Es folgt ein Dialog zum Wechseln. Wählen Sie openjdk-17 im auto mode.

There is 1 choice for the alternative java (providing /usr/bin/java).
 
  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0          /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      auto mode
  1           /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      manual mode
  *2          /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1611      manual mode

Damit Tomcat 9 auch nach der neuen default-Version sucht:

root@idp:~# vi /usr/libexec/tomcat9/tomcat-locate-java.sh

hier die Version 17 dazu schreiben:

find_jdks()
{
for java_version in 11 10 9 8
do

Tomcat neu starten und in einem zweiten Fenster die Logs mitlaufen lassen:

root@idp:~# systemctl restart tomcat9.service
root@idp:~# tail -f /var/log/tomcat9/catalina.date.log
root@idp:~# tail -f /opt/shibboleth-idp/logs/idp-warn.log
root@idp:~# tail -f /opt/shibboleth-idp/logs/idp-process.log

Falls der Tomcat nicht mehr startet: Troubleshooting.