Zum Inhalt springen
DeutschlandGPT

macOS

DMG verteilen, Installomator-Label für Jamf Pro und andere MDM, Signatur und Notarisierung prüfen

Für macOS liefern wir eine DMG aus. Sie enthält DeutschlandGPT.app als Universal Binary für Apple Silicon und Intel, ist mit einem Developer-ID-Zertifikat signiert und von Apple notarisiert.

WertInhalt
Apple Team-IDXT228V86UU
Bundle-IDde.deutschlandgpt.desktop
Installationsort/Applications/DeutschlandGPT.app
Aktuelle DMGhttps://www.deutschlandgpt.de/api/desktop/download/darwin
Aktuelle Versionsnummerhttps://www.deutschlandgpt.de/api/desktop/version/darwin

Die beiden Adressen sind stabil und zeigen immer auf die neueste Version. Ein Label oder ein Skript muss deshalb nie wegen eines Releases angepasst werden.

Installomator

Wenn Sie Installomator einsetzen, etwa über eine Jamf-Pro-Richtlinie, ist das der schnellste Weg. Das folgende Label installiert die App und aktualisiert eine vorhandene Installation an derselben Stelle:

BASH
deutschlandgpt)
    name="DeutschlandGPT"
    type="dmg"
    downloadURL="https://www.deutschlandgpt.de/api/desktop/download/darwin"
    appNewVersion=$(curl -fsL "https://www.deutschlandgpt.de/api/desktop/version/darwin")
    expectedTeamID="XT228V86UU"
    blockingProcesses=( "DeutschlandGPT" )
    ;;

Legen Sie das Label als eigene Fragmentdatei auf dem verwalteten Mac ab, aktuelle Installomator-Versionen lesen dafür /Library/Application Support/Installomator/*.sh, oder nehmen Sie es in Ihren Installomator-Fork auf. Aufgerufen wird es dann wie jedes andere Label:

BASH
/usr/local/Installomator/Installomator.sh deutschlandgpt \
    BLOCKING_PROCESS_ACTION=tell_user NOTIFY=success

expectedTeamID ist der wichtige Teil: Installomator bricht ab, wenn die geladene App nicht mit unserem Zertifikat signiert ist. Eine manipulierte oder falsche Datei wird also gar nicht erst installiert.

Weil die App nach /Applications/DeutschlandGPT.app installiert, also genau dorthin, wo auch eine manuelle Installation aus der DMG landet, übernimmt Installomator eine bereits vorhandene Installation, statt eine zweite Kopie anzulegen.

appNewVersion sorgt dafür, dass Installomator nur dann herunterlädt, wenn tatsächlich eine neuere Version vorliegt. Lassen Sie die Zeile weg, wenn das Gerät die Versionsabfrage nicht erreichen darf: Installomator lädt dann bei jedem Lauf die DMG und vergleicht danach.

Ohne Installomator

Ohne Installomator ist der Ablauf derselbe wie bei jeder anderen DMG: mounten, App nach /Applications kopieren, aushängen. Ein Skript, das ein MDM als Richtlinie ausführen kann, sieht so aus:

BASH
#!/bin/bash
set -euo pipefail

dmg=$(mktemp -t deutschlandgpt).dmg
curl -fsL -o "$dmg" https://www.deutschlandgpt.de/api/desktop/download/darwin

mount=$(mktemp -d)
hdiutil attach "$dmg" -nobrowse -quiet -mountpoint "$mount"

# Nur installieren, wenn die App von uns signiert ist
team=$(codesign -dv --verbose=4 "$mount/DeutschlandGPT.app" 2>&1 \
  | awk -F= '/TeamIdentifier/ {print $2}')
[ "$team" = "XT228V86UU" ] || { echo "Unerwartete Team-ID: $team"; exit 1; }

ditto "$mount/DeutschlandGPT.app" /Applications/DeutschlandGPT.app

hdiutil detach "$mount" -quiet
rm -f "$dmg"

Die Prüfung der Team-ID ist kein Beiwerk. Sie ist das, was Installomator sonst für Sie übernimmt, und der Grund, warum das Skript eine ausgetauschte Datei nicht installiert.

Signatur und Notarisierung prüfen

Auf einem Gerät prüfen Sie die installierte App so:

BASH
# Signatur und Team-ID
codesign -dv --verbose=4 /Applications/DeutschlandGPT.app 2>&1 \
  | grep -E "TeamIdentifier|Authority"

# Notarisierung von Apple bestätigen lassen
spctl --assess --type execute -vv /Applications/DeutschlandGPT.app

Erwartet werden TeamIdentifier=XT228V86UU und eine Bestätigung mit source=Notarized Developer ID. spctl fragt dabei Apple, es setzt also eine Internetverbindung voraus.

Warum es keine PKG-Datei gibt

Wir liefern macOS ausschließlich als DMG aus. Installomator verarbeitet eine DMG direkt, damit ist der Jamf-Pro-Fall abgedeckt, und Sie sparen sich einen zusätzlichen Paketierungsschritt bei jedem Release.

Wenn Teile Ihrer Flotte ohne Installomator laufen und Sie zwingend eine PKG brauchen, sprechen Sie uns an. Wir schauen uns das dann konkret an.

Automatische Aktualisierung

Ob sich die App auf einem verwalteten Mac selbst aktualisiert, hängt davon ab, ob der angemeldete Benutzer das Programmpaket beschreiben darf. Wie das genau funktioniert und wie Sie die Aktualisierung per Richtlinie abschalten, steht unter Aktualisierung steuern.

War diese Seite hilfreich?
macOS · DeutschlandGPT