Steam startet unter macOS nicht

Auf einem MacBook Air habe ich ein neues System aufgesetzt. Neben anderer Software, wollte ich unter anderem Steam installieren. Nach der Installation startete Steam und lud die entsprechenden Daten herunter. Danach beendete sich Steam selber. Auch der mehrmalige Versuch Steam zu Starten führte zum gleichen Fehlerbild. Das Löschen des Ordners mit den Applikationsdaten:

~/Library/Application Support/Steam

half leider ebenfalls nicht. Für die Fehlersuche startete ich Steam im Terminal:

cd /Applications/Steam.app/Contents/MacOS/
./steam_osx

Dort erschient folgende Ausgabe:

[2019-01-13 18:33:37] Startup - updater built Aug 22 2016 17:36:46
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.200.3/Common/ChunkCompression.cpp:49: Error: unsupported compressor 8
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.200.3/Libraries/CompressData/CompressData.c:353: Error: Unknown compression scheme encountered for file '/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist'
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.200.3/Common/ChunkCompression.cpp:49: Error: unsupported compressor 8
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.200.3/Libraries/CompressData/CompressData.c:353: Error: Unknown compression scheme encountered for file '/System/Library/CoreServices/CoreTypes.bundle/Contents/Library/AppExceptions.bundle/Exceptions.plist'
[2019-01-13 18:33:38] Startup - updater built Jan  4 2019 15:25:44
found breakpad via in process memory: '/Users/seeseekey/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/Frameworks/Breakpad.framework/Versions/A/Resources'
Installing breakpad crash handler
[2019-01-13 18:33:38] Steam requires that '/Users/seeseekey/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS' be on a case-insensitive filesystem.
SteamID:  0, universe Public
[2019-01-13 18:33:38] Steam requires that '/Users/seeseekey/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS' be on a case-insensitive filesystem.
[2019-01-13 18:33:38] Verifying installation...
[2019-01-13 18:33:38] Shutdown
[2019-01-13 18:33:38] Unable to read and verify install manifest /Users/seeseekey/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/package/steam_client_osx.installed
[2019-01-13 18:33:38] Verification complete
[2019-01-13 18:33:38] Downloading update...
[2019-01-13 18:33:38] Checking for available updates...
[2019-01-13 18:33:38] Downloading manifest: client-download.steampowered.com/client/steam_client_osx
[2019-01-13 18:33:38] Error: Download failed: http error 0

Nach der Auswertung der Ausgabe ergab sich das es sich hier ebenfalls um ein Problem mit dem case-sensitiven Dateisystem auf dem macOS-Rechner handelte.

Steam verträgt case-sensitive Dateisysteme unter macOS nicht

Für dieses Problem bieten sich zwei Lösungen an. Bei der radikalen Lösung wird der Rechner bzw. die Partition neu aufgesetzt. Die andere Möglichkeit wäre es eine Partition zu erstellen, welche mit einem case-insensitiven Dateisystem betrieben wird und der entsprechende Application Support-Ordner per Hardlink zu dieser neuen Partition zeigen zu lassen. Schön ist keine der Lösungen, vor allem da sich jenes Problem durch die Anwendung (in diesem Fall Steam) lösen ließe. Meine pragmatische Lösung war es in diesem Fall Steam nicht zu installieren und stattdessen den Rechner produktiv zu nutzen.

Symbolische Links von ganzem Verzeichnis erstellen

Mittels des „ln“-Kommandos ist es unter Linux möglich symbolische Links zu erstellen. Das Kommando eignet sich dabei im ersten Moment nur für einzelne Dateien. Möchte man ganze Verzeichnisse behandeln, lohnt sich der Griff zu „lndir“. Unter Ubuntu muss das Kommando mit dem passenden Befehl nachinstalliert werden:

apt-get install xutils-dev

Anschließend kann „lndir“ genutzt werden:

lndir quellverzeichnis zielverzeichnis

In der Standardeinstellung gibt „lndir“ jedes verlinkte Verzeichnis aus, bis es mit dem gesamten Quellverzeichnis fertig ist. Der Parameter „-silent“ verhindert dies.