OS X ist das Betriebssystem der Apple-Computer: Die bilden neben Linux- und Windows-PCs einen weiteren separaten Computerkosmos. Als Unix-basiertes System ist OS X aber Linux recht ähnlich. Dieser Grundlagenartikel stellt Gemeinsamkeiten und Unterschiede vor.
Wer schon einmal mit dem Gedanken gespielt hat, sich ein MacBook oder einen iMac von Apple zu kaufen, wird sich auch fragen, was er damit anfangen kann. Die Hardware von Apple ist schick, doch mit OS X läuft darauf ein Betriebssystem, das weder Windows- noch Linux-Programme ausführt – sondern eigene, für OS X entwickelte Anwendungen. OS X läuft aber auf einem Unix-Kern, und dadurch ist viel Software aus der Linux-Welt auch dort (teilweise mit Einschränkungen) verfügbar.
Wir gehen in diesem Artikel nicht auf die Möglichkeit ein, Linux auf einem Mac zu installieren. Das funktioniert zwar, aber die meisten Anwender, die einen Mac kaufen, nutzen auch das darauf vorinstallierte OS X (das früher Mac OS hieß und ab der kommenden Version in “macOS” umbenannt wird). Stattdessen betrachten wir OS X und vergleichen es mit Linux – an der (grafischen) Oberfläche, auf der Shell und “unter der Haube” (also etwas technischer).
Oberflächliches
Während Linux eine Vielzahl an Desktops (KDE, Gnome, Unity, Xfce, LXDE usw.) zur Wahl anbietet (Abbildung 1), gibt es bei OS X eine einzige feste Oberfläche, die sich nicht austauschen lässt (Abbildung 2). Von einer Version zur nächsten ändert sich die Optik des OS-X-Desktops zwar geringfügig, die Bedienung bleibt aber im Wesentlichen gleich. Durch die Einheitlichkeit finden sich OS-X-Anwender auch auf fremden Macs schnell zurecht. Eine Besonderheit bei Macs ist, dass alle OS-X-Programme ihre Menüleiste am oberen Bildschirmrand anzeigen. Das spart Platz, kann bei großen Bildschirmen aber lange Mauswege verursachen.

Abbildung 1: KDE ist nur einer von vielen Desktops für Linux-Systeme, das klassische Layout mit Taskleiste und Startmenü lässt sich recht frei anpassen.

Abbildung 2: OS X verwendet eine zentrale Menüleiste am oberen Rand. Unten enthält das Dock Programmstarter und ausklappbare Menüs zu Dokumenten, Programmen und Downloads.
In beiden Welten sind moderne Features wie etwa mehrere virtuelle Arbeitsflächen zur besseren Aufteilung vieler Programmfenster schon lange etabliert (während Windows diese Funktion erst mit Version 10 eingeführt hat), das Umschalten auf eine andere Arbeitsfläche gelingt unter OS X und Linux über Tastenkombinationen, und Fenster lassen sich auf einen anderen Desktop verschieben. Auch bieten beide Systeme die Möglichkeit, einen Überblick aller geöffneten Fenster auf sämtlichen Desktops zu erhalten und per Klick ein Fenster (und damit den zugehörigen Desktop) zu aktivieren. Neuere OS-X-Versionen sind in der Anordnung der Desktops weniger flexibel als Linux: Sie können nur noch in Reihe (alle nebeneinander) gestellt werden, während es auf Linux-Desktops üblich ist, sie in einem Zeilen- und Spaltenraster anzuordnen. Das prinzipielle Handling von Fenstern (Verschieben, Schließen, Größenänderung) läuft eh bei allen modernen Betriebssystemen gleich ab.
Auch die Dateimanager von OS X und Linux (KDE) sind sich sehr ähnlich; beide bieten schnellen Zugriff auf alle klassischen Dateioperationen und können z. B. über Kontextmenü-Einträge Archive entpacken oder Ordner in ein Archiv komprimieren (Abbildungen 3, 4); in der linken Spalte lassen sich häufig benutzte Verzeichnisse für den Schnellzugriff ablegen.
Während Linux mit KDE ein Startmenü für die Programmauswahl bietet, starten OS-X-Anwender Programme über den Programme-Eintrag im Dock, hier sind die meisten Einträge nicht hierarchisch, sondern direkt auf der obersten Ebene, so dass OS X sehr viele Programme auf einen Blick anzeigt. Häufig verwendete Anwendungen lassen sich auch direkt als separates Icon im Dock ablegen.
Dateien
Auch am Dateisystem erkennen Sie die Verwandtschaft von Linux und OS X: Beide nutzen ein Unix-Dateisystem mit dessen klassischen Berechtigungen (Lesen, Schreiben und Ausführen für Dateibesitzer, Gruppenmitglieder und sonstige Anwender); es gibt symbolische Links und Gerätedateien. Wer sich auf einem der beiden Betriebssysteme mit Dateiverwaltung auskennt, muss auf dem anderen wenig dazu lernen.
Unterschiede gibt es beim konkret eingesetzten Dateisystem und bei den Gerätedateien, über die Sie Festplatten, Sticks, Partitionen und sonstige Laufwerke ansprechen:
- Linux bietet die größere Auswahl bei den Dateisystemen. Aktuell sind hier Ext4 und Btrfs, aber ein Blick in /proc/filesystems und in den Ordner /lib/modules/$(uname -r)/kernel/fs/ zeigt, dass Linux viele weitere Systeme kennt (darunter noch mehr Unix-artige Systeme aber auch VFAT und NTFS aus der Windows-Welt). Support für die neuste FAT-Variante exFAT gibt es bei Linux nur über ein FUSE-Modul [1]. OS X setzt auf HFS+, das einige spezielle Eigenschaften hat, die früher für die Kompatibilität mit Mac OS 9 und älter interessant waren; davon abgesehen ist es ein klassisches Unix-Dateisystem. Hier gibt es Support für FAT inkl. exFAT, aber NTFS-Medien kann OS X nur lesen und nicht schreiben. Übrigens gibt es auch für OS X eine portierte FUSE-Version (MacFUSE bzw. dessen Weiterentwicklung FUSE for OS X [2])
- Die Gerätedateien sind verschieden benannt, aber grundsätzlich können Sie damit dieselben Dinge tun (nämlich direkt auf die Datenträger zugreifen – unter Umgehung des Dateisystems). Bei Linux sind die Plattenbezeichnungen /dev/sda, /dev/sdb usw., und Partitionen werden durch Anhängen einer Zahl benannt (z. B. /dev/sda1); bei OS X heißen die Platten /dev/disk0, /dev/disk1 usw., und Partitionen haben zusätzlich ein kleines “s” und die Partitionsnummer im Namen (z. B. /dev/disk0s1).
- Bei den Partitionstabellen unterstützt Linux die alten MBR-Tabellen und das neue GPT-Format, während OS X schon immer nur GPT nutzt, also keine “primären”, “erweiterten” und “logischen” Partitionen kennt. Macs booten wie moderne PCs mit EFI.
Home-Verzeichnisse
Linux und OS X legen fast identische Hierarchien für die privaten Dateien der Benutzer an: Beide teilen das (Unix-weit gültige) Konzept des Home-Verzeichnisses, die Standard-Home-Verzeichnisse der Benutzer tragen den Namen des Benutzers und liegen unterhalb von /home/ (Linux) bzw. /Users/ (OS X).
Davon abgesehen gibt es winzige Unterschiede, z. B. bei der Lokalisierung klassischer Unterordner: Dokumente, Bilder und Musik landen auf einer deutschsprachigen Linux-Installation in den gleichnamigen Ordnern im Home-Verzeichnis: Die Ordner haben also deutsche Dateinamen. Bei OS X heißen die entsprechenden Ordner Documents, Pictures und Music, werden im grafischen Dateimanager (dem Finder) aber eingedeutscht angezeigt.
Software-Installation
Alle Linux-Distributionen setzen auf eine integrierte Paketverwaltung, meist auf Basis von RPM- oder Debian-Paketen. Dabei ist ein größeres Programm oft auf mehrere Pakete aufgeteilt, die dann z. B. die ausführbaren Programmdateien, zugehörige Bibliotheken, die Dokumentation und andere Elemente der Software getrennt enthalten. In vielen Fällen benötigen mehrere Programme dieselben Bibliotheken; diese muss man dann nur einmal einspielen. Das führt wiederum zu Abhängigkeiten zwischen verschiedenen Paketen (“Paket A ist nur installierbar, wenn man auch Pakete B und C mitinstalliert”), und das Auflösen dieser Abhängigkeiten erledigen die Repository-basierten Paketmanager (z. B. Apt oder Zypper).
OS X wählt für die Softwareverwaltung einen anderen Ansatz: Programmpakete sind dort im Grunde Zip-Archive, die beim Entpacken einen Ordner unterhalb von /Applications/ erzeugen (Abbildung 5) – diesen Ordner zeigt der Finder aber nicht als Verzeichnis, der Eintrag erscheint im Dateimanager als Symbol eines ausführbaren Anwendung. Im Ordner liegen gesammelt alle Dateien, die das Programm zum Laufen braucht, darunter neben der ausführbaren Datei auch die Bibliotheken. Damit kann es aber passieren, dass identische Bibliotheken mehrfach auf der Platte landen. (Um unter einen solchen Anwendungsordner im Finder einen Blick zu werfen, gibt es die Kontextmenü-Option Paketinhalt zeigen.) OS X erkennt solche Anwendungsordner an der Dateiendung .app.

Abbildung 5: Programme im Finder: Hinter einem Programmeintrag verbirgt sich ein Unterordner mit vielen Dateien.
Seit 2011 gibt es bei OS X den App Store (Abbildung 6), der die Installation von Software vereinfachen und vereinheitlichen soll; er kümmert sich zudem auch um Updates von Programmen, die über ihn eingespielt wurden. Aus Benutzerperspektive ähnelt das stark der unter Linux üblichen Vorgehensweise zum Aktualisieren der installierten Programme; noch ähnlicher ist aber die Funktionsweise der Smartphone-Tools von Apple (App Store) und Google (Play Store). Der OS X App Store ähnelt auch Ubuntus neuer Softwareverwaltung “Ubuntu Software” (Abbildung 7): Beide bieten nur Zugriff auf größere Programmpakete, für die Installation von Shell-Programmen und Serverdiensten ist in beiden Fällen ein anderer Weg nötig. Ganz anders arbeitet etwa OpenSuses Paketverwaltung in YaST, die alle Pakete (darunter auch Bibliotheken) anzeigt (Abbildung 8).

Abbildung 6: Über den App Store von OS X können Mac-Benutzer zentral Software installieren und aktualisieren. Viele Programme sind kostenpflichtig.

Abbildung 7: “Ubuntu Software” ist die neuste Softwareverwaltung in Ubuntu; sie zeigt nur eine Auswahl der verfügbaren Programme an.

Abbildung 8: Die Paketverwaltung in YaST (OpenSuse) zeigt alle verfügbaren Pakete an, auch Bibliotheken oder Dokumentation.
Die Shell
Auf der Kommandozeile verhalten sich beide Systeme im Wesentlichen gleich; die Standard-Shell ist die Bash, und unsere Shell-Tipps oder die Artikel aus der Rubrik “Guru-Training” sind für OS-X-Anwender meist genauso passend wie für Linux-Benutzer.
Um Administratorrechte zu erlangen, setzt man auf beiden Systemen das Kommando sudo ein, und auch die übrigen Standard-Shell-Tools heißen und funktionieren gleich.
In gemischten Umgebungen (also dort, wo es Macs und Linux-PCs im selben Netzwerk gibt) führt die Ähnlichkeit dazu, dass man sich bequem via ssh auf anderen Rechnern einloggen und dann auf der entfernten Maschine Kommandos ausführen kann (Abbildung 9) – egal in welche Richtung (vom Mac aus auf einem Linux-Rechner einloggen oder umgekehrt).

Abbildung 9: Bash ist Bash; im oberen Teilfenster läuft sie auf dem lokalen Linux-PC, unten auf einem OS-X-Rechner im lokalen Netz.
Klassische Unix-Anwendungen
Beliebte Tools für die Kommandozeile wie der Dateimanager Midnight Commander (mc), das Mailprogramm mutt oder der Browser w3m sind für beide Systeme verfügbar, und mit dem (separat nachzuinstallierenden) Programm Homebrew (brew) steht für OS X eine Softwareverwaltung bereit, die wie apt oder zypper funktioniert und auf ein Repository an Software zugreift [3]. Die enthaltenen Programme stammen alle aus der Unix-/Linux-Welt und wurden auf OS X portiert. Das Kommando brew install xyz richtet dann auf dem Mac genau wie apt install xyz auf einem Ubuntu-Rechner ein Programmpaket xyz ein.
Die klassischen Shell-Programme bringen auch meist eine Manpage mit, die sich (wie unter Linux) mit man programm anzeigen lässt. Die OS-X-Manpages liegen allerdings nur auf Englisch vor, während es bei Linux üblich ist, deutsche Übersetzungen mitzuliefern.
Programme verwenden teilweise unterschiedliche Optionen, so ist zum farbigen Hervorheben der ls-Ausgabe z. B. unter OS X die Option -G nötig, während das Linux-ls die Option --color versteht.
Grafische Anwendungen
Die grafische Oberfläche, die OS X verwendet, basiert nicht auf dem X Window System, das ansonsten für alle Unix-Systeme der Standard ist. Unter OS X lässt sich aber ein X-Server nachinstallieren. Ältere OS-X-Versionen haben ihn noch mitgeliefert, Apple hat die Entwicklung aber eingestellt. Für aktuelle OS-X-Versionen bietet das XQuartz-Projekt [4] Ersatz.
Ist ein X-Server installiert, steht auch der Nutzung klassischer grafischer Unix-Anwendungen nichts im Weg. Deren Fenster sehen aber anders als OS-X-Programmfenster aus, was einen uneinheitlichen Look verursacht.
Der umgekehrte Weg ist nicht möglich: Anwendungen, die direkt für OS X programmiert wurden, lassen sich nicht durch Neukompilieren zu Linux-Programmen machen.
Kernel, Lizenz, Performance
Der Linux-Kernel [5] ist “monolithisch” und damit einfach strukturiert; vereinfacht gesagt heißt das, dass alle Teile des Kernels alle übrigen Teile sehen und nutzen können; auch im laufenden Betrieb nachgeladene Kernelmodule integrieren sich in den Kernel. Linux stammt nicht von einer der klassischen Unix-Linien (BSD und AT&T Unix) ab, sondern ist eine unabhängige Neuentwicklung auf Basis der Grundkonzepte von Unix.
Die Architektur von OS X ist deutlich komplexer, das System verwendet den “Hybridkernel” (eine Kombination aus monolithischem und Microkernel) XNU, der Komponenten zweier Betriebssystem-Kernel (Mach [6] und FreeBSD [7]) integriert. Neben all diesen Namen taucht auch noch Darwin auf: Das ist ein Betriebssystem auf XNU-Basis, das OS X noch um die grafische Oberfläche Aqua erweitert.
Der Linux-Kern steht unter der freien Lizenz GPL, und XNU (der OS-X-Kernel) unter der ebenfalls freien Apple Public Source License. Auch Darwin ist noch freie Software, das Gesamtsystem OS X aber nicht. Linux-Systeme sind frei auf beliebiger Hardware installierbar, während die Lizenz von OS X den Besitz eines Macs (also Hardware von Apple) verlangt – zwar ist es technisch mit Einschränkungen möglich, OS X auf normalen PCs und Notebooks zu installieren (hier gibt es wegen fehlender Treiber aber viele schlecht oder gar nicht unterstützte Komponenten), der Betrieb solcher “Hackintosh”-Rechner [8] ist aber nicht erlaubt, und die Konfiguration eines solchen Systems ist schwierig.
In direkten Leistungsvergleichen auf identischer Hardware schlägt sich Linux meist etwas besser als OS X. Ein Vergleich, den Phoronix 2015 zwischen OS X 10.11 und der Linux-Distribution Fedora 23 durchführte [9], sah keinen klaren Sieger: Beim Festplattenzugriff lag OS X vorne, in anderen Kategorien Linux. Für den täglichen Einsatz auf dem Desktop sind die Leistungsunterschiede eher unwichtig.
Fazit
Der Blick auf die beiden Betriebssysteme zeigt, dass die Ähnlichkeiten überwiegen: Während Anwender beim häufigen Wechsel zwischen Windows und Linux häufig über größere Unterschiede stolpern und unterschiedliche Vorgehensweisen beherrschen müssen, fällt es leichter, OS X und Linux parallel einzusetzen, weil die Bedienkonzepte ähnlicher sind und sich vor allem Freunde der Shell mit der Bash und den Standard-Shell-Tools sofort auf dem jeweils anderen System zurechtfinden, wenn sie Vorkenntnisse aus einer der beiden Welten mitbringen.
Glossar
-
FUSE
-
Filesystem in Userspace (FUSE) ist unter Linux eine Methode, mit der Treiber für ein Dateisystem als normale Programme (und nicht als Kernel-Module) laufen. Ein generisches FUSE-Kernel-Modul lässt FUSE-kompatible Programme die Treiberfunktionalität umsetzen.
Infos
[1] FUSE: https://github.com/libfuse/libfuse
[2] FUSE for OS X: https://osxfuse.github.io/
[3] Homebrew: http://brew.sh/
[4] XQuartz: https://www.xquartz.org/
[5] Linux (Kernel): https://kernel.org/
[6] Mach: https://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html
[7] FreeBSD: https://www.freebsd.org/
[8] OSx86/Hackintosh: https://en.wikipedia.org/wiki/OSx86
[9] Benchmarktest: OS X 10.11 gegen Fedora 23: https://www.phoronix.com/scan.php?page=article&item=osx-capitan-fedora23








Hi,
Danke für den tollen Artikel. Für mich der gerade eine Ausbildung zum IT Systemelektroniker macht genau das richtige.
Was ist den der unterscheid zwischen IOS und mac os? Laufen ja auch beide auf Darwin. Bloß bei iOS gibt es mehr Einschränkungen. Also muss der unterschied doch größer sein als nur eine andere Benutzeroberfläche oder?
Danke.