macOS: Migration Guide für den Wechsel von AMD64 zu Aarch64/ARM64 auf Apple Silicon
Intrexx Server 12.1.5, betrieben auf Apple Silicon (Aarch64, ARM64)
Wurde ein Intrexx-Portal bis inkl. 12.1.5 auf Apple Silicon betrieben, ist durch den Architekturwechsel von AMD64 zu Aarch64 ein Update nur mit einem .dmg-File möglich, ein Download des Updates aus dem Manager oder per Skript ist nicht vorgesehen. Es empfiehlt sich, vor dem Update ein Backup anzulegen.
Vorbereitung
Da die LaunchD-Daemons ersetzt werden müssen, ist es notwendig, diese vor dem Update zu stoppen und zu entfernen. Dies muss manuell einmalig für alle Dienste von Intrexx durchgeführt werden, also alle Portale, den Solr-Suchserver und (falls installiert) die Administration-API. Hierzu können die Skripte im Ordner bin/macosx verwendet werden. Die Skripte beginnen jeweils mit upix und sind mit dem Namen des Dienstes versehen:
-
upixp_<portalname>: steuert den LauchD-Daemon des jeweiligen Portals (pro Portal existiert ein Skript), z.B. upixp_meinportal
-
upixsolr: steuert den Daemon des Solr-Suchserver
-
upix_admin_api: steuert den Daemon der Admin-API
Alle Skripte müssen einmal mit sudo gestartet werden und dabei den Befehl remove erhalten, um den Daemon zu stoppen und zu entfernen, beispielsweise:
sudo ./upixp_meinportal remove
bob@Virtuelle-Maschine-von-Bob macosx % sudo ./upixp_meinportal remove
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
Mac OSX erkannt:
Beende Intrexx Portal meinportal...
Intrexx Portal meinportal beendet.
Entferne den Intrexx Portal meinportal-Daemon...
bob@Virtuelle-Maschine-von-Bob macosx %
Dabei kann wie oben die Meldung auftreten, dass kein Java gefunden wurde. Diese stammt vom Betriebssystem und zeigt lediglich an, dass kein globales Java installiert ist. Da Intrexx ein eigenes Java mitbringt, kann sie ignoriert werden.
Um zu prüfen, ob keine Dienste mehr aktiv sind, kann man sich das Verzeichnis /Library/LaunchDaemons anzeigen lassen, in dem die Konfigurationsfiles vom Betriebssystem aufbewahrt werden:
ls -la /Library/LaunchDaemons
bob@Virtuelle-Maschine-von-Bob macosx % ls -la /Library/LaunchDaemons
total 8
drwxr-xr-x 3 root wheel 96 19 Juni 08:56 .
drwxr-xr-x 65 root wheel 2080 27 Mai 22:15 ..
-rw-r--r--@ 1 root wheel 582 27 Mai 22:16 postgresql-18.plist
bob@Virtuelle-Maschine-von-Bob macosx %
Sind alle Dienste gestoppt, dürfen sich dort keine Files befinden, die mit org.tanukisoftware.wrapper beginnen. Eventuelle andere Dienste (hier z.B. der PostgreSQL-Datenbankserver) sind vom Update nicht betroffen und können aktiv bleiben.
Da die Skripte während des Updates auf die neue Architektur angepasst werden müssen, ist es wichtig, dass sie dem Benutzer gehören, der Intrexx betreibt. Das ist normalerweise der eigene Benutzer oder der Daemon-Benutzer intrexx. Ob die Skripte dem korrekten Benutzer gehören, lässt sich feststellen, indem man sie mit
ls -la
anzeigt. Im Beispiel unten gehören die Skripte für die Admin-API und für den Solr Suchserver dem Daemon-User intrexx, das Skript für das Portal aber root.
bob@Virtuelle-Maschine-von-Bob macosx % ls -la
...
-rwxrwxr-x 1 intrexx intrexx 115296 22 Juni 14:31 upix_admin_api
-rwxr-xr-x 1 root wheel 115272 22 Juni 14:33 upixp_meinportal
-rwxrwxr-x 1 intrexx intrexx 115269 22 Juni 14:30 upixsolr
Um das Skript an den User intrexx zu übergeben, kann der Befehl chown benutzt werden, dem man den Benutzernamen (intrexx) und dessen Gruppe (intrexx) übergeben kann, getrennt durch einen Doppelpunkt. Wird Intrexx mit dem eigenen Benutzer betrieben, muss stattdessen der eigene Benutzername und die eigene Gruppe gesetzt werden. Der Befehl muss mit sudo ausgeführt werden:
sudo chown intrexx:intrexx upixp_meinportal
Danach gehört das Skript dem Daemon-User intrexx:
bob@Virtuelle-Maschine-von-Bob macosx % ls -la
...
-rwxrwxr-x 1 intrexx intrexx 115296 22 Juni 14:31 upix_admin_api
-rwxr-xr-x 1 intrexx intrexx 115272 22 Juni 14:33 upixp_meinportal
-rwxrwxr-x 1 intrexx intrexx 115269 22 Juni 14:30 upixsolr
Weiterhin müssen für die Dauer des Updates die Schreibrechte erweitert werden, falls ein anderer User das Setup ausführt. Dies kann mit dem Befehl chmod erreicht werden, beispielsweise für ein Portal:
sudo chmod a+w upixp_meinportal
Update
Für das Update kann das heruntergeladene .dmg-File normal eingehängt und geöffnet werden. Starten Sie das Setup, akzeptieren die Lizenzbedingungen und wählen Sie im Schritt Installationspfad unter dem Punkt Oder aktualisieren Sie eine bestehende Installation Ihre bestehende Installation aus. Alle anderen Einstellungen des Setups werden danach automatisch ermittelt und müssen nicht geändert werden.
Nachbereitung
Nach dem Update und Patch des Portals können die Schreibrechte wieder eingeschränkt und die Dienste neu registriert werden. Gehen Sie dazu im Terminal in das Verzeichnis bin/macos (der Name hat sich im Zuge des Updates geändert) Ihrer Intrexx-Installation. Um die Schreibrechte für andere User wieder zu entfernen, kann der Befehl chmod verwendet werden, beispielsweise für ein Portal:
sudo chmod o-w upixp_meinportal
Um die Dienste neu zu registrieren rufen Sie die gleichen Skripte wie zuvor mit sudo auf, nun aber mit dem Befehl installstart, um die Dienste neu zu installieren und anschließend zu starten. Es empfiehlt sich, zuerst den Solr Suchserver neu zu installieren, damit dieser schon bereit steht, wenn das Portal startet.
Beispiel:
sudo ./upixsolr installstart
bob@Virtuelle-Maschine-von-Bob macos % sudo ./upixsolr installstart
Password:
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
Mac OSX erkannt:
Installation von Intrexx Solr Search Server-Daemon ...
Starten von Intrexx Solr Search Server mit launchd ...
Warten auf Intrexx Solr Search Server ... ....
wird ausgeführt: PID:14013
Auch hier kann eine Meldung erscheinen, falls kein systemweites Java installiert ist. Sie kann ebenfalls ignoriert werden.
Nachdem die Dienste neu installiert wurden, muss der Rechner insgesamt zwei Mal neu gestartet werden. Nach dem ersten Neustart holt das Betriebssystem die Erlaubnis ein, die Software wrapper auszuführen. Intrexx benutzt diese, um die Systemdienste anbieten zu können. Da sich die Architektur geändert hat, muss die Erlaubnis neu erteilt und wrapper das Öffnen erlaubt werden. Nach einem weiteren Neustart des Rechners kann dann der wrapper die Dienste wie gewohnt ausliefern.
Intrexx Server 12.1.5, betrieben auf Apple Intel (AMD64)
Für Apple-Geräte mit Intel (AMD64, x86_64) Architektur kann leider kein Update per .dmg/Download per Skript oder Manager vorgenommen werden. Hier müssen die bestehenden Portale in 12.1.5 exportiert, die bestehende Installation entfernt und danach die Portale in eine neu installierte Instanz importiert werden.
Intrexx Portal Manager (ohne Portalserver)
Für den Intrexx Portal Manager (Intel oder Apple Silicon) ist kein Update möglich, hier muss der bestehende Manager entfernt und ein neuer installiert werden. Die Einstellungen des Managers bleiben dabei erhalten.