Skip to content

macOS: SWAO installieren

macOS Gatekeeper blockiert standardmässig unsignierte oder neu verteilte Binaries. Dieses Runbook beschreibt das Herunterladen der SWAO-Binary, das Entfernen des Quarantäne-Attributs und das Hinzufügen von SWAO zum Shell-PATH.


Voraussetzungen

  • macOS 12 (Monterey) oder neür
  • Terminal-Zugriff (zsh oder bash)
  • curl oder ein Browser zum Herunterladen der Binary

1. Binary herunterladen

bash
# Download the latest release (replace <version> with the target version)
curl -Lo /tmp/swao \
  "https://github.com/Accenture/SWAO/releases/download/<version>/swao-darwin-arm64"

# For Intel Macs use swao-darwin-x64
curl -Lo /tmp/swao \
  "https://github.com/Accenture/SWAO/releases/download/<version>/swao-darwin-x64"

Den SHA-256-Prüfsumme gegen die veröffentlichte sha256sums.txt verifizieren:

bash
shasum -a 256 /tmp/swao

Die Ausgabe mit dem entsprechenden Eintrag in der sha256sums.txt des Releases vergleichen, bevor fortgefahren wird.


2. Nach /usr/local/bin installieren

bash
# Make the binary executable and move to a directory on PATH
chmod +x /tmp/swao
sudo mv /tmp/swao /usr/local/bin/swao

Wenn /usr/local/bin auf dem Rechner nicht vorhanden ist:

bash
sudo mkdir -p /usr/local/bin
sudo mv /tmp/swao /usr/local/bin/swao

3. Gatekeeper-Quarantäneattribut entfernen

macOS weist Dateien, die aus dem Internet heruntergeladen werden, das erweiterte Attribut com.apple.quarantine zu. Durch dessen Entfernung wird die Binary zur Ausführung freigegeben, ohne dass ein Gatekeeper-Dialog erscheint.

bash
# Remove the quarantine attribute
xattr -dr com.apple.quarantine /usr/local/bin/swao

# Confirm the attribute is gone (no output = success)
xattr -l /usr/local/bin/swao

Wird dieser Schritt übersprungen und swao dennoch ausgeführt, zeigt macOS an: "swao kann nicht geöffnet werden, weil der Entwickler nicht verifiziert werden kann." Nach dem Entfernen des Quarantäneattributs erscheint kein solcher Dialog mehr.


4. Daürhafte Freigabe über Systemeinstellungen

Als Alternative zur Kommandozeilenmethode oder wenn xattr die Blockierung nicht daürhaft aufhebt:

  1. swao --version im Terminal ausführen. Der Gatekeeper-Dialog erscheint.
  2. Systemeinstellungen (macOS 13+) oder Systemeinstellungen (macOS 12) öffnen.
  3. Zu Datenschutz und Sicherheit navigieren.
  4. Im Abschnitt "Sicherheit" die Meldung suchen: "swao wurde blockiert, weil es nicht von einem identifizierten Entwickler stammt."
  5. Auf Trotzdem erlauben klicken.
  6. swao --version erneut ausführen. Ein abschliessender Bestäitigungsdialog erscheint; auf Öffnen klicken.

Diese Vertraünsentscheidung wird pro Binary-Pfad gespeichert. Das Entfernen per xattr ist der schnellere Weg für skriptbasierte Bereitstellungen.


5. PATH in ~/.zshrc eintragen

Wenn /usr/local/bin bereits im PATH vorhanden ist -- auf den meisten macOS-Systemen der Fall -- sind keine weiteren Schritte erforderlich. Prüfung:

bash
echo $PATH | tr ':' '\n' | grep /usr/local/bin

Fehlt das Verzeichnis im PATH, kann es hinzugefügt werden:

bash
# Append to ~/.zshrc
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc

# Apply immediately in the current session
source ~/.zshrc

Für bash-Nutzer ~/.zshrc entsprechend durch ~/.bash_profile oder ~/.bashrc ersetzen.


6. Hinweis für Versions-Upgrades

Das Quarantäneattribut muss bei jedem Ersetzen der Binary durch eine neü Version neu entfernt werden, da das Herunterladen eine neü Datei mit einem frischen Quarantäneattribut anlegt. Die Upgrade-Schritte können in einer Shell-Funktion oder einem Skript zusammengefasst werden:

bash
#!/usr/bin/env bash
# save as ~/bin/upgrade-swao.sh
set -euo pipefail
VERSION="${1:?usage: upgrade-swao.sh <version>}"
ARCH=$(uname -m)
SUFFIX="darwin-arm64"
if [ "$ARCH" = "x86_64" ]; then SUFFIX="darwin-x64"; fi

curl -Lo /tmp/swao \
  "https://github.com/Accenture/SWAO/releases/download/${VERSION}/swao-${SUFFIX}"
chmod +x /tmp/swao
sudo mv /tmp/swao /usr/local/bin/swao
xattr -dr com.apple.quarantine /usr/local/bin/swao
swao --version

7. Installation verifizieren

bash
swao --version
swao health-check

Ein sauberes swao health-check-Ergebnis mit allen grünen Prüfpunkten bestätigt, dass die Installation abgeschlossen ist.