macOS: Das umfassende Handbuch für Power-User 9783836260152

Sie kennen Ihren Mac, wollen aber nun wissen, wie Sie ihn wirklich effektiv nutzen und administrieren können? Dann sind

115 44 69MB

German Pages 677 [1528] Year 2017

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

macOS: Das umfassende Handbuch für Power-User
 9783836260152

Table of contents :
Liebe Leser!
Inhaltsverzeichnis
Vorwort
Einleitung
Teil I Alltägliche Aufgaben
1 Dateien und ihre Handhabung
1.1 Ein paar Tricks im Finder
1.1.1 Dateien kopieren, verschieben und umbenennen
1.1.2 Darstellungen und Darstellungsoptionen
1.2 Informationen über Dateien erlangen
1.2.1 Das Fenster »Infos zu«
1.2.2 Icons austauschen
1.2.3 Dateien mit Tags versehen
1.3 Metadaten, erweiterte Attribute und .DS_Store-Dateien
1.4 Zwei nützliche File-Flags
1.4.1 Änderungen unterbinden
1.4.2 (Un-)Sichtbarkeit von Dateien einstellen
1.5 Aliasse, symbolische und harte Links
1.6 Einblick in Bundles nehmen
1.7 Dateitypen und ihre Zuordnung
1.7.1 Typen Programmen zuweisen – die Launch Services
1.7.2 Dateityp herausfinden mit »file«
1.8 Dateien komprimieren und archivieren: Das Archivierungsprogramm
2 Suchen und Finden mit Spotlight und QuickLook
2.1 Einsicht mit QuickLook
2.1.1 Einblick erhalten und Überblick bewahren
2.1.2 QuickLook verstehen und erweitern
2.2 Spotlight
2.2.1 Spotlight aufrufen und Abfragen formulieren
2.2.2 Informationen jenseits von Dateien suchen
2.2.3 Nach Dateien im Finder suchen
2.2.4 Suchen dauerhaft in intelligenten Ordnern speichern
2.2.5 Spotlight in anderen Programmen: Mail, iTunes, Kontakte und Fotos
2.2.6 Die Funktionsweise von Spotlight
2.2.7 Spotlight verwalten und erweitern
2.2.8 Suchen und Finden am Terminal
3 Datenträger und Dateisysteme
3.1 Grundlagen und Hintergründe
3.1.1 Dateisysteme und Partitionsschemata
3.1.2 Mount-Points und Gerätedateien
3.1.3 Anmerkungen zum Apple File System (APFS)
3.1.4 Core Storage und Fusion Drive
3.1.5 Der S.M.A.R.T.-Status eines internen Datenträgers
3.1.6 Der »trimforce«-Befehl für SSDs
3.2 Das Festplattendienstprogramm
3.2.1 Informationen erhalten
3.2.2 Datenträger löschen und partitionieren
3.2.3 APFS: Container und Volumes
3.2.4 Dateisysteme prüfen und reparieren
3.2.5 Disk-Images erstellen und Ordnerstrukturen verschlüsseln
3.2.6 Partitionen archivieren, wiederherstellen und duplizieren
3.3 RAIDs und der Befehl »diskutil«
3.3.1 Der Befehl »diskutil«
3.3.2 Ein RAID erstellen
3.4 Weitere Konfigurationen und Hilfsmittel
3.4.1 Individuelle Mount-Points mit der Datei »/etc/fstab«
3.4.2 Weitere Dateisysteme mit OSXFUSE
3.4.3 Tools zur Datenrettung und Reparatur
4 Drucker einrichten
4.1 Drucker über die Systemeinstellungen verwalten
4.1.1 Drucker einrichten und Treiber installieren
4.1.2 Drucker konfigurieren und das Drucksystem zurücksetzen
4.1.3 Drucker im Netzwerk nutzen
4.2 Dokumente ausgeben
4.2.1 Der Druckdialog
4.2.2 Warteschlangen der Drucker steuern
4.3 Das Common UNIX Printing System – CUPS
4.3.1 Die Weboberfläche für CUPS aktivieren
4.3.2 Drucker und Druckaufträge verwalten
4.3.3 CUPS im Detail konfigurieren
4.4 PDF-Dateien mit Quartz-Filtern erstellen
5 Die Schriftsammlung von macOS
5.1 Einführung und Grundlagen
5.2 Die Schriftsammlung von macOS
5.2.1 Schriftarten überblicken und installieren
5.2.2 Sammlungen und Bibliotheken nutzen
5.2.3 Schriftarten überprüfen
5.2.4 Schriften und Dubletten deaktivieren
5.3 Administration am Terminal mit »atsutil«
Teil II Administrativer Alltag
6 Benutzerkonten und Zugriffsrechte
6.1 Zugriffsrechte für Dateien und Ordner
6.1.1 Klassische Unix-Rechte vergeben und ändern
6.1.2 Detaillierte Zugriffsrechte mit den Access Control Lists
6.1.3 Einen Ordner für die Freigabe im Netzwerk vorbereiten
6.2 Benutzer und Gruppen verwalten
6.2.1 Drei Typen: »Standard«, »Administratoren« und »Nur Freigabe«
6.2.2 Benutzerkonten erstellen und konfigurieren
6.2.3 Benutzerkonten löschen und archivieren
6.2.4 Benutzer in Gruppen unterteilen
6.2.5 Passwörter im Griff mit dem Assistenten und »pwpolicy«
6.2.6 Anmeldeobjekte, Anmeldeoptionen und der schnelle Benutzerwechsel
6.2.7 Texte und Nachrichten im Anmeldefenster
6.3 Administratoren und der Super-User »root«
6.3.1 Benutzerwechsel am Terminal mit »su« und »sudo«
6.3.2 Der Super-User »root«
6.4 Verzeichnisdienste und die Datenbank »DSLocal«
6.4.1 Das Programm »Verzeichnisdienste«
6.4.2 Anbindung an einen Open-Directory-Server
7 Software installieren, aktualisieren und administrieren
7.1 Programme kaufen und installieren
7.1.1 Software über den App Store installieren
7.1.2 Updates über den App Store installieren
7.1.3 Software über Packages installieren
7.1.4 Der Gate Keeper von macOS
7.2 Software administrieren
7.2.1 Property-Listen und Voreinstellungsdateien
7.2.2 Umgebungsvariablen auslesen und setzen
7.3 Java installieren
8 Daten sichern
8.1 Überlegungen im Vorfeld
8.2 Die Time Machine konfigurieren und Backups erstellen
8.2.1 Festplatten mit der Time Machine nutzen
8.2.2 Datensicherung im Netzwerk
8.2.3 Weitere Konfigurationen vornehmen
8.2.4 Administration am Terminal mit »tmutil«
8.2.5 Ein Time-Machine-Backup verlagern oder übernehmen
8.3 Daten aus der Time Machine wiederherstellen
8.3.1 Gesicherte Dateien und Ordner verwalten
8.3.2 Kontakte und Mails rekonstruieren
8.3.3 Das System aus der Time Machine wiederherstellen
8.4 Über die Time Machine hinaus
8.4.1 Das Startvolume klonen
8.4.2 Alternativen und Ergänzungen zur Time Machine
9 Andere Welten: Windows, Linux und rEFInd
9.1 Windows mit Boot Camp installieren
9.1.1 Der Boot Camp-Assistent
9.1.2 Windows installieren
9.1.3 Boot-Camp-Treiber installieren und nutzen
9.1.4 Windows starten und nutzen
9.1.5 Windows entfernen
9.1.6 Nützliche Tools für Windows
9.2 Windows, Linux und macOS mit rEFInd installieren
9.2.1 Linux herunterladen und einen USB-Stick vorbereiten
9.2.2 Die Festplatte partitionieren
9.2.3 rEFInd installieren und konfigurieren
9.2.4 Windows 10 installieren
9.2.5 Ubuntu Linux installieren
9.2.6 Spezielle Startmodi von macOS mit rEFInd ausführen
9.2.7 rEFInd anpassen und entfernen
Teil III Vernetztes Arbeiten
10 Mehr als ein einfacher Router: Die AirPort-Basisstation
10.1 Inbetriebnahme und erste Schritte
10.1.1 Erstinstallation und grundlegende Konfiguration
10.1.2 Internetverbindung
10.1.3 Drahtlose Netzwerke konfigurieren
10.1.4 Zugang zu meinem Mac einrichten
10.1.5 Konfiguration exportieren, importieren und zurücksetzen
10.2 Das Netzwerk im Detail konfigurieren
10.2.1 Zugriffskontrollen aktivieren
10.2.2 Die Adressvergabe des DHCP-Servers konfigurieren
10.2.3 Port-Weiterleitungen über die Anschlusseinstellungen
10.3 Freigaben über die Basisstation
10.3.1 Laufwerke freigeben und einbinden
10.3.2 Drucker einbinden und freigeben
10.4 Das AirPort-Dienstprogramm für iOS
11 Weitere Netzwerkkonfigurationen
11.1 Umgebungen und Schnittstellen konfigurieren
11.1.1 Konfigurationen in Umgebungen sichern
11.1.2 Netzwerkschnittstellen konfigurieren
11.1.3 RADIUS-Profile einbinden und nutzen
11.1.4 Proxy-Server konfigurieren
11.2 Weitere Konfigurationen
11.2.1 Eine Verbindung mit einem Virtual Private Network (VPN) aufnehmen
11.2.2 Zugang zu meinem Mac über die iCloud
11.2.3 Ein drahtloses Netzwerk einrichten
11.2.4 Den Mac als Router nutzen
12 Rechner im Netzwerk fernsteuern
12.1 Bildschirmfreigaben und Virtual Network Computing
12.1.1 Ein macOS-System mit der Bildschirmfreigabe steuern
12.1.2 Virtual Network Computing (VNC) mit Linux
12.2 Verschlüsselte Verbindungen über SSH herstellen
12.2.1 Verbindung mit einem Passwort aufnehmen
12.2.2 Ein Schlüsselpaar für die Verbindung nutzen
12.2.3 Die Passphrase im Schlüsselbund hinterlegen
12.2.4 Bildschirmfreigabe mit SSH tunneln
13 Dateien übertragen und Ordner freigeben
13.1 Ordner freigeben und einbinden
13.1.1 Die Ansicht »Netzwerk« und der Dialog »Mit Server verbinden«
13.1.2 Freigaben über das Apple Filing Protocol (AFP)
13.1.3 Bandbreite mit Inhaltscaching sparen
13.1.4 Ordner mit dem Network File System (NFS) für Linux freigeben
13.1.5 ».DS_Store«-Dateien unterbinden und mit »dot_clean« aufräumen
13.2 Weitere Möglichkeiten zur drahtlosen Datenübertragung
13.2.1 Dateien mittels AirDrop übertragen
13.2.2 Der Bluetooth-Datenaustausch
13.3 Nützliche Tools am Terminal
13.3.1 Dateien kopieren mit »scp«
13.3.2 Verzeichnisse synchronisieren mit »rsync«
13.3.3 Downloads mit »curl«
14 macOS und Windows im Netzwerk
14.1 Freigaben im Netzwerk
14.1.1 NetBIOS-Name und Arbeitsgruppe konfigurieren
14.1.2 Windows-Rechner und die Ansicht »Netzwerk« im Finder
14.1.3 Ordner für Windows freigeben und einbinden
14.1.4 Der Befehl »smbutil« am Terminal
14.2 Weitere Dienste
14.2.1 Benutzerverwaltung in einem Active Directory
14.2.2 macOS an Microsoft Exchange anbinden
14.2.3 Fernsteuerung mit dem Microsoft Remote Desktop
14.2.4 Drucker im Windows-Netzwerk
15 Netzwerkprobleme beheben
15.1 Die WLAN-Diagnose von Apple
15.2 Das Netzwerkdienstprogramm
15.2.1 Informationen erhalten
15.2.2 Einen Rechner anpingen
15.2.3 Den Internetweg mit »Trace« verfolgen
15.2.4 Einen Portscan durchführen
15.3 Werkzeuge am Terminal
15.3.1 Der Befehl »ping«
15.3.2 Kommunikation mit »traceroute« nachverfolgen
15.3.3 Datenverkehr mit »tcpdump« überwachen
15.3.4 Portscan mit »stroke« durchführen
Teil IV Sicherheit und Privatsphäre
16 Das Betriebssystem und den Rechner absichern
16.1 Rund um Benutzerkonten und die Anmeldungen
16.1.1 Bildschirmschoner und Ruhezustand absichern
16.1.2 Gastbenutzer deaktivieren
16.1.3 Ein EFI-Passwort setzen
16.1.4 Das Startvolume mit FileVault 2 verschlüsseln
16.2 Weitere Sicherheitsmechanismen des Systems
16.2.1 Prozesse in Sandboxen
16.2.2 Die System Integrity Protection (SIP) verstehen und verwalten
17 Die Kommunikation absichern und verschlüsseln
17.1 E-Mails verschlüsseln
17.1.1 Zertifikate zur Verschlüsselung nutzen
17.1.2 E-Mails mit den GPGTools verschlüsseln
17.2 Die Schlüsselbundverwaltung
17.2.1 Passwörter im Schlüsselbund speichern
17.2.2 Zertifikate verwalten
17.2.3 Sichere Notizen anlegen
17.3 Die Firewalls von macOS
17.3.1 Die Funktionsweise der Application Level Firewall
17.3.2 Der Package Filter PF
17.3.3 Firewalls von Drittherstellern
17.4 Weitere Maßnahmen
17.4.1 Mail konfigurieren
17.4.2 Safari konfigurieren
Teil V Automatisierung
18 Der Automator und die Dienste
18.1 Ein erster Arbeitsablauf
18.1.1 Das Funktionsprinzip des Automators
18.1.2 Abläufe protokollieren und schrittweise ausführen
18.2 Variablen und Interaktion in Abläufen
18.2.1 Variablen in Abläufen setzen und nutzen
18.2.2 Entscheidungen und Eingaben vom Anwender anfordern
18.3 Arbeitsabläufe in das System integrieren
18.3.1 Abläufe als Dienste mit Kurzbefehlen ausführen
18.3.2 Abläufe an Ordner anhängen: Ordneraktionen
18.3.3 Mit PDF-Dateien arbeiten
18.3.4 Aktionen zeitgesteuert als Kalenderaktionen ausführen
18.3.5 Aktionen als Programme speichern
19 JavaScript for Automation (JXA)
19.1 Ein erstes JavaScript: »Hallo Welt« im Finder
19.1.1 Der Skript-Editor
19.1.2 Den Finder ansprechen und einen Dialog anzeigen
19.1.3 Apple-Events, Objekte und die Bibliothek verstehen und nutzen
19.1.4 Die »StandardAdditions« nutzen
19.1.5 Benutzerkonten und die System-Events
19.2 JavaScript for Automation in der Praxis
19.2.1 Dialoge und Eingaben auswerten und nutzen
19.2.2 Nummerierung von Titeln in iTunes korrigieren
19.2.3 Auf Dateien und Ordner zugreifen
19.2.4 Kontaktdaten als CSV-Datei exportieren
19.2.5 E-Mails mit Anreden erstellen
19.3 JavaScript ins System integrieren
19.3.1 Das Skriptmenü
19.3.2 JavaScript im Automator nutzen
19.3.3 JavaScript-Programme als Apps speichern
19.3.4 Mit JavaScript auf die Shell zugreifen
19.4 Fehlern und Bugs auf der Spur
19.4.1 Der Protokollverlauf im Skript-Editor
19.4.2 Den Debugger mit Safari nutzen
20 Server und Dienste mit »launchd« steuern
20.1 Grundlagen der Arbeit mit »launchd«
20.1.1 Aufgaben und Einsatzgebiete von »launchd«
20.1.2 LaunchDaemons, LaunchAgents und Domänen
20.1.3 Der grundlegende Aufbau einer PLIST für »launchd«
20.2 Zwei Beispielkonfigurationen
20.2.1 Zeitgesteuerte Kopiervorgänge mit einem LaunchAgent
20.2.2 Ein Prototyp für einen LaunchDaemon
20.2.3 Die Arbeit von »launchd« mit den Protokollen überwachen
Teil VI Einstieg ins Terminal
21 Befehle verstehen und ausführen
21.1 Erste Schritte
21.1.1 Der Prompt
21.1.2 Ein erster Befehl mit Optionen und Parametern
21.1.3 Hintergründe zum Terminal, zur Shell und zu den Befehlen
21.2 Die Dokumentation
21.2.1 Die Man-Pages
21.2.2 Weitere Informationsquellen
21.3 Mit Dateien und Verzeichnissen arbeiten
21.3.1 Mit »cd«, »pwd« und »ls« im Dateisystem navigieren
21.3.2 Dateien und Ordner kopieren, verschieben und löschen
21.3.3 Zeit und Arbeit sparen mit Jokerzeichen
21.4 Mit Texten arbeiten
21.4.1 Texte mit »less« anzeigen
21.4.2 Texte mit »nano« bearbeiten
21.5 Ein paar Tipps und Tricks für den Alltag
21.5.1 Befehlshistorie und automatisches Vervollständigen
21.5.2 Den Cursor positionieren
21.5.3 Drag & Drop ins Terminalfenster
21.5.4 Das Terminal und die Zwischenablage
21.5.5 Das Dienstprogramm Terminal konfigurieren
22 Spezielle Befehle von macOS
22.1 Produktives Arbeiten
22.1.1 Bildbearbeitung mit »sips«
22.1.2 Texte konvertieren mit »textutil«
22.1.3 Audiodateien mit »afconvert«, »afinfo« und »afplay« konvertieren
22.1.4 Videodateien mit »avconvert« und »qtmodernizer« konvertieren
22.2 Ein paar Tools für den Arbeitsalltag
22.2.1 Protokollierung mit »logger«
22.2.2 Dateien und anderes mit »open« öffnen
22.2.3 Sprachausgabe mit »say«
22.2.4 Mit »pbpaste« und »pbcopy« auf die Zwischenablage zugreifen
22.3 Werkzeuge zur Administration
22.3.1 Einstellungen mit »systemsetup« und »networksetup«
22.3.2 Energie (nicht) sparen mit »pmset« und »caffeinate«
23 Open-Source-Software installieren und nutzen
23.1 Grundlagen und erste Schritte
23.1.1 Xcode und Tools installieren
23.1.2 Der Dreiklang »configure«, »make«, »make install«
23.2 Open-Source-Software managen
23.2.1 Paketverwaltung mit den MacPorts
23.2.2 Paketverwaltung mit Homebrew
23.3 Der X11-Server XQuartz
23.3.1 X11 installieren und konfigurieren
23.3.2 X11 im Netzwerk nutzen
Teil VII Workshops
24 macOS für Webworker
24.1 Mehr als ein Browser: Safari
24.1.1 Kleine Helfer im Menü »Entwickler«
24.1.2 Das Fenster »Webinformationen«
24.1.3 Tests mit Selenium und safaridriver
24.2 Der Network Link Conditioner
24.3 Ein MAMP-System konfigurieren
24.3.1 Den Apache Webserver aktivieren und konfigurieren
24.3.2 Den MySQL-Datenbankserver installieren
24.4 Exkurs: Entwicklungs- und Testsysteme mit Docker
24.4.1 Docker installieren
24.4.2 Container installieren und nutzen
25 Eine eigene Wolke mit dem Mac: Virtual Appliances nutzen
25.1 Virtual Appliance und VirtualBox konfigurieren
25.1.1 VirtualBox installieren
25.1.2 Die Virtual Appliance importieren und abschließend konfigurieren
25.2 Nextcloud konfigurieren
25.2.1 Allowed Domains erweitern
25.2.2 Startseite löschen
25.2.3 Nextcloud aufrufen und administrieren
25.2.4 Die Nextcloud mit einem LaunchDaemon starten
25.3 Exkurs: Troubleshooting eines LaunchDaemons
25.4 Konfiguration des Netzwerks
25.4.1 Port-Weiterleitung konfigurieren
25.4.2 Dynamischen DNS-Dienst einrichten
26 Der Raspberry Pi 2 als Medienserver für macOS
26.1 Einführung und Grundlagen
26.2 XBian installieren
26.2.1 SD-Karte mit XBian vorbereiten
26.2.2 XBian auf dem Raspberry Pi 2 konfigurieren
26.2.3 Erste Konfiguration des Mediaplayers Kodi
26.2.4 Administration über SSH
26.3 Freigaben und Datenverwaltung
26.3.1 Eine Festplatte unter Linux formatieren
26.3.2 Bonjour mit Avahi realisieren
26.3.3 Der Raspberry Pi 2 als eine Art Time Capsule mit Netatalk 3.1
26.4 Kodi und Mediendienste konfigurieren
26.4.1 AirPlay aktivieren und nutzen
26.4.2 Medienbibliotheken übertragen und im Netzwerk nutzen
26.4.3 Kodi über iOS und den Browser fernsteuern
Teil VIII Troubleshooting
27 Prozesse und ihr Management
27.1 Einige Grundlagen
27.2 Prozesse mit der Aktivitätsanzeige überwachen
27.2.1 Informationen über Prozesse
27.2.2 Prozesse beenden
27.2.3 Systemauslastung überblicken
27.3 Prozesse am Terminal überwachen und kontrollieren
27.3.1 Übersicht mit »ps« und »top«
27.3.2 Prozesse beenden mit »kill« und »killall«
28 Probleme identifizieren und beheben
28.1 Informationen sammeln
28.1.1 Die Systeminformationen und die Kernel Extensions
28.1.2 Die Protokolle und das Dienstprogramm Konsole
28.1.3 Absturzprotokolle von Programmen
28.2 Abstürze und Kernel Panics
28.2.1 Programme zwangsweise beenden
28.2.2 Neustart des Rechners erzwingen
28.2.3 Kernel Panic
28.3 Das Rettungssystem von macOS
28.3.1 Installation auf einem USB-Stick
28.3.2 Das Rettungssystem starten und nutzen
28.3.3 Neuinstallation über das Rettungssystem
28.3.4 Passwörter von Benutzerkonten zurücksetzen
28.4 Rund um den Startvorgang von macOS
28.4.1 Der geschwätzige Systemstart
28.4.2 Sicherer Systemstart
28.4.3 Konsole statt grafischer Oberfläche
28.4.4 Den Rechner als Datenträger starten: der Festplattenmodus
28.4.5 Der Single-User-Modus
28.4.6 Apple Hardware Test und Apple Diagnostics
28.4.7 Das PRAM/NVRAM zurücksetzen
28.4.8 Den System Management Controller zurücksetzen
28.5 Weitere Maßnahmen
28.5.1 Preferences und Caches löschen
28.5.2 Fehlerhafte Darstellungen im Finder
28.5.3 Schriften als mögliche Problemquelle
28.6 Das System warten und optimieren?
Stichwortverzeichnis
Rechtliche Hinweise
Über den Autor

Citation preview

Kai Surendorf

macOS Das umfassende Handbuch für Power-User 2. Auflage 2018

Impressum Dieses E-Book ist ein Verlagsprodukt, an dem viele mitgewirkt haben, insbesondere: Lektorat   Stephan Mattescheck

Fachgutachten   Stephan Kochs

Korrektorat   Friederike Daenecke, Zülpich

Covergestaltung   Bastian Illerhaus

Coverbild   iStock: 592403488©takoburito, 518845966©PeopleImages, 168613172©temmuzcan

Herstellung E-Book   Norbert Englert

Satz E-Book   Kai Surendorf

Bibliografische Information der Deutschen Nationalbibliothek:

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. ISBN 978-3-8362-6015-2 2. Auflage 2018

© Rheinwerk Verlag GmbH, Bonn 2018

Liebe Leserin, lieber Leser, vermutlich haben Sie dieses Buch in die Hand genommen, weil es Ihnen geht wie mir: Sie arbeiten schon einige Zeit mit dem Mac, vielleicht sogar schon viele Jahre. Die grundsätzlichen Handgriffe beherrschen Sie aus dem Effeff. Sie ahnen oder wissen, dass Sie vieles einfacher und effektiver umsetzen könnten und es Funktionen gibt, von denen Sie zwar gehört, sie aber noch nie verwendet haben. Genau an dieser Stelle setzt das Buch von Kai Surendorf an. Viele kennen ihn vielleicht auch als Autor der umfangreichen Handbücher, die als deutschsprachige Standardliteratur zu Apples Betriebssystem gelten. In seinem neuen Werk greift er nun fortgeschrittene Frage- und Aufgabenstellungen auf, mit denen er im Laufe der Jahre immer wieder konfrontiert wurde und zeigt Ihnen hier Lösungen auf, wie Sie noch besser mit Ihrem Mac arbeiten können. In der aktuellen Auflage berücksichtigt das Buch nun auch Apples neues Dateisystem APFS. Ob Sie Power-User, Administrator, ambitionierter Anwender sind oder einfach nur Spaß an der Arbeit mit Ihrem Mac haben: Dieses Buch wird Ihnen mit seinen vielen Ideen und Projekten aus der Praxis wirklich weiterhelfen. Abschließend noch ein Hinweis in eigener Sache: Dieses Buch wurde mit großer Sorgfalt lektoriert und produziert. Sollten Sie dennoch Fehler finden oder inhalt­ liche Anregungen haben, scheuen Sie sich nicht, mit uns Kontakt aufzunehmen. Ihre Fragen

und Änderungswünsche sind uns jederzeit herzlich willkommen. Wir freuen uns auf den Dialog mit Ihnen. Viel Vergnügen beim Lesen wünscht Ihnen   Stephan Mattescheck

Lektorat Rheinwerk Computing [email protected]

www.rheinwerk-verlag.de Rheinwerk Verlag • Rheinwerkallee 4 • 53227 Bonn

Inhaltsverzeichnis Liebe Leser! Inhaltsverzeichnis

Vorwort Einleitung

Teil I   Alltägliche Aufgaben 1   Dateien und ihre Handhabung 1.1   Ein paar Tricks im Finder 1.1.1   Dateien kopieren, verschieben und umbenennen 1.1.2   Darstellungen und Darstellungsoptionen

1.2   Informationen über Dateien erlangen 1.2.1   Das Fenster »Infos zu« 1.2.2   Icons austauschen 1.2.3   Dateien mit Tags versehen

1.3   Metadaten, erweiterte Attribute und .DS_Store-Dateien 1.4   Zwei nützliche File-Flags 1.4.1   Änderungen unterbinden 1.4.2   (Un-)Sichtbarkeit von Dateien einstellen

1.5   Aliasse, symbolische und harte Links

1.6   Einblick in Bundles nehmen 1.7   Dateitypen und ihre Zuordnung 1.7.1   Typen Programmen zuweisen – die Launch Services 1.7.2   Dateityp herausfinden mit »file«

1.8   Dateien komprimieren und archivieren: Das Archivierungsprogramm

2   Suchen und Finden mit Spotlight und QuickLook 2.1   Einsicht mit QuickLook 2.1.1   Einblick erhalten und Überblick bewahren 2.1.2   QuickLook verstehen und erweitern

2.2   Spotlight 2.2.1   Spotlight aufrufen und Abfragen formulieren 2.2.2   Informationen jenseits von Dateien suchen 2.2.3   Nach Dateien im Finder suchen 2.2.4   Suchen dauerhaft in intelligenten Ordnern speichern 2.2.5   Spotlight in anderen Programmen: Mail, iTunes, Kontakte und Fotos 2.2.6   Die Funktionsweise von Spotlight 2.2.7   Spotlight verwalten und erweitern 2.2.8   Suchen und Finden am Terminal

3   Datenträger und Dateisysteme 3.1   Grundlagen und Hintergründe 3.1.1   Dateisysteme und Partitionsschemata 3.1.2   Mount-Points und Gerätedateien

3.1.3   Anmerkungen zum Apple File System (APFS) 3.1.4   Core Storage und Fusion Drive 3.1.5   Der S.M.A.R.T.-Status eines internen Datenträgers 3.1.6   Der »trimforce«-Befehl für SSDs

3.2   Das Festplattendienstprogramm 3.2.1   Informationen erhalten 3.2.2   Datenträger löschen und partitionieren 3.2.3   APFS: Container und Volumes 3.2.4   Dateisysteme prüfen und reparieren 3.2.5   Disk-Images erstellen und Ordnerstrukturen verschlüsseln 3.2.6   Partitionen archivieren, wiederherstellen und duplizieren

3.3   RAIDs und der Befehl »diskutil« 3.3.1   Der Befehl »diskutil« 3.3.2   Ein RAID erstellen

3.4   Weitere Konfigurationen und Hilfsmittel 3.4.1   Individuelle Mount-Points mit der Datei »/etc/fstab« 3.4.2   Weitere Dateisysteme mit OSXFUSE 3.4.3   Tools zur Datenrettung und Reparatur

4   Drucker einrichten 4.1   Drucker über die Systemeinstellungen verwalten 4.1.1   Drucker einrichten und Treiber installieren 4.1.2   Drucker konfigurieren und das Drucksystem zurücksetzen 4.1.3   Drucker im Netzwerk nutzen

4.2   Dokumente ausgeben 4.2.1   Der Druckdialog 4.2.2   Warteschlangen der Drucker steuern

4.3   Das Common UNIX Printing System – CUPS

4.3.1   Die Weboberfläche für CUPS aktivieren 4.3.2   Drucker und Druckaufträge verwalten 4.3.3   CUPS im Detail konfigurieren

4.4   PDF-Dateien mit Quartz-Filtern erstellen

5   Die Schriftsammlung von macOS 5.1   Einführung und Grundlagen 5.2   Die Schriftsammlung von macOS 5.2.1   Schriftarten überblicken und installieren 5.2.2   Sammlungen und Bibliotheken nutzen 5.2.3   Schriftarten überprüfen 5.2.4   Schriften und Dubletten deaktivieren

5.3   Administration am Terminal mit »atsutil«

Teil II   Administrativer Alltag 6   Benutzerkonten und Zugriffsrechte 6.1   Zugriffsrechte für Dateien und Ordner 6.1.1   Klassische Unix-Rechte vergeben und ändern 6.1.2   Detaillierte Zugriffsrechte mit den Access Control Lists 6.1.3   Einen Ordner für die Freigabe im Netzwerk vorbereiten

6.2   Benutzer und Gruppen verwalten 6.2.1   Drei Typen: »Standard«, »Administratoren« und »Nur Freigabe« 6.2.2   Benutzerkonten erstellen und konfigurieren 6.2.3   Benutzerkonten löschen und archivieren 6.2.4   Benutzer in Gruppen unterteilen

6.2.5   Passwörter im Griff mit dem Assistenten und »pwpolicy« 6.2.6   Anmeldeobjekte, Anmeldeoptionen und der schnelle Benutzerwechsel 6.2.7   Texte und Nachrichten im Anmeldefenster

6.3   Administratoren und der Super-User »root« 6.3.1   Benutzerwechsel am Terminal mit »su« und »sudo« 6.3.2   Der Super-User »root«

6.4   Verzeichnisdienste und die Datenbank »DSLocal« 6.4.1   Das Programm »Verzeichnisdienste« 6.4.2   Anbindung an einen Open-Directory-Server

7   Software installieren, aktualisieren und administrieren 7.1   Programme kaufen und installieren 7.1.1   Software über den App Store installieren 7.1.2   Updates über den App Store installieren 7.1.3   Software über Packages installieren 7.1.4   Der Gate Keeper von macOS

7.2   Software administrieren 7.2.1   Property-Listen und Voreinstellungsdateien 7.2.2   Umgebungsvariablen auslesen und setzen

7.3   Java installieren

8   Daten sichern 8.1   Überlegungen im Vorfeld 8.2   Die Time Machine konfigurieren und Backups erstellen

8.2.1   Festplatten mit der Time Machine nutzen 8.2.2   Datensicherung im Netzwerk 8.2.3   Weitere Konfigurationen vornehmen 8.2.4   Administration am Terminal mit »tmutil« 8.2.5   Ein Time-Machine-Backup verlagern oder übernehmen

8.3   Daten aus der Time Machine wiederherstellen 8.3.1   Gesicherte Dateien und Ordner verwalten 8.3.2   Kontakte und Mails rekonstruieren 8.3.3   Das System aus der Time Machine wiederherstellen

8.4   Über die Time Machine hinaus 8.4.1   Das Startvolume klonen 8.4.2   Alternativen und Ergänzungen zur Time Machine

9   Andere Welten: Windows, Linux und rEFInd 9.1   Windows mit Boot Camp installieren 9.1.1   Der Boot Camp-Assistent 9.1.2   Windows installieren 9.1.3   Boot-Camp-Treiber installieren und nutzen 9.1.4   Windows starten und nutzen 9.1.5   Windows entfernen 9.1.6   Nützliche Tools für Windows

9.2   Windows, Linux und macOS mit rEFInd installieren 9.2.1   Linux herunterladen und einen USB-Stick vorbereiten 9.2.2   Die Festplatte partitionieren 9.2.3   rEFInd installieren und konfigurieren 9.2.4   Windows 10 installieren 9.2.5   Ubuntu Linux installieren 9.2.6   Spezielle Startmodi von macOS mit rEFInd ausführen 9.2.7   rEFInd anpassen und entfernen

Teil III   Vernetztes Arbeiten 10   Mehr als ein einfacher Router: Die AirPortBasisstation 10.1   Inbetriebnahme und erste Schritte 10.1.1   Erstinstallation und grundlegende Konfiguration 10.1.2   Internetverbindung 10.1.3   Drahtlose Netzwerke konfigurieren 10.1.4   Zugang zu meinem Mac einrichten 10.1.5   Konfiguration exportieren, importieren und zurücksetzen

10.2   Das Netzwerk im Detail konfigurieren 10.2.1   Zugriffskontrollen aktivieren 10.2.2   Die Adressvergabe des DHCP-Servers konfigurieren 10.2.3   Port-Weiterleitungen über die Anschlusseinstellungen

10.3   Freigaben über die Basisstation 10.3.1   Laufwerke freigeben und einbinden 10.3.2   Drucker einbinden und freigeben

10.4   Das AirPort-Dienstprogramm für iOS

11   Weitere Netzwerkkonfigurationen 11.1   Umgebungen und Schnittstellen konfigurieren 11.1.1   Konfigurationen in Umgebungen sichern 11.1.2   Netzwerkschnittstellen konfigurieren 11.1.3   RADIUS-Profile einbinden und nutzen 11.1.4   Proxy-Server konfigurieren

11.2   Weitere Konfigurationen

11.2.1   Eine Verbindung mit einem Virtual Private Network (VPN) aufnehmen 11.2.2   Zugang zu meinem Mac über die iCloud 11.2.3   Ein drahtloses Netzwerk einrichten 11.2.4   Den Mac als Router nutzen

12   Rechner im Netzwerk fernsteuern 12.1   Bildschirmfreigaben und Virtual Network Computing 12.1.1   Ein macOS-System mit der Bildschirmfreigabe steuern 12.1.2   Virtual Network Computing (VNC) mit Linux

12.2   Verschlüsselte Verbindungen über SSH herstellen 12.2.1   Verbindung mit einem Passwort aufnehmen 12.2.2   Ein Schlüsselpaar für die Verbindung nutzen 12.2.3   Die Passphrase im Schlüsselbund hinterlegen 12.2.4   Bildschirmfreigabe mit SSH tunneln

13   Dateien übertragen und Ordner freigeben 13.1   Ordner freigeben und einbinden 13.1.1   Die Ansicht »Netzwerk« und der Dialog »Mit Server verbinden« 13.1.2   Freigaben über das Apple Filing Protocol (AFP) 13.1.3   Bandbreite mit Inhaltscaching sparen 13.1.4   Ordner mit dem Network File System (NFS) für Linux freigeben 13.1.5   ».DS_Store«-Dateien unterbinden und mit »dot_clean« aufräumen

13.2   Weitere Möglichkeiten zur drahtlosen Datenübertragung

13.2.1   Dateien mittels AirDrop übertragen 13.2.2   Der Bluetooth-Datenaustausch

13.3   Nützliche Tools am Terminal 13.3.1   Dateien kopieren mit »scp« 13.3.2   Verzeichnisse synchronisieren mit »rsync« 13.3.3   Downloads mit »curl«

14   macOS und Windows im Netzwerk 14.1   Freigaben im Netzwerk 14.1.1   NetBIOS-Name und Arbeitsgruppe konfigurieren 14.1.2   Windows-Rechner und die Ansicht »Netzwerk« im Finder 14.1.3   Ordner für Windows freigeben und einbinden 14.1.4   Der Befehl »smbutil« am Terminal

14.2   Weitere Dienste 14.2.1   Benutzerverwaltung in einem Active Directory 14.2.2   macOS an Microsoft Exchange anbinden 14.2.3   Fernsteuerung mit dem Microsoft Remote Desktop 14.2.4   Drucker im Windows-Netzwerk

15   Netzwerkprobleme beheben 15.1   Die WLAN-Diagnose von Apple 15.2   Das Netzwerkdienstprogramm 15.2.1   Informationen erhalten 15.2.2   Einen Rechner anpingen 15.2.3   Den Internetweg mit »Trace« verfolgen 15.2.4   Einen Portscan durchführen

15.3   Werkzeuge am Terminal

15.3.1   Der Befehl »ping« 15.3.2   Kommunikation mit »traceroute« nachverfolgen 15.3.3   Datenverkehr mit »tcpdump« überwachen 15.3.4   Portscan mit »stroke« durchführen

Teil IV   Sicherheit und Privatsphäre 16   Das Betriebssystem und den Rechner absichern 16.1   Rund um Benutzerkonten und die Anmeldungen 16.1.1   Bildschirmschoner und Ruhezustand absichern 16.1.2   Gastbenutzer deaktivieren 16.1.3   Ein EFI-Passwort setzen 16.1.4   Das Startvolume mit FileVault 2 verschlüsseln

16.2   Weitere Sicherheitsmechanismen des Systems 16.2.1   Prozesse in Sandboxen 16.2.2   Die System Integrity Protection (SIP) verstehen und verwalten

17   Die Kommunikation absichern und verschlüsseln 17.1   E-Mails verschlüsseln 17.1.1   Zertifikate zur Verschlüsselung nutzen 17.1.2   E-Mails mit den GPGTools verschlüsseln

17.2   Die Schlüsselbundverwaltung 17.2.1   Passwörter im Schlüsselbund speichern 17.2.2   Zertifikate verwalten

17.2.3   Sichere Notizen anlegen

17.3   Die Firewalls von macOS 17.3.1   Die Funktionsweise der Application Level Firewall 17.3.2   Der Package Filter PF 17.3.3   Firewalls von Drittherstellern

17.4   Weitere Maßnahmen 17.4.1   Mail konfigurieren 17.4.2   Safari konfigurieren

Teil V   Automatisierung 18   Der Automator und die Dienste 18.1   Ein erster Arbeitsablauf 18.1.1   Das Funktionsprinzip des Automators 18.1.2   Abläufe protokollieren und schrittweise ausführen

18.2   Variablen und Interaktion in Abläufen 18.2.1   Variablen in Abläufen setzen und nutzen 18.2.2   Entscheidungen und Eingaben vom Anwender anfordern

18.3   Arbeitsabläufe in das System integrieren 18.3.1   Abläufe als Dienste mit Kurzbefehlen ausführen 18.3.2   Abläufe an Ordner anhängen: Ordneraktionen 18.3.3   Mit PDF-Dateien arbeiten 18.3.4   Aktionen zeitgesteuert als Kalenderaktionen ausführen 18.3.5   Aktionen als Programme speichern

19   JavaScript for Automation (JXA) 19.1   Ein erstes JavaScript: »Hallo Welt« im Finder

19.1.1   Der Skript-Editor 19.1.2   Den Finder ansprechen und einen Dialog anzeigen 19.1.3   Apple-Events, Objekte und die Bibliothek verstehen und nutzen 19.1.4   Die »StandardAdditions« nutzen 19.1.5   Benutzerkonten und die System-Events

19.2   JavaScript for Automation in der Praxis 19.2.1   Dialoge und Eingaben auswerten und nutzen 19.2.2   Nummerierung von Titeln in iTunes korrigieren 19.2.3   Auf Dateien und Ordner zugreifen 19.2.4   Kontaktdaten als CSV-Datei exportieren 19.2.5   E-Mails mit Anreden erstellen

19.3   JavaScript ins System integrieren 19.3.1   Das Skriptmenü 19.3.2   JavaScript im Automator nutzen 19.3.3   JavaScript-Programme als Apps speichern 19.3.4   Mit JavaScript auf die Shell zugreifen

19.4   Fehlern und Bugs auf der Spur 19.4.1   Der Protokollverlauf im Skript-Editor 19.4.2   Den Debugger mit Safari nutzen

20   Server und Dienste mit »launchd« steuern 20.1   Grundlagen der Arbeit mit »launchd« 20.1.1   Aufgaben und Einsatzgebiete von »launchd« 20.1.2   LaunchDaemons, LaunchAgents und Domänen 20.1.3   Der grundlegende Aufbau einer PLIST für »launchd«

20.2   Zwei Beispielkonfigurationen 20.2.1   Zeitgesteuerte Kopiervorgänge mit einem LaunchAgent

20.2.2   Ein Prototyp für einen LaunchDaemon 20.2.3   Die Arbeit von »launchd« mit den Protokollen überwachen

Teil VI   Einstieg ins Terminal 21   Befehle verstehen und ausführen 21.1   Erste Schritte 21.1.1   Der Prompt 21.1.2   Ein erster Befehl mit Optionen und Parametern 21.1.3   Hintergründe zum Terminal, zur Shell und zu den Befehlen

21.2   Die Dokumentation 21.2.1   Die Man-Pages 21.2.2   Weitere Informationsquellen

21.3   Mit Dateien und Verzeichnissen arbeiten 21.3.1   Mit »cd«, »pwd« und »ls« im Dateisystem navigieren 21.3.2   Dateien und Ordner kopieren, verschieben und löschen 21.3.3   Zeit und Arbeit sparen mit Jokerzeichen

21.4   Mit Texten arbeiten 21.4.1   Texte mit »less« anzeigen 21.4.2   Texte mit »nano« bearbeiten

21.5   Ein paar Tipps und Tricks für den Alltag 21.5.1   Befehlshistorie und automatisches Vervollständigen 21.5.2   Den Cursor positionieren 21.5.3   Drag & Drop ins Terminalfenster 21.5.4   Das Terminal und die Zwischenablage 21.5.5   Das Dienstprogramm Terminal konfigurieren

22   Spezielle Befehle von macOS 22.1   Produktives Arbeiten 22.1.1   Bildbearbeitung mit »sips« 22.1.2   Texte konvertieren mit »textutil« 22.1.3   Audiodateien mit »afconvert«, »afinfo« und »afplay« konvertieren 22.1.4   Videodateien mit »avconvert« und »qtmodernizer« konvertieren

22.2   Ein paar Tools für den Arbeitsalltag 22.2.1   Protokollierung mit »logger« 22.2.2   Dateien und anderes mit »open« öffnen 22.2.3   Sprachausgabe mit »say« 22.2.4   Mit »pbpaste« und »pbcopy« auf die Zwischenablage zugreifen

22.3   Werkzeuge zur Administration 22.3.1   Einstellungen mit »systemsetup« und »networksetup« 22.3.2   Energie (nicht) sparen mit »pmset« und »caffeinate«

23   Open-Source-Software installieren und nutzen 23.1   Grundlagen und erste Schritte 23.1.1   Xcode und Tools installieren 23.1.2   Der Dreiklang »configure«, »make«, »make install«

23.2   Open-Source-Software managen 23.2.1   Paketverwaltung mit den MacPorts 23.2.2   Paketverwaltung mit Homebrew

23.3   Der X11-Server XQuartz

23.3.1   X11 installieren und konfigurieren 23.3.2   X11 im Netzwerk nutzen

Teil VII   Workshops 24   macOS für Webworker 24.1   Mehr als ein Browser: Safari 24.1.1   Kleine Helfer im Menü »Entwickler« 24.1.2   Das Fenster »Webinformationen« 24.1.3   Tests mit Selenium und safaridriver

24.2   Der Network Link Conditioner 24.3   Ein MAMP-System konfigurieren 24.3.1   Den Apache Webserver aktivieren und konfigurieren 24.3.2   Den MySQL-Datenbankserver installieren

24.4   Exkurs: Entwicklungs- und Testsysteme mit Docker 24.4.1   Docker installieren 24.4.2   Container installieren und nutzen

25   Eine eigene Wolke mit dem Mac: Virtual Appliances nutzen 25.1   Virtual Appliance und VirtualBox konfigurieren 25.1.1   VirtualBox installieren 25.1.2   Die Virtual Appliance importieren und abschließend konfigurieren

25.2   Nextcloud konfigurieren 25.2.1   Allowed Domains erweitern

25.2.2   Startseite löschen 25.2.3   Nextcloud aufrufen und administrieren 25.2.4   Die Nextcloud mit einem LaunchDaemon starten

25.3   Exkurs: Troubleshooting eines LaunchDaemons 25.4   Konfiguration des Netzwerks 25.4.1   Port-Weiterleitung konfigurieren 25.4.2   Dynamischen DNS-Dienst einrichten

26   Der Raspberry Pi 2 als Medienserver für macOS 26.1   Einführung und Grundlagen 26.2   XBian installieren 26.2.1   SD-Karte mit XBian vorbereiten 26.2.2   XBian auf dem Raspberry Pi 2 konfigurieren 26.2.3   Erste Konfiguration des Mediaplayers Kodi 26.2.4   Administration über SSH

26.3   Freigaben und Datenverwaltung 26.3.1   Eine Festplatte unter Linux formatieren 26.3.2   Bonjour mit Avahi realisieren 26.3.3   Der Raspberry Pi 2 als eine Art Time Capsule mit Netatalk 3.1

26.4   Kodi und Mediendienste konfigurieren 26.4.1   AirPlay aktivieren und nutzen 26.4.2   Medienbibliotheken übertragen und im Netzwerk nutzen 26.4.3   Kodi über iOS und den Browser fernsteuern

Teil VIII   Troubleshooting

27   Prozesse und ihr Management 27.1   Einige Grundlagen 27.2   Prozesse mit der Aktivitätsanzeige überwachen 27.2.1   Informationen über Prozesse 27.2.2   Prozesse beenden 27.2.3   Systemauslastung überblicken

27.3   Prozesse am Terminal überwachen und kontrollieren 27.3.1   Übersicht mit »ps« und »top« 27.3.2   Prozesse beenden mit »kill« und »killall«

28   Probleme identifizieren und beheben 28.1   Informationen sammeln 28.1.1   Die Systeminformationen und die Kernel Extensions 28.1.2   Die Protokolle und das Dienstprogramm Konsole 28.1.3   Absturzprotokolle von Programmen

28.2   Abstürze und Kernel Panics 28.2.1   Programme zwangsweise beenden 28.2.2   Neustart des Rechners erzwingen 28.2.3   Kernel Panic

28.3   Das Rettungssystem von macOS 28.3.1   Installation auf einem USB-Stick 28.3.2   Das Rettungssystem starten und nutzen 28.3.3   Neuinstallation über das Rettungssystem 28.3.4   Passwörter von Benutzerkonten zurücksetzen

28.4   Rund um den Startvorgang von macOS 28.4.1   Der geschwätzige Systemstart

28.4.2   Sicherer Systemstart 28.4.3   Konsole statt grafischer Oberfläche 28.4.4   Den Rechner als Datenträger starten: der Festplattenmodus 28.4.5   Der Single-User-Modus 28.4.6   Apple Hardware Test und Apple Diagnostics 28.4.7   Das PRAM/NVRAM zurücksetzen 28.4.8   Den System Management Controller zurücksetzen

28.5   Weitere Maßnahmen 28.5.1   Preferences und Caches löschen 28.5.2   Fehlerhafte Darstellungen im Finder 28.5.3   Schriften als mögliche Problemquelle

28.6   Das System warten und optimieren?

Stichwortverzeichnis Rechtliche Hinweise Über den Autor

Vorwort Apples Betriebssystem kann mittlerweile auf eine lange Geschichte zurückblicken, die sich an den Namenswechseln zeigt. Ursprünglich auf dem System NeXTSTEPbasierend, hieß es zunächst Mac OS X. Das Kürzel »Mac« ist dann im Laufe der Zeit weggefallen, sodass es einige Jahre nur noch OS X hieß. Mittlerweile hat Apple sich wieder umentschieden, und nun heißt das aktuelle System »macOS«. Im Laufe der letzten fast zwanzig Jahre hat sich sehr viel geändert – nicht nur der Name. Es ist immer noch dasselbe System, aber es hat viele Wandlungen durchlaufen. Dabei finden diese Änderungen gar nicht mal so sehr an der Oberfläche statt. Die grundlegende Bedienung der grafischen Oberfläche von Mac OS X 10.2 Jaguar unterscheidet sich nicht wesentlich von derjenigen unter macOS 10.13 High Sierra. Den Unterschied machen vielmehr die kleinen und großen Details unter der Oberfläche, die Apple im Laufe der Jahre immer wieder angepasst, modifiziert, erweitert, ergänzt, überarbeitet und auch entfernt hat. In diesem Buch behandele ich gerade diese nicht immer offensichtlichen Details. Nur wenn Sie wissen, was sich im Hintergrund des Systems abspielt, wie die Time Machine aufgebaut ist, welche Chancen und Grenzen das neue Dateisystem APFS mit sich bringt, wie »launchd« funktioniert und welchen Nutzen Sie jeweils daraus ziehen können, werden Sie mit macOS 10.13 High Sierra wirklich effizient arbeiten. Dieses Buch richtet sich an ambitionierte Anwender jeglicher Couleur, die aus ihrem System und Rechner mehr herausholen, im Arbeitsalltag Zeit sparen und schneller ans Ziel kommen möchten. Dabei ist es unerheblich, ob Sie bisher mit Windows, Linux oder

macOS gearbeitet haben. Ihnen werden Hintergründe und Grundlagen in der Form erklärt, in der sie zum Erreichen des jeweiligen Ziels notwendig sind; auf längere historische oder theoretische Exkurse wird jedoch verzichtet. Beim Schreiben dieses Buches ist es mir ein Anliegen, Ihnen möglichst viel Wissen zu vermitteln, das Sie praktisch nutzen werden, um Ihren Alltag angenehmer und effektiver zu gestalten. Die Arbeit an einem Manuskript findet nicht in einem luftleeren Raum statt. Mein Lektor Stephan Mattescheck begleitet mich und meine Bücher nunmehr seit anderthalb Jahrzehnten. Friederike Daenecke hat nicht zum ersten Mal eine fehlerfreie Orthografie und Interpunktion sichergestellt. Und Stephan Kochs hat die einzelnen Kapitel ebenso engagiert wie fachlich kompetent begutachtet. Mehrere hundert Seiten zu einem Betriebssystem zu durchdenken, zu konzipieren, zu schreiben und zu korrigieren ist für mich jedes Mal ein modernes Abenteuer am Schreibtisch. Dementsprechend freue ich mich über Ihre Rückmeldungen, Hinweise, Lob und Kritik. Meine Webseite zum Buch http://mac.delta-c.de bietet Ihnen neben einem Weblog zum aktuellen Marktgeschehen weiterführende Artikel und auch ein kleines Diskussionsforum. Ich wünsche Ihnen eine ebenso vergnügliche wie produktive Lektüre. Berlin

Kai Surendorf

[email protected]

Einleitung Jedes Buch, das sich nicht an absolute Neulinge richtet, muss an einem gewissen Punkt ansetzen. Um den Ausführungen in diesem Buch folgen und die Informationen in Ihrer täglichen Arbeit umsetzen zu können, sind nur Grundkenntnisse und Grundbegriffe der IT nötig. Es ist vollkommen ausreichend, wenn Sie Ihren Rechner im Arbeitsalltag sicher bedienen können, über den Zweck beispielsweise von Benutzerkonten ungefähr informiert sind, wissen, wie Sie E-Mails verschicken und empfangen, und vielleicht schon ein grundlegendes Verständnis von Netzwerktechnologien entwickelt haben. Der schönen Optik des iOS zum Trotz werden die Brot- und-ButterAnwendungen, wie etwa Textverarbeitung, Datensicherung, Bildbearbeitung und vieles mehr, immer noch am Rechner erledigt. Dieses Buch möchte Ihnen hier zur Seite stehen und Ihnen viele Tipps, Tricks und Methoden aufzeigen und erklären, mit denen Sie Ihren Arbeitsalltag effizienter und damit auch angenehmer gestalten können. Hinter der leicht zu bedienenden Oberfläche von macOS verbirgt sich ein vollständiges Unix-Betriebssystem, dessen Fähigkeiten nur darauf warten, von Ihnen entdeckt und genutzt zu werden. In den letzten Jahren hat Apple bei der Entwicklung von macOS ein wenig zur Vereinfachung tendiert – eine Strategie, die mittlerweile aber wieder aufgegeben wurde. macOS High Sierra stellt vielleicht so etwas wie eine Zwischenphase dar, in der mit dem neuen Dateisystem APFS und anderen eher kleinen Änderungen auch professionelle Anwender und Administratoren angesprochen werden. Welche Richtung Apple in naher Zukunft einschlagen wird –

ob weitere Vereinfachung oder erneuter Ausbau der Funktionen – ist noch nicht ganz klar abzusehen. Um die Eingabe von Befehlen im Programm Terminal werden Sie in vielen Fällen jedoch nicht umhinkommen. Sollten Sie mit der Eingabe von Befehlen noch nicht vertraut sein, dann finden Sie in diesem Buch alle notwendigen Informationen, um sich dieses Thema zu erschließen und Ihr System gemäß Ihren persönlichen Anforderungen zu konfigurieren. Auf den ersten Blick mag die Eingabe von Befehlen am Terminal für Neulinge etwas kompliziert und abstrakt erscheinen, aber sobald Sie sich ein wenig damit vertraut gemacht haben, wirkt das Terminal alles andere als kryptisch. In diesem Buch werden die unterschiedlichsten Themen behandelt. Nahezu alle Kapitel sind so aufgebaut, dass Sie sich nach der Lektüre sicher in dem Thema zurechtfinden und praktische Ergebnisse erzielt haben werden. Naturgemäß ist das Vorgehen dabei immer etwas unterschiedlich. Die Spannbreite reicht hier von der Einrichtung und Konfiguration von Benutzerkonten über die Nutzung der Programmiersprache JavaScript zur Automatisierung bis hin zu ganzen Installationsanleitungen, damit Sie etwa eine virtuelle Maschine im Hintergrund automatisch starten können. Fortgeschrittenere Themen wie die Installation und Nutzung von Docker, das eher von Softwareentwicklern verwendet wird, werde ich dabei nicht aussparen, denn in vielen Fällen erweisen sich solche Tools und Programme auch im Alltag von ambitionierten Heimanwendern als nützlich. Und so schwierig ist die Materie in den allermeisten Fällen dann doch nicht. Die fast dreißig Kapitel sind in acht Teile gegliedert.

Teil 1: Alltägliche Aufgaben

In den fünf Kapiteln dieses Teils erfahren Sie Einzelheiten über die Arbeit mit Dateien und Ordnern. Die Suchfunktion von macOS, Spotlight, erweist sich als ein mächtiges Werkzeug, mit dem Sie schnell Informationen erhalten. Ebenso behandele ich die Administration von Datenträgern und Dateisystemen. Und da die Zeiten des papierlosen Büros noch immer nicht angebrochen sind, werde ich in diesem Zusammenhang auch die Einrichtung von Druckern und die Verwaltung von Schriftarten erläutern. Teil 2: Administrativer Alltag

Dieser Teil widmet sich den Funktionen, mit denen Sie das Betriebssystem administrieren und verwalten. Dazu gehört neben der Verwaltung von Benutzerkonten auch die Erstellung von Datensicherungen mit der Time Machine. Darüber hinaus werde ich die Installation und Aktualisierung von Software beschreiben, wobei ich auch das System der Voreinstellungen von macOS erläutern werde. Abschließend erfahren Sie, wie Sie auf Ihrem Rechner sowohl Windows als auch zusätzlich Linux installieren können. Teil 3: Vernetztes Arbeiten

Für die Arbeit im Netzwerk bringt macOS eine Vielzahl von Funktionen und Möglichkeiten mit. Sie lernen in diesem Zusammenhang, wie Sie eine AirPort-Basisstation als Router einsetzen und konfigurieren. Die Fernsteuerung von Rechnern über das Netzwerk werde ich ebenso erläutern wie die Freigabe von Dateien und Ordnern im Netzwerk und die Einbindung eines Apple-Rechners in ein Windows-Netzwerk. Da auch die Arbeit im Netzwerk nicht immer problemlos verläuft, erfahren Sie auch, wie Sie Problemen auf die Spur kommen.

Teil 4: Sicherheit und Privatsphäre

Im ersten Kapitel dieses Teils steht zunächst die Absicherung des eigenen Rechners im Vordergrund. Sie erfahren, wie Sie Ihren Rechner vor unbefugten Zugriffen schützen. Das zweite Kapitel widmet sich der sicheren Kommunikation, zu der unter anderem die Verschlüsselung von E-Mails über PGP gehört. Teil 5: Automatisierung

Routineaufgaben lassen sich unter macOS hervorragend automatisieren. Mit dem Automator erstellen Sie mit wenigen Mausklicks vollständige Arbeitsabläufe, die Sie auch auf Tastendruck ausführen können. Beherrschen Sie bereits die Programmiersprache JavaScript ein wenig, dann können Sie Ihre Kenntnisse nutzen, um komplexere Aufgabenstellungen zu bewältigen. Systemdienste und Hintergrundprogramme werden schließlich über »launchd« gesteuert. Auch hierzu erhalten Sie einen Einblick und erfahren, wie Sie Programme im Hintergrund automatisch ausführen. Teil 6: Einstieg ins Terminal

Für die fortgeschrittenere Administration von macOS ist die Eingabe von Befehlen am Terminal unverzichtbar. Für den Fall, dass Sie damit noch nicht in Berührung gekommen sind, erhalten Sie zunächst eine grundlegende Einführung. macOS verfügt darüber hinaus über einige Befehle, die Sie unter Linux oder einem anderen Unix-System nicht finden werden. Schließlich können Sie über die MacPorts oder Homebrew aus dem reichen Fundus der Open-Source-Welt schöpfen. Teil 7: Workshops

In diesem Teil finden Sie in sich abgeschlossene Anleitungen, mit denen Sie ein bestimmtes Ziel erreichen. Möchten Sie Dateien und Ordner in Ihrem eigenen Cloud-Server speichern, dann bietet

sich die Nutzung der Nextcloud an. Ferner bietet macOS von Haus aus einige Funktionen, die für ambitionierte Web-Designer und Entwickler sehr nützlich sein können. Und schließlich können Sie den Mini-Computer Raspberry Pi mit ein paar Installationen zu einem Medienserver für macOS aufrüsten, der Ihnen auch die Datensicherung mit der Time Machine im Netzwerk ermöglicht. Teil 8: Troubleshooting

Kein System ist perfekt, und auch mit macOS kann es hin und wieder zu Problemen kommen. Welche Strategien und Methoden Ihnen in solchen Situationen helfen werden, erfahren Sie in den zwei Kapiteln dieses Teils. [ ! ] Damit Sie den Erklärungen in diesem Buch folgen können, sei abschließend noch auf einige Konventionen hingewiesen. Sie werden an recht wenigen Stellen am Rand ein Ausrufezeichen finden. Solche Absätze stellen Warnungen dar und weisen Sie auf Sachverhalte oder Vorgehensweisen hin, die mit Datenverlusten einhergehen können. Diese Informationen sollten Sie in jedem Fall zur Kenntnis nehmen. [✓] Absätze, die mit diesem Icon gekennzeichnet wurden, enthalten Tastenkürzel und andere Hinweise, die Ihnen ein wenig Arbeit abnehmen können. [+] Mit diesem Icon markierte Absätze enthalten einen Hinweis, der Sie vor unnötigen Mehraufwänden und ineffizienter Arbeitsweise warnt. Ordnerstrukturen werden in der Form /Name/des/Ordners angegeben. Hierbei besagt der erste Schrägstrich, dass von der obersten Ebene des Startvolumes ausgegangen wird. Haben Sie also Ihr System von einer Partition mit dem Namen Macintosh HD gestartet, dann weist die Pfadangabe /System/Library auf den

Unterordner Library im Ordner System hin. Die Tilde (~) bezeichnet Ihr persönliches Verzeichnis, das im Finder mit einem Icon in Form eines Hauses versehen wird und sich im Ordner /Benutzer befindet. Befehle, die Sie am Terminal eingeben können, sowie ihre Ausgaben werden in einer anderen Schrift dargestellt. Eine Angabe wie ls Documents bedeutet, dass Sie »ls Documents« am Terminal eingeben und die Eingabe mit der Taste (¢) abschließen. »Befehl« – »Gedächtnisstütze« Aufbau des Befehls

Damit Sie sich den Aufbau eines Befehls leicht merken können, führe ich ihn in Form eines Kastens auf. Da der Name eines Befehls in vielen Fällen ein Akronym oder eine Abkürzung darstellt, finden Sie, sofern es angebracht ist, eine entsprechende Gedächtnisstütze.

TEIL I

Alltägliche Aufgaben Die Arbeit mit Dateien, Ordnern, Dateisystemen und Datenträgern gehört zum festen Alltag eines jeden Anwenders. Sie erfahren in den folgenden fünf Kapiteln, wie Sie Dateien und Ordner organisieren und verwalten, sie mit Spotlight schnell finden und wie Sie Festplatten und Datenträger formatieren, partitionieren und verschlüsseln. Die Arbeit mit Druckern und die Verwaltung von Schriftarten werde ich in zwei weiteren Kapiteln behandeln.

1    Dateien und ihre Handhabung Dateien und Ordner lassen sich über den Finder bequem verwalten. Aber die Arbeit mit Dateien beschränkt sich nicht auf das Kopieren, Verschieben und Löschen. In diesem Kapitel stelle ich Ihnen Dateiattribute, Informationen, die LaunchServices und das Archivierungsprogramm vor. Der Finder ist schon seit Urzeiten Bestandteil der Betriebssysteme von Apple. Im Laufe der Zeit wurde er immer weiter verbessert und ergänzt. Unter macOS 10.13 beherrscht er die Darstellung von Tabs in einem Fenster, hat ein hohes Maß an Stabilität erreicht und bietet insbesondere mit QuickLook eine Funktion, die weit über die übliche Arbeit mit Dateien hinausgeht. Wie Sie mit dem Finder arbeiten, ob Sie die Darstellung als Liste oder Spalten bevorzugen, Tastenkürzel verwebefindet sich am unteren Randen oder auf die Maus zurückgreifen, ist in erster Linie eine Frage der eigenen Präferenzen und auch der Gewohnheiten, die sich im Laufe der Jahre eingestellt haben. Zu Beginn finden Sie ein paar allgemeine Tipps für die Arbeit mit dem Finder. In diesem Kapitel möchte ich aber in erster Linie bei den Themen ansetzen, die ein wenig über den Finder selbst hinausgehen. Neben dem in vielfacher Hinsicht nützlichen Fenster Infos zu sind dies die erweiterten Attribute einer Datei. Die (Un-)Sichtbarkeit und (Un-)Veränderbarkeit einer Datei definieren Sie über File-Flags. Ferner erkläre ich symbolische und harte Links sowie Verweise auf Dateien und Ordner über Aliasse. Die Zuordnung einer Datei und eines Dateityps zu einem Programm wird durch die Launch Services vorgenommen, deren Funktionsweise ich in

Abschnitt 1.7 erkläre. Schließlich können Sie das Archivierungsprogramm an Ihre persönlichen Anforderungen anpassen. In diesem Kapitel nehme ich an einigen Stellen auf das Terminal Bezug. Wenn Sie sich mit dem Terminal noch nicht vertraut gemacht haben, dann können Sie in der Regel die in Abschnitt 21.5.3 beschriebene Drag & Drop-Methode nutzen, um die Dateien in das Fenster des Terminals zu ziehen und vorerst nicht selbst im Dateisystem navigieren und Sonderzeichen maskieren zu müssen. Welche der in diesem Kapitel beschriebenen Funktionen Sie nutzen und in Ihren Arbeitsalltag integrieren, hängt allein von Ihren persönlichen Präferenzen und Ihrer Datenstruktur ab. Es kann sich lohnen, mit den Tags zu experimentieren und über Aliasse und symbolische Links Verzeichnisse miteinander zu verknüpfen.

1.1    Ein paar Tricks im Finder Die Arbeit mit dem Finder ist eigentlich ganz intuitiv, und aufgrund der Zugriffsrechte ist auch für den weniger versierten Anwender das Fehlerpotenzial eher gering. In diesem Abschnitt stelle ich Ihnen einige weniger offensichtliche Funktionen und Einstellungen vor. 1.1.1    Dateien kopieren, verschieben und umbenennen

Um eine Datei oder einen Ordner zu verschieben, können Sie das betreffende Objekt einfach mit der Maus in den neuen Ordner ziehen. Halten Sie hierbei jedoch die Taste (alt) gedrückt, dann wird die Datei oder der Ordner kopiert. Anders verhält es sich, wenn Sie die Datei oder den Ordner in einen Ordner verschieben möchten, der sich auf einer anderen Partition

oder Festplatte befindet. In diesem Fall findet in den Grundeinstellungen immer ein Kopiervorgang statt. Halten Sie in einer solchen Situation die Taste (š) gedrückt, dann wird die Datei oder der Ordner verschoben. Sie erkennen dies daran, dass das grüne Pluszeichen verschwindet. Genau genommen wird die Datei oder der Ordner erst kopiert und dann vom ursprünglichen Ort gelöscht. Um eine Datei oder einen Ordner umzubenennen, klicken Sie das Objekt zweimal nacheinander an, wobei Sie zwischen den Mausklicks etwas warten sollten. Alternativ können Sie auch (¢) drücken, um das ausgewählte Objekt umzubenennen.

Abbildung 1.1    Der Finder ermöglicht bei der Umbenennung die automatische Nummerierung der ausgewählten Objekte.

Möchten Sie mehrere Dateien oder Ordner in einem Durchgang umbenennen, dann wählen Sie sie zunächst aus. Eine mehrfache Auswahl tätigen Sie, indem Sie die Taste (ª) gedrückt halten und einen zweiten Mausklick auf eine andere Datei ausführen. Die dazwischenliegenden Dateien und Ordner werden ebenfalls ausgewählt. Halten Sie stattdessen die Taste (š) gedrückt, dann können Sie nacheinander alle gewünschten Objekte der Auswahl hinzufügen. Für die Umbenennung der ausgewählten Objekte wählen Sie dann den Menüpunkt Ablage • (Anzahl) Objekte umbenennen. Nun erscheint der Dialog aus Abbildung 1.1. Hier wählen Sie zunächst links oben die Methode aus. Sie können zunächst Text ersetzen oder Text

hinzufügen. Unter Format veranlassen Sie eine automatische

Nummerierung der ausgewählten Dateien. Ferner ist es über die Option Name und Datum möglich, das aktuelle Datum dem Namen hinzuzufügen. 1.1.2    Darstellungen und Darstellungsoptionen

Welche Darstellungsform des Ordnerinhalts Sie bevorzugen, ist in erster Linie eine Frage des Geschmacks und der Gewohnheiten. Unabhängig von der Darstellung als Liste, Icons, Spalten oder Cover Flow sollten Sie die Pfadleiste über den Menüpunkt Darstellung • Pfadleiste einblenden. Diese Leiste befindet sich am unteren Rand des Fensters (siehe Abbildung 1.2) und zeigt Ihnen die übergeordneten Ordner an. Die über Darstellung • Statusleiste einblenden aufrufbare Leiste zeigt Ihnen ganz unten die Anzahl der ausgewählten Objekte sowie den verfügbaren Speicherplatz auf der Partition an.

Abbildung 1.2    Der Finder kann auch eine Vorschau der ausgewählten Datei anzeigenund sogar Audio- und Videodateien abspielen.

Die Vorschau, die Sie über Darstellung • Vorschau einblenden oder die Tastenkombination (š)+(P) einblenden, enthält eine Übersicht des

Inhalts und weitere Informationen zu der Datei, sofern macOS den Dateityp interpretieren kann. Eine Musik- oder Filmdatei können Sie auch im Finder abspielen, indem Sie den Mauspfeil über der Vorschau platzieren. Dann erscheint ein Icon zum Start der Wiedergabe. Führen Sie einen Rechtsklick über einer Datei oder einem Ordner aus, dann erscheint ein Kontextmenü, das die gebräuchlichen Befehle aus dem Menü des Finders direkt zugänglich macht. Sie können auch das Icon Aktion in der Symbolleiste aufrufen, um die Menüpunkte zu erreichen.

Abbildung 1.3    In den Darstellungsoptionen legen Sie auch die Ausrichtung fest.

Die Darstellung der Ordner im Fenster konfigurieren Sie in dem Fenster Darstellungsoptionen (siehe Abbildung 1.3), das Sie über den

Menüpunkt Darstellung • Darstellungsoptionen einblenden oder mit der Tastenkombination (š)+(J) aufrufen. Hier legen Sie unter Ausrichten nach fest, ob der Inhalt des Ordners gruppiert werden soll. Neben der Ausrichtung nach Name, was einer alphabetischen Sortierung entspricht, können Sie auch die Ausrichtung nach Art, Programm, Erstellungsdatum oder beispielsweise Zuletzt geöffnet vornehmen. Welche dieser Ausrichtungen für Sie sinnvoll ist, hängt von Ihrem Datenbestand und Ihrer Arbeitsweise ab. Richten Sie die Dateien und Ordner nach dem Datum der Erstellung aus, dann erscheinen die aktuellsten Dateien oben. Die Ausrichtung nach Art ermöglicht es Ihnen, PDF-, Word-, Text- und Musikdateien konsequent auseinanderzuhalten (siehe Abbildung 1.4).

Abbildung 1.4    Den Inhalt eines Ordners können Sie auch nach Art, Änderungs- oder Öffnungsdatum ausrichten.

Welche Sortierung zum Tragen kommt, legen Sie ebenfalls in den Darstellungsoptionen fest. Haben Sie sich für eine Ausrichtung entschieden, dann bezieht sich die Sortierung auf die Reihenfolge innerhalb der jeweiligen Gruppe. In der Listen- und der Cover-Flow-Ansicht steht Ihnen eine Reihe von Spalten zur Verfügung, deren Anzeige Sie ebenfalls in den

Darstellungsoptionen konfigurieren. Welche Spalte für die Sortierung genutzt wird, entscheiden Sie, indem Sie die Spalte einmal anklicken. Mit einem erneuten Klick auf die Spalte kehren Sie die Sortierreihenfolge um. Am Rande: Die Breite einer Spalte ändern Sie, indem Sie den Mauspfeil genau zwischen zwei Spalten platzieren. Der Mauspfeil ändert sich in ein Symbol mit zwei Pfeilen; halten Sie nun die Maustaste gedrückt, um die Breite durch Bewegen der Maus anzupassen. Aktivieren Sie die Option Alle Größen berechnen, dann wird Ihnen bei einem Ordner unter Größe anstelle von -- der Speicherplatz seines Inhalts angezeigt. Beachten Sie, dass diese Berechnung bei Verwendung des Dateisystems HFS+ einige Zeit in Anspruch nehmen kann. Wenn Sie mit den Darstellungsoptionen zufrieden sind, können Sie sie auch Als Standard verwenden. Die Standardeinstellungen gelten für alle Fenster, für die Sie keine abweichenden Einstellungen über die Darstellungsoptionen vorgegeben haben.

1.2    Informationen über Dateien erlangen Neben dem eigentlichen Inhalt einer Datei, den Daten, gibt es noch einige weitere Informationen, die Ihnen im Arbeitsalltag begegnen werden. 1.2.1    Das Fenster »Infos zu«

Um Informationen über eine Datei oder einen Ordner zu erhalten, wählen Sie das Objekt im Finder aus und rufen dann entweder den Menüpunkt Ablage • Informationen auf oder nutzen den Kurzbefehl (š)+(I). Das Fenster Infos zu gliedert sich in mehrere Bereiche. Welche Optionen und Informationen angezeigt werden, hängt davon ab, um was für ein Objekt (Programm, Ordner, Datei ...) es sich handelt.

Abbildung 1.5    Den »Ort« können Sie als Pfadangabe in die Zwischenablage kopieren.

[✓] Nutzen Sie die Tastenkombination (š)+(alt)+(I) oder halten Sie die Taste (alt) gedrückt, wenn Sie den Menüpunkt aufrufen, dann erscheint kein Fenster, sondern eine schwebende Palette (siehe Abbildung 1.6). Die in der Palette angezeigten Informationen

aktualisieren sich automatisch, wenn Sie ein anderes Objekt auswählen. Das ist praktisch, wenn Sie nacheinander Informationen über verschiedene Dateien erhalten möchten. Unter Allgemein finden Sie Informationen über den Dateityp (Art) sowie das Erstellungs- und Änderungsdatum. Der Ort gibt den absoluten Pfad (siehe Abschnitt 21.3.1) zu dem Objekt an. Am Rande: Sie können den Pfad mit der Maus auswählen und dann mit (š)+ (C) in die Zwischenablage kopieren. Handelt es sich bei dem Objekt um ein Programm, das nicht von Apple stammt, dann stehen Ihnen gegebenenfalls zwei weitere Optionen zur Verfügung. Die Option In niedriger Auflösung öffnen sollten Sie auswählen, wenn bei einem älteren Programm Darstellungsprobleme bei einem modernen Retina-Bildschirm auftreten oder wenn Sie einen externen Monitor oder Projektor angeschlossen haben. Mit der Option App Nap deaktivieren geben Sie vor, dass die mit OS X 10.9 eingeführte Funktion App Nap für das Programm nicht mehr aktiv ist. Beachten Sie, dass Ihnen diese Option nicht bei allen Programmen zur Verfügung steht. Bei App Nap handelt es sich um eine Funktion des Systems, die im Hintergrund befindliche, für Sie aktuell nicht sichtbare Programme in eine Art Ruhezustand versetzt. Diese eigentlich sehr nützliche Funktion spart Energie, kann aber bei einigen Programmen zu Problemen führen oder schlicht nicht erwünscht sein. Wenn Sie die Informationen für eine Datei und kein Programm aufrufen, dann finden Sie anstelle der Optionen zu App Nap und zur Auflösung den Eintrag Formularblock. Diese schon im klassischen Mac OS vorhandene Option sorgt dafür, dass beim Öffnen dieser Datei nicht die Datei selbst, sondern eine Kopie geöffnet wird. Wählen Sie also bei einer Bilddatei die Option Formularblock aus und

öffnen Sie sie über einen Doppelklick im Finder in dem Programm Vorschau, dann wird nicht die eigentliche Datei Bild.png, sondern Bild Kopie.png geöffnet. Nützlich ist die Funktion, um Dateien als Vorlagen zu nutzen. Durch das Öffnen der Datei wird quasi eine Kopie vom Block abgerissen, während das Original nicht bearbeitet wird. Im Bereich Weitere Informationen werden Ihnen Details der Datei angezeigt, sofern das System in der Lage ist, mit dem Dateityp zu arbeiten. Bei einer Bilddatei (siehe Abbildung 1.6) werden Ihnen der Farbraum, die Bildgröße und – sofern vorhanden – das Farbprofil angezeigt. Um beispielsweise schnell die Größe einer Bilddatei zu ermitteln, ist es meistens ausreichend, die Informationen im Finder aufzurufen, anstatt Photoshop zu öffnen. Bei anderen Dateitypen finden Sie hier entsprechende Informationen, bei einer PDF-Datei etwa die Anzahl der Seiten.

Abbildung 1.6    Dateien können als »Formularblock« gekennzeichnet werden.

Haben Sie mehrere Objekte im Finder ausgewählt und rufen Sie den Menüpunkt Ablage • Informationen auf, dann wird für jedes ausgewählte Objekt ein eigenes Fenster Infos zu geöffnet. Halten Sie zusätzlich die Taste (alt) gedrückt, dann erscheint die eingangs erwähnte Palette.

Abbildung 1.7    Bei mehreren ausgewählten Objekten werden die Informationen zusammengefasst.

Die angezeigten Informationen werden auf diejenigen reduziert, die für alle ausgewählten Objekte zur Verfügung stehen (siehe Abbildung 1.7). Für die Angabe Größe wird die Speicherbelegung aller ausgewählten Objekte summiert. Möchten Sie also beispielsweise mehrere große Dateien auf einen USB-Stick kopieren und sind Sie sich nicht sicher, ob der Stick ausreichend Platz bietet, dann ermitteln Sie auf diese Weise schnell den notwendigen Platzbedarf. 1.2.2    Icons austauschen

Durch die Vorschaufunktion QuickLook haben Icons ein wenig an Bedeutung verloren, denn die Vorschau des Inhalts einer Datei sagt meist mehr aus als ein kleines Bild. Aber insbesondere für Ordner, die Sie im Dock ablegen, kann ein individuelles Icon, das den Inhalt repräsentiert, nach wie vor sehr nützlich bei der optischen Unterscheidung sein.

Abbildung 1.8    Das Icon können Sie durch einen einfachen Mausklick auswählen und in die Zwischenablage kopieren.

Um ein Icon für ein Objekt auszutauschen, kopieren Sie den Ausschnitt eines Bildes oder eine ganze Bilddatei beispielsweise über das Programm Vorschau in die Zwischenablage. Rufen Sie dann das Fenster Infos zu für das betreffende Objekt auf, und klicken Sie einmal auf das Icon neben dem Namen, sodass dieses umrandet wird (siehe Abbildung 1.8). Nutzen Sie nun den Menüpunkt Bearbeiten • Einfügen oder den Kurzbefehl (š)+(V), um das Bild als neues Icon einzufügen. Um schnell das Icon von einem Objekt zu einem anderen zu übertragen, wählen Sie das zu übertragende Icon im Fenster Infos zu aus und kopieren es mit dem Menüpunkt Ablage • Kopieren oder dem Kurzbefehl (š)+(C) in die Zwischenablage. Um ein angepasstes Icon zu entfernen und wieder das vom System standardmäßig vergebene Icon zu nutzen, verwenden Sie den Menüpunkt Ablage • Ausschneiden oder den Kurzbefehl (š)+(X). Die beste Darstellung erreichen Sie mit Grafikdateien, die im Format .icns vorliegen. Hierbei handelt es sich um das Dateiformat, das Apple speziell für die Icons unter macOS entwickelt hat. Öffnen Sie eine .icns-Datei im Programm Vorschau, dann finden Sie darin mehrere Versionen der Grafik. Diese

Versionen entsprechen unterschiedlichen Auflösungen bis zu 1.024 × 1.024 Bildpunkten und können auch Transparenz enthalten. Möchten Sie selbst Icon-Dateien basierend auf Ihren Grafiken erstellen, dann steht Ihnen das Programm Icon Composer zur Verfügung. Sie können es nach einer kostenlosen Registrierung unter https://developer.apple.com/downloads/ herunterladen, indem Sie nach dem Paket Additional Tools for Xcode 9 suchen. Der Icon Composer ist Bestandteil dieses Pakets. Sammlungen von Icons finden Sie unter anderem unter http://www.deviantart.com, http://interfacelift.com sowie http://iconfactory.com. 1.2.3    Dateien mit Tags versehen

macOS unterstützt die Verschlagwortung von Dateien und Ordnern mithilfe von Tags. Bei den Tags handelt es sich um eine Evolution der in früheren Versionen des Systems schon gebräuchlichen Etiketten. Ob es sinnvoll ist, Ihre Dateien und Ordner mit Tags zu versehen, hängt von der Organisation Ihrer Dateien ab. Sinnvoll ist die Nutzung der Tags beispielsweise, wenn Sie alle zu einem Projekt gehörigen Dateien in entsprechende Unterordner einsortieren. Ein Ordner könnte alle Rechnungen, ein weiterer die gesammelte Korrespondenz und ein dritter schließlich etwaige Planungsskizzen enthalten. Für die Buchführung kann es dann sinnvoll sein, auf einen Blick alle Rechnungen projektübergreifend einzusehen, um beispielsweise nach einem bestimmten Betrag zu suchen, der ohne Verwendungszweck auf Ihrem Konto eingegangen ist.

Abbildung 1.9    Einer Datei können Sie individuelle Tags zuweisen.

In diesem Szenario wäre es nützlich, alle Dateien, die eine Rechnung darstellen, mit dem entsprechenden Schlagwort zu versehen. Um einer Datei oder einem Ordner ein Tag zuzuweisen, stellt Ihnen der Finder mehrere Möglichkeiten zur Verfügung. Im Menü Ablage finden Sie unten sieben Tags sowie den Untereintrag Tags ... Wählen Sie ein Tag aus, dann wird es der ausgewählten Datei oder dem ausgewählten Ordner direkt zugewiesen. Mit dem Menüpunkt Tags ... erhalten Sie eine schwebende Palette, die Ihnen zunächst ebenfalls die sieben favorisierten Tags zur Auswahl stellt. Hier können Sie mit dem Eintrag Alle anzeigen ... sich auch die restlichen Tags zur Auswahl anzeigen lassen. Neben dem Menüpunkt können Sie auch das Icon mit dem Etikett in der Symbolleiste des Fensters oder den Eintrag im Kontextmenü nutzen. Um ein neues Tag zu erstellen, geben Sie einfach die entsprechende Zeichenkette in das Textfeld ein (siehe Abbildung 1.9). Darunter erscheint dann der Menüpunkt Neues Tag ... erstellen. Schließen Sie die Eingabe mit (¢) ab, dann wird das neue Schlagwort Ihrer Liste hinzugefügt. Welche Tags einer Datei zugeordnet wurden, können Sie auch über das Fenster Infos zu in Erfahrung bringen. Dieses zeigt Ihnen im oberen Textfeld unterhalb des Dateinamens alle der Datei oder dem Ordner zugewiesenen Schlagwörter an.

In der Seitenleiste des Finders werden Ihnen vorhandene Tags aufgelistet. Wenn Sie hier ein Schlagwort anklicken, erfolgt eine Suche über Spotlight, und Sie erhalten alle Dateien angezeigt, die mit dem Schlagwort versehen wurden.

Abbildung 1.10    Die Tags verwalten Sie in den Einstellungen des Finders.

Sie verwalten die Tags in den Voreinstellungen des Finders, die Sie über den Menüpunkt Finder • Einstellungen oder den Kurzbefehl (š)+ (,) aufrufen. In der Ansicht Tags (siehe Abbildung 1.10) finden Sie zunächst die Liste der vorhandenen Tags. Einem Schlagwort weisen Sie eine neue Farbe zu, indem Sie den Kreis vor dem Schlagwort anklicken. Dann öffnet sich eine Palette mit den sieben Farben nebst der Option, keine Farbe zu verwenden. Ziehen Sie ein Tag in die untere Leiste, dann können Sie eines der sieben favorisierten Tags durch es ersetzen. Es steht Ihnen dann zum Beispiel direkt in dem Menü Ablage zur Verfügung.

Mit der Option rechts des Tags geben Sie vor, ob das Tag Ihnen in der Seitenleiste angezeigt werden soll oder nicht. Wenn Sie hier ein Minuszeichen sehen, dann weist dies darauf hin, dass das Tag automatisch der Seitenleiste hinzugefügt wurde. Ein Häkchen bedeutet, dass Sie es manuell der Seitenleiste hinzugefügt haben. Am Rande: Wenn Sie sich die Tags in der Seitenleiste gar nicht anzeigen lassen möchten, dann deaktivieren Sie die Option Tags in der Ansicht Seitenleiste. Während Sie mit dem Pluszeichen unterhalb der Liste ein Schlagwort zur späteren Verwendung erstellen, löschen Sie mit dem Minuszeichen ein schon vorhandenes Schlagwort. Dieses verschwindet nicht nur aus der Liste und der Seitenleiste, sondern es wird auch von allen Dateien entfernt, denen Sie es zuvor zugewiesen haben. Die Tags lassen sich auch für die Suche über Spotlight nutzen, wobei sie in den erweiterten Sucheinstellungen (siehe Abschnitt 2.2) nicht als Tags, sondern als Schlagworte aufgeführt werden.

1.3    Metadaten, erweiterte Attribute und .DS_StoreDateien Realisiert werden die individuellen Icons und die Schlagwörter durch erweiterte Attribute einer Datei. Hierbei handelt es sich um Informationen, die der Datei neben ihrem eigentlichen Inhalt zugeordnet werden. Am Terminal können Sie mit dem Befehl xattr die erweiterten Attribute einsehen. Eingesetzt werden die erweiterten Attribute zum Beispiel auch, wenn Sie über Safari eine Datei aus dem Internet herunterladen. In diesem Fall speichert Safari zur heruntergeladenen Datei auch die Information über ihre Quelle. »xattr« – »extended attributes« xattr [Option] Datei

Abbildung 1.11    Der Befehl »xattr« zeigt die erweiterten Attribute einer Datei an.

Um in Erfahrung zu bringen, welche erweiterten Attribute zu einer Datei gespeichert wurden, geben Sie am Terminal den Befehl xattr ein, gefolgt von der Datei als Parameter. Sie erhalten dann eine Liste der Attribute. Der in Abbildung 1.11 untersuchten Disk-Image-Datei wurden sechs Attribute zugewiesen. Das Attribut com.apple.metadata:kMDItemDownloadedDate enthält den

Zeitpunkt des Downloads, das Attribut

com.apple.metadata:kMDItemWhereFroms die Quelle.

Abbildung 1.12    Steht die Datei unter Quarantäne, dann erhalten Sie eine Warnung vor dem ersten Öffnen.

Wenn das Attribut com.apple.quarantine gesetzt ist, erhalten Sie beim Öffnen der Datei den Hinweis, dass Sie diese zum ersten Mal öffnen. Es ist die grundlegende Information für den in Abbildung 1.12 dargestellten Dialog.

Abbildung 1.13    Unter anderem die Tags werden einer Datei als erweiterte Attribute zugeordnet.

Die einer Datei zugewiesenen Tags werden ebenfalls als Attribute einer Datei zugeordnet. Hierbei werden sie allerdings nicht als Klartext, sondern in Form von quasi eingebetteten Property-Listen (siehe Abschnitt 7.2.1) gespeichert. Nutzen Sie die Option -l beim

Aufruf von xattr, dann werden Ihnen nicht nur die Namen, sondern auch die Inhalte der Attribute ausgegeben. In den meisten Fällen ist diese Ausgabe nicht sonderlich informativ, da es sich oft um eine Property-Liste oder andere binäre Daten handelt (siehe Abbildung 1.13). Wenn Sie einer Datei ein Icon mit der in Abschnitt 1.2.2 beschriebenen Methode zugeordnet haben, dann wird es in einem speziellen, auch mit xattr einsehbaren Attribut gespeichert, dem Resource Fork. Bei diesem Zweig handelt es sich um ein Verfahren, das noch aus dem klassischen Mac OS stammt. Der Resource Fork speichert hier zusätzlich zu den erweiterten Attributen – die nicht zum eigentlichen Inhalt der Datei gehören, sondern sie lediglich ergänzen – zum Beispiel auch weite Teile der grafischen Oberfläche eines Programms. Das damals unter Mac OS sehr beliebte Programm Res-Edit diente zur Bearbeitung dieser Ressourcen. Unter macOS wird der Resource Fork – auch bei Verwendung des Dateisystems APFS – unter anderem für ein individuelles Icon und zum Speichern der Information genutzt, mit welchem Programm die Datei geöffnet werden soll. Das von macOS standardmäßig genutzte Dateisystem HFS+ sowie das Apple Filing Protocol (AFP) unterstützen für die Übertragung von Dateien im Netzwerk den Resource Fork sowie die erweiterten Dateiattribute in dieser Form direkt. Bei anderen Dateisystemen und Netzwerkprotokollen können Sie nicht unbedingt von dieser Unterstützung ausgehen. Manchmal hängt sie auch nicht direkt vom Protokoll ab, sondern von der Art und Weise, wie das Protokoll implementiert wurde. Hier behilft sich das System mit einer Art Trick, indem es zwei Dateien erzeugt: zunächst die eigentliche Datei, etwa Bild.png, die die eigentlichen Daten enthält, sowie eine Schattendatei ._Bild.png mit den erweiterten Attributen und dem

Resource Fork. Die grafische Oberfläche von macOS ist so programmiert und konfiguriert, dass sie diese zwei Dateien als eine Datei erscheinen lässt. Am Terminal werden Sie die unsichtbare Datei mit dem Unterstrich oft direkt sehen. Falls Sie die Datei im Netzwerk auf einem Windows-Server gespeichert haben, werden Sie auch im Windows Explorer die unsichtbare Datei entdecken. Sie sollten sie in diesem Fall nicht löschen. Neben den erweiterten Dateiattributen und den Resource Forks gibt es die (unsichtbare) Datei .DS_Store, die Sie in Verzeichnissen finden. Sie speichert die Informationen, wie der Ordner im Finder dargestellt werden soll. Dazu gehören zum Beispiel die zu nutzende Ansicht, die Größe der Icons und die Information, ob diese am Raster ausgerichtet werden sollen.

1.4    Zwei nützliche File-Flags Neben den erweiterten Dateiattributen können Sie unter macOS auch die File-Flags nutzen, die auf Unix-Systemen gebräuchlich sind. Während die erweiterten Attribute sehr flexibel sind, gibt es acht File-Flags. Nützlich sind im Alltagsgebrauch das Flag hidden, das eine Datei oder ein Verzeichnis unsichtbar macht, und das Flag uchg, das Änderungen verhindert. 1.4.1    Änderungen unterbinden

Um eine Datei oder ein Verzeichnis vor Änderungen zu schützen, können Sie das Fenster Infos zu oder ein File-Flag nutzen. Zunächst können Sie im Fenster Infos zu die Option Geschützt aktivieren (siehe Abbildung 1.14). Dann erscheint ein kleines Schloss am Icon, und Änderungen an der Datei sind nicht mehr möglich. Sie können sie auch nicht umbenennen. Sie können auch einen Ordner schützen. Auch dessen Icon wird mit einem Schloss versehen. Sie können ihn und seine enthaltenen Objekte zwar weiterhin öffnen, aber keine Dateien und Ordner mehr in ihn bewegen oder kopieren. Auch das Umbenennen eines enthaltenen Objekts ist nicht mehr direkt möglich.

Abbildung 1.14    Über die Option »Geschützt« unterbinden Sie Änderungen.

Möchten Sie eine geschützte Datei verschieben oder in den Papierkorb legen, dann erhalten Sie eine Rückfrage (siehe Abbildung 1.15) und müssen gegebenenfalls diesen Schutz durch Eingabe Ihres Passworts aufheben. Die Aktivierung der Option Geschützt fügt der Datei oder dem Verzeichnis dasFile-Flag uchg hinzu. Am Terminal lassen Sie sich eventuell vorhandene File-Flags über den Befehl ls (siehe Abschnitt 21.3.1) mit der Option -Ol anzeigen. In Abbildung 1.16 wurde der Datei Bild.png das File-Flag uchg zugewiesen.

Abbildung 1.15    Vor dem Verschieben einer geschützten Datei müssen Sie den Schutz aufheben.

Am Terminal können Sie den Befehl chflags nutzen, um File-Flags einer Datei oder einem Verzeichnis hinzuzufügen oder um sie wieder zu entfernen. Um Änderungen zu unterbinden, rufen Sie

chflags uchg Datei auf. Um das Flag uchg (unchangeable) wieder zu entfernen, stellen Sie ihm die Zeichen no voran. So würde die Eingabe chflags nouchg Datei das Flag entfernen und die

Datei wäre wieder änderbar.

»chflags« – »change flags« chflags Flag Datei

Abbildung 1.16    Dateien schützen Sie durch das File-Flag »uchg« vor Änderungen.

Neben dem Flag uchg erweist sich in einigen Fällen auch das Flag uappnd als nützlich. Es unterbindet Änderungen an den schon vorhandenen Daten einer Datei, erlaubt aber das Hinzufügen von weiteren Daten am Ende der Datei. Nützlich ist dieses Flag etwa bei Protokolldateien, in denen die Ereignisse Zeile für Zeile gespeichert werden. Mit dem Flag werden Änderungen an den schon vorhandenen Einträgen unterbunden, neue Zeilen können aber am Ende problemlos hinzugefügt werden. Mit der Eingabe chflags uappnd Protokolldatei.txt würden Sie das Flag setzen und mit der Eingabe chflags nouappnd Protokolldatei.txt würden Sie es wieder entfernen. 1.4.2    (Un-)Sichtbarkeit von Dateien einstellen

Ein weiteres File-Flag, das an einigen Stellen nützlich ist, ist das Flag hidden. Ist dieses Flag gesetzt, dann ist die Datei oder der Ordner

im Finder nicht mehr sichtbar. Der Finder ist so programmiert, dass er Dateien und Verzeichnisse mit diesem Flag von der Darstellung ausnimmt. Am Terminal sind die Dateien oder Ordner nach wie vor normal sichtbar. Auf diese Weise unsichtbar gemachte Ordner können Sie weiterhin über den Menüpunkt Gehe zu • Gehe zum Ordner öffnen, sofern Sie ihren Namen und den Pfad dorthin kennen. Mit der Eingabe von chflags hidden GeheimerOrdner würde der Ordner im Finder unsichtbar. Die Sichtbarkeit stellen Sie durch die Eingabe von chflags nohidden GeheimerOrdner wieder her.

1.5    Aliasse, symbolische und harte Links Je nach der Struktur Ihres Datenbestandes werden Sie irgendwann unweigerlich an einen Punkt kommen, an dem Sie eine Datei oder einen Ordner in zwei Ordnern dargestellt wissen möchten. macOS stellt Ihnen zu diesem Zweck bis zu drei Möglichkeiten zur Verfügung. Die einfachste Lösung besteht in der Nutzung eines Alias. Einen solchen erzeugen Sie, indem Sie die betreffende Originaldatei oder das Originalverzeichnis auswählen und den Menüpunkt Ablage • Alias erzeugen aufrufen; oder Sie verwenden den Kurzbefehl (š)+(L). Dann erscheint ein weiterer Eintrag, der den Namen des zuvor ausgewählten Objekts trägt, versehen mit dem Zusatz Alias. Dieses Alias deutet auf die zuvor ausgewählte Datei oder den zuvor ausgewählten Ordner.

Abbildung 1.17    Symbolische Links und Aliasse sind im Finder optisch nicht zu unterscheiden.

Erzeugen Sie ein Alias von einem Order oder einer Datei, den bzw. die Sie irgendwo unter Dokumente gespeichert haben, und verschieben Sie das Alias auf den Desktop, dann öffnet ein Doppelklick auf das Alias den verlinkten Ordner oder die verlinkte Datei.

Sie können ein Alias auch direkt erstellen, indem Sie das Zielobjekt mit der Maus in einen Ordner ziehen und dabei die Tasten (š) und (alt) gedrückt halten. Der Mauspfeil ändert sich dann in einen nach rechts oben deutenden Pfeil. Neben einem Alias, bei dem es sich um eine Besonderheit von macOS handelt, können Sie auch einen symbolischen Link erstellen, der auf die Datei oder das Verzeichnis deutet. Hierzu steht Ihnen im Finder keine Funktion zur Verfügung. Sie müssen am Terminal den Befehl ln in Verbindung mit der Option -s aufrufen. Dabei müssen Sie beachten, dass Sie die korrekten Pfadangaben (siehe Abschnitt 21.3.1) angeben. Die Eingabe von ln -s Datei ~/Desktop/Link würde einen symbolischen Link auf Ihrem Schreibtisch erstellen, der auf die angegebene Datei deutet. Würden Sie im Finder den symbolischen Link anklicken, dann würde die Zieldatei geöffnet. Auch wenn ein Alias und ein symbolischer Link gleich funktionieren, wenn Sie sie im Finder öffnen (siehe Abbildung 1.17), so bestehen doch Unterschiede: Bei einem symbolischen Link handelt es sich um einen Eintrag im Verzeichnis, der auf die Zieldatei deutet. Ein Alias hingegen ist technisch betrachtet eine einzelne Datei, die auf das Ziel deutet. Dieser zunächst trivial anmutende Unterschied hat indes gravierende Folgen.

Abbildung 1.18    Wird das Ziel eines symbolischen Links verschoben, dann deutet der Link ins Leere.

Wenn Sie das Original an eine andere Stelle verschieben, dann ist das Alias nach wie vor voll funktionsfähig. Dies beruht darauf, dass sich ein Alias einige Besonderheiten des Dateisystems HFS+ zunutze macht und auf einen Eintrag im Katalog des Dateisystems verweist. Wurde das Ziel gelöscht, dann können Sie einem Alias auch ein neues Ziel zuweisen. Ein symbolischer Link verweist indes direkt auf einen Eintrag in einem Verzeichnis. Wird das Ziel eines symbolischen Links verschoben, ist es also nicht mehr im Verzeichnis vorhanden, dann deutet der Link ins Leere und ist defekt (siehe Abbildung 1.18).

Abbildung 1.19    Wird mit »ls -l« der Inhalt des Verzeichnisses ausgegeben, dann erscheint das Alias als eine Datei.

Lassen Sie sich am Terminal mit ls -l den Inhalt eines Verzeichnisses ausgeben, dann ist ein Alias in dieser Ausgabe nicht von einer regulären Datei zu unterscheiden. Bei einem symbolischen Link – in Abbildung 1.19 Link.pdf – wird angegeben, wohin der Link deutet. Neben den Aliassen und den symbolischen Links gibt es die harten Links, die ausschließlich auf Dateien deuten können. Mit einem harten Link erzeugen Sie einen zweiten Eintrag für eine Datei. Sowohl der harte Link als auch das Original verweisen auf dieselben Daten auf dem Datenträger. Genau genommen verfügt die Datei über zwei unabhängige Einträge im Dateisystem. Würden Sie das Original löschen, dann wäre die Datei immer noch in Form des harten Links vorhanden.

Im Finder sind harte Links von normalen Dateien optisch nicht zu unterscheiden. In Abbildung 1.17 handelt es sich bei der Datei HardLink um einen Verweis auf die Datei Original. Nähmen Sie an einer der beiden Dateien Änderungen vor, so würden sie sich automatisch auch auf die andere Datei auswirken, da ja beide auf denselben Speicherbereich verweisen.

1.6    Einblick in Bundles nehmen Wenn Sie im Finder einen Doppelklick auf die Applikation Safari im Ordner Programme ausführen, dann wird der Browser gestartet. Dabei wirkt es so, als hätten Sie auf eine Datei doppelgeklickt. Allerdings handelt es sich bei dem Eintrag Safari nicht um eine Datei, sondern um ein Verzeichnis (siehe Abbildung 1.21), das Ihnen im Finder und in der grafischen Oberfläche lediglich als Datei angezeigt wird.

Abbildung 1.20    Den Inhalt eines Bundles rufen Sie über das Kontextmenü auf.

Die Aufgabe dieser Bundles genannten Verzeichnisse besteht darin, eine festgelegte Ordnerstruktur innerhalb des Bundles dem Zugriff des normalen Anwenders zu entziehen. Bundles werden nicht nur für Programme genutzt, sondern auch einige Dateitypen werden über Bundles realisiert. Dies ist zum Beispiel bei der Bibliothek der Programme iPhoto und Fotos der Fall.

Aus diesem Grund kann es passieren, dass Ihnen bei der Arbeit am Terminal ein Objekt im Dateisystem, das Sie zuvor für eine einzelne Datei gehalten haben, als Verzeichnis angezeigt wird. Ob ein Ordner als Bundle interpretiert wird, legt die Endung fest. Wenn Sie einen neuen Ordner erstellen und ihn in Test.app umbenennen, dann erhalten Sie vom Finder die Rückfrage, ob Sie diesen Namen wirklich vergeben wollen. Bestätigen Sie diese Rückfrage, dann erscheint der Ordner aufgrund der Endung .app als defektes Programm.

Abbildung 1.21    Der Inhalt des Bundles von Safari enthält neben dem ausführbaren Programm eine Reihe weiterer zur Applikation gehörender Dateien.

1.7    Dateitypen und ihre Zuordnung Führen Sie im Finder einen Doppelklick auf eine Datei aus, dann wird sie zunächst in dem Programm geöffnet, das standardmäßig für diesen Dateityp zuständig ist. Alternativ können Sie einer Datei ein abweichendes Programm über das Fenster Infos zu zuweisen. Hinter dieser Funktion verbergen sich die Launch Services von macOS. Aber auch der altgediente Befehl file erfüllt heutzutage noch seinen Zweck, wenn Sie nicht auf die Endung eines Dateinamens vertrauen möchten. 1.7.1    Typen Programmen zuweisen – die Launch Services

Die Dateiendung definiert unter macOS in der Regel den Typ einer Datei. Als Dateiendung oder Suffix wird die Zeichenkette bezeichnet, die nach dem letzten Punkt im Dateinamen erscheint. Lautet die Endung .png, dann wird die Datei unabhängig von ihrem Inhalt als Grafikdatei verstanden, deren Daten gemäß der Definition Portable Network Graphics organisiert sind. Programme wie Vorschau oder Adobe Photoshop sind dann in der Lage, die Datei zu öffnen, während das Programm Kontakte Ihnen diese Datei nicht zur Auswahl stellt, wenn Sie den Menüpunkt Ablage • Öffnen aufrufen.

Abbildung 1.22    Im Fenster »Infos zu« legen Sie fest, mit welchem Programm die Datei geöffnet werden soll.

Wenn Sie diese Einstellungen ändern möchten, dann wählen Sie im Finder eine Datei aus und rufen das Fenster Infos zu auf (siehe Abbildung 1.22). Sie finden dort den Bereich Name & Suffix. Wenn Sie möchten, können Sie bei dieser Datei das Suffix ausblenden. Im Alltag hat sich die dauerhafte Anzeige des Suffixes als praktischer erwiesen. Auf diese Weise sind Sie immer über den exakten Typ einer Datei informiert. In den Finder-Einstellungen, die Sie über den Menüpunkt Finder • Einstellungen aufrufen, können Sie in der Ansicht Erweitert die Option Alle Dateinamensuffixe einblenden aktivieren. Im Bereich Öffnen mit wählen Sie aus, mit welchem Programm diese Datei geöffnet werden soll, wenn Sie einen Doppelklick im Finder ausführen oder sie zum Beispiel im Dock anklicken. Die Liste von Programmen, die Ihnen hier zur Auswahl steht, wird von den Launch Services des Systems automatisch erstellt. Hierbei fragen die Launch Services alle vorhandenen Programme nach den

unterstützten Dateiformaten ab. Die Programme definieren selbst, welche Dateiformate sie unterstützen und welche nicht. Wählen Sie hier ein Programm aus, dann gilt diese Einstellung zunächst nur für diese konkrete Datei. Gespeichert wird die Information in den erweiterten Attributen (siehe Abschnitt 1.3) der Datei. In der Liste steht auch der Eintrag App Store ... zur Verfügung. Rufen Sie ihn auf, dann wird automatisch der App Store gestartet und eine Suche nach den Applikationen ausgeführt, die Dateien dieses Typs öffnen können. Mit der Schaltfläche Alle ändern ... weisen Sie Dateien dieses Typs dem ausgewählten Programm zu. Diese Einstellung bezieht sich auf diejenigen Dateien, bei denen Sie nicht ein Programm mit der zuvor beschriebenen Methode ausgewählt haben. Die Launch Services verrichten eigentlich ihren Dienst unsichtbar im Hintergrund. In eher seltenen Fällen kann es aber passieren, dass die zugrunde liegende Datenbank beschädigt ist und zu fehlerhaften Ergebnissen führt oder Ihnen Programme mehrfach zur Auswahl gestellt werden. In diesem Fall können Sie die Launch Services zurücksetzen. Hierfür nutzen Sie den Befehl lsregister, der sich in einem Unterordner des Verzeichnisses /System/Library/Frameworks befindet. Die Eingabe in einer Zeile am Terminal lautet: /System/Library/Frameworks/CoreServices.framework/ Frameworks/LaunchServices.

framework/Support/lsregister -v -kill -domain system -domain local -domain user

Über den Fortschritt beim Neuaufbau der Datenbank werden Sie am Terminal informiert. Hierbei bedeutet eine Zeile mit der Angabe

registering, dass ein Dateityp einem Programm zugeordnet

wurde.

1.7.2    Dateityp herausfinden mit »file«

Nicht in allen Fällen werden Sie sich auf die Dateiendung verlassen wollen. Es ist durchaus möglich, das Suffix einer Datei zu ändern und damit dem System vorzuspielen, dass es sich bei einer .pngDatei um eine Textdatei mit der Endung .txt handele. Hierzu müssen Sie einfach nur im Finder die Dateiendung abändern und die obligatorische Rückfrage des Finders, ob Sie sich sicher sind, bestätigen. »file« file Datei

Um herauszufinden, was für Daten wirklich in einer Datei enthalten sind, können Sie den Befehl file nutzen. Dieser verlässt sich nicht auf die Endung des Dateinamens, sondern unterzieht den Inhalt der Datei selbst einer Prüfung. Anhand einer Datenbank im Verzeichnis /usr/share/file wird der Inhalt mit bekannten Mustern von Dateitypen abgeglichen. Bei der in Abbildung 1.23 dargestellten Datei ermittelt der Befehl file, dass es sich trotz der Angabe .pdf nicht um eine PDF-Datei, sondern um ein Bild im Format PNG handelt.

Abbildung 1.23    Der Befehl »file« ermittelt den Typ anhand des Inhalts einer Datei.

1.8    Dateien komprimieren und archivieren: Das Archivierungsprogramm Im Finder fassen Sie über den Menüpunkt Ablage • ... komprimieren die ausgewählten Dateien und Ordner zu einem ZIP-Archiv zusammen. Diese einzelne Datei ist insbesondere für den Versand per E-Mail gut geeignet, da die Ordnerstruktur und die erweiterten Attribute erhalten bleiben. Der Finder erstellt, wenn Sie den Menüpunkt ... komprimieren nutzen, immer Archive im ZIP-Format. Zuständig für das Entpacken der ZIP-Archive ist das Archivierungsprogramm, das Sie im Verzeichnis /System/Library/Core Services/Applications finden. Dieses können Sie problemlos direkt starten. In den Einstellungen des Archivierungsprogramms (siehe Abbildung 1.24) legen Sie fest, wie mit den Archiven und den enthaltenen Dateien verfahren werden soll. Da die Archive, nachdem Sie ihren Inhalt extrahiert haben, in der Regel nicht mehr benötigt werden, können Sie als Aktion für Nach dem Entpacken den Eintrag Archiv in den Papierkorb auswählen. Insbesondere der meist chronisch überfüllte Ordner Downloads lässt sich so etwas einfacher vor Chaos bewahren. Sollten Sie ausnahmsweise ein Archiv nach dem Entpacken dennoch benötigen, können Sie es aus dem Papierkorb wieder hervorholen, sofern Sie ihn nicht zwischenzeitlich gelöscht haben. Unter Linux und anderen Unix-Systemen sind Archive alltäglich, die mit dem Befehl tar erstellt und anschließend mit dem ZIPAlgorithmus komprimiert wurden. Auch wenn das Archivierungsprogramm nicht in der Lage ist, diese Archive mit der

Dateiendung .tar oder .tar.gz zu erstellen, so kann es sie dennoch problemlos entpacken. Alternativ zum Finder können Sie auch das Archivierungsprogramm nutzen, um Dateien und Ordner zu einem Archiv zusammenzufassen. Hierbei können Sie auch ein anderes Archivformat vorgeben. Während der Finder lediglich ZIP-Archive erzeugt, die Ihnen auch im Archivierungsprogramm zur Verfügung stehen, können Sie auch den Eintrag Normales Archiv auswählen. Hierbei handelt es sich nicht um ZIP-Archive, sondern um Archive des Formats cpio. Dieses war lange Zeit in erster Linie für die Administration von Unix-Systemen gebräuchlich und spielt in dieser Form unter macOS keine Rolle mehr. Das Archiv-Format namens Komprimiertes Archiv erstellt ein Archiv vom Typ cpio, das jedoch komprimiert wurde.

Abbildung 1.24    Archive können nach dem Entpacken sofort in den Papierkorb gelegt werden.

Um ein Archiv zu erstellen, geben Sie unter Archiv sichern zunächst vor, wo das ZIP-Archiv gespeichert werden soll. Sofern dies nicht in dem Ordner geschehen soll, in dem sich die zu archivierenden Dateien befinden, geben Sie hier ein anderes Ziel vor. Haben Sie das Archivierungsprogramm im Dock abgelegt, dann können Sie auch Dateien auf sein Icon ziehen, um sie zu

komprimieren. Aber anders als der Finder, der alle ausgewählten Dateien zu einem Archiv zusammenfasst, erstellt das Archivierungsprogramm bei dieser Nutzung für jede Datei ein einzelnes Archiv.

2    Suchen und Finden mit Spotlight und QuickLook Mit der QuickLook genannten Funktion erlangen Sie schnell einen Einblick in den Inhalt der Datei. Die leistungsfähige Suchfunktion Spotlight hilft Ihnen – nicht nur im Finder – beim Auffinden von Dateien sowie von weiteren Informationen. Auch die beste und ausgefeilteste Struktur Ihrer Dateien wird immer mal wieder zu der Situation führen, dass Sie eine Datei oder eine Information suchen müssen. QuickLook und Spotlight sind bei der Suche ein Traumpaar. Während Sie mit Spotlight schnell und zielgerichtet Suchanfragen formulieren können, bietet Ihnen QuickLook einen direkten Einblick in den Inhalt einer Datei, ohne dass Sie das zugehörige Programm starten müssen.

2.1    Einsicht mit QuickLook Die Aufgabe von QuickLook besteht in erster Linie darin, Ihnen einen Einblick in den Inhalt einer Datei zu ermöglichen. QuickLook steht Ihnen aber nicht nur im Finder zur Verfügung. Nützlich ist die Funktion auch dann, wenn Sie ein Time-Machine-Backup durchsuchen und durch Einsichtnahme in den Dateiinhalt die gesuchte Version einer Datei identifizieren können. Auch in den Programmen Mail und Kontakte hilft Ihnen QuickLook dabei, schnell die gewünschten Informationen einzusehen. Dabei ist QuickLook recht flexibel und lässt sich durch sogenannte Generatoren erweitern.

2.1.1    Einblick erhalten und Überblick bewahren

Die einfachste Möglichkeit, QuickLook aufzurufen, besteht darin, eine oder mehrere Dateien im Finder auszuwählen und die Leertaste zu drücken. Alternativ können Sie auch die Tastenkombination (š)+(Y) nutzen oder das Icon Übersicht zur Symbolleiste der Fenster im Finder hinzufügen. Dann erscheint ein schwebendes Fenster, das Ihnen den Inhalt der Datei anzeigt, sofern QuickLook das Dateiformat unterstützt. Mit einem erneuten Druck auf die Leertaste oder mit der Tastenkombination (š)+(Y) schließen Sie das Fenster wieder. Möchten Sie den gesamten Bildschirm für die Darstellung nutzen, dann können Sie die Tastenkombination (alt)+ Leertaste oder (š)+ (alt)+(Y) verwenden. Halten Sie die Taste (alt) gedrückt, dann nutzt auch das Icon Übersicht die Darstellung auf dem gesamten Bildschirm. Mit einem Druck auf die Taste (esc) schließen Sie die Ansicht. Das schwebende QuickLook-Fenster passt seinen Inhalt der Auswahl im Finder an. Wählen Sie eine andere Datei aus, während das Fenster noch geöffnet ist, dann wird ihr Inhalt dargestellt. Dies kann ganz praktisch sein, wenn Sie mithilfe der Pfeiltasten nacheinander die Dateien in einem Ordner auswählen und sich somit anzeigen lassen. Haben Sie gleich mehrere Dateien ausgewählt, dann wechseln Sie mit (í) und (î) zur vorigen beziehungsweise nächsten Datei. Abhängig von der ausgewählten Datei stehen Ihnen unterschiedliche Funktionen zur Verfügung. Bei einer PDF-Datei finden Sie rechts eine Übersicht der enthaltenen Seiten und können diese durch einen Mausklick auswählen. Blättern können Sie durch PDF-, Word- und Pages-Dateien mit den Tasten (Bildì) und

(Bildë) oder auf einer Tastatur ohne Ziffernblock mit (fn)+(ì) und (fn)+(ë).

Abbildung 2.1    Haben Sie zuvor mehrere Dateien ausgewählt, dann können Sie mit QuickLook eine Übersicht anzeigen lassen.

Haben Sie eine Video- oder Audiodatei ausgewählt, dann können Sie sie direkt über QuickLook abspielen. Bei einer Audiodatei finden Sie zusätzlich rechts des Covers eine Auswahl der in der Datei eingebetteten Informationen zu Titel und Interpreten. Kürzel

Bedeutung

Leertaste (š)+(Y)

Ruft das Fenster von QuickLook auf.

(alt)+ Leertaste (š)+(alt)+(Y)

Die Darstellung von QuickLook nimmt den gesamten Bildschirm ein. Die Darstellung wird mit (esc) wieder beendet.

(í)/(î)

Wechselt bei mehreren ausgewählten Dateien zur vorigen beziehungsweise nächsten Datei.

Kürzel

Bedeutung

(Bildì)/(Bildë) Blättert eine Seite zurück beziehungsweise (fn)+(ì)/(fn)+(ë) vor. (alt)

Bei der Darstellung einer Bilddatei erfolgt ein Zoom-Effekt.

(š)+(¢)

Bei mehreren ausgewählten Dateien erscheint eine Übersichtsseite.

Tabelle 2.1    QuickLook-Tastenkürzel

Bei der Darstellung einer Bilddatei, deren Format größer als das QuickLook-Fenster ist, erreichen Sie mit der Taste (alt) einen Zoom-Effekt an der Stelle, an der sich der Mauspfeil befindet. Sofern Sie mehrere Dateien ausgewählt haben, können Sie über das Icon mit den vier Quadraten oben links in der Titelleiste oder durch die Tastenkombination (š)+(¢) eine Übersicht aller ausgewählten Dateien aufrufen (siehe Abbildung 2.1). Hierbei nutzt QuickLook verkleinerte Vorschauen der Dateiinhalte, die sich dynamisch an Änderungen der Fenstergröße anpassen. Mit den Pfeiltasten bewegen Sie die Auswahl, und mit (¢) rufen Sie die große Vorschau der aktuell ausgewählten Datei auf. Tabelle 2.1 fasst die wichtigsten Tastenkürzel noch einmal zusammen. QuickLook ist auch in der Lage, Ihnen in der Vorschau Webseiten sowie lokal gespeicherte HTML-Dateien anzuzeigen (siehe Abbildung 2.2). Wenn Sie hier allerdings einen Link anklicken, dann wird der von Ihnen ausgewählte Standardbrowser geöffnet. Im Finder wird QuickLook auch für die Übersicht genutzt. Rufen Sie das Fenster Infos zu auf oder aktivieren Sie die Option Darstellung • Vorschau einblenden, dann beruhen die Vorschauen auf

dem QuickLook-Mechanismus. Allerdings werden nicht für alle Dateitypen in dieser Form Vorschauen angezeigt. In Mail können Sie den Mauspfeil über einen URL in einer Nachricht platzieren. Dann erscheint ein kleines Icon rechts daneben, das Ihnen die Vorschau der angegebenen Webseite anzeigt, wenn Sie es anklicken.

Abbildung 2.2    QuickLook kann auch eine Vorschau einer Webseite anzeigen.

Ferner können Sie QuickLook im Dialog zum Öffnen und Speichern eines Dokuments aufrufen. Hier steht Ihnen aber die Tastenkombination (š)+(Y) nicht zur Verfügung. 2.1.2    QuickLook verstehen und erweitern

QuickLook nutzt für die Darstellung der Inhalte einer Datei sogenannte Generatoren. Bei diesen Dateien mit der Endung .qlgenerator handelt es sich um Mini-Programme, die nur für die Anzeige zuständig sind. Die zur Standardinstallation von macOS gehörenden Generatoren finden Sie im Verzeichnis /System/Library/QuickLook (siehe Abbildung 2.3), nachträglich dem System hinzugefügte Generatoren werden im Verzeichnis

/Library/QuickLook installiert. Generatoren, die nur für Ihr Benutzerkonto zur Verfügung stehen sollen, können Sie auch in Ihrem persönlichen Ordner unter ~/Library/QuickLook installieren. Darüber hinaus ist es möglich, dass Applikationen Generatoren in ihrem Bundle (siehe Abschnitt 1.6) bereithalten. Diese stehen ebenfalls zur Verfügung. Auf Websites wie http://www.macupdate.com finden Sie einige Generatoren zum Download, mit deren Hilfe Sie die Vorschau weiterer Dateitypen erzeugenkönnen. Diese Generatoren werden manchmal mit einem Installationspaket ausgeliefert, alternativ kopieren Sie eine Datei mit der Endung .qlgenerator in das Verzeichnis /Library/QuickLook. Nach einer Ab- und Anmeldung steht der Generator zur Verfügung. So gibt es beispielsweise einen Generator BetterZip (http://macitbetter.com/BetterZip-Quick-Look-Generator/), der Ihnen den Inhalt eines ZIP-Archivs anzeigt, und der Generator Suspicious Package (http://www.mothersruin.com/software/SuspiciousPackage/) führt Ihnen den Inhalt eines Installationspakets vor Augen, bevor Sie das Installationsprogramm gestartet haben (siehe Abbildung 2.3).

Abbildung 2.3    Die unter macOS standardmäßig installierten Generatoren für QuickLook befinden sich im Verzeichnis »/System/Library/QuickLook«.

Abbildung 2.4    QuickLook wurde um einen Generator für die Darstellung von Installationspaketen erweitert.

Am Terminal erhalten Sie durch die Eingabe von qlmanage -m eine Übersicht der verfügbaren Generatoren nebst der unterstützten Dateiformate. Die Vorschau am Terminal rufen Sie durch die Eingabe von qlmanage -p Dateiname auf. Sie sparen sich hier den Umweg über den Finder.

2.2    Spotlight Die Spotlight genannte Funktion ermöglicht Ihnen die Suche nach Dateien und anderen Informationen. Auf den ersten Blick wirkt Spotlight recht einfach: Sie klicken oben rechts auf das Icon mit der Lupe und geben den gesuchten Begriff ein. Aber Spotlight bietet noch viel mehr Möglichkeiten als die einfache Suche nach einem Dateinamen. In diesem Abschnitt formulieren wir zunächst einfache Abfragen, die wir dann schrittweise verfeinern. Spotlight beschränkt sich dabei nicht auf die Suche nach Dateinamen, sondern kann auch Inhalte von Dateien indizieren und durchsuchen. Schließlich lässt sich Spotlight an Ihre individuellen Anforderungen anpassen, und in den intelligenten Ordnern speichern Sie Ihre mühsam formulierten Abfragen dauerhaft. Ferner stehen Ihnen die Funktionen von Spotlight am Terminal zur Verfügung. 2.2.1    Spotlight aufrufen und Abfragen formulieren

Eine Suche mit Spotlight führen Sie aus, indem Sie rechts oben in der Menüleiste auf das Icon mit der Lupe klicken oder die Tastenkombination (š)+ Leertaste drücken. Die Tastenkombination steht Ihnen unabhängig vom aktuell im Vordergrund befindlichen Programm zur Verfügung. Das schwebende Fenster können Sie verschieben und seine Höhe, nicht jedoch die Breite anpassen.

Abbildung 2.5    Wählen Sie eine Fundstelle aus, dann erscheint rechts eine kleine Vorschau.

Den gesuchten Begriff geben Sie in dem Fenster oben ein. Bereits während der Eingabe schlägt Spotlight Ihnen einen sogenannten Toptreffer vor. Damit eignet sich Spotlight gut zum Start von Programmen, denn wenn Sie als gesuchten Begriff »Safari« eingeben, dann ist das gleichnamige Programm mit hoher Wahrscheinlichkeit der Toptreffer, und ein einfacher Druck auf (¢) startet das Programm. Richtig effektiv wird die Arbeit mit Spotlight, wenn Sie verschiedene Tastenkürzel nutzen (siehe Tabelle 2.2). Mit (ì) und (ë) wählen Sie die einzelnen Suchergebnisse aus. Mit (š)+(ì) und (š)+(ë) springen Sie zwischen den einzelnen Kategorien. Kürzel

Bedeutung

(š)+ Leertaste

Spotlight aufrufen

(š)+(alt)+ Leertaste

Spotlight-Fenster im Finder öffnen

(ì) / (ë)

vorige oder nächste Fundstelle auswählen

Kürzel

Bedeutung

(š)+(ì) / (š)+(ë) zur vorigen oder nächsten Kategorie springen (š)

Dateipfad des ausgewählten Treffers anzeigen

Tabelle 2.2    Tastenkürzel für die Suche mit Spotlight

Haben Sie einen Eintrag ausgewählt und drücken Sie (¢), dann wird die Datei unmittelbar geöffnet. Die in Abbildung 2.5 gezeigte Musikdatei würde in iTunes geöffnet. Nutzen Sie hingegen die Tastenkombination (š)+(¢), dann wird Ihnen die Datei im Finder angezeigt. Um zu erfahren, in welchem Verzeichnis sich die ausgewählte Datei befindet, halten Sie die Taste (š) gedrückt. Daraufhin erscheint unten der Pfad zur ausgewählten Datei. Der Platz in dem schwebenden Fenster ist begrenzt, und Spotlight zeigt Ihnen hier bei vielen Fundstellen nur eine Auswahl an. Ganz unten in der Liste finden Sie den Eintrag Alle im Finder zeigen ... Wenn Sie ihn auswählen, dann öffnet sich ein neues Finder-Fenster mit dem Titel Diesen Mac durchsuchen mit einer Liste aller Fundstellen. Der Suchbegriff befindet sich in dem Textfeld rechts oben. Die Anzeige der Suchergebnisse können Sie so konfigurieren, wie Sie im Finder auch die Anzeige anderer Ordner konfigurieren. Ob Sie hier die in Abbildung 2.6 genutzte Darstellung als Symbole verwenden oder die Listen-, Spalten- oder Cover-Flow-Ansicht nutzen, hängt von Ihren persönlichen Vorlieben ab. Um schnell einen Blick in den Inhalt einer aufgeführten Datei zu werfen, können Sie die QuickLook-Funktionen nutzen, die ich in Abschnitt 2.1 beschrieben habe.

Abbildung 2.6    Die Darstellung der Suchergebnisse im Finder können Sie an Ihre eigenen Anforderungen anpassen.

Möglicherweise lohnt es sich, die Anzeige anzupassen. Über den Menüpunkt Darstellung • Darstellungsoptionen einblenden ... oder die Tastenkombination (š)+(J) rufen Sie das Fenster zur Konfiguration der Darstellung auf. Hier können Sie entscheiden, welche Spalten, zum Beispiel das Erstellungsdatum, zusätzlich angezeigt werden sollen, und über den Eintrag Sortiert nach: bestimmen Sie, nach welchem Kriterium die Suchergebnisse sortiert werden sollen. Praktisch ist hier auch die über Darstellung • Pfadleiste einblenden ((alt)+(š)+(P)) aufrufbare Pfadleiste am unteren Rand des Fensters (siehe Abbildung 2.7). Dort wird Ihnen der absolute Pfad zur Datei angezeigt.

Abbildung 2.7    Die Anzeige der Pfadleiste im Finder gibt Aufschluss überden Speicherort der Datei.

Die Leistungsfähigkeit von Spotlight zeigt sich, wenn Sie sich bei der Suche nicht auf einen einzelnen Begriff beschränken, sondern eine umfangreichere Abfrage formulieren, mit der Sie die Anzeige der Treffer einschränken. Die Kenntnis dieser Funktionen von Spotlight ermöglicht Ihnen eine präzise Suche. Zunächst ist Spotlight in der Lage, die Abfrage anhand der Erstellungs- und Änderungsdaten einzugrenzen. Unter macOS 10.13.0 kam es hier bisweilen vor, dass die Darstellung der Suchergebnisse im Spotlight-Fenster nicht ganz korrekt war; bisweilen wirkte sie ein wenig zufällig. Wurde die Suche aber in einem Finder-Fenster ausgeführt, dann waren die Ergebnisse korrekt. Hierzu nutzen Sie die Schlüsselwörter Erstellt beziehungsweise Geändert. Geben Sie dann einen Doppelpunkt und das Datum ein. Die Eingabe von »Geändert:22.10.2015« würde die Suche auf alle Objekte eingrenzen, die am 22. Oktober 2015 geändert wurden. Um einen Zeitraum vorzugeben, können Sie die Zeichen und = nutzen. Die Eingabe von »Erstellt:>22.10.2015« würde die Anzeige auf alle Objekte eingrenzen, die nach dem 22. Oktober 2015 erstellt wurden. Das Gleichheitszeichen geben Sie an zweiter Stelle an, um auch das angegebene Datum in die Suche einzubeziehen: Mit der

Eingabe »Erstellt:>=24.10.2015« erhalten Sie eine Liste aller Objekte, die am oder nach dem 24. Oktober 2015 erstellt wurden (siehe Abbildung 2.8).

Abbildung 2.8    Die Suche wurde auf alle Musikdateien beschränkt, die nach dem 24. Oktober erstellt wurden und die »Bride« enthalten.

Um die Liste der Fundstellen kurz zu halten, können Sie mit dem Schlüsselwort Art die Suche auf bestimmte Objekttypen begrenzen. Die Eingabe von »Art:PDF« würde Ihnen lediglich PDF-Dateien als Fundstellen aufführen, mit »Art:Musik« kämen lediglich Sounddateien als mögliche Treffer infrage. Welche Arten oder Kategorien Ihnen in Verbindung mit dem Schlüsselwort Art zur Verfügung stehen, können Sie der Ansicht Spotlight der Systemeinstellungen entnehmen. Sie finden dort im Reiter Suchergebnisse die Kategorien und können von den dort aufgeführten Bezeichnungen sowohl den Singular als auch den Plural nutzen. Die Suche nach »Art:Schrift Menlo« würde Ihnen alle Schriftarten aufführen, die mit dem Begriff »Menlo« in Verbindung stehen. Alle Lesezeichen und Einträge des Verlaufs in Safari, die mit »iPhone« in Verbindung stehen, könnten Sie durch »Art:Verlauf iPhone« finden.

Die Schlüsselwörter können Sie zusammen nutzen, um eine präzise Anfrage zu formulieren. So würde die Eingabe von »Anathema Art:Musik Erstellt:>=24.10.2015« alle Musikdateien auflisten, die irgendwie mit dem Begriff »Anathema« in Verbindung stehen und am oder nach dem 24. Oktober 2015 erstellt wurden. Die Suche nach »Apple Art:PDF Geändert:20.11.2009« würde Ihnen alle PDF-Dateien aufführen, die die Zeichenfolge »Apple« im Dateinamen oder Inhalt enthalten und am 20. November 2009 geändert wurden. Noch weiter verfeinern lässt sich eine Abfrage durch die booleschen Ausdrücke NOT, AND und OR. Mit ihnen können Sie Eigenschaften ausschließen (NOT), zwingend verknüpfen (AND) oder mehrere beliebige Eigenschaften (OR) nutzen. Die Eingabe von »Anathema NOT Art:Musik« würde Ihnen alle Dateien anzeigen, die irgendwie mit dem Begriff »Anathema« in Verbindung gebracht werden, dabei aber Musikdateien ausschließen. Umgekehrt könnten Sie mit »Apple NOT:Microsoft« alle Dateien und Objekte daraufhin überprüfen, ob sie die Zeichenfolge »Apple« enthalten, nicht aber die Zeichenfolge »Microsoft«. Die Verknüpfung mit AND wird angenommen, wenn Sie ein Leerzeichen angeben. Die Suche nach Apple Microsoft bedingt, dass nach allen Objekten gesucht wird, die die Begriffe »Apple« und »Microsoft« enthalten. Würden Sie nach »Microsoft OR Apple« suchen, dann erhielten Sie eine Liste aller Objekte, die einen oder beide der eingegebenen Begriffe enthalten. Die booleschen Ausdrücke funktionieren dann am besten, wenn Sie sie in Klammern angeben. So suchen Sie mit der Eingabe von »Anathema (Art:Musik OR Art:Ordner)« (siehe Abbildung 2.9) nach Musikdateien oder Ordnern, die den Begriff »Anathema« enthalten. Würden Sie hingegen auf die Klammern verzichten und »Anathema Art:Musik Art:Ordner« eingeben, dann erhielten Sie keine

Ergebnisse, da es keine Musikdatei gibt, die zugleich ein Ordner ist. Sie können einen booleschen Ausdruck auch einem Klammernpaar voranstellen. Die Suche nach »Anathema NOT (Art:Musik OR Art:Ordner)« würde Ihnen alle Objekte anzeigen, die mit dem Begriff »Anathema« in Verbindung stehen und bei denen es sich nicht um eine Musikdatei oder einen Ordner handelt.

Abbildung 2.9    Die Verknüpfung mit »OR« grenzt die Suche auf Musikdateien und Ordner ein.

Die Arbeit mit den booleschen Ausdrücken wirkt – sofern man mit ihnen noch nicht vertraut ist – etwas gewöhnungsbedürftig, aber mit ein wenig Übung sind sie ein mächtiges Werkzeug zur Suche nach Dateien und Informationen. Immerhin folgen sie den Gesetzen der Logik. Suchen Sie nach einer bestimmten Formulierung oder Reihenfolge von Wörtern, dann geben Sie sie in Anführungszeichen an. Die Suche nach »"Es war einmal"« zeigt Ihnen die Objekte, die exakt diese Zeichenfolge enthalten. Um die Suche mit Spotlight etwas intuitiver zu gestalten, hat Apple mit OS X 10.11 ein paar Elemente der Spracherkennung eingeführt. Diese hat zum Ziel, einen umgangssprachlichen Satz in eine

korrekte Abfrage anhand der zuvor beschriebenen Methoden umzuwandeln. Die Erfolgsquote schwankt dabei jedoch. Während die Eingabe von »Apple gestern« Ihnen alle Objekte auflistet, die die Begriffe »Apple« und »gestern« enthalten, so führt die Eingabe von »Dateien von gestern« zum gewünschten Ergebnis. Ob und inwiefern Sie mit dieser Spracherkennung zum Ziel gelangen, müssen Sie einfach ausprobieren. Bei der maschinellen Analyse natürlicher Sprache gibt es immer einige Faktoren oder Aspekte, die nicht genau erkannt werden können. Hier müssen Sie einfach ein wenig ausprobieren, ob Ihre Anfragen zu den gesuchten Informationen führen oder ob Sie sich lieber die zuvor beschriebenen Schlüsselwörter und Methoden aneignen. 2.2.2    Informationen jenseits von Dateien suchen

Spotlight ist – wenn auch mit Einschränkungen – in der Lage, Ihnen Suchergebnisse direkt aus dem Internet zu präsentieren. So können Sie nach Videos im Web suchen, indem Sie einen möglichst exakten Titel eingeben und diesen mit dem Schlüsselwort Video kombinieren (siehe Abbildung 2.10). Ferner können Sie eine Währung oder eine Gewichtsangabe nebst Kürzel – etwa »$ 100« – eingeben und sich den aktuellen Umrechnungskurs anzeigen lassen (siehe Abbildung 2.11). Diese Informationen bezieht Spotlight von verschiedenen Diensten aus dem Internet. Die Währungskurse werden beispielsweise von Yahoo! geliefert. Außerdem versucht Spotlight, Ihnen Webseiten und Einträge in der Wikipedia vorzuschlagen, die zu Ihrem Suchbegriff passen.

Abbildung 2.10    Die Suche nach einem Video im Web führt bisweilen zu originellen Ergebnissen.

Auch greift Spotlight auf den Inhalt des Programms Lexikon zurück, wenn in diesem eine passende Definition gefunden wurde. Wählen Sie den Eintrag mit der Pfeiltaste aus und drücken Sie (¢), dann wird automatisch das Programm Lexikon gestartet. Schließlich ist Spotlight auch in der Lage, zu rechnen. Genau genommen basieren die Funktionen zum Rechnen und zur Konvertierung auf den Funktionen des Programms Rechner. Starten Sie dieses Programm, dann finden Sie im Menüeintrag Umrechnen eine ganze Reihe von Maßeinheiten, deren Umrechnung auch von Spotlight unterstützt wird, sofern sie über ein entsprechendes Kürzel verfügen. In das Suchfeld können Sie auch eine Berechnung eingeben, und Spotlight präsentiert Ihnen dann das Ergebnis. Die Eingabe von »sqrt(9)« berechnet korrekt 3. Die Rechenfunktion beruht auf der Bibliothek math, die über eine Reihe von Kürzeln verfügt. Möchten Sie mit Spotlight schnell logarithmieren, dann können Sie am Terminal mit man math die Man-Page (siehe Abschnitt 21.2.1) aufrufen, mit einem Druck auf die Leertaste durchblättern und die Anzeige mit (Q) wieder beenden.

Abbildung 2.11    Spotlight kann aktuelle Währungskurse aus dem Internet beziehen.

2.2.3    Nach Dateien im Finder suchen

Wenn Sie über die Tastenkombination (š)+ Leertaste die SpotlightSuche aufrufen, wird der gesamte Index (siehe Abschnitt 2.2.6) von Spotlight durchsucht. Möchten Sie lediglich nach Dateien suchen und Spotlight-Objekte wie Adressen, E-Mails und Termine ausschließen, dann rufen Sie im Finder den Menübefehl (š)+(alt)+ (F) oder den Menüpunkt Ablage • Suchen auf. Mit der Tastenkombination (š)+(alt)+(T) können Sie die Symbolleiste ausblenden. Dies führt dazu, dass das Textfeld für den Suchbegriff die gesamte Breite des Fensters einnimmt. Durchsucht wird zunächst der Ordner, der in dem vordersten Fenster dargestellt wurde. Die in Abbildung 2.12 dargestellte Suche wurde in dem Ordner Dokumente durchgeführt. Mit der Schaltfläche Diesen Mac durchsuchen Sie alle lokalen Dateisysteme. Die Schaltfläche Freigaben steht Ihnen zur Verfügung, wenn Sie einen oder mehrere Ordner über das Netzwerk eingebunden haben. Klicken Sie diese Schaltfläche an, dann würde die Suche im

Netzwerk ausgeführt und hierbei auf die Indizes der eingebundenen Ordner zurückgegriffen.

Abbildung 2.12    Wird die Symbolleiste ausgeblendet, dann nimmt das Textfeld die gesamte Breite ein.

Unterhalb der Leiste mit den drei Schaltflächen finden Sie eines oder mehrere Kriterien, mit denen Sie die Suche weiter eingrenzen können. In der Standardsuche wird hier für die Eigenschaft Art der Wert Beliebig aufgeführt. Klappen Sie die Liste hinter dem Eintrag Beliebig aus, dann finden Sie dort eine Reihe von gebräuchlichen Dateitypen, und Sie können die Suche beispielsweise auf PDFDateien oder Bilder begrenzen. Weitere Kriterien können Sie über das kleine Pluszeichen hinzufügen und über das kleine Minuszeichen wieder löschen. Aus dem linken Ausklappmenü wählen Sie dann zunächst die Eigenschaft (Name, Erstellungsdatum ...) aus und geben anschließend den gewünschten Wert vor. Bei einigen Kriterien wie dem Namen können Sie ferner eine Bedingung in der Form stimmt überein mit oder beginnt mit vorgeben. Wenn Ihnen die Standardkriterien, die macOS Ihnen vorschlägt, nicht ausreichen, dann finden Sie in der Liste der Kriterien auch den Eintrag Andere ... Rufen Sie ihn auf, dann erhalten Sie (siehe Abbildung 2.13) eine vollständige Liste aller Spotlight bekannten Eigenschaften. Diese Liste ist recht umfangreich, und Sie können hier ein Kriterium (wie etwa die Taktzahl oder die Belichtungszeit) auswählen und so Ihre Suche noch weiter präzisieren.

Im Arbeitsalltag sind die Kriterien Systemdateien und Suffix recht praktisch. Nutzen Sie das Kriterium Systemdateien, dann werden auch Verzeichnisse wie /System oder /etc in die Suche einbezogen. In den Standardeinstellungen werden solche Verzeichnisse von der Suche ausgeschlossen. Mit dem Kriterium Suffix lässt sich die Suche nach Dateitypen noch weiter präzisieren, denn abhängig von Ihrem Datenbestand kann die Suche nach einer Datei, deren Art Bild entspricht, zu vielen Suchergebnissen führen. Wenn Sie jedoch gezielt nach einer PNG-Datei suchen, dann geben Sie für das Kriterium Suffix den Wert png ein und suchen nur die Dateien, deren Name mit .png endet.

Abbildung 2.13    Über den Eintrag »Andere« kann die gesamte Listeder Suchkriterien eingeblendet werden.

Die booleschen Ausdrücke stehen Ihnen bei der Suche im Finder als Menüpunkte zur Verfügung. Halten Sie die Taste (alt) gedrückt, dann ändern sich die Pluszeichen rechts in Icons mit drei kleinen Punkten. Klicken Sie ein solches Icon an, dann wird anstelle eines Kriteriums eine eingerückte Gruppe (siehe Abbildung 2.14) von Kriterien erstellt. Für diese Gruppe können Sie dann vorgeben, ob Eine, Jede oder Keine der folgenden Aussagen zutreffen soll. Dies entspricht der Nutzung der booleschen Ausdrücke OR, AND und NOT.

Bei der weiteren Verwendung der Pluszeichen müssen Sie beachten, dass die Kriterien unterhalb der Reihe hinzugefügt werden, in der Sie das Pluszeichen angeklickt haben. Sie können so Kriterien zu der Gruppe hinzufügen oder aber auf der obersten Ebene, abhängig davon, welches Pluszeichen Sie anklicken. Ferner lassen sich die Kriterien durch das Ziehen mit der Maus neu positionieren und so anders gruppieren. Die in Abbildung 2.14 dargestellte Abfrage enthält eine Verschachtelung dieser Kriterien. Zunächst werden alle Systemdateien von der Suche ausgeschlossen. In der zweiten Zeile wird die erste Gruppe von Kriterien eingeleitet, die aus zwei Untergruppen besteht. Eine der Aussagen der Untergruppen muss wahr sein. In den beiden Untergruppen wird über das Dateisuffix und den Inhalt nach jeweiligen Dateien gesucht. Die Suche enthält somit Dateien mit dem Inhalt Apple, deren Name auf .tex endet, und Dateien mit dem Inhalt Microsoft, deren Name auf .doc endet.

Abbildung 2.14    Die Suche im Finder bietet boolesche Ausdrücke mithilfe einer grafischen Oberfläche.

Abschließend sei noch auf die Funktion hingewiesen, ausschließlich nach Dateinamen im Finder zu suchen. Sie rufen sie über die Tastenkombination (š)+(ª)+(ctrl)+(F) auf. An und für sich handelt es sich hierbei lediglich um ein Kürzel für eine Suche mit dem Kriterium Name stimmt überein mit. 2.2.4    Suchen dauerhaft in intelligenten Ordnern speichern

Es wäre reine Zeitverschwendung, komplexere und mit viel Mühe erstellte Abfragen nach erfolgter Suche wieder zu verwerfen. Aus diesem Grund bietet Ihnen der Finder die Möglichkeit, eine Spotlight-Suche als sogenannten intelligenten Ordner zu speichern (siehe Abbildung 2.15). Wenn Sie einen solchen Ordner im Finder öffnen, dann wird automatisch die in ihm gespeicherte Abfrage ausgeführt, und die Fundstellen werden angezeigt. Der intelligente Ordner enthält also keine Verzeichnisstruktur, sondern eine ad hoc aktualisierte Liste der Treffer. Praktisch ist dies, wenn Sie sich beispielsweise alle Word-Dateien mit der Endung .doc auflisten lassen möchten, die einen bestimmten Begriff enthalten, und diese automatisch aktualisierte Liste nach dem Änderungsdatum sortieren lassen. Haben Sie eine Suche im Finder ausgeführt, dann finden Sie oben rechts die Schaltfläche Sichern. Diese speichert standardmäßig Ihre Abfrage im Ordner Gesicherte Suchabfragen im Verzeichnis Library. Im Finder wechseln Sie in Ihre Library, indem Sie die Taste (alt) gedrückt halten und den Menüpunkt Gehe zu • Library auswählen. Alternativ können Sie die Library auch durch die Änderung des FileFlags dauerhaft sichtbar machen (siehe Abschnitt 1.4.2).

Abbildung 2.15    Intelligente Ordner werden im Finder mit einem Zahnrad im Icon dargestellt.

Der Dialog zum Speichern stellt Ihnen auch die Option Zur Seitenleiste hinzufügen zur Verfügung. Ist sie aktiviert, dann wird der intelligente Ordner den Favoriten in der Seitenleiste hinzugefügt. Wenn Sie den intelligenten Ordner den Favoriten in der Seitenleiste hinzugefügt haben, dann steht er Ihnen auch im Dialog zum Öffnen und Speichern zur Verfügung. Sie sind allerdings nicht darauf beschränkt, intelligente Ordner – bei denen es sich streng genommen um eine Property-Liste (siehe Abschnitt 7.2.1) handelt – in der Library zu speichern. Es ist problemlos möglich, den intelligenten Ordner zum Beispiel auf dem Schreibtisch oder in einem anderen Verzeichnis zu sichern. Öffnen Sie den Ordner, beispielsweise durch einen Doppelklick, dann wird die Suche automatisch ausgeführt.

Abbildung 2.16    Über das Menü mit dem Zahnrad können Sie die Suchkriterien eines intelligenten Ordners einsehen und nachträglich bearbeiten.

Die Kriterien eines intelligenten Ordners lassen sich nachträglich ändern, indem Sie im Menü Aktion, das über das Icon mit dem Zahnrad aufrufbar ist, den Eintrag Suchkriterien einblenden auswählen

(siehe Abbildung 2.16). Sie können dann die Einstellungen des intelligenten Ordners bearbeiten und wieder sichern. 2.2.5    Spotlight in anderen Programmen: Mail, iTunes, Kontakte und Fotos

Die Funktionsweise der intelligenten Ordner ist nicht auf den Finder begrenzt, sondern findet sich in einigen anderen Programmen. So können Sie in iTunes über den Menüpunkt Ablage • Neu • Intelligente Wiedergabeliste eine Wiedergabeliste erstellen, bei der Sie analog zu den intelligenten Ordnern die Kriterien für die Suche vorgeben. Der Inhalt der Liste aktualisiert sich automatisch, wobei Ihnen hier die Metadaten der Musikdateien (Interpret, Genre ...) als Kriterien zur Verfügung stehen. Ähnlich verhält es sich mit den intelligenten Postfächern in Mail, die Sie über den Menüpunkt Postfach • Neues intelligentes Postfach erstellen. Im Programm Kontakte verbirgt sich eine vergleichbare Funktion hinter dem Menüpunkt Ablage • Neue intelligente Gruppe. Und zur Sortierung Ihrer Fotos können Sie über Ablage • Neues intelligentes Album basierend auf den Metadaten Ihrer Bilddateien ein intelligentes Album erstellen. Die Intelligenz aller dieser Funktionen resultiert in erster Linie daraus, dass sich der Inhalt des Albums, der Gruppe oder des Postfachs automatisch aktualisiert. Wie und welche Kriterien genutzt werden sollten, hängt sehr stark davon ab, wie Sie Ihre jeweiligen Daten organisiert haben. Beispielsweise könnten Sie in iTunes eine intelligente Wiedergabeliste mit dem Kriterium erstellen, dass das Genre der Zeichenfolge Rock entspricht. Diese Liste würde sich automatisch erweitern, wenn Sie ein neues Album einer Rockband hinzufügen, sofern den Musikdateien die entsprechende Information hinzugefügt wurde.

2.2.6    Die Funktionsweise von Spotlight

Es wäre ein irrwitziges Unterfangen, den Inhalt mehrerer Zehntausend Dateien in Echtzeit zu durchsuchen. Dieses Verfahren würde viel zu viel Rechenzeit und Dateizugriffe erfordern. Spotlight basiert daher auf einem Index, einer Datenbank, die die Informationen speichert, die für die Suche benötigt werden. Geben Sie am Terminal einfach ls -a / ein, dann finden Sie dort auch einen Ordner .Spotlight-V100 (siehe Abbildung 2.17). Dieses Verzeichnis, das aufgrund des führenden Punkts im Finder sonst unsichtbar ist, enthält die Datenbank für Ihr Startvolume. Andere Partitionen und Laufwerke verfügen ebenfalls über einen separaten Index auf der obersten Ebene. Lassen Sie sich den Inhalt eines im Verzeichnis /Volumes (siehe Abschnitt 3.1.2) eingebundenen Laufwerks mit ls -a /Volumes/Laufwerksname anzeigen, dann finden Sie dort wiederum ein Verzeichnis .Spotlight-V100.

Abbildung 2.17    Der Suchindex von Spotlight befindet sich in dem unsichtbaren Verzeichnis ».Spotlight-V100«.

Für die Aktualität des Index spielt der Systemdienst fseventsd eine große Rolle. Dieser Dienst überwacht die Dateisysteme und registriert Änderungen an Dateien. Dazu gehören das Speichern, Löschen und Ändern einer Datei. Diese Änderungen werden in den im Verzeichnis .fseventsd enthaltenen Daten verwaltet und werden von fseventsd dann an weitere Systemdienste kommuniziert,

deren Namen mit md beginnen. So hat der Dienst mdworker unter anderem die Aufgabe, die Änderungen im Dateisystem abzuarbeiten und an den Index weiterzuleiten.

Abbildung 2.18    Spotlight nutzt sogenannte Importer für die Suche nach Inhalten der Dateien.

Um nicht nur den Dateinamen, sondern auch Inhalte der Dateien – beispielsweise den Text einer PDF-Datei – durchsuchen zu können, nutzt Spotlight sogenannte Importer (siehe Abbildung 2.18). Die Aufgabe dieser Module besteht darin, die für die Suche relevanten Informationen wie den Text und zusätzliche Attribute, zum Beispiel die Belichtungszeit, auszulesen und an den Index weiterzugeben. Gespeichert werden die Importer im Verzeichnis /System/Library/Spotlight für die in macOS standardmäßig verfügbaren Importer sowie im Verzeichnis /Library/Spotlight für nachträglich installierte Importer. Es ist auch möglich, dass ein Programm einen Importer für Spotlight in seinem Bundle (siehe Abschnitt 1.6) enthält. Dieser Importer würde bei der Indizierung ebenfalls berücksichtigt. 2.2.7    Spotlight verwalten und erweitern

Zur Verwaltung von Spotlight stehen Ihnen zwei Möglichkeiten zur Verfügung. Zunächst finden Sie in den Systemeinstellungen eine Ansicht Spotlight. Darüber hinaus können Sie mit dem Befehl

mdutil am Terminal einen defekten Index löschen und neu

anlegen sowie Partitionen von der Indizierung ausschließen. In den Systemeinstellungen legen Sie im Reiter Suchergebnisse fest, welche Objekte Ihnen als Suchergebnisse angezeigt werden sollen. Wenn Sie intensiv im Web surfen, dann kann beispielsweise die Kategorie Lesezeichen und Verlauf sich eher störend auswirken. Wählen Sie sie ab, dann dürfte die Liste der Suchergebnisse übersichtlicher und kürzer sein.

Abbildung 2.19    In den Systemeinstellungen können Sie Ordner und ganze Datenträger von der Suche ausschließen.

Um bestimmte Ordner und Volumes von der Suche auszuschließen, wechseln Sie in den Reiter Privatsphäre. Hier können Sie über das Pluszeichen unten links Ordner und Partitionen hinzufügen und über das Minuszeichen wieder entfernen. Es kann sich lohnen, die Privatsphäre an Ihren persönlichen Datenbestand anzupassen, um so zunächst die Suche selbst ein klein wenig zu beschleunigen und zusätzlich Verzeichnisse, deren Inhalt für die Suche irrelevant ist, gänzlich auszuschließen, was die Übersichtlichkeit erhöht. Der in Abbildung 2.19 zuoberst dargestellte Ordner befindet sich zum Beispiel im Verzeichnis ~/Library/Mail/V3 und stellt ein Postfach

dar, das nur zu Archivierungszwecken genutzt wird. Für den Alltagsgebrauch ist es vollkommen irrelevant, und die in ihm enthaltenen Nachrichten müssen bei der Suche nicht beachtet werden.

Abbildung 2.20    Die Systemeinstellungen weisen auf viele problematische Ausschlüsse hin.

Beim Ausschluss von Ordnern sollten Sie auch ein wenig mögliche Nebenwirkungen im Hinterkopf behalten. Würde der Ordner ~/Library/Mail komplett von der Spotlight-Suche ausgeschlossen, würde auch die Suchfunktion in Mail nicht mehr funktionieren. Das System weist Sie in den meisten Fällen darauf hin (siehe Abbildung 2.20). Haben Sie den Eindruck, dass Sie nicht die Ergebnisse erhalten, die Sie erwarten würden, dann besteht die eher kleine Möglichkeit, dass der Index von Spotlight beschädigt ist. In diesem Fall stehen zwei Lösungswege zur Verfügung: Zunächst können Sie das Volume der Privatsphäre hinzufügen. Bei Ihrem Startvolume erhalten Sie eine Warnung ähnlich der in Abbildung 2.20 dargestellten. Ignorieren Sie sie, und fügen Sie das Startvolume der Liste unter Privatsphäre hinzu. Wenn Sie das Volume anschließend aus der Liste wieder entfernen, wird der Index neu angelegt.

Abbildung 2.21    Die Erstellung eines Index wird im Spotlight-Fenster angezeigt.

Dass ein Index neu erstellt wird, erkennen Sie an einem Forschrittsbalken mit der Beschriftung Indizieren im Fenster von Spotlight, so wie in Abbildung 2.21. Abhängig von der Anzahl Ihrer Dateien und der Geschwindigkeit Ihrer Festplatte kann dieser Vorgang durchaus einige Zeit in Anspruch nehmen.

Abbildung 2.22    Mit dem Befehl »mdutil« konfigurieren Sie die Indexierung eines Volumes.

Alternativ steht Ihnen am Terminal der Befehl mdutil zur Verfügung. Er dient zur Steuerung einiger Einstellungen von Spotlight. Sie müssen ihm in diesem Fall sudo (siehe Abschnitt 6.3.1) voranstellen und nach der Eingabe Ihr Passwort eingeben, um mdutil erweiterte Rechte zu erteilen. Über die Option -E können Sie veranlassen, dass der Index eines Volumes gelöscht und neu angelegt wird. Für Ihr Startvolume würde die Eingabe sudo mdutil -E / lauten. Um den Index der Partition DatenHD zu löschen, müssten Sie sudo mdutil -E /Volumes/DatenHD eingeben. »mdutil« – Metadata Utility mdutil Option Volume

Die Indizes von allen eingebundenen Partitionen inklusive Ihrer Startvolumes können Sie mit der Option -a löschen, die Sie anstelle

des Volumes angeben. Die Eingabe von sudo mdutil -a -E würde alle Indizes löschen und neu anlegen. Über die Option -s in Verbindung mit der Angabe eines Volumes lassen Sie sich den Status des angegebenen Volumes anzeigen. Als Status werden hier die Aktualisierung der Datenbank (Indexing) und die Suche (Searching) verstanden. Hierzu geben Sie einfach mdutil -s / ein. Die Indizierung können Sie über die Option -i unterbinden, auf die das Schlüsselwort off folgt (siehe Abbildung 2.22). Nutzen Sie diese Option in Verbindung mit der Angabe der betreffenden Partition (/ für Ihr Startvolume, /Volumes/DatenHD für eine Partition mit dem Namen DatenHD), dann wird die Indizierung dauerhaft abgeschaltet. Auf die Eingabe von sudo mdutil -i off /Volumes/DatenHD erhalten Sie die Ausgabe Indexing disabled. Beachten Sie, dass Ihnen diese Information nicht in den Systemeinstellungen unter Privatsphäre angezeigt wird. Über den aktuellen Status können Sie sich diesbezüglich lediglich mit der zuvor besprochenen Option -s informieren. Reaktivieren lässt sich die Indizierung und Suche mit dem Schlüsselwort on. Die Eingabe von sudo mdutil -i on /Volumes/DatenHD würde die Indizierung wieder aktivieren, und ein neuer Index würde im Hintergrund angelegt.

Abbildung 2.23    Mit dem Befehl »mdimport« listen Sie die aktiven Importer auf.

Die Liste der derzeit aktiven Importer lassen Sie sich mit dem Befehl mdimport durch die Option -L ausgeben (siehe Abbildung 2.23). In der Liste finden Sie nicht nur die eigenständigen Importer, sondern auch diejenigen, die sich innerhalb des Bundles eines Programms befinden. »mdimport« – Metadata Importer mdimport Option [Pfad]

Im Web ist eine ganze Reihe von Importern für die Indizierung unterschiedlicher Dateitypen verfügbar. Wenn Sie einen Importer eigenhändig installieren möchten, dann können Sie wiederum den Befehl mdimport nutzen. Mit der Option -r, gefolgt von der Pfadangabe zum Importer, aktivieren Sie diesen. Die Eingabe von mdimport -r /Library/Spotlight/epub.mdimporter

würde den zuvor in das Verzeichnis /Library/Spotlight kopierten Importer epub.mdimporter aktivieren, der zur Indizierung von EBooks im EPUB-Format dient. 2.2.8    Suchen und Finden am Terminal

Eine Suche mittels Spotlight führen Sie am Terminal mit dem Befehl mdfind aus. Die Eigenschaften einer Datei gibt Ihnen der Befehl mdls aus. »mdls« – Metadata List mdls Datei

Um in Erfahrung zu bringen, welche Attribute eine Datei für die Suche bereitstellt, rufen Sie am Terminal den Befehl mdls, gefolgt vom Dateinamen, auf. Die Eingabe von mdls Manuskript.pdf führt zur Ausgabe aller Metadaten, die für die PDF-Datei erkannt werden (siehe Abbildung 2.24). Hinzu käme in diesem Fall der Volltext der PDF-Datei, der ebenfalls durchsucht, Ihnen von mdls jedoch nicht angezeigt wird.

Abbildung 2.24    Der Befehl »mdls« zeigt die Metadaten einer Datei am Terminal an.

In der Liste von mdls finden Sie links die Eigenschaft, beispielsweise kMDItemDisplayName für den Anzeigenamen, und nach dem Gleichheitszeichen den Wert. Die Liste der Eigenschaften kann recht lang werden, aber wenn Sie eine komplexere Abfrage erstellen möchten, dann kann es sich lohnen, sie genauer zu studieren.

Die Eigenschaften, deren Bezeichnung immer kMD vorangestellt wird, tragen in der Regel recht sprechende Namen. So enthält die Eigenschaft kMDItemNumberOfPages die Anzahl der Seiten in dem Dokument. Diese Eigenschaften können Sie auch für die Formulierung von Abfragen (siehe Abschnitt 2.2.3) nutzen und im Spotlight-Fenster beispielsweise »kMDItemNumberOfPages:>100 Art:PDF« eingeben, um sich eine Liste aller PDF-Dateien anzeigen zu lassen, die mehr als 100 Seiten umfassen.

Abbildung 2.25    Die Datei »schema.strings« können Sie auf den Schreibtisch kopieren.

Abbildung 2.26    Benennen Sie die kopierte Datei »schema.strings« in »schema.plist« um, dann können Sie ihren Inhalt über QuickLook einsehen.

Ist Ihnen eine Eigenschaft wie kMDItemNumberOfPages etwas zu kryptisch, dann können Sie in vielen Fällen auch eine deutsche Übersetzung für die Suche nutzen. Welche Eigenschaft welchem deutschen Begriff entspricht, wird in der Datei schema.strings festgelegt, die Sie im Verzeichnis /System/Library/Frameworks/CoreServices.framework/Versions/A/Fr

ameworks/Metadata.framework/Versions/A/Resources/German.lproj finden. Kopieren Sie sich diese Datei auf Ihren Schreibtisch (siehe Abbildung 2.25), und ändern Sie die Dateiendung von .strings in .plist, dann können Sie den Inhalt der Datei mit QuickLook einsehen. Sie finden in der Liste unter key die Bezeichnung der Eigenschaft und direkt darunter mit string die deutsche Übersetzung (siehe Abbildung 2.26). Studieren Sie die Liste, dann werden Sie schnell auf eine Reihe von Schlüsselwörtern stoßen, die für die Formulierung einer Abfrage überaus nützlich sind. So finden Sie dort auch die Eigenschaft kmdItemCity mit der Übersetzung Stadt/Ort. Gäben Sie im Fenster von Spotlight den Suchbegriff »Stadt/Ort:Berlin Meier« an, dann würden Ihnen alle Kontakte angezeigt, die dem Suchbegriff »Meier« entsprechen und bei denen die Ortsangabe »Berlin« lautet. Oder Sie könnten sich durch die Abfrage »Art:PDF Seiten:>100« alle PDF-Dateien ausgeben lassen, die mehr als 100 Seiten umfassen. Bei dieser Abfrage wäre der konkrete Inhalt der Datei irrelevant. Für die Suche am Terminal steht Ihnen der Befehl mdfind zur Verfügung (siehe Abbildung 2.27). Diesem Befehl übergeben Sie einen Suchbegriff in Anführungszeichen als Parameter und suchen so durch die Eingabe von mdfind "Apple" nach allen Dateien, die irgendwie mit dem Begriff »Apple« in Verbindung stehen. Sie erhalten als Ausgabe von mdfind in jeder Zeile den absoluten Pfad (siehe Abschnitt 21.3.1) zur Datei. »mdfind« – Metadata Find mdfind [Option] Suchbegriff

Sinnvoll einsetzen lässt sich mdfind mit den Optionen -onlyin, mit der Sie die Suche auf ein Verzeichnis begrenzen, und -name, mit der Sie lediglich nach Dateinamen suchen. Die Suche nach mdfind "Apple" -onlyin ~/Documents würde den Ordner Dokumente nach allen Dateien durchsuchen, die mit der Zeichenkette »Apple« in Verbindung gebracht werden.

Abbildung 2.27    Mit dem Befehl »mdfind« können Sie in Verbindung mit der Option »name« gezielt nach Dateinamen suchen.

Um nach allen Dateien zu suchen, deren Name httpd.conf lautet und bei denen es sich daher um eine Konfigurationsdatei für den Apache Webserver handeln könnte, könnten Sie die Option -name beispielsweise in der Form mdfind "httpd.conf" -name nutzen (siehe Abbildung 2.27). Der Befehl mdfind durchsucht standardmäßig auch die Systemdateien, die Sie für die normale Suche mit Spotlight erst aktivieren müssen (siehe Abschnitt 2.2.3). Beide Optionen lassen sich problemlos kombinieren. Die Eingabe von mdfind "documentation" -name -onlyin ~/Documents würde nach allen Dateien suchen, deren Name documentation enthält und die sich im Verzeichnis Dokumente in Ihrem persönlichen Ordner befinden. Die Ausgabe des absoluten Pfads zu einer Datei eignet sich sehr gut für die automatische Verarbeitung, beispielsweise mithilfe einer Pipe | (siehe Abschnitt 21.1.2). Die Eingabe von mdfind "documentation" -name -onlyin ~/Documents | less würde die Liste an das Programm less (siehe Abschnitt 21.4.1)

übergeben, das dann die Anzeige übernähme.

3    Datenträger und Dateisysteme Die Arbeit mit Datenträgern geht über das bloße Löschen eines USBSticks hinaus. macOS enthält eine Reihe von nützlichen Werkzeugen, mit denen Sie Datenträger partitionieren, formatieren und konfigurieren. In diesem Kapitel stelle ich Ihnen die Arbeit mit Datenträgern und Dateisystemen vor. Dabei geht es nicht nur um das Löschen einer Festplatte oder das Formatieren eines USB-Sticks. Neben diesen grundlegenden Funktionen vermittele ich Ihnen zunächst die notwendigen Grundlagen und Hintergründe, damit Sie Datenträger gemäß Ihren Anforderungen konfigurieren können. Dieses Wissen ist notwendig, um die Funktionsweise des Festplattendienstprogramms und seiner Optionen zu verstehen. [+] Für die Arbeit mit Dateisystemen nutzen Sie in erster Linie das Festplattendienstprogramm. In der unter macOS 10.13 vorliegenden Version nutzt das Dienstprogramm standardmäßig eine vereinfachte Ansicht, die die Partitionsschemata der Datenträger unvollständig darstellt und die in einigen Fällen irreführend ist. Die Beschreibungen in diesem Kapitel gehen davon aus, dass Sie für die Anzeige in der Seitenleiste die Option Alle Geräte einblenden ausgewählt haben (siehe Abbildung 3.1).

Abbildung 3.1    Im Festplattendienstprogramm sollten Sie grundsätzlich die Ansicht »Alle Geräte einblenden« nutzen.

Alternativ zum Festplattendienstprogramm können Sie am Terminal den Befehl diskutil nutzen. Sich mit diesem Befehl ein wenig vertraut zu machen, ist bei der Arbeit mit Datenträgern und Partitionen eigentlich immer sehr sinnvoll, weil er Ihnen Informationen liefert, die im Festplattendienstprogramm in dieser Form nicht ersichtlich sind. Und schließlich können Sie über das Festplattendienstprogramm noch den RAID-Assistent starten. Neben den einführenden Grundlagen lernen Sie zunächst das Festplattendienstprogramm kennen und erfahren, wie Sie Datenträger partitionieren, löschen, überprüfen und reparieren. Disk-Images (die auch als Festplattenabbildungen bezeichnet werden) sind eine recht nützliche Funktion, wenn es um die gezielte Sicherung von Ordnern geht oder wenn Sie ein Duplikat eines Datenträgers erstellen möchten. Mehrere Datenträger können Sie zu einem RAID zusammenfassen und auf diese Weise die Ausfallsicherheit erhöhen. Das mit macOS 10.13 neu eingeführte Dateisystem Apple File System (APFS) löst zumindest auf Rechnern mit einem SSD-Datenträger das mittlerweile doch sehr in die Jahre gekommene Dateisystem HFS+ ab. Dabei ist die Einführung von APFS noch nicht wirklich abgeschlossen: Noch stehen Ihnen als Anwender und Administrator nicht alle Fähigkeiten von APFS unmittelbar zur Verfügung. Von macOS standardmäßig nicht vollständig unterstützte Dateisysteme wie NTFS und ext4 können Sie über das Projekt OSXFUSE nachrüsten. Arbeiten Sie intensiver mit vielen Datenträgern, werden Defekte und Ausfälle unausweichlich sein. Darum werde ich abschließend Programme von Drittherstellern vorstellen, die in solchen Situationen nützlich sein können.

3.1    Grundlagen und Hintergründe Um zu verstehen, wie Sie mit Datenträgern – seien es Festplatten oder USB-Sticks – arbeiten, müssen Sie einige grundlegende Begriffe kennen. Zunächst unterstützt macOS einige Dateisysteme, die sich für bestimmte Zwecke eignen. Inwiefern ein Datenträger in unterschiedliche Bereiche oder Partitionen unterteilt wird, bestimmt eine Partitionstabelle. An welcher Stelle innerhalb der Verzeichnisstruktur des Systems ein Datenträger eingehängt oder aktiviert wird, definiert sich über dessen Mount-Point. Für die Organisation von Dateisystemen über mehrere Datenträger hinweg bietet macOS unter anderen das Core Storage genannte Verfahren. 3.1.1    Dateisysteme und Partitionsschemata

Für die Organisation von Daten auf einem Medium wie einer Festplatte, einemUSB-Stick oder einem SSD-Laufwerk, das von Apple auch als Flash-Laufwerk bezeichnet wird, ist ein Dateisystem zuständig. Für Datenträger wie Festplatten und USB-Sticks unterstützt macOS folgende Dateisysteme, die über die entsprechenden Module im Verzeichnis /System/Library/Filesystems realisiert werden: Apple File System – APFS

Mit macOS 10.13 steht das neue Dateisystem Apple File System (APFS) zur Verfügung. Das Dateisystem ist für die Nutzung mit SSD-Datenträgern konzipiert. Das heißt zunächst, dass Sie nur wenig Freude haben werden, wenn Sie APFS mit einer normalen Festplatte verwenden. Hier erweist sich APFS als weniger performant als HFS+ und auch als etwas weniger stabil, wenn Sie APFS für das Startvolume nutzen. Seine Stärken, und die sind beachtlich, spielt APFS dann aus, wenn Sie es mit SSD-

Datenträgern nutzen: APFS ist bei der Verwaltung von Dateien und Daten deutlich effizienter und zuverlässiger als HFS+, zum Beispiel durch die Fähigkeit, eine Kopie einer Datei zu erzeugen, die so lange auf die ursprüngliche Datei deutet, bis Sie Änderungen gespeichert haben. Dies hat zur Folge, dass Ihnen die Kopie nahezu unmittelbar zur Verfügung steht. Auch ist APFS in der Lage, einen Snapshot des aktuellen Standes des Dateisystems und der enthaltenen Dateien zu erstellen. Damit können Sie – zumindest in der Theorie – den aktuellen Stand ad hoc einfrieren und zu einem späteren Zeitpunkt wieder abrufen. In der mit macOS 10.13 vorliegenden Implementierung von APFS stehen Ihnen als Anwender und Administrator allerdings noch nicht alle dieser Funktionen unmittelbar zur Verfügung. Im Arbeitsalltag ist aber die Handhabung von Volumes und Partitionen über APFS sehr praktisch. APFS organisiert die Volumes zunächst in Container, die eine ursprüngliche Partition darstellen. Innerhalb dieser Container können Sie recht flexibel Volumes erstellen und in ihrer Größe ändern, teilweise auch die Größen vorgeben und limitieren. APFS bietet Ihnen darüber hinaus alle Funktionen und Fähigkeiten, über die HFS+ verfügt. Hierarchical File System – HFS+

Das Hierarchical File System verrichtete schon unter dem klassischen Mac OS seinen Dienst. Im Laufe der Jahre wurde es von Apple immer mehr erweitert und modifiziert. Heutzutage ist es in der aktuellen Version HFS+ neben APFS der Standard unter macOS. Im Festplattendienstprogramm wird es als Mac OS Extended bezeichnet. Es unterstützt alle für macOS notwendigen Funktionen wie Metadaten und erweiterte Dateiattribute (siehe Abschnitt 1.3). Für die Schreibweise von Dateinamen stehen Ihnen zwei Möglichkeiten zur Verfügung: Die Standardeinstellung unterscheidet nicht zwischen Groß- und Kleinschreibung,

während bei der Auswahl des Formats macOS Extendend (Groß-/Kleinschreibung) die Namen Datei und datei unterschiedliche Dateien bezeichnen. Sofern Sie keine Spezialsoftware einsetzen, die auf diese Unterscheidung angewiesen ist, ist die Auswahl Mac OS Extended der Standard. Darüber hinaus unterstützt HFS+ ein Journaling genanntes Verfahren. Hierbei führt das System Buch über Schreibvorgänge während des Betriebs, sodass nach einem erzwungenen Neustart, etwa aufgrund eines Stromausfalls, das Dateisystem schnell überprüft werden kann. File Allocation Table – FAT

Das Dateisystem FAT stellte unter MS-DOS und Microsoft Windows lange Zeit den Standard dar. Im Festplattendienstprogramm wird es als MS-DOS-Dateisystem (FAT) aufgeführt. macOS ist in der Lage, auf dieses Dateisystem lesend und schreibend zuzugreifen. Man merkt dem FAT-Dateisystem sein Alter ein wenig an, denn die maximale Dateigröße entspricht ungefähr 4 GB. Wenn Sie also beispielsweise auf einen FATformatierten USB-Stick eine Videodatei kopieren, die größer als 4 GB ist, dann wird dieser Kopiervorgang an den Grenzen von FAT scheitern. Abgesehen von dieser Grenze ist FAT wahrscheinlich jedoch die bessere Wahl, um Datenträger sowohl unter Windows als auch unter macOS zu nutzen. Beachten Sie dabei jedoch, dass FAT die für macOS typischen erweiterten Dateiattribute nicht direkt unterstützt. Aus diesem Grund finden Sie neben der eigentlichen Datei, etwa Bild.jpg, eine weitere Datei ._Bild.jpg, die die erweiterten Dateiattribute (siehe Abschnitt 1.3) enthält. Extended File Allocation Table – exFAT

Das Dateisystem exFAT wurde von Microsoft ursprünglich geschaffen, um die Einschränkungen von FAT zu überwinden. In erster Linie ist es als Standard für Datenträger wie SD-Karten und

USB-Sticks gedacht und kann Dateien mit einer Größe von mehr als 4 GB handhaben. Allerdings wird exFAT unter anderem von eigentlich schon veralteten Versionen wie Windows XP nur nach einem Update unterstützt. macOS kann auf exFAT schreibend und lesend zugreifen. New Technology Filesystem – NTFS

Das Dateisystem NTFS stellt für Microsoft Windows derzeit den Standard dar. Es handelt sich um ein modernes Dateisystem, das alle Funktionalitäten wie erweiterte Dateiattribute und Zugriffsrechte mit sich bringt. macOS kann auf eine NTFSPartition, wie sie etwa auch durch die Installation von Windows mithilfe des Boot Camp-Assistenten eingerichtet wird, nur lesend zugreifen. Die Unterstützung von Schreibzugriffen ist zwar in einer allenfalls experimentell zu nennenden Form in macOS integriert, aber der Treiber NTFS-3G (siehe Abschnitt 3.4.2) mithilfe von OSXFUSE ist sicherlich die bessere Wahl.

Ein Datenträger wie eine Festplatte kann in mehrere Bereiche unterteilt werden. Für diese Partitionen sind unterschiedliche Verfahren gebräuchlich, die im Festplattendienstprogramm als Schema bezeichnet werden. Wenn Sie einen Datenträger Löschen möchten, dann können Sie unter Schema ein Verfahren auswählen. macOS unterstützt drei solcher Partitionstabellen: GUID-Partitionstabelle – GPT

Die GPT ist der Standard unter macOS und auch Windows (siehe Abbildung 3.2). Die GUID-Partitionstabelle müssen Sie nutzen, wenn Sie ein System von der Festplatte starten möchten. Master Boot Record – MBR

Die als Master Boot Record bezeichnete Methode wurde lange Zeit unter MS-DOS und Windows eingesetzt. Wenn Sie eine (externe)

Festplatte oder einen USB-Stick unter Windows XP oder einer noch älteren Windows-Version nutzen möchten, dann sollten Sie den Datenträger mit einem MBR versehen. Apple-Partitionstabelle

Die Apple-Partitionstabelle ermöglicht Rechnern von Apple, die noch mit einem PowerPC-Prozessor ausgestattet wurden, den Start von dem Datenträger. Insofern ist dieses Verfahren eigentlich als veraltet zu betrachten. Allerdings kann es notwendig sein, eine Festplatte unter Verwendung dieser Partitionstabelle zu löschen, um auf einem alten Apple-Rechner auf die Festplatte zuzugreifen.

Abbildung 3.2    Wählen Sie einen Datenträger aus, können Sie auch eine neue Partitionstabelle vorgeben.

Wenn von Partitionen gesprochen wird, dann stellt sich leicht eine begriffliche Verwirrung ein. Als Partition wird in erster Linie ein Bereich auf einem Datenträger bezeichnet, der ein separates Dateisystem enthält. Man spricht hier auch von einer physischen Partition. Im Apple-Kontext hat sich, in erster Linie aus historischen Gründen, auch die Bezeichnung Volume für eine Partition eingebürgert. Daher finden Sie in den Systemeinstellungen auch die Ansicht Startvolume, die genauso gut »Startpartition« heißen könnte. Übrigens wird eine Partition im Unix-Bereich auch als Slice

bezeichnet. Verschiedentlich wird eine Unix-Partition im Festplattendienstprogramm und in den Systeminformationen auch als BSD-Name oder BSD-Geräteknoten angezeigt. Mit APFS wurden ferner noch die Container eingeführt. Bei den APFS-Containern handelt es sich zunächst um eine Partition, die eines oder mehrere APFS-Volumes beinhalten kann. Mit einer Technologie wie Core Storage ist es auch möglich, eine Partition mit einem Dateisystem über mehrere Datenträger hinweg zu organisieren. Wenn mehrere Festplatten oder ihre Bereiche zu einer solchen Partition zusammengefasst werden, im Finder also als ein Volume erscheinen, dann wird von einer logischen oder virtuellen Partition gesprochen. Mit Core Storage ist es auch möglich, die Daten zu verschlüsseln. 3.1.2    Mount-Points und Gerätedateien

Wenn Sie einen genauen Einblick in die Partitionsschemata Ihrer Datenträger nehmen möchten, dann geben Sie am Terminal den Befehl diskutil list ein. Sie erhalten dann eine tabellarische Auflistung Ihrer Datenträger und deren Partitionen. Von Bedeutung sind hier zunächst die Angaben, die mit /dev beginnen. Das Betriebssystem spricht über die im Verzeichnis /dev befindlichen Dateien die Geräte an. Daher werden diese auch als Gerätedateien bezeichnet. Eine Angabe wie /dev/disk3 verweist auf den vierten Datenträger, da die Nummerierung mit 0 beginnt. In Klammern wird angegeben, ob es sich um einen internen (internal) oder externen (external) Datenträger handelt und ob es eine virtuelle (virtual) oder physische (physical) Partition beziehungsweise ein virtuelles oder physisch vorhandenes Laufwerk ist.

Eine Partition wird in der Form /dev/disk3s2 benannt. Hier steht das s für Slice. Die Angabe /dev/disk3s2 bezeichnet die zweite Partition auf der vierten Festplatte. Die Nummerierung der Partitionen beginnt bei 1. Die Gerätedateien werden Ihnen auch im Festplattendienstprogramm angezeigt. In Abbildung 3.2 des Festplattendienstprogramms finden Sie unten rechts die Angabe Gerät, gefolgt von disk1. In der Spalte TYPE wird das verwendete Dateisystem (APFS oder HFS) angegeben. Die Angabe Apple_CoreStorage weist darauf hin, dass die Partition zu einem Core-Storage-Volume gehört. Neben den Gerätedateien in der Form disk3s2 gibt es eine weitere Variante mit der Bezeichnung rdisk3s2. Diese »rohe« Datei wird genutzt, wenn direkt – unter Umgehung des Dateisystems – auf den Datenträger geschrieben oder von ihm gelesen werden muss. Im normalen Arbeitsalltag werden Sie davon nur in Ausnahmefällen Gebrauch machen, etwa wenn es darum geht, eine exakte Kopie eines Datenträgers zu erzeugen, um etwa einen USB-Stick für die Installation von Ubuntu Linux vorzubereiten (siehe Abschnitt 9.2.1).

Abbildung 3.3    Die Gerätedatei einer Partition wird in der Spalte »Identifier« angegeben.

Neben den im Finder sichtbaren Partitionen finden Sie zwei weitere (siehe Abbildung 3.3). Die mit Recovery HD bezeichnete Partition vom Typ Apple_Boot enthält das Rettungssystem. Die kleine Partition EFI vom Typ EFI enthält Dateien, die für den Start des

Betriebssystems macOS benötigt werden. Wird der Rechner gestartet, dann erfolgt zunächst der Zugriff auf eine dieser Partitionen, gefolgt vom eigentlichen Betriebssystem. Sie sollten diese EFI-Partition keinesfalls löschen.

Abbildung 3.4    Die Dateisysteme werden im Verzeichnis »/Volumes« aktiviert.

Damit Sie auf die Daten und Verzeichnisse eines Datenträgers zugreifen können, muss er in der Verzeichnisstruktur Ihres Systems verfügbar sein. Unter macOS wartet im Hintergrund der Dienst diskarbitrationd darauf, ob ein Datenträger angeschlossen wird oder anderweitig ein neues, noch nicht aktives Dateisystem verfügbar ist. Wird ein Datenträger aktiviert, etwa weil Sie eine externe Festplatte einschalten, dann werden verfügbare Dateisysteme automatisch im Verzeichnis /Volumes aktiviert. Sie können sich durch die Eingabe von beispielsweise ls -l /Volumes den Inhalt des Verzeichnisses am Terminal anzeigen lassen (siehe Abbildung 3.4). Bei der Partition, auf der sich Ihr System befindet, wird mit -> / darauf hingewiesen, dass es sich um die oberste Ebene der Verzeichnisstruktur handelt. Im Finder stehen Ihnen die Dateisysteme in der Ansicht Computer zur Verfügung. Am Rande: Wenn Sie mehrere gleichnamige Dateisysteme aktivieren, dann werden sie nacheinander aufsteigend im Verzeichnis /Volumes nummeriert. Nutzen Sie also beispielsweise zwei Partitionen mit dem Namen Daten, dann finden Sie im Verzeichnis /Volumes die Verzeichnisse Daten und Daten 1.

3.1.3    Anmerkungen zum Apple File System (APFS)

Das Dateisystem HFS+ ist mittlerweile deutlich in die Jahre gekommen. Eingeführt Ende der 90er-Jahre und basierend auf HFS aus den 80ern, kann HFS+ nicht mehr den Anforderungen entsprechen, die im Zeitalter von immer größeren Festplatten und Datenträgern an ein Dateisystem gestellt werden. Lange Zeit wirkte es so, als ob Apple diesen doch integralen Bestandteil des Betriebssytems nicht wirklich weiterentwickeln wollte. Zwar wurde HFS+ an einigen Stellen fortentwickelt, etwa durch die Einführung von harten Links auf Verzeichnisse, aber richtige Innovationen waren nicht zu vermerken. Zwischenzeitlich gab es einige Experimente mit dem Dateisystem ZFS, das ursprünglich von der Firma SUN für Unix-Systeme und -Server entwickelt wurde. Inzwischen hat Apple mit macOS 10.13 das Apple File System (APFS) eingeführt und bereits teilweise zum Standard gemacht. APFS wurde für die Nutzung mit SSD-Datenträgern konzipiert, und dementsprechend wird bei der Installation von macOS 10.13 das Startvolume in ein APFS-Volume umgewandelt, sofern es sich bei dem Datenträger um eine SSD handelt. Es ist durchaus möglich, APFS als Dateisystem für eine magnetische Festplatte zu nutzen, aber sinnvoll ist dies eigentlich nicht. APFS hat sich hier, so mein subjektiver Eindruck, als etwas langsamer als HFS+ erwiesen. Auch war ein macOS-System, das auf einer Festplatte mit APFS installiert wurde, beim Start reproduzierbar langsamer und instabiler als bei Verwendung von APFS. Zur Drucklegung dieses Buches war es noch nicht möglich, APFS in Verbindung mit einem Fusion Drive zu nutzen. Apple hat hier allerdings ein Update angekündigt. Den heutzutage gestiegenen Anforderungen an ein Dateisystem trägt APFS unter anderem mit folgenden Funktionen und Fähigkeiten Rechnung:

Snapshots

Diese Funktion sorgt dafür, dass der aktuelle Zustand des Dateisystems als Snapshot festgehalten wird, der mit dem Zeitpunkt versehen ist. Änderungen an den Dateien und Ordnern werden ab dem Zeitpunkt des Snapshots registriert. Es ist dann möglich, zu einem späteren Zeitpunkt – etwa nach einem fehlgeschlagenen Update – wieder zu dem Zustand zurückzukehren, der bei der Erstellung des Snapshots bestand. In der Praxis wird die Snapshot-Funktionalität von macOS bereits genutzt, wenn Sie verschiedene Versionen eines Dokuments (beispielsweise in TextEdit) aufrufen. Diese Funktion können Sie am Terminal auch mit dem Befehl tmutil sowie dessen Funktion localsnapshot ausprobieren. Am Rande: Direkt nutzbar beziehungsweise nützlich sind die Snapshots im Arbeitsalltag mit macOS 10.13 jedoch noch nicht. Container

Während bei den Partitionstabellen die Größen der Partitionen weitgehend fest vorgegeben wurden, ist APFS mit den Containern und der Teilung von Speicherplatz deutlich flexibler. Das in Abschnitt 3.2.3 beschriebene Konzept ermöglicht es, einen Container als Dach oder Rahmen für die darin enthaltenen APFSVolumes zu erstellen. Die Volumes teilen sich den Speicherplatz des Containers, wobei Sie bei der Erstellung der Volumes Grenzen festlegen können. Klone von Dateien und Verzeichnissen

APFS beschleunigt die Kopiervorgänge unter anderem damit, dass die Kopie einer Datei so lange auf den Speicherbereich des Originals deutet, wie keine Änderung stattgefunden hat. Dadurch wird der Kopiervorgang erheblich beschleunigt.

»Sparse«-Dateien

Dieses Konzept sieht vor, dass Dateien Speicherplatz erst dann zugeteilt wird, wenn er wirklich benötigt wird. Oft kommt es vor, dass eine Datei beispielsweise 1 GB belegen muss, aber innerhalb der Datei Daten von lediglich 100 MB anfallen. Es blieben 900 MB übrig, die eigentlich frei sind. Bei APFS gibt es daher eine Unterscheidung zwischen der logischen Größe (1 GB) und der physischen Größe (100 MB). Die wenigsten dieser Features sind für Sie als Anwender und Administrator unmittelbar einsetzbar. Vielmehr erfüllen sie ihren Zweck unsichtbar im Hintergrund.

Abbildung 3.5    Im Verzeichnis »/System/Library/Filesystems/apfs.fs/Contents/Resources« ist eine Reihe von Befehlen enthalten.

Wenn Sie experimentierfreudig sind, Neuinstallationen nicht scheuen und über ein vollständiges und aktuelles Backup verfügen, dann finden Sie im Verzeichnis /System/Library/Filesystems/apfs.fs/Contents/Resources eine Reihe von Befehlen für das Terminal, die Sie unter Verwendung des absoluten Pfades direkt aufrufen können (siehe Abbildung 3.5). Die meisten dieser Befehle geben beim direkten Aufruf ohne Parameter eine kurze Beschreibung (siehe Abbildung 3.6) aus. Bedenken Sie, dass diese Befehle von Apple nicht offiziell dokumentiert wurden und Sie insofern bei Ihren Experimenten (etwa mit apfs_stats für die APFS-Statistiken) Vorsicht walten lassen.

Abbildung 3.6    Beim direkten Aufruf geben die Befehle einen kurzen Hinweis auf ihre Funktionsweise.

3.1.4    Core Storage und Fusion Drive

Mit der Version 10.7 des Betriebssystems führte Apple eine neue Technologie mit der Bezeichnung Core Storage ein. Mit ihr wird die Verwaltung und Konfiguration von Partitionen und Datenträgern sehr viel flexibler. In der ursprünglichen Variante konnten Datenträger in Partitionen unterteilt und gegebenenfalls noch zu einem RAID (siehe Abschnitt 3.3.2) zusammengefasst werden. Mit Core Storage können Sie mehrere physische Partitionen zu einem logischen Laufwerk zusammenfassen. In der Ausgabe von diskutil list finden Sie daher auch Angaben in der Form (external, physical) bei einer Festplatte, bei der es sich um ein externes Gerät handelt und deren Partitionen auch auf dem Datenträger physisch vorhanden sind. Handelt es sich um ein Volume, das mithilfe von Core Storage angelegt wurde, dann finden Sie den Hinweis virtual. Wenn Sie mehrere physische Partitionen mithilfe des Befehls diskutil zu einem logischen Laufwerk zusammenfassen, dann wird Ihnen dieses Laufwerk im Festplattendienstprogramm als Fusion Drive angezeigt. Mit Fusion Drive wird auch ein Verfahren

bezeichnet, das Apple bei einigen Rechnern nutzt, um die Geschwindigkeit zu erhöhen. Hierbei wird ein kleines kostengünstiges SSD-Laufwerk in Verbindung mit einer normalen Festplatte zu einem Laufwerk verbunden. Die häufig benötigten Dateien werden auf das schnelle SSD-Laufwerk verschoben und die selten abgerufenen Dateien auf die langsamere Festplatte. Mit Core Storage können Sie einzelne Partitionen auch verschlüsseln. Die Methode ist auch die Grundlage für das FileVault 2 (siehe Abschnitt 16.1.4) genannte Verfahren sowie für die Verschlüsselung von Backup-Medien, die Sie mit der Time Machine verwenden (siehe Abschnitt 8.2.1). Sie können die Methode auch nutzen, um eine normale Partition zu verschlüsseln. In der ersten Version von macOS 10.13 war ein Fusion Drive in Verbindung mit Core Storage nicht in der Lage, mit dem Dateisystem APFS zu arbeiten. Apple hat angekündigt, dass die Unterstützung von APFS für diese kombinierten Laufwerke nachgeliefert wird. Bei der Arbeit mit Core Storage müssen Sie beachten, dass Sie die so erstellten Partitionen nur unter macOS beginnend ab Version OS X 10.7 nutzen können. Unter Windows oder Linux sowie älteren Versionen von macOS stehen Ihnen die Partitionen und deren Dateien nicht zur Verfügung. 3.1.5    Der S.M.A.R.T.-Status eines internen Datenträgers

Eine wichtige Information bei internen Datenträgern ist der sogenannte S.M.A.R.T.-Status. Starten Sie das Festplattendienstprogramm und wählen Sie in der linken Spalte einen internen Datenträger aus, dann wird Ihnen in der Übersicht unten links der S.M.A.R.T.-Status angezeigt (siehe Abbildung 3.7).

Abbildung 3.7    Der S.M.A.R.T.-Status gibt die interne Diagnose des Datenträgers wieder.

Er sollte in jedem Fall Überprüft lauten. Damit wird angezeigt, dass die Selbstdiagnose des Geräts erfolgreich verlaufen ist. Wenn Sie hier die Angabe Droht auszufallen oder etwas Ähnliches finden, dann hat das Laufwerk einen internen Defekt festgestellt und Sie sollten umgehend die auf dem Datenträger befindlichen Dateien auf einem anderen Medium sichern. In diesem Fall müssen Sie entweder selbst ein neues Laufwerk einbauen oder Ihren Rechner zur Reparatur in den Fachhandel bringen. Die Abkürzung S.M.A.R.T. steht für SelfMonitoring, Analysis and Reporting Technology und ist bei allen Datenträgern verfügbar, die von Apple in einem Rechner verbaut werden. 3.1.6    Der »trimforce«-Befehl für SSDs

Die Solid State Disks (SSD) genannten Datenträger werden von Apple seit einigen Jahren anstelle normaler Festplatten verbaut. Auch bei einem Rechner, der von Apple mit einem Fusion Drive ausgestattet wurde, wird ein SSD-Laufwerk in Verbindung mit einer klassischen Festplatte genutzt. Dabei ist die Bezeichnung »Laufwerk« oder »Disk« eigentlich etwas irreführend, da diese Datenträger keine mechanischen Komponenten in Form drehender Magnetscheiben

besitzen. Sie ähneln eher einem USB-Stick, da die Daten auf einem Chip gespeichert werden. Der Vorteil einer SSD besteht in einer sehr viel höheren Geschwindigkeit als bei normalen Festplatten. Bei der Nutzung einer SSD gibt es zwar keine mechanischen Bestandteile, die einem Verschleiß unterliegen, aber es tritt ein anderer Effekt ein, der die Lebensdauer und Geschwindigkeit des Datenträgers beeinträchtigen kann: Wenn ein Speicherbereich auf dem Datenträger beschrieben wird und die Daten zu einem späteren Zeitpunkt wieder gelöscht werden, dann wird der Speicherbereich nicht vollständig als leer beziehungsweise als erneut beschreibbar gekennzeichnet. Vielmehr müssen die gelöschten, aber nicht verfügbaren Bereiche wieder als leer gekennzeichnet werden, indem ein entsprechender Befehl mit der Bezeichnung TRIM angewandt wird. Dieses auch Trimming genannte Verfahren sorgt dafür, dass keine Geschwindigkeitsverluste auftreten und die gesamte Speicherkapazität verfügbar bleibt. Mit OS X 10.11 hat Apple TRIM für die internen, von Apple selbst verbauten Datenträger standardmäßig aktiviert. Überprüfen können Sie dies, indem Sie die Systeminformationen starten und dort in der Rubrik Hardware den Eintrag SATA/SATA Express auswählen. Ist TRIM aktiviert, dann finden Sie hier die Angabe TRIM-Unterstützung: Ja. [ ! ] Da nicht alle SSD-Datenträger TRIM unterstützen, kann die nachträgliche Aktivierung des Verfahrens zu Problemen, Datenverlusten und Defekten führen. In vorhergehenden Versionen von macOS haben Anwender auf Tools wie »Trim Enabler« zurückgegriffen, um TRIM entgegen den Vorgaben Apples zu aktivieren. Immerhin führt TRIM dazu, dass der SSD-Datenträger, sofern er den Befehl unterstützt, performanter arbeitet.

Mit dem Befehl trimforce können Sie TRIM unter macOS 10.13 nachträglich aktivieren. Bevor Sie den Befehl ausführen, sollten Sie jedoch unbedingt in Erfahrung bringen, ob Ihr Datenträger TRIM in der notwendigen Form unterstützt. Sie sollten hier im Zweifelsfall nicht zögern, gegebenenfalls auch den Hersteller zu kontaktieren, wenn Sie sich diese Information nicht auf eine andere Weise beschaffen können. Um TRIM für einen Datenträger zu aktivieren, rufen Sie den Befehl trimforce mit der Option enable auf. Dieser Befehl muss als Administrator ausgeführt werden, und Sie müssen ihm sudo voranstellen. Beachten Sie vor der Ausführung, dass der Befehl einen Neustart Ihres Systems veranlasst. Speichern Sie daher alle ungesicherten Änderungen an Dateien, und beenden Sie die aktuell ausgeführten Programme. Auf die Eingabe von sudo trimforce enable hin werden Sie zunächst aufgefordert, Ihr Passwort einzugeben. Anschließend erhalten Sie (siehe Abbildung 3.8) eine umfangreiche Belehrung auf Englisch, dass dieses Verfahren Risiken birgt und möglicherweise zu Datenverlusten und Defekten führt. Wenn Sie sich sicher sind, dass Sie fortfahren wollen, bestätigen Sie die zwei Rückfragen jeweils mit der Eingabe von (Y), gefolgt von (¢).

Abbildung 3.8    Mit dem Befehl »trimforce« können Sie TRIM auf eigenes Risiko aktivieren.

Ihr System wird anschließend neu gestartet, und TRIM ist aktiviert. Deaktivieren können Sie TRIM zu einem späteren Zeitpunkt durch die Eingabe von sudo trimforce disable. Auch in diesem Fall wird ein Neustart durchgeführt, und TRIM wird anschließend nicht mehr genutzt.

3.2    Das Festplattendienstprogramm Das zentrale Werkzeug für die Arbeit mit Datenträgern und Dateisystemen ist das Festplattendienstprogramm. Mit OS X 10.11 hat Apple das Dienstprogramm komplett überarbeitet. Das Festplattendienstprogramm können Sie nutzen, um Informationen über Datenträger und Dateisysteme einzuholen, diese zu partitionieren und zu löschen sowie bei auftretenden Defekten zu überprüfen und dann auch zu reparieren. Ferner ist es Ihnen mit dem Festplattendienstprogramm möglich, Abbildungen von Dateisystemen zu erstellen. Diese lassen sich gut für (verschlüsselte) Backups und deren anschließende Wiederherstellung sowie zur Weitergabe über das Netzwerk nutzen. 3.2.1    Informationen erhalten

Wenn Sie das Dienstprogramm starten, dann sehen Sie links eine Übersicht der verfügbaren Datenträger und Dateisysteme (siehe Abbildung 3.9). Dabei wird zwischen internen Datenträgern, die Sie oben in der Liste finden, und externen Datenträgern unterschieden. Zu den externen Datenträgern zählen externe Festplatten, USBSticks und SD-Karten. Ferner werden hier aktivierte Disk-Images (siehe Abschnitt 3.2.5) aufgeführt.

Abbildung 3.9    Das Festplattendienstprogramm stellt eine Übersicht des belegten und verfügbaren Speicherplatzes zur Verfügung.

Informationen über einen Datenträger erhalten Sie, indem Sie ihn in der linken Spalte auswählen. Es erscheint dann eine Übersicht der vorhandenen Partitionen, und Sie werden über die verwendete Partitionstabelle (siehe Abschnitt 3.1.1), die Kapazität sowie den S.M.A.R.T.-Status (siehe Abschnitt 3.1.5) des Geräts informiert. Ferner wird Ihnen bei Gerät die Gerätedatei (siehe Abschnitt 3.1.2) angezeigt. Wenn Sie eine Partition auswählen, dann erscheint eine Übersicht des belegten und verfügbaren Speicherplatzes (siehe Abbildung 3.9). Sie werden auch darüber informiert, welche Dateitypen wie viel Speicherplatz belegen. Die Angabe Mount-Point informiert Sie über das Verzeichnis, in dem Sie die Partition aktiviert haben. Bei dem Startvolume ist es naturgemäß die oberste, mit / angegebene Ebene des Dateisystems. Als Gerät wird wiederum die Gerätedatei aufgeführt. Die Angabe Eigentümer sagt aus, ob die Zugriffsrechte (siehe Abschnitt 6.1) für diese Partition gelten oder deaktiviert wurden. Die Deaktivierung der Zugriffsrechte ist für das Startvolume nicht möglich, wohl aber bei anderen Partitionen und externen Datenträgern.

Abbildung 3.10    In den Informationen einer Partition wird auch die eindeutige Kennung (UUID) aufgeführt.

Um detailliertere Informationen über einen Datenträger oder eine Partition zu erhalten, wählen Sie das Objekt zunächst in der linken Spalte aus und klicken dann die Schaltfläche Infos an. Es erscheint ein weiteres Fenster mit einer Tabelle. Neben vielen Eigenschaften (Eigentümer, Verschlüsselung, Startfähigkeit) finden Sie hier weiter unten auch die Kennungen der Dateisysteme (siehe Abbildung 3.10). Die Zeichenkette hinter Dateisystem-UUID gibt die eindeutige Kennung des Dateisystems auf dieser Partition wieder. Die Kennung ist wichtig, wenn Sie unter anderem mit dem Befehl diskutil Änderungen vornehmen oder mit der Datei /etc/fstab (siehe Abschnitt 3.4.1) den Mount-Point einer Partition individuell konfigurieren möchten. 3.2.2    Datenträger löschen und partitionieren

Um einen Datenträger zu löschen, wählen Sie ihn zunächst in der linken Liste aus und klicken dann die Schaltfläche Löschen in der Symbolleiste an. Nun erscheint ein Dialog aus Abbildung 3.11. Darin geben Sie den Namen und das Format für die erste Partition auf dem Datenträger ein. Ferner können Sie unter Schema auswählen, welches der in Abschnitt 3.1.1 beschriebenen Partitionsschemata Sie für diesen Datenträger verwenden möchten. Mit einem Klick auf die

Schaltfläche Löschen werden alle auf dem Datenträger befindlichen Partitionen gelöscht sowie die Partitionstabelle und die erste Partition mit dem vorgegebenen Namen erstellt. Anschließend können Sie, sofern gewünscht, mit den nachfolgend beschriebenen Funktionen weitere Partitionen erstellen und in ihrer Größe anpassen. Möchten Sie eine Partition für die Installation von Boot Camp vorbereiten, dann müssen Sie nicht zum Festplattendienstprogramm greifen, weil der Boot Camp-Assistenten (siehe Abschnitt 9.1.1) diese Aufgabe erledigt. Um eine Partition als Backup-Medium für die Time Machine zu nutzen, wählen Sie das Dateisystem Mac OS Extended aus. Sie können bei der Konfiguration der Time Machine dann zusätzlich auswählen, ob das Medium verschlüsselt werden soll. Diese Aufgabe übernimmt dann das System.

Abbildung 3.11    Löschen Sie einen Datenträger, dann können Sie unter »Schema« ein neues Partitionsschema auswählen.

Wenn Sie lediglich den Inhalt einer Partition löschen möchten, ohne an der bereits bestehenden Partitionierung Änderungen vorzunehmen, dann wählen Sie in der linken Spalte die Partition

anstelle des Datenträgers aus, bevor Sie auf die Schaltfläche Löschen klicken. In dem folgenden Dialog geben Sie einen Namen ein und wählen ein Dateisystem aus. Über die Schaltfläche Sicherheitsoptionen können Sie vorgeben, wie die Löschung erfolgen soll. In den Standardeinstellungen wird lediglich der gesamte Speicherbereich der Partition als verfügbar markiert. Das heißt, dass die eigentlichen Daten noch auf dem Datenträger vorhanden sind. Sie sind zwar nicht mehr über ein Dateisystem ansprechbar, wohl aber mithilfe von forensischer Software rekonstruierbar. Da die Lebensdauer eines SSD-Laufwerks durch häufiges Überschreiben massiv reduziert wird, steht Ihnen diese Option bei einem SSD-Laufwerk zum Teil nicht zur Verfügung. In dem Dialog aus Abbildung 3.12 können Sie vorgeben, ob und wie intensiv die vorhandenen Dateien überschrieben werden sollen. Dies kann auch dann sinnvoll oder notwendig sein, wenn Sie den Datenträger oder den Rechner verkaufen möchten und hierbei sicherstellen müssen, dass Ihre bereits vorhandenen Daten nicht vom Folgebesitzer rekonstruiert werden können. Je intensiver die Daten überschrieben werden sollen, desto mehr Zeit wird für den Löschvorgang gebraucht. Es kann, abhängig von der Größe der Partition, durchaus mehrere Stunden dauern, bis die Daten überschrieben und gelöscht wurden.

Abbildung 3.12    Wenn der Inhalt einer Partition gelöscht werden soll, können Sie die »Sicherheitsoptionen« anpassen.

Um einen Datenträger in Partitionen zu unterteilen, wählen Sie zunächst den Datenträger in der Seitenleiste aus und klicken dann auf die Schaltfläche Partitionieren. Daraufhin erscheint ein Dialog, in dem Sie links in Gestalt einer Tortengrafik die aktuelle Partitionierung des Datenträgers sehen (siehe Abbildung 3.13). Eine Partition wählen Sie durch einen Mausklick aus. Sie wird dann blau dargestellt, und Sie können unter Partitionsinformationen einen Namen für die Partition sowie unter Format das Dateisystem auswählen. Die Größe einer Partition können Sie auf zwei Weisen ändern. Zunächst können Sie in dem Feld Größe direkt einen Wert eingeben. Hinter dem Eingabefeld stehen Ihnen die Maßeinheiten zur Auswahl. In der Standardeinstellung wird in Gigabyte (GB) gerechnet, Sie können aber auch Terabyte (TB) auswählen. Alternativ klicken Sie die Partition an, deren Größe Sie ändern wollen, und verschieben dann die weißen Kreise. Bei dieser Methode wird die angrenzende Partition so verkleinert oder vergrößert, dass kein Verschnitt an Speicherplatz entsteht. Letzteres kann bei der direkten Eingabe der Größe durchaus passieren.

Abbildung 3.13    Die Partitionen werden in einer Tortengrafik dargestellt.

Eine neue Partition erstellen Sie, indem Sie zuerst eine Partition auswählen und sie dann über das Icon mit dem Pluszeichen teilen. Hierbei wird bei der Ausgangspartition der noch freie, also noch nicht durch Dateien belegte Speicherplatz ermittelt und zunächst gleichmäßig auf die beiden Partitionen verteilt. Sind Sie mit der Aufteilung des Datenträgers zufrieden, dann können Sie die Änderungen Anwenden. Anschließend werden die neuen Partitionen nacheinander erstellt und vorhandene Partitionen in ihrer Größe entsprechend angepasst. Über die Schaltfläche Details einblenden können Sie sich über den Fortschritt informieren. Wenn Sie eine Partitionstabelle für einen Datenträger planen, sollten Sie im Hinterkopf behalten, dass die nachträgliche Änderung der Tabelle mit Einschränkungen verbunden ist. Zwar können Sie eine Partition über das Minuszeichen nachträglich löschen, aber die Anpassung der Größen der verbleibenden Partitionen ist nur im Uhrzeigersinn möglich. Dementsprechend weist das Festplattendienstprogramm den Speicherplatz der gelöschten Partition der vorhergehenden zu.

Das Festplattendienstprogramm stellt Ihnen ferner keine Möglichkeit zur Verfügung, um einen Datenträger zu partitionieren, bei dem Sie als Schema den Master Boot Record ausgewählt haben. Hier können Sie lediglich eine Partition erstellen, die den gesamten Speicherplatz beansprucht. Möchten Sie mehrere Partitionen erstellen, dann kann es notwendig sein, diese Schritt für Schritt nacheinander und nicht in einem Durchgang anzulegen. An und für sich geht das Dienstprogramm auch schrittweise vor, was auch am Verlauf der einzelnen Aktionen über die Schaltfläche Details anzeigen zu beobachten ist, aber dennoch kam es reproduzierbar zu Fehlern, wenn fünf Partitionen angelegt werden sollten, von denen eine noch mit dem Dateisystem FAT versehen werden sollte. Bei einem solchen Vorgang ist es sinnvoller, die Partitionen der Reihe nach zu erzeugen und Änderungen sofort anzuwenden. Möchten Sie eine oder mehrere Partitionen mit dem Dateisystem FAT versehen, dann können Sie deren Inhalt nach Erstellung der HFS+-Partition Löschen und hierbei das Dateisystem FAT anstelle von HFS+ vorgeben. 3.2.3    APFS: Container und Volumes

Wenn Sie mit dem Festplattendienstprogramm eine Partition erstellen, der Sie das Dateisystem APFS zuweisen, dann wird automatisch ein APFS-Container erstellt. Dieser enthält dann die APFS-Partition. Die Aufgabe dieser Container besteht darin, den zugewiesenen Speicherplatz des Datenträgers zu reservieren und diesen Speicherplatz den im Container enthaltenen Volumes zuzuweisen. Die Container dienen quasi als Dach oder Rahmen für die APFS-Volumes. Aus diesem Grund werden die Container in der Seitenleiste des Festplattendienstprogramms auch oberhalb der APFS-Volumes dargestellt (siehe Abbildung 3.14).

Abbildung 3.14    Bei der Erstellung eines APFS-Volumes können die »Reserve-« und die »Kontingentgröße« vorgegeben werden.

Möchten Sie nachträglich ein weiteres APFS-Volume einem Container hinzufügen, dann wählen Sie zunächst den Container in der Seitenleiste aus. In der Symbolleiste gibt es zwei Icons mit der Bezeichnung Volumes. Das linke Icon mit einem Pluszeichen dient dazu, ein weiteres APFS-Volume hinzuzufügen. Mit dem rechten Icon würde ein zuvor ausgewähltes APFS-Volume gelöscht. Befinden sich mehrere Volumes innerhalb eines Containers, dann teilen sich diese den verfügbaren Speicherplatz dynamisch auf. Bei der Erstellung eines Volumes können Sie über die Schaltfläche Größenoptionen den Diealog aus Abbildung 3.14 aufrufen. Hierbei bezeichnet die Reservegröße den Speicherplatz, der mindestens für das Volume zur Verfügung stehen muss. Die Kontingentgröße legt fest, wie viel Speicherplatz dieses Volume maximal in Anspruch nehmen darf. Die Struktur der Container und enthaltenen Volumes ist am Terminal durch die Eingabe von diskutil list ersichtlich (siehe Abbildung 3.15). Wurde ein APFS-Container erstellt, dann finden Sie in der Spalte NAME die Angabe Container, gefolgt von einem Identifier. In der weiteren Ausgabe von diskutil list ist dann

ein physisch nicht vorhandener Datenträger aufgeführt, der diesen Container und seine enthaltenen Volumes repräsentiert. Dieser Datenträger wird mit dem Hinweis synthesized versehen. Möchten Sie ein HFS+-Volume nachträglich in APFS konvertieren, dann wählen Sie es zunächst in der Seitenleiste des Festplattendienstprogramms aus. Über den Menübefehl Bearbeiten • In APFS konvertieren starten Sie den Vorgang der Konvertierung. Abhängig von der Größe des Volumes und der Anzahl der Dateien kann dies ein wenig Zeit in Anspruch nehmen.

Abbildung 3.15    Die APFS-Container werden von »diskutil« mit dem Hinweis »synthesized« versehen.

3.2.4    Dateisysteme prüfen und reparieren

Es ist möglich, dass mit der Zeit Beschädigungen oder Inkonsistenzen an den Dateisystemen auftreten. Diese können zum Beispiel durch einen Stromausfall oder einen anderweitig ausgelösten Absturz des Betriebssystems hervorgerufen werden. Auch wenn beschädigte Dateisysteme unter macOS heutzutage recht selten geworden sind, kann es dennoch möglich sein, dass das Dateisystem einer Reparatur bedarf. Wenn Sie, etwa aufgrund von

Programmabstürzen, den Eindruck haben, dass das Dateisystem möglicherweise reparaturbedürftig ist, dann können Sie im Festplattendienstprogramm eine Überprüfung und – sofern notwendig – auch eine Reparatur veranlassen. Wählen Sie hierzu zuerst in der Seitenleiste die Partition aus, deren Dateisystem Sie überprüfen möchten. Über die Schaltfläche Erste Hilfe starten Sie den Prüfvorgang. Sie erhalten zunächst eine Rückfrage und veranlassen mit einem Klick auf die Schaltfläche Ausführen die Prüfung. Lassen Sie sich die Details einblenden, um sich genauer über den Fortschritt des Prüfvorgangs zu informieren (siehe Abbildung 3.16).

Abbildung 3.16    Der Fortschritt des Prüfvorgangs kann angezeigt werden.

Das Dienstprogramm ist in der Lage, Partitionen mit den Dateisystemen HFS+, APFS und FAT zu überprüfen. Welche Prüfungen im Detail vorgenommen werden, hängt auch davon ab, ob es sich um eine normale Partition oder ein Core-Storage-Volume handelt. Bei Letzterem wird auch das Core-Storage-System überprüft. Bei einer Partition mit dem Dateisystem HFS+ wird zunächst der grundlegende Aufbau des Katalogs überprüft. HFS+

nutzt eine B-Tree genannte Struktur für die Verwaltung der Verzeichnisse und der in ihnen enthaltenen Objekte. Wenn Sie in der Ausgabe des Dienstprogramms (siehe Abbildung 3.16) nicht das Resultat Das Volume ... ist anscheinend in Ordnung finden, dann ist eine Reparatur notwendig, die vom Festplattendienstprogramm vorgenommen wird. Sollte auch nach mehreren Versuchen die Reparatur immer noch nicht erfolgreich verlaufen sein, dann wäre es dringend geboten, alle auf der Partition gesicherten Dateien auf einen anderen Datenträger zu kopieren und die Partition mit einem neuen Dateisystem zu versehen, sie also zu löschen. Sollte Ihr Startvolume beschädigt sein, dann sollten Sie vom Rettungssystem (siehe Abschnitt 28.3), von einem USB-Stick oder von einem anderen System aus starten und die Reparatur über das dort verfügbare Dienstprogramm versuchen. Sofern Sie über das Netzwerk mittels SSH (siehe Abschnitt 12.2) mit einem Rechner verbunden sind und nicht auf die grafische Oberfläche mittels VNC (siehe Abschnitt 12.1.2) zugreifen können, dann stehen Ihnen am Terminal die Befehle fsck_hfs für HFS+Partitionen, fsck_cs für Partitionen innerhalb eines Core-StorageVerbundes, fsck_apfs für APFS-Volumes sowie fsck_msdos für MS-DOS-Partitionen zur Verfügung. 3.2.5    Disk-Images erstellen und Ordnerstrukturen verschlüsseln

Um einen Ordner zu archivieren, könnten Sie ein ZIP-Archiv (siehe Abschnitt 1.8) erstellen. Dies hätte allerdings den Nachteil, dass es entpackt werden muss, wenn Sie nachträglich eine Änderung

vornehmen möchten. Eine bessere Alternative ist eine Festplattenabbildung, auch als Disk-Image bezeichnet. Bei einem Disk-Image handelt es sich um eine Datei, die ein aktivierbares Dateisystem enthält. Diese auf den ersten Blick widersinnige Konstruktion ist zum Beispiel nützlich, wenn Sie einen bestimmten Ordner verschlüsseln möchten, aber nicht auf FileVault 2 (siehe Abschnitt 16.1.4) zurückgreifen können, weil Sie möglicherweise Boot Camp einsetzen. Auch zum Zwecke der Archivierung ist ein Disk-Image sehr gut geeignet, weil es die komplette Ordnerstruktur nebst Metadaten enthält. Ferner können Sie von Partitionen und ganzen Datenträgern eine Abbildung erzeugen, um beispielsweise eine exakte Kopie auf einem anderen Datenträger zu erzeugen. Möchten Sie mit Disk-Images arbeiten, dann können Sie die Symbolleiste des Festplattendienstprogramms um zwei Icons ergänzen. Führen Sie hierzu einen Rechtsklick auf die Symbolleiste aus, und wählen Sie im Kontextmenü die Option Symbolleiste anpassen. Aus der Übersicht der verfügbaren Symbole können Sie dann die Symbole Image und Wiederherstellen in die Leiste ziehen (siehe Abbildung 3.17).

Abbildung 3.17    Die Symbolleiste des Fensters wurde um die Schaltfläche »Image« ergänzt.

Zunächst erzeugen Sie ein leeres Disk-Image über den Menüpunkt Ablage • Neues Image • Leeres Image. Dann erscheint ein Dialog, in dem Sie den Speicherort und den Namen der Datei vorgeben (siehe Abbildung 3.18). Unten finden Sie die Optionen für das Disk-Image selbst. Der Name bezieht sich auf die Partition, die innerhalb des Disk-Images angelegt wird. Unter diesem Namen wird das

Dateisystem später im Finder in der Ansicht Computer erscheinen. Im Feld Größe geben Sie einen Wert in Megabyte oder – mit dem Kürzel GB anstelle von MB – auch in Gigabyte an. Unter Format stehen Ihnen die Dateisysteme APFS, HFS+, FAT und exFAT zur Auswahl. Das Image-Format bezieht sich auf die Datei des Disk-Images. Wenn Sie hier Beschreibbares Image auswählen, dann belegt die Datei des Disk-Images so viel Speicherplatz, wie Sie unter Größe vorgegeben haben. Wählen Sie die Option Mitwachsendes Image, dann belegt die Datei der Abbildung nur so viel Speicherplatz, wie die in ihm enthaltenen Dateien beanspruchen. Die Angabe unter Größe ist hier dann als maximale Angabe zu verstehen. Bei der Option Mitwachsendes Bundle-Image wird keine Datei, sondern ein Bundle (siehe Abschnitt 1.6) erzeugt. Das Disk-Image wird dann nicht in einer, sondern in mehreren Dateien gespeichert, die in Form des Bundles mit der Dateiendung .sparsebundle zusammengefügt werden. Wählen Sie als Image-Format DVD/CD-Master, dann stehen Ihnen unter Größe die üblichen Formate für CDs und DVDs zur Auswahl. Praktisch sind solche DVD- oder CD-Master-Abbildungen, wenn Sie eine Ordnerstruktur zu einem späteren Zeitpunkt auf einen Rohling brennen möchten.

Abbildung 3.18    Bei der Erstellung eines Disk-Images können Sie verschiedene Formate und Dateisysteme auswählen.

Erstellen Sie ein leeres Disk-Image, dann enthält dieses immer nur eine Partition. Daher können Sie es in den meisten Fällen bei der Standardauswahl Einfache Partition – GUID-Partitionstabelle belassen. Unter Verschlüsselung geben Sie an, ob der Inhalt des Disk-Images verschlüsselt und mit einem Passwort versehen werden soll. Sie können zwischen zwei Verschlüsselungsmethoden wählen, wobei der Eintrag 256-Bit-AES-Verschlüsselung (sicherer, langsamer) in der Praxis etwas langsamer ist. Bei einem SSD-Datenträger fällt die Geschwindigkeitseinbuße allerdings nicht sonderlich ins Gewicht. Wenn Sie hier einen Eintrag auswählen, werden Sie noch im Dialog aufgefordert, das Passwort für die Abbildung zweimal einzugeben. Wenn Sie ein solches Disk-Image anschließend im Finder mit einem Doppelklick aktivieren möchten, dann werden Sie vor der Aktivierung zur Eingabe des Passwortes aufgefordert (siehe Abbildung 3.19). Wenn Sie die Konfiguration mit einem Klick auf die Schaltfläche Sichern beendet haben, wird die Image-Datei erstellt und anschließend das enthaltene Dateisystem im Finder aktiviert. Im Festplattendienstprogramm erscheinen die aktivierten Images unterhalb der externen Datenträger.

Abbildung 3.19    Ein verschlüsseltes Disk-Image lässt sich nur durch die Eingabe des Passworts aktivieren.

Möchten Sie einen bereits vorhandenen Ordner in einem DiskImage sichern, dann bestände eine Möglichkeit darin, ein leeres Disk-Image von ausreichender Größe zu erzeugen und anschließend die betreffenden Dateien und Ordner in dieses Image zu kopieren. Einfacher geht es über den Menüpunkt Ablage • Neues Image • Image von Ordner. Hier werden Sie im ersten Schritt aufgefordert, den Ordner auszuwählen. Anschließend können Sie den Speicherort der Datei bestimmen und unter Image-Format zwischen den Optionen Komprimiert, Nur Lesen, Lesen/Schreiben sowie DVD/CD-Master wählen. Die Option Nur Lesen eignet sich gut, wenn Sie den Inhalt nicht mehr ändern möchten, wenn es sich also um ein Archiv handelt. Speicherplatz sparen Sie mit der Option Komprimiert; allerdings ist die Arbeit mit einem solchen Disk-Image etwas langsamer. Die Option Lesen/Schreiben erzeugt eine Kopie der Ordnerstruktur, wobei Sie auch nachträglich Änderungen vornehmen können. Wenn Sie dieses Disk-Image sichern, dann wird es zunächst erstellt, und unmittelbar darauf wird der Inhalt des zuvor ausgewählten Ordners in diese Abbildung kopiert. Auf diese Weise erhalten Sie eine Kopie des Ordners. Wenn Sie die Verschlüsselung für dieses Disk-Image aktiviert haben, dann ist der Inhalt des Ordners nur zugänglich, wenn das Passwort eingegeben wurde. Die Daten selbst liegen auch in verschlüsselter Form auf dem Datenträger vor. Sinnvoll kann dies sein, wenn Sie sehr sensible Daten in einem Ordner gespeichert haben, aber die Partition selbst nicht verschlüsselnkönnen. Um ein Disk-Image zu aktivieren und auf die enthaltenen Ordner und Dateien zuzugreifen, doppelklicken Sie im Finder auf die ImageDatei. Alternativ steht Ihnen im Festplattendienstprogramm der Menüpunkt Ablage • Disk-Image öffnen zur Verfügung. Die aktivierten

Abbildungen erscheinen im Finder in der Ansicht Computer und sind am Terminal über das Verzeichnis /Volumes zugänglich. Um ein aktiviertes Image zu deaktivieren, ziehen Sie es wie auch einen anderen Datenträger im Finder auf den Papierkorb oder nutzen das Auswurf-Icon im Festplattendienstprogramm.

Abbildung 3.20    Die aktivierten Abbildungen erscheinen neben den Partitionen der Datenträger in der Ansicht »Computer«.

Möchten Sie, dass ein Disk-Image Ihnen sofort nach der Anmeldung zur Verfügung steht, dann fügen Sie es in den Systemeinstellungen in der Ansicht Benutzer & Gruppen für Ihr Benutzerkonto zu der Liste der Anmeldeobjekte hinzu (siehe Abbildung 3.21). In diesem Fall wird es nach der Anmeldung automatisch aufgerufen, was einem Doppelklick im Finder entspricht. Haben Sie ein verschlüsseltes Image angelegt, dann können Sie auch sein Passwort im Schlüsselbund speichern.

Abbildung 3.21    Die Disk-Images können zur Liste der »Anmeldeobjekte« hinzugefügt werden.

3.2.6    Partitionen archivieren, wiederherstellen und duplizieren

Das Festplattendienstprogramm bietet Ihnen die Möglichkeit, Volumes von einem Datenträger auf einen anderen zu kopieren. Dieser Kopiervorgang hat im Vergleich zu einem händischen Kopiervorgang im Finder den Vorteil, dass alle Zugriffsrechte und Metadaten korrekt übertragen werden. In Verbindung mit den DiskImages können Sie auch Partitionen in einer Image-Datei sichern und zu einem späteren Zeitpunkt ausgehend vom Disk-Image auf eine andere Partition übertragen. Damit eignen sich die DiskImages zum Archivieren ganzer Partitionen, sofern Sie über genügend Speicherplatz verfügen. Wie Sie eine exakte Kopie Ihres Startvolumes auf einem anderen Datenträger erstellen, beschreibe ich in Abschnitt 8.4.1.

Abbildung 3.22    Als Quelle für die Wiederherstellung stehen alle aktivierten Partitionen zur Auswahl.

Eine Partition duplizieren Sie, indem Sie die Zielpartition in der linken Spalte auswählen und dann die Schaltfläche Wiederherstellen anklicken (siehe Abbildung 3.22). Nun erscheint ein Dialog, in dem Sie die Partition auswählen, deren Datenbestand Sie auf die zuvor ausgewählte Partition übertragen möchten. In der Liste Wiederherstellen von finden Sie alle aktivierten Partitionen. Über die Schaltfläche Wiederherstellen starten Sie den Kopiervorgang, der abhängig von der Menge der Daten einige Zeit in Anspruch nehmen kann. Während des Kopiervorgangs werden beide Partitionen deaktiviert. Die Zielpartition trägt am Ende den Namen der Ausgangspartition. Ein Disk-Image von einer Partition oder einem ganzen Datenträger erstellen Sie, indem Sie die Partition zunächst auswählen und dann über den Menüpunkt Ablage • Neues Image • Image von »Partition« oder das Icon Image in der Symbolleiste den im vorhergehenden Abschnitt besprochenen Dialog zur Erstellung eines Disk-Images aufrufen.

Wählen Sie zur Erstellung eines Disk-Images in der linken Spalte einen Datenträger aus, dann werden alle auf dem Datenträger angelegten Partitionen in dem Disk-Image gesichert. Öffnen Sie dieses anschließend im Finder, so werden alle enthaltenen Partitionen aktiviert. Sie müssen hierbei beachten, dass es nicht möglich ist, ein Disk-Image mit mehreren Partitionen auf einen anderen Datenträger wiederherzustellen. Erstellen Sie ein DiskImage von einer einzelnen Partition, dann können Sie es zu einem späteren Zeitpunkt für die Wiederherstellung nutzen. In beiden Fällen werden Sie aufgefordert, Ihr Passwort einzugeben, um das Hilfsprogramm disk-images-helper mit den notwendigen Rechten für die Zugriffe auf das Dateisystem zu versehen.

Abbildung 3.23    Ein Disk-Image kann als Ausgangspunkt für die Wiederherstellung einer Partition genutzt werden.

Die Wiederherstellung von einem Disk-Image nehmen Sie vor, indem Sie die Zielpartition auswählen und dann über die Schaltfläche Wiederherstellen erneut den Dialog aufrufen. Hier wählen Sie über die Schaltfläche Image die Image-Datei aus, deren Daten auf die Partition übertragen werden sollen. Die im DiskImage gesicherte Datenstruktur wird anschließend auf die Partition kopiert.

[+] Bei allen Kopiervorgängen müssen Sie darauf achten, dass Sie über genügend Speicherplatz verfügen. Hierbei ist auch in Betracht zu ziehen, dass bei der Erstellung eines Disk-Images zeitweise mehr Platz beansprucht werden kann, als am Ende für die eigentliche Datei genutzt wird.

3.3    RAIDs und der Befehl »diskutil« Neben dem Festplattendienstprogramm steht Ihnen am Terminal der Befehl diskutil zur Verfügung. Er ermöglicht Ihnen am Terminal die Verwaltung von Datenträgern, Partitionen und Volumes. Möchten Sie mehrere Datenträger in einem RAID zusammenfassen, dann bietet Ihnen macOS 10.13 mit dem RAIDAssistent eine komfortable Lösung. 3.3.1    Der Befehl »diskutil«

Am Terminal ist diskutil das Pendant zum Festplattendienstprogramm. Über die verschiedenen Aktionen können Sie die meisten Funktionen des Festplattendienstprogramms am Terminal ausführen. »diskutil« – Disk Utility diskutil [Methode] Aktion Parameter

Dem Befehl müssen Sie mindestens eine Aktion zur Ausführung übergeben. Mit der Eingabe von diskutil list würden Ihnen alle verfügbaren Datenträger und Partitionen angezeigt. Detailliertere Informationen über eine Partition erhalten Sie durch die Eingabe von diskutil info /dev/disk0s2, wobei Sie die Gerätedatei der Partition als Parameter übergeben. Die Eingabe von diskutil verifyVolume /dev/disk0s2 führt zur Überprüfung, diskutil repairVolume /dev/disk0s2 zur Reparatur der angegebenen Partition. Die Dokumentation des

Befehls können Sie der Man-Page (siehe Abschnitt 21.2.1) entnehmen. Neben den Aktionen können Sie eine Methode vorgeben, nach der die Aktion ausgeführt werden soll. Hierbei wird die Methode appleRAID oder ar genutzt, um Aktionen für ein RAID-System auszuführen. Die Methode coreStorage oder cr ermöglicht Aktionen im Zusammenhang mit dem Core-Storage-System. Und schließlich dient die Methode as oder APFS zur Verwaltung von APFS-Containern und -Volumes. Wenn Sie die Dokumentation von diskutil studieren, um weitere Aktionen auszuprobieren, dann müssen Sie bei den Angaben darauf achten, dass Sie die korrekten Werte vorgeben. So werden Dateisysteme bei der Arbeit mit diskutil mit Kürzeln bezeichnet (jhfs+ steht für das Dateisystem HFS+ mit aktiviertem Journaling, MS-DOS für das Dateisystem FAT). Prüfen Sie ferner, ob Sie die Gerätedatei (disk0s2) oder die Datei für den direkten, »rohen« Zugriff (rdisk0s2) angeben müssen. Schließlich werden Größenangaben mit anderen Kürzeln (M für Megabyte, G für Gigabyte) genutzt. 3.3.2    Ein RAID erstellen

Vorweg: Wenn Sie mit einem Hardware-RAID arbeiten, Sie also entsprechende Hardware erworben haben, dann finden Sie im Verzeichnis /System/Library/CoreServices/ Applications das RAIDDienstprogramm für die Konfiguration kompatibler Hardware. Zur Erstellung eines RAIDs, das auf normalen Festplatten basiert und zusätzlichen RAID-Controller enthält, verwenden Sie den hier beschriebenen RAID-Assistenten des Festplattendienstprogramms.

Die Erstellung eines RAID-Systems kann nützlich sein, wenn Sie die Daten- und Ausfallsicherheit durch Redundanz erhöhen möchten. macOS bietet Ihnen zwei Möglichkeiten, mithilfe eines SoftwareRAIDs Datenträger zusammenzufassen: Die als Striped (RAID 0) bezeichnete Methode verteilt die Daten möglichst gleichmäßig auf beide Datenträger. Damit wird die Geschwindigkeit erhöht, indes steigt auch die Ausfallwahrscheinlichkeit, da der Defekt eines Datenträgers die gesamte Datenstruktur vernichten würde. Die Methode Mirror (RAID 1) spiegelt die Daten auf den zum RAID gehörenden Datenträgern. Sie sind also mehrfach vorhanden, und das RAID-System trägt zunächst dafür Sorge, dass der Defekt eines Datenträgers nicht zum Ausfall des RAIDs führt. Sie können den defekten Datenträger aus dem RAID-System entfernen und einen neuen Datenträger dem System hinzufügen. Auf ihn werden dann von den intakten Datenträgern die Daten kopiert. Die Daten liegen also zum Abschluss des Vorgangs wieder in gespiegelter Form vor. Neben diesen beiden RAID-Methoden verfügt macOS zusätzlich noch über die Möglichkeit, mehrere Datenträger in einem Volume zusammenzufassen. Dieses »Just a bunch of disks« (JBOD) genannte Verfahren stellt Ihnen den gesamten Speicherplatz der eingebundenen Datenträger in einem Volume zur Verfügung. Sollte jedoch einer der Datenträger aufgrund eines Defekts ausfallen, dann sind auch die Daten verloren. Bei allen drei Methoden steht Ihnen als Dateisystem lediglich Mac OS Extended zur Auswahl. Mit macOS 10.13.0 war die Nutzung von APFS in einem RAID noch nicht möglich. Einen RAID-Verbund erstellen Sie mithilfe des RAID-Assistenten. Die weitere Verwaltung und gegebenenfalls Zerstörung des RAIDs erfolgt anschließend im Festplattendienstprogramm.

[+] Unter macOS 10.13.0 erwies sich der RAID-Assistent als fehlerträchtig. Wenn zwei Datenträger ausgewählt wurden, dann wurde bei der Erstellung des RAIDs noch ein dritter Datenträger hinzugefügt, der umgehend als fehlend beziehungsweise beschädigt markiert wurde (siehe Abbildung 3.26). Prüfen Sie bei der Erstellung und Arbeit mit einem RAID unbedingt, ob die Funktion Ihren Anforderungen entspricht, und verlassen Sie sich erst dann auf den erstellten RAID-Verbund, wenn Sie mehrere Testläufe durchgeführt haben. Rufen Sie im Festplattendienstprogramm den Menübefehl Ablage • RAID-Assistent auf. Nun startet der Assistent, der Sie schrittweise durch die Erstellung des RAIDs führt.

Abbildung 3.24    Der erste Schritt besteht in der Auswahl des Typs.

Zuerst wählen Sie den Typ des RAIDs aus (siehe Abbildung 3.24). Hierbei stehen Ihnen die eingangs beschriebenen Typen RAID 0, RAID 1 und JBOD zur Auswahl. Im zweiten Schritt wählen Sie die Datenträger aus, die Sie dem RAID hinzufügen möchten. Die Eigenschaften des Systems werden im dritten Schritt festgelegt (siehe

Abbildung 3.25). Hier geben Sie zunächst Name und Format des Dateisystems vor. Erstellen Sie einen RAID vom Typ 1, dann finden Sie hier auch die Option Automatischer Rebuild. Aktivieren Sie diese Funktion, dann können Sie später etwa nach dem Ausfall eines Datenträgers einen neuen Datenträger im Festplattendienstprogramm hinzufügen und das Dienstprogramm sorgt dann dafür, dass das RAID automatisch geheilt wird. »Heilung« bedeutet in diesem Zusammenhang, dass der neue Datenträger die gespiegelten Daten des RAIDs umgehend erhält.

Abbildung 3.25    In den Eigenschaften geben Sie den Namen und das Dateisystem vor.

Wenn Sie die Eigenschaften festgelegt haben, bestätigen Sie abschließend Ihre Vorgaben und der Assistent beginnt mit der Erstellung des RAID-Systems. Dieser Vorgang kann, abhängig von den verwendeten Datenträgern, durchaus ein paar Minuten in Anspruch nehmen. Nach der Erstellung des RAIDs finden Sie dieses als normales Volume im Finder und seinen Mount-Point im Verzeichnis

/Volumes. Sie können ganz normal Dateien und Ordner in das RAID kopieren, löschen und verschieben. Zur Verwaltung des RAIDs wechseln Sie in das Festplattendienstprogramm. Dort finden Sie in der Seitenleiste zunächst die zum RAID gehörigen Datenträger, die nunmehr keine Partitionen oder Volumes beinhalten, sondern lediglich den Vermerk RAID-Mitglied tragen. Als letzten Eintrag in der Seitenleiste finden Sie den Punkt RAIDSysteme (siehe Abbildung 3.26). Wählen Sie hier Ihr RAID-System aus, dann erscheinen dessen Daten und Informationen im Hauptfenster des Dienstprogramms. Dazu gehören neben den obligatorischen Angaben wie dem Mount-Point und der Kapazität auch die Übersicht der eingebundenen Datenträger. Mit dem Plus- und Minuszeichen können Sie Datenträger dem RAID-Verbund hinzufügen und wieder aus ihm entfernen.

Abbildung 3.26    Die Verwaltung des RAID-Verbundes erfolgt im Festplattendienstprogramm.

Bei einem RAID 1 ist es mit der Schaltfläche Reparieren möglich, einen neuen Datenträger, der noch keine Spiegelung der Daten enthält, dem RAID als vollwertiges Mitglied hinzuzufügen. Die Spiegelung der Daten wird unmittelbar vorgenommen. Dieser Vorgang kann einige Zeit in Anspruch nehmen. Mit der Schaltfläche RAID löschen heben Sie den Verbund auf. Anschließend stehen Ihnen alle Datenträger wieder separat zur Partitionierung zur Verfügung.

3.4    Weitere Konfigurationen und Hilfsmittel Neben der Arbeit mit dem Festplattendienstprogramm und diskutil gibt es zwei weitere Konfigurationen, die bei der Arbeit mit Dateisystemen nützlich sind: Mit der Datei /etc/fstab können Sie vorgeben, dass Partitionen in einem anderen Verzeichnis als /Volumes aktiviert werden. Möchten Sie Dateisysteme nutzen, die macOS von Haus aus nicht unterstützt, dann können Sie das Projekt OSXFUSE (siehe Abschnitt 3.4.2) ausprobieren. Schließlich gibt es, wenn Sie intensiver mit Datenträgern arbeiten, einige Programme von Drittanbietern, die Ihnen bei der Datenrettung und Reparatur zur Seite stehen können. 3.4.1    Individuelle Mount-Points mit der Datei »/etc/fstab«

Es kann die Situation eintreten, dass Sie eine Partition nicht im Verzeichnis /Volumes aktivieren, die automatische Aktivierung generell unterbinden oder Schreibzugriffe auf die Partition vermeiden möchten. In einem solchen Fall können Sie mit der Datei /etc/fstab die notwendigen Konfigurationen vornehmen. Diese Datei wird vom System beim Start konsultiert, und die darin enthaltenen Vorgaben werden bei der Einbindung von Dateisystemen beachtet. Definiert werden in der Datei fstab die vom Standardverhalten abweichenden Vorgaben. Dateisysteme, die nicht über die Datei /etc/fstab konfiguriert werden, bindet das System standardmäßig automatisch im Verzeichnis /Volumes ein und erlaubt den Schreibzugriff. In der Datei fstab werden die Partitionen durch die UUID identifiziert. Darauf folgend wird der Pfad angegeben, unter dem

das Dateisystem verfügbar sein soll. Hier können Sie einen absoluten Pfad aufführen oder mit der Angabe none bewirken, dass das Dateisystem unter /Volumes eingebunden wird. Darauf folgt ein Kürzel für den Typ des Dateisystems. Hierbei steht hfs für das Dateisystem HFS+, egal ob mit oder ohne Journaling, und msdos für die Dateisysteme FAT und exFAT. Die Unterstützung für APFS war zur Drucklegung unter macOS 10.13.0 noch nicht vorgesehen. Es ist möglich, dass sich dies in einer zukünftigen Version von macOS 10.13 ändert. Gegebenenfalls werfen Sie einen Blick in die Dokumentation der Datei, deren Man-Page Sie über man fstab aufrufen können. Abschließend können Sie mit der Angabe rw (read/write) vorgeben, dass Lese- und Schreibzugriffe erlaubt sein sollen. Geben Sie hier ro (read-only) an, dann werden Schreibzugriffe unterbunden. Schließlich können Sie durch die zusätzliche Angabe von noauto unterbinden, dass das Dateisystem beim Start des Systems automatisch aktiviert wird. Über das Festplattendienstprogramm oder den Befehl diskutil kann die Aktivierung nachträglich von Hand erfolgen. Die einzelnen Parameter geben Sie durch Leerzeichen getrennt in einer Zeile an. Bei der Angabe der UUID müssen Sie ihr die Zeichenfolge UUID= voranstellen. Die Optionen noauto sowie rw beziehungsweise ro geben Sie durch Komma getrennt an (siehe Abbildung 3.27). Die Datei erstellen und ändern können Sie durch die Eingabe von sudo nano /etc/fstab, gefolgt von Ihrem Passwort. Die Bearbeitung der Datei erfolgt durch den Editor nano (siehe Abschnitt 21.4.2). Um die UUID eines Dateisystems zu erfahren, können Sie sich zunächst über diskutil list die gesamte Liste

der verfügbaren Dateisysteme und dann mit diskutil info disk2s3 die detaillierten Informationen beispielsweise für die dritte Partition des dritten Datenträgers anzeigen lassen. Die UUID wird in der Ausgabe von diskutil als Volume UUID aufgeführt. In Abbildung 3.27 finden Sie eine Beispielkonfiguration, bei der für drei Dateisysteme, die über die jeweilige UUID identifiziert werden, unterschiedliche Parameter vorgegeben werden. Der erste Eintrag führt dazu, dass das Dateisystem nicht im Verzeichnis /Volumes, sondern im Unterordner VideoHD im Ordner Dokumente des persönlichen Ordners des Benutzers »kai« eingebunden wird. Bei der Angabe eines solchen absoluten Pfads (siehe Abschnitt 21.3.1) müssen Sie darauf achten, dass alle aufgeführten Verzeichnisse existieren; in diesem Beispiel müsste ein Unterordner VideoHD im Ordner Dokumente erstellt werden. Darauf folgt die Angabe hfs für das Dateisystem, und mit der Angabe rw werden auch Schreibzugriffe zugelassen. Die Einbindung dieses Dateisystems innerhalb des persönlichen Ordners des Benutzers hat zur Folge, dass es für andere Benutzerkonten, die ebenfalls auf diesem System eingerichtet wurden, zunächst nicht mehr sichtbar und mit normalen Zugriffsrechten nicht mehr erreichbar ist. Im weitesten Sinne ist die Partition VideoHD nunmehr ausschließlich für den Benutzer »kai« erreichbar, in dessen persönlichen Ordner sie eingebunden wurde.

Abbildung 3.27    In der Datei »fstab« wurden für drei Dateisysteme unterschiedliche Konfigurationen vorgenommen.

In der zweiten Zeile wird auf die explizite Konfiguration eines Verzeichnisses verzichtet; das Dateisystem vom Typ hfs würde unterhalb von /Volumes eingebunden. Hierbei werden Schreibzugriffe untersagt; Dateien und Ordner können nur gelesen werden, Änderungen können nicht vorgenommen werden. Allerdings sorgt die zusätzliche Angabe von ,noauto dafür, dass das Dateisystem nicht mehr automatisch aktiviert wird. Es bleibt so lange inaktiv, bis die Aktivierung über das Dienstprogramm oder diskutil von Hand erfolgt. In der dritten Zeile wird für das angegebene Dateisystem über none ebenfalls das Verzeichnis /Volumes als Einhängepunkt definiert; das Dateisystem wird automatisch aktiviert, allerdings sind auch hier Schreibzugriffe untersagt. Damit die Änderungen an der Datei /etc/fstab wirksam werden, müssen Sie das System neu starten. 3.4.2    Weitere Dateisysteme mit OSXFUSE

Das Projekt OSXFUSE, hervorgegangen aus dem nunmehr inaktiven MacFUSE-Projekt, verfolgt das Ziel, Dateisysteme innerhalb des User-Kontextes einzubinden. Die in den vorigen Abschnitten beschriebenen Methoden und Verfahren sind alle auf der Ebene des Betriebssystems selbst anzusiedeln, da Dienste wie diskarbitrationd als Systemdienste gelten. OSXFUSE stellt eine Sammlung von Routinen zur Verfügung, auf denen aufbauend sich Module für die eigentliche Aktivierung und Nutzung von Dateisystemen entwickeln lassen. Sie benötigen also sowohl das Grundsystem OSXFUSE als auch eines oder mehrere der Module, die die eigentliche Zusammenarbeit mit dem Dateisystem realisieren. Unter https://osxfuse.github.io können Sie ein

Installationspaket für das Basissystem herunterladen. Bei der Installation sollten Sie bei dem Schritt Installationstyp die Option MacFUSE Kompatibilitätsschicht aktivieren (siehe Abbildung 3.28). Nach der Installation finden Sie in den Systemeinstellungen auch die Ansicht FUSE for OS X und können über diese Ansicht Updates einspielen oder OSXFUSE wieder deinstallieren.

Abbildung 3.28    Bei der Installation von »OSXFUSE« sollten Sie die Kompatibilität mit MacFUSE auswählen.

Ebenfalls auf der Website des Projekts erhalten Sie ein Modul namens SSHFS. Dieses ermöglicht es Ihnen Dateisysteme, bei denen Sie die Verbindung über SSH aufnehmen, direkt auf Ihrem Desktop einzubinden. Wenn Sie viel und häufig Dateien über SSH übertragen möchten, dann kann das Modul eine große Hilfe sein. Darüber hinaus gibt es für OSXFUSE Module, die auch Ihre Favoriten auf YouTube als Dateisysteme einbinden können. Für OSXFUSE gibt es ein Modul, das den Schreibzugriff auf NTFSPartitionen ermöglicht. macOS ist von Haus aus dazu ja nicht in der Lage – von einer experimentellen und nicht wirklich nutzbaren Option abgesehen. Der Treiber NTFS-3G der Firma Tuxera steht auch

in einer kostenlosen Open-Source-Variante (http://www.tuxera.com/community/open-source-ntfs-3g/) zur Verfügung, die sich mit OSXFUSE nutzen lässt. NTFS-3G steht auch für die MacPorts (siehe Abschnitt 23.2.1) und Homebrew (siehe Abschnitt 23.2.2) zur Verfügung, und Sie können den Treiber auch von Hand installieren und konfigurieren. Da aber diese Installationen unter anderem darauf beruhen, dass sie den Befehl mount_ntfs im Verzeichnis /usr/bin durch den von NTFS-3G mitgelieferten Befehl ersetzen – wodurch also direkt in die Struktur des Systems eingegriffen wird –, ist es fraglich, ob es sich wirklich um eine nachhaltige Lösung handelt. Eine Alternative zu OSXFUSE und NTFS-3G stellt der kostenpflichtige NTFS-Treiber der Firma Paragon (https://www.paragon-software.de/de/home/ntfs-mac/) dar. Er erweitert die Funktionen des Betriebssystems macOS um den Schreibzugriff auf NTFS-Partitionen. 3.4.3    Tools zur Datenrettung und Reparatur

Führt die Funktion Erste Hilfe des Festplattendienstprogramms nicht mehr zum Erfolg, liegen also schwerwiegende Probleme mit Dateisystemen vor, dann können Sie auf Programme von Drittherstellern zurückgreifen. Für die Rekonstruktion gelöschter Dateien auf einer magnetischen Festplatte hat sich das Programm Data Rescue der Firma Prosoft (https://www.prosofteng.com) durchaus bewährt. Ebenfalls von Prosoft stammt das Programm Drive Genius, das Ihnen eine Vielzahl von weitergehenden Konfigurationen ermöglicht. Bei der Rekonstruktion defekter HFS-Dateisysteme hat das Programm DiskWarrior 5 der Firma Alsoft (http://www.alsoft.com)

schon vielen Administratoren im Mac-Bereich zur Seite gestanden. Schließlich gilt es noch, mit TechTool Pro von Micromat (http://www.application-systems.de/techtool/) einen regelrechten Veteranen zu nennen – das Programm war bereits unter dem klassischen Mac OS etabliert. Alle genannten Programme haben ihre Vorzüge und Einsatzgebiete. Wenn Sie in eine kritische Situation gelangt sind, weil wichtige Daten ohne Backup verloren gegangen sind, sollten Sie sich im Zweifelsfall auch an die Hersteller wenden, um in Erfahrung zu bringen, ob das jeweilige Programm Ihrer speziellen Situation Rechnung tragen kann. Insbesondere die Unterstützung von APFS war bei Drucklegung des Buches noch nicht für alle hier genannten Programme gegeben.

4    Drucker einrichten Das papierlose Büro wird wohl noch eine gewisse Zeit auf sich warten lassen. Daher ist das leistungsfähige Drucksystem von macOS im Arbeitsalltag nach wie vor unverzichtbar. Die Konfiguration eines Druckers stellt unter macOS 10.13 eigentlich keine große Herausforderung dar. Die meisten mit macOS kompatiblen Geräte lassen sich, wenn sie über ein USB-Kabel oder das Netzwerk verbunden wurden, nach dem Download der Treiber direkt nutzen. Aber das Drucksystem von macOS bietet eine Reihe von Funktionen, die nicht ganz so offensichtlich sind, sich im Alltag aber als sehr praktisch erweisen können. In diesem Kapitel beschreibe ich zunächst die Konfiguration von Druckern über die Ansicht Drucker & Scanner der Systemeinstellungen. Verwenden Sie in Ihrem Netzwerk mehrere Rechner, dann ermöglicht Ihnen die Freigabe eines Druckers im Netzwerk die Nutzung auch von anderen Systemen aus. Der zunächst unscheinbare Druckdialog von macOS bietet ein paar Funktionen, mit denen sich Papier und Tinte sparen lassen. Bei Problemen wie einem Papierstau ist der Blick in die Warteschlange des jeweiligen Druckers angeraten. Eher unsichtbar im Hintergrund verrichtet das Common UNIX Printing System (CUPS) seinen Dienst. Mit der entsprechenden Konfiguration ermöglicht CUPS Ihnen die Administration und Verwaltung von eingerichteten Druckern über den Browser. macOS bietet Ihnen von Haus aus auch die Möglichkeit, Dokumente als PDF-Dateien auszugeben. Auf die Anschaffung und Installation

eines separaten Programms zur Erstellung von PDF-Dateien können Sie in den meisten Fällen verzichten. Insbesondere in Verbindung mit dem Programm Vorschau ist die Kommentierung und auch Bearbeitung von PDF-Dateien in den meisten Fällen mit Bordmitteln möglich.

4.1    Drucker über die Systemeinstellungen verwalten Zur Verwaltung und Konfiguration der Drucker und auch der Scanner dient in den Systemeinstellungen die Ansicht Drucker & Scanner. Zwar können Sie auch über die Weboberfläche von CUPS (siehe Abschnitt 4.3.1) Drucker hinzufügen, aber in der Regel ist die Arbeit mit den Systemeinstellungen einfacher und weniger fehlerträchtig. 4.1.1    Drucker einrichten und Treiber installieren

Um einen Drucker hinzuzufügen, klicken Sie in der Ansicht Drucker & Scanner unten links das Pluszeichen an. Die über Bonjour kommunizierten Drucker stehen Ihnen dort direkt zur Auswahl. Über den Eintrag Drucker oder Scanner hinzufügen rufen Sie den in Abbildung 4.1 dargestellten Dialog auf. Zunächst befinden sich drei Icons in der Symbolleiste. Führen Sie einen Rechtsklick auf die Symbolleiste aus, dann können Sie das Icon Erweitert hinzufügen. In der Ansicht Standard sucht das System nach Druckern, die entweder über USB direkt an den Rechner angeschlossen wurden oder die sich im Netzwerk via Bonjour ankündigen. Gegebenenfalls sollten Sie etwas warten – es kann sein, dass nicht sofort alle Drucker in der Ansicht erscheinen.

Abbildung 4.1    Im Menü »Verwenden« wählen Sie den Treiber aus.

Haben Sie den gewünschten Drucker ausgewählt, dann können Sie zunächst den Namen und seinen Standort festlegen. Während der Standort lediglich eine beschreibende Funktion hat, sollten Sie beim Namen den Vorschlag so ändern, dass er keine Leerzeichen enthält und möglichst kurz ist. Dies erspart bei der späteren Freigabe des Druckers im Netzwerk in einigen Situationen ein wenig Tipparbeit. Im Ausklappmenü Verwenden legen Sie fest, welcher Treiber und welche Software zur Ansprache des Druckers Verwendung finden soll (siehe Abbildung 4.2). Abhängig von Ihrem Gerät wird Ihnen hier zunächst AirPrint vorgeschlagen. In den letzten Jahren hat Apple die ursprünglich als Lösung für iOS-Geräte gedachte AirPrintMethode auch für den Druck unter macOS favorisiert. Bei AirPrint werden die Fähigkeiten des Druckers über Bonjour automatisch kommuniziert. Sollte ein spezieller Treiber für den Drucker vorliegen, dann wird er Ihnen in der Liste angezeigt. Der Download von den Servern Apples und die Installation der Treiber erfolgen

hierbei automatisch. Es ist auch möglich, ein Softwarepaket des Druckerherstellers zu installieren. Auch in diesem Fall sollte der Treiber in dieser Liste automatisch erscheinen.

Abbildung 4.2    Der Treiber wird automatisch heruntergeladen und installiert.

Sofern der Treiber nicht automatisch erkannt wird oder keine Treibersoftware vorliegt, können Sie über den Eintrag Software auswählen die Liste der unter macOS standardmäßig vorhandenen Druckertreiber einblenden. Nutzen Sie ein älteres Druckermodell, für das keine aktuellen Treiber unter macOS vorliegen, dann bietet die Sammlung der Gutenprint-Treiber (http://gimpprint.sourceforge.net/MacOSX.php) möglicherweise eine Lösung. Diese Treiber werden mit einem normalen Installationspaket eingerichtet und erscheinen dann auch in der in Abbildung 4.3 dargestellten Liste.

Abbildung 4.3    Die Gutenprint-Treiber bieten eine Unterstützung für ältere Modelle.

Neben AirPrint und den Standard- sowie Gutenprint-Treibern sind auch unter macOS 10.13 die Sprachen PostScript und PCL zur Ansteuerung von Druckern nach wie vor vorhanden. Im Menü Verwenden finden Sie bei Druckern, die über PostScript angesprochen werden können, die Einträge Allgemeiner PostScriptDrucker und Allgemeiner PCL-Drucker. Haben Sie eine PostScriptKonfigurationsdatei, eine PostScript Printer Description, in Form einer .ppd-Datei zur Hand, dann können Sie sie über den Eintrag Andere auswählen. Befindet sich der Drucker oder der Druckserver im Netzwerk und kommuniziert er seine Dienste nicht über Bonjour, dann können Sie in der Ansicht IP (siehe Abbildung 4.4) seinen Netzwerknamen oder die IP-Adresse direkt eingeben. Welches Protokoll Ihr Drucker nutzt, müssen Sie seiner Dokumentation entnehmen. Dort erfahren Sie auch, ob die Angabe einer Warteliste notwendig ist. Die Vorschläge unter Name und Standort können Sie abändern. Unter Verwenden können Sie den Treiber auswählen und gegebenenfalls installieren. Schließlich ist es möglich, einen speziellen Drucker auch direkt zu konfigurieren. Hierzu können Sie in der Ansicht Erweitert (siehe

Abbildung 4.5) zunächst einen Typ und anschließend ein entsprechendes Gerät auswählen. Außerdem müssen Sie noch den URL eingeben, unter dem das Gerät angesprochen werden kann. In der Regel wird diese Ansicht genutzt, um Druckserver im Netzwerk zu konfigurieren. Dazu müssen Sie das genutzte Protokoll sowie den Aufbau des URL kennen. Abschließend können Sie auch hier Name und Standort festlegen sowie einen Treiber auswählen.

Abbildung 4.4    Einen Drucker im Netzwerk können Sie auch direkt konfigurieren.

Die Einrichtung eines Druckers, der an einem Windows-Rechner angeschlossen ist und im Netzwerk freigegeben wurde, wird in der Ansicht Windows vorgenommen. In Abschnitt 14.2.4 beschreibe ich, wie Sie dazu vorgehen.

Abbildung 4.5    In der Ansicht »Erweitert« können Sie einen URL zur Konfiguration nutzen.

4.1.2    Drucker konfigurieren und das Drucksystem zurücksetzen

Die konfigurierten Drucker werden in den Systemeinstellungen aufgelistet. Wählen Sie einen Drucker aus, dann können Sie über die Schaltfläche Optionen & Füllstände (siehe Abbildung 4.6) das Gerät im Detail konfigurieren. Welche Optionen und Funktionen Ihnen hier zur Verfügung stehen, hängt vom Treiber ab, der für das Gerät genutzt wurde. Über die Schaltfläche Drucker-Warteliste öffnen starten Sie die Warteschlange des Druckers zur Verwaltung der Druckaufträge. Detaillierte Informationen zur Warteschlange folgen in Abschnitt 4.2.2.

Abbildung 4.6    Über das Kontextmenü können Sie das Drucksystem zurücksetzen.

Sowohl mit dem Kontextmenü, das Sie über der Liste der Drucker aufrufen, als auch mit dem Menü unten können Sie den Standarddrucker festlegen. Dieses Gerät wird beim Aufruf des Druckdialogs standardmäßig ausgewählt. Im Kontextmenü finden Sie ferner die Option Drucksystem zurücksetzen. Damit wird das gesamte Drucksystem von macOS auf den Werkszustand zurückgesetzt. Das heißt, alle eingerichteten Drucker werden gelöscht, und auch weitere Anpassungen der Konfiguration werden entfernt. Diese Option kann hilfreich sein, wenn Sie versehentlich eine Fehlkonfiguration vorgenommen haben oder das Drucksystem nicht mehr reagiert. Es ist auch möglich, mehrere Drucker in einem Pool zu gruppieren (siehe Abbildung 4.7). Wird ein Druckauftrag an einen solchen Pool geschickt, dann wird er vom nächsten verfügbaren Drucker verarbeitet. Um einen Pool zu erstellen, wählen Sie bei gedrückt gehaltener (š)-Taste mit einem Mausklick die Drucker aus und vergeben nach einem Klick auf die Schaltfläche Drucker Pool erstellen einen Namen.

Abbildung 4.7    Mehrere Drucker lassen sich zu einem Pool zusammenfassen.

4.1.3    Drucker im Netzwerk nutzen

Wenn Sie einen oder mehrere Drucker im Netzwerk freigeben möchten, dann aktivieren Sie zunächst die entsprechende Option in der Ansicht des Geräts. In der Ansicht Freigaben der Systemeinstellungen finden Sie den Dienst Druckerfreigabe (siehe Abbildung 4.8). Ist der Dienst aktiviert, dann kommuniziert CUPS (siehe Abschnitt 4.3) die freigegebenen Drucker im Netzwerk mittels Bonjour.

Abbildung 4.8    Den Zugriff auf Drucker können Sie einschränken.

In den Standardeinstellungen ist der Drucker im Netzwerk frei verfügbar. Fügen Sie jedoch Konten der Liste Benutzer hinzu, dann steht Ihnen bei dem Eintrag Jeder auch die Option Kein Zugriff zur Auswahl. Damit können Sie den Zugang zu dem Drucker auf ausgewählte Benutzerkonten beschränken. Die freigegebenen Drucker in dieser Ansicht entsprechen der Auswahl, die Sie in der Ansicht Drucker & Scanner vorgenommen haben. Möchten Sie einen im Netzwerk freigegebenen Drucker auf einem anderen System einbinden, dann werden Ihnen diese Geräte in der Ansicht Standard des Dialogs zum Hinzufügen von Druckern angezeigt. Der Name erscheint in der Form Druckername @ Rechnername, und unter Typ finden Sie die Angabe Bonjour, freigegeben. Haben Sie den Zugriff auf den Drucker eingeschränkt, dann muss sich der Anwender auf dem entfernten Rechner bei jedem Druckauftrag authentifizieren. Ob der Zugriff auf einen Drucker eingeschränkt ist, erkennen Sie an einem kleinen Icon mit einer Person in der Liste der Drucker, wenn Sie ein Dokument ausgeben möchten. Sie werden beim Ausdruck dann aufgefordert, den Benutzernamen und das Kennwort des Benutzers einzugeben, den Sie in den Systemeinstellungen unter Benutzer konfiguriert haben (siehe Abbildung 4.9).

Abbildung 4.9    Das Passwort muss vor dem Druckauftrag eingegeben werden.

4.2    Dokumente ausgeben Der Dialog zur Ausgabe eines Dokuments wirkt auf den ersten Blick etwas unscheinbar, aber er bietet einige Optionen, mit denen Sie Papier und Tinte sparen können. Die gerade abzuarbeitenden Druckaufträge können Sie über die Warteschlangen oder Wartelisten der Drucker kontrollieren und Sie können Aufträge pausieren lassen oder vorzeitig abbrechen. 4.2.1    Der Druckdialog

Zur Ausgabe eines Dokuments dient in den meisten Programmen der Menüpunkt Ablage • Drucken. Sie können meist auch die Tastenkombination (š)+(P) nutzen. Daraufhin erscheint der in Abbildung 4.10 dargestellte Dialog. Über die Schaltfläche Details einblenden können Sie die Ansicht vergrößern und Ihren Druckauftrag anpassen.

Abbildung 4.10    Vor der Ausgabe des Dokuments wählen Sie den passenden Drucker.

Zunächst finden Sie oben eine Liste der eingerichteten Drucker. Wurde der Drucker pausiert, dann wird dies mit einem kleinen Icon mit einem X angezeigt. Ist eine Authentifizierung bei einem Netzwerkdrucker notwendig, dann erscheint ein kleines Icon mit einer Person. Im unteren Drittel des Fensters konfigurieren Sie die individuellen Parameter des Auftrags. Zunächst finden Sie in dem Ausklappmenü einen Eintrag, der dem Namen des aktiven Programms entspricht. In Abbildung 4.10 ist dies Vorschau. Die Vorgaben hier werden durch das Programm selbst definiert. Unter Layout können Sie festlegen, ob mehrere Seiten des Dokuments auf einem Blatt Papier ausgegeben werden sollen. Haben Sie Farbprofile für Ihre Geräte eingerichtet, dann können Sie sie unter Farbanpassung auswählen. Unter Papierhandhabung können Sie den Ausdruck auf gerade und ungerade Seiten beschränken und auch die Seitenreihenfolge umkehren. Ob und wie der Papiereinzug erfolgt, ist natürlich von Ihrem Gerät abhängig. Schließlich können Sie dem Auftrag ein vordefiniertes Deckblatt mitgeben. Welche Druckeroptionen Ihnen zur Auswahl stehen, ist vom Gerät und seinem Treiber abhängig. Die Optionen des in Abbildung 4.11 dargestellten Druckers sind recht übersichtlich und stammen aus der PostScript Printer Description. Bei vielen Druckern und Multifunktionsgeräten finden Sie hier eine ganze Palette von Optionen, die etwa das verwendete Papier, die Tinte und die Farbausgabe betreffen.

Abbildung 4.11    Die verfügbaren Optionen hängen vom Gerät ab.

Es ist möglich, diese Einstellungen für einen Druckauftrag zu speichern. Sie finden im oberen Bereich des Dialogs das Menü Voreinstellungen (siehe Abbildung 4.12). Dort können Sie mit der Option Aktuelle Einstellungen als Voreinstellung speichern die Konfiguration sichern und anschließend einen Namen vergeben. Die Konfiguration steht Ihnen nun im Dialog direkt zur Verfügung. Geben Sie also häufig vier Seiten auf einem Blatt aus, dann ließe sich das in einer Voreinstellung zur späteren Wiederverwendung speichern. Mit dem Eintrag Voreinstellungen ... gelangen Sie zur Verwaltung der gespeicherten Konfigurationen.

Abbildung 4.12    Die Einstellungen können gespeichert werden.

4.2.2    Warteschlangen der Drucker steuern

Haben Sie einen Druckauftrag erteilt, dann wird er der Warteschlange des Druckers hinzugefügt. Das Drucksystem arbeitet erteilte Aufträge nacheinander ab. Zeitgleich zur Erteilung wird das

Programm zur Verwaltung der Warteschlange gestartet, und es erscheint im Dock. Sie finden die Warteschlangen im Verzeichnis ~/Library/Printers und können die dort vorhandenen Programme auch im Dock ablegen.

Abbildung 4.13    Die Warteschlange kann pausiert werden.

Einen Drucker können Sie über dieses Programm anhalten (siehe Abbildung 4.13). Er nimmt dann zwar noch Aufträge entgegen (Sie werden bei der Erteilung eines Auftrags auf die Pausierung hingewiesen), der Drucker verarbeitet die Aufträge jedoch nicht mehr. Dies kann praktisch sein, wenn Sie noch einige Aufträge erteilen und anschließend erst eine neue Tintenpatrone einsetzen möchten. Einen Auftrag abbrechen können Sie durch einen Klick auf das kleine Icon mit dem X. Mit dem Icon daneben können Sie genau diesen Auftrag pausieren lassen. Er verbleibt in der Warteschlange, die anderen Aufträge rücken nach. Sie erhalten eine Vorschau des auszudruckenden Dokuments direkt in der Warteschlange, indem Sie den Auftrag auswählen und dann die Leertaste drücken. Dann erscheint eine über QuickLook realisierte Vorschau.

Die Schaltfläche Einstellungen ruft die Vorgaben auf, die Sie auch in den Systemeinstellungen finden. Mit dem Menüpunkt Fenster • Abgeschlossene Aufträge zeigen können Sie sich einen Verlauf der abgearbeiteten Aufträge anzeigen lassen. Eine Alternative zu den Warteschlangen kann auch der direkte Zugriff auf die Verwaltung des Druckers darstellen. Die meisten modernen Geräte verfügen, sofern sie im Netzwerk genutzt werden, über eine Weboberfläche.

4.3    Das Common UNIX Printing System – CUPS Die technische Grundlage für das Drucksystem von macOS stellt das Common UNIX Printing System (CUPS) dar. CUPS war ursprünglich ein reines Open-Source-Projekt mit dem Ziel, die Verwaltung und Nutzung von Druckern unter Unix-Systemen komfortabler und einfacher zu gestalten. Vor einiger Zeit kaufte Apple die hinter CUPS stehende Firma auf, wodurch es sich bei CUPS nun eigentlich um ein Apple-Produkt handelt, das jedoch weiterhin quelloffen ist und auch in den meisten Linux-Distributionen Verwendung findet. 4.3.1    Die Weboberfläche für CUPS aktivieren

Zur Administration von CUPS stehen Ihnen zwei Möglichkeiten zur Verfügung. Mit dem Befehl cupsctl am Terminal können Sie das CUPS-System als solches steuern. Aktivieren Sie die Weboberfläche von CUPS (siehe Abbildung 4.14), dann können Sie auch über den Browser Ihre Drucker und Aufträge überblicken und verwalten. Die Weboberfläche ist insbesondere dann sinnvoll, wenn Sie über das Netzwerk die eingerichteten Drucker eines anderen Rechners administrieren möchten. »cupsctl« – CUPS Control cupsctl Aktion

Die Weboberfläche aktivieren Sie am Terminal durch die Eingabe von cupsctl Web-Interface=yes. Möchten Sie auf die Weboberfläche dieser CUPS-Installation von einem anderen Rechner im Netzwerk aus zugreifen, dann müssen Sie mit cupsctl

--remote-admin noch den Zugriff aus dem Netzwerk erlauben. Mit der Eingabe von cupsctl --no-remote-admin würden Sie den Zugriff über das Netzwerk wieder unterbinden, mit cupsctl WebInterface=no die Weboberfläche wieder deaktivieren.

Die Weboberfläche steht Ihnen im Browser unter dem URL http://localhost:631 zur Verfügung. Möchten Sie auf das Drucksystem eines anderen Rechners im lokalen Netzwerk zugreifen, dann würde der URL beispielsweise http://Macmini.local:631 lauten. Die Freigabe von Druckern im Netzwerk können Sie durch die Eingabe von cupsctl --share-printers aktivieren und mit cupsctl --no-share-printers wieder deaktivieren. Dies entspricht der Aktivierung des Dienstes Druckerfreigabe in der Ansicht Freigaben der Systemeinstellungen.

Abbildung 4.14    Die Weboberfläche von CUPS ist über den URL »http://localhost:631« erreichbar.

4.3.2    Drucker und Druckaufträge verwalten

In der Verwaltungsoberfläche von CUPS finden Sie unter Administration eine Übersicht. Unter CUPS werden die Drucker-Pools

der Systemeinstellungen als Classes bezeichnet. In der Ansicht Printers (siehe Abbildung 4.15) finden Sie die in den Systemeinstellungen eingerichteten Drucker. Sie werden bei einigen Aktionen im Browser aufgefordert, einen Benutzer und ein Passwort einzugeben. Hier geben Sie denAccountnamen und das Passwort eines administrativen Benutzers ein.

Abbildung 4.15    Die Aufträge werden in der Übersicht des Druckers aufgeführt.

Klicken Sie einen Drucker in der Übersicht Printers an, dann werden unten die aktiven Druckaufträge aufgelistet. Sie können diese über die Schaltflächen rechts abbrechen (Cancel Job), anhalten (Hold Job) oder über Move Job einem anderen Drucker zuweisen. In dem Ausklappmenü Maintenance haben Sie auch die Möglichkeit, alle aktiven Aufträge einem anderen Drucker zuzuweisen. Dies kann hilfreich sein, wenn der Drucker ausfällt und Sie die Aufträge auf einem anderen vorhandenen Drucker ausführen möchten. Ferner können Sie hier Testseiten drucken sowie den Drucker selbst anhalten. Im Ausklappmenü Administration können Sie den Drucker über CUPS nachträglich neu konfigurieren und ihn auch als Standarddrucker für das CUPS-System festlegen.

Um einen neuen Drucker zu installieren, wechseln Sie zur Hauptansicht Administration (siehe Abbildung 4.16) und klicken die Schaltfläche Add Printer an. Die (nachträgliche) Konfiguration eines Druckers über CUPS ist weniger intuitiv als über die Systemeinstellungen. Der Assistent führt Sie in mehreren Schritten durch die Installation und stellt Ihnen dabei auch die im Netzwerk gefundenen Drucker zur Auswahl. Haben Sie zuvor einen passenden Treiber installiert, dann steht er Ihnen im zweiten Schritt zur Auswahl. Wenn es sich um einen PostScript-Drucker handelt, können Sie auch eine .ppd-Datei hochladen.

Abbildung 4.16    Einen Drucker können Sie auch über CUPS konfigurieren.

4.3.3    CUPS im Detail konfigurieren

Um das CUPS-System als solches zu konfigurieren, nehmen Sie in der Ansicht Administration rechts die Einstellungen für den Server vor. Über die Option Share printers connected to this system steuern Sie den Dienst Druckerfreigabe. Hier können Sie unter Max clients auch eine Grenze für die Verbindungen vorgeben. Abhängig von Ihrem Druckvolumen ist es gegebenenfalls sinnvoll, das Protokoll der erledigten Aufträge zu begrenzen. In den Standardeinstellungen

merkt sich CUPS die letzten 500 erledigten Aufträge. Unter Maximum jobs können Sie diese Grenze ändern und mit dem Wert 0 auch alle Aufträge dauerhaft aufbewahren.

Abbildung 4.17    In der Ansicht »Administration« konfigurieren Sie den CUPS-Server im Detail.

Wenn Sie sich näher mit CUPS befassen oder in Ihrem Netzwerk sehr spezielle Einstellungen vornehmen möchten, dann können Sie auch die Konfigurationsdatei cupsd.conf direkt im Browser über die Schaltfläche Edit Configuration File bearbeiten. Hier finden sich die Anweisungen, die das Drucksystem konfigurieren, in Form einer Textdatei. Am Terminal können Sie sich in der Man-Page (siehe Abschnitt 21.2.1) der Datei (man cupsd.conf) näher über die einzelnen Optionen informieren. Für den normalen Alltagsgebrauch sind die Standardeinstellungen von CUPS ausreichend.

4.4    PDF-Dateien mit Quartz-Filtern erstellen Schon seit Beginn bietet macOS eine hervorragende Unterstützung des Dateiformats PDF. Aus dem Druckdialog heraus können Sie auch eine PDF-Datei anstelle eines Ausdrucks erstellen. Sie finden unten links die Schaltfläche PDF. Klicken Sie sie an, dann erscheint ein kleines Menü, in dem Sie das Dokument als PDF-Datei speichern können. Dieses Menü lässt sich durch Workflows im Automator (siehe Abschnitt 18.3.3) ergänzen, sodass Sie auch direkt aus dem Druckdialog heraus die erstellte PDF-Datei weiterverarbeiten können.

Abbildung 4.18    Im ColorSync-Dienstprogramm können die Quartz-Filter verwaltet werden.

Um PDF-Dateien direkt zu bearbeiten, können Sie die in macOS enthaltenen Quartz-Filter benutzen. Letztere machen sich direkt die Fähigkeiten der Render-Engine Quartz zu nutze. Starten Sie das ColorSync-Dienstprogramm, dann finden Sie dort auch eine Ansicht Filter (siehe Abbildung 4.18). Diese enthält bereits eine Reihe von vordefinierten Filtern, beispielswiese Gray Tone, mit dem eine

vielfarbige PDF-Datei direkt aus dem Druckdialog heraus in Grautöne umgewandelt werden kann. Ferner ist ein Filter Create Genereic PDFX-3 Document vorhanden, der die PDF-Datei so bearbeitet, dass sie der PDF/X3-Spezifikation entspricht. Letztere wird in der Druckvorstufe genutzt, um PDF-Dateien an die Druckmaschinen zu übertragen.

Abbildung 4.19    Einer PDF-Datei lassen sich im Dienstprogrammm die Quartz-Filter zuweisen.

Über das Pluszeichen unterhalb der Liste erstellen Sie einen neuen Filter. Über das Icon mit dem Pfeil nach unten am rechten Rand fügen Sie dann aus dem Ausklappmenü weitere Elemente dem Filter hinzu. Diese können die Bearbeitung der Farben und Bilder, das Zuweisen von Farbprofilen oder Ähnliches übernehmen.

Abbildung 4.20    Der Automator stellt die Aktion »Quartz-Filter auf PDF-Dokumente anwenden« zur Verfügung.

Um einen Filter auszuprobieren, können Sie im ColorSyncDienstprogramm über Ablage • Öffnen eine PDF-Datei öffnen. Dort können Sie aus dem Menü Filter (siehe Abbildung 4.19) einen Filter auswählen und anschließend Anwenden. Die Datei können Sie, wenn Sie mit der Wirkung des Filters zufrieden sind, zum Beispiel über Ablage • Sichern unter dann speichern. Es ist auch möglich, über ein Plug-In für Drucken des Automators die Quartz-Filter zu nutzen. In der Aktion Quartz-Filter auf PDFDokumente anwenden (siehe Abbildung 4.20) stehen Ihnen die im ColorSync-Dienstprogramm erstellten Filter zur Verfügung.

5    Die Schriftsammlung von macOS Die Schriftsammlung von macOS ermöglicht eine recht bequeme Verwaltung der installierten Schriftarten. Darüber hinaus ist sie auch in der Lage, Schriftarten auf Defekte hin zu überprüfen. Das klassische Mac OS und Desktop Publishing waren in den 90erJahren fast gleichzusetzen. In den letzten Jahrzehnten hat sich die Mediengestaltung natürlich gravierend verändert, aber Schriftarten sind für die Gestaltung von Dokumenten immer noch unabdingbar. Das Schriftsystem von macOS ist leistungsfähig, und mit dem Programm Schriftsammlung können Sie Schriftarten komfortabel installieren, gruppieren, überprüfen und auch übergangsweise deaktivieren. In diesem Kapitel werde ich zunächst das Schriftsystem von macOS kurz umreißen. Anschließend werde ich die Arbeit mit dem Programm Schriftsammlung erklären. Zum Abschluss erfahren Sie noch, wie Sie mit dem Befehl atsutil am Terminal korrupte Zwischenspeicher des Schriftsystems löschen.

5.1    Einführung und Grundlagen macOS unterstützt eine Reihe von Dateiformaten, die für Schriftarten genutzt werden können. Zu den unterstützten Formaten gehören: TrueType

TrueType-Schriften können sowohl in der Version für macOS als auch in der Version für Windows verwendet werden. Unterstützt

werden nicht nur einzelne Schriftarten in .ttf-Dateien, sondern auch Sammlungen in .ttc-Dateien und DataforkSchriftarten mit der Dateiendung .dfont. OpenType

Die modernen OpenType-Schriftarten mit der Dateiendung .otf werden von macOS ebenfalls problemlos unterstützt. PostScript Type 1

Bei den PostScript-Schriftarten müssen Sie darauf achten, dass Sie sowohl über die Schriftart für die Darstellung auf dem Bildschirm als auch über die Schriftart für den Ausdruck verfügen. Zur Installation von Schriftarten können Sie das Programm Schriftsammlung verwenden. Unter macOS können Schriftarten in folgenden Verzeichnissen gespeichert werden: /System/Library/Fonts

In diesem Verzeichnis werden die Schriftarten gespeichert, die direkt zum System gehören und von diesem genutzt werden. Sie sollten hier keine Änderungen vornehmen, indem Sie etwa Dateien aus dem Ordner entfernen. /Library/Fonts

Hier werden Schriftarten installiert, die allen Benutzerkonten des Systems zur Verfügung stehen sollen. ~/Library/Fonts

In diesem Unterordner in Ihrer persönlichen Library werden die Schriftarten installiert, die nur von Ihnen genutzt werden sollen. /Network/Library/Fonts

Mit der Servervariante von macOS ist es möglich, freigegebene Verzeichnisse automatisch zu kommunizieren und einzubinden. Wird ein entsprechend konfigurierter Ordner freigegeben, dann

können die dort abgelegten Schriftarten allen Systemen zugänglich gemacht werden.

Abbildung 5.1    QuickLook unterstützt auch die Vorschau von Schriften.

Möchten Sie sich vor der Installation über das Aussehen einer Schriftart informieren, dann öffnen Sie die Datei mit QuickLook im Finder. QuickLook bietet Ihnen dann eine kurze Vorschau (siehe Abbildung 5.1) des Alphabets, wobei aber Umlaute und Sonderzeichen nicht dargestellt werden.

5.2    Die Schriftsammlung von macOS Das Programm Schriftsammlung dient zur Verwaltung der Schriftarten, die Sie unter macOS installiert haben. Dabei ermöglicht es Ihnen auch, sich ein Bild vom Aussehen der Schrift zu machen und zu überprüfen, ob bestimmte Zeichen in der Schrift enthalten sind. 5.2.1    Schriftarten überblicken und installieren

Wenn Sie das Programm Schriftsammlung gestartet haben, dann finden Sie in der linken Spalte die Liste der Orte, an denen die Schriftarten installiert wurden (siehe Abbildung 5.2). Unter Computer werden die Schriften aufgeführt, die sich in den Verzeichnissen /System/Library/Fonts und /Library/Fonts befinden. Die unter Benutzer aufgelisteten Schriften wurden unter ~/Library/Fonts installiert. Darunter finden Sie die in Abschnitt 5.2.2 beschriebenen Sammlungen und Bibliotheken.

Abbildung 5.2    Die technischen Details einer Schriftart werden in der Ansicht »Schriftinformationen« angezeigt.

In der mittleren Spalte werden die Schriftarten und ihre Schnitte aufgeführt, die in dem jeweiligen Ordner oder der ausgewählten

Sammlung enthalten sind. Schließlich finden Sie rechts eine Vorschau der Schrift; Sie können sie über die vier Einträge im Menü Darstellung anpassen. Haben Sie über Darstellung • Beispiel die Vorschau ausgewählt, dann können Sie anstelle des Alphabets auch eigene Zeichen eingeben und so kontrollieren, ob diese in der Schriftart enthalten sind. In der Ansicht Darstellung • Schriftinformationen einblenden finden Sie Details zur Datei und zur Schriftart selbst. Dazu gehören neben dem Typ auch der Hersteller, das Repertoire sowie der Ort, an dem die Schrift abgelegt wurde.

Abbildung 5.3    Vor der Installation wird eine Übersicht angezeigt.

Eine neue Schriftart installieren Sie durch einen Doppelklick im Finder oder über den Menüpunkt Ablage • Schriften hinzufügen. Vor der Installation erhalten Sie eine Vorschau der Schrift (siehe Abbildung 5.3). Etwaige Schnitte wählen Sie über das Ausklappmenü

oben aus. Mit einem Klick auf die Schaltfläche Installieren werden die Dateien der Schriftart dann in den jeweiligen Ordner kopiert.

Abbildung 5.4    Den »Standort für Installation« geben Sie in den Einstellungen vor.

Ob die Datei der Schriftart in das Verzeichnis /Library/Fonts oder ~/Library/Fonts kopiert wird, entscheiden Sie in den Einstellungen des Programms. Sie finden dort die Option Standort für Installation (siehe Abbildung 5.4). In den Einstellungen können Sie auch vorgeben, ob Duplikate (siehe Abschnitt 5.2.4) von Schriftarten in den Papierkorb verschoben werden sollen. Bis macOS Sierra war das System in der Lage, Schriftarten automatisch zu aktivieren, wenn ein Dokument diese benötigte. Diese Funktion ist mittlerweile weggefallen. Zwar verfügt der Befehl atsutil noch über die Option autoactivation, aber diese hat unter macOS High Sierra augenscheinlich keine Funktion mehr. Eine automatische Aktivierung von Schriftarten ließ sich auch durch diese Option nicht erreichen.

Abbildung 5.5    Das Schriftsystem kann zurückgesetzt werden.

Gelangen Sie an einen Punkt, an dem Sie zu viele Schriften installiert haben und den Überblick verlieren, dann ist es möglich, die Schriftsammlung komplett zurückzusetzen. Hierzu rufen Sie den Menübefehl Ablage • Standardschriftarten wiederherstellen auf. Sie erhalten dann eine Rückfrage (siehe Abbildung 5.5) und müssen sich anschließend mit Ihrem Passwort authentifizieren. Anschließend werden alle Schriften, die nicht zum Lieferumfang von macOS gehören, in einen neuen Ordner Fonts (Removed) verschoben. Dieser enthält Unterordner mit dem Datum, an dem die Schriften aus dem System entfernt wurden. 5.2.2    Sammlungen und Bibliotheken nutzen

Die Schriftsammlung bietet Ihnen die Möglichkeit, Ihre Schriften in Sammlungen und Bibliotheken zu gruppieren. Der Unterschied besteht darin, dass Sammlungen lediglich eine Gruppierung bereits installierter Schriften darstellen. Sie können auf diese Weise bequem Schriften zusammenfassen, die Sie etwa für ein Projekt oder eine zu gestaltende Publikation nutzen. Die Schriftsammlungen werden dann auch in der Schriftenpalette des Systems aufgeführt.

Hierbei steht Ihnen über den Menüpunkt Ablage • Neue intelligente Sammlung auch die Suchfunktion Spotlight zur Verfügung. Erstellen Sie eine intelligente Sammlung, dann können Sie verschiedene Kriterien vorgeben, denen die Schriften entsprechen müssen, um in die Sammlung aufgenommen zu werden (siehe Abbildung 5.6). Neben drei verschiedenen Namen können Sie auch die enthaltenen Sprachen und den Designstil als Kriterium nutzen. Wird eine Schrift installiert, die den Bedingungen entspricht, dann wird sie automatisch der Sammlung hinzugefügt.

Abbildung 5.6    Bei intelligenten Sammlungen lässt sich eine Reihe von Kriterien nutzen.

Am Rande: Möchten Sie ausgehend von ausgewähltem Text in einem Dokument eine Sammlung erstellen, dann können Sie den Dienst (siehe Abschnitt 18.3.1) Sammlung aus Text erstellen nutzen. Gegebenenfalls müssen Sie den Dienst noch in den Systemeinstellungen in der Ansicht Tastatur aktivieren. Die Aufgabe einer Bibliothek besteht darin, Schriften verfügbar zu machen, die Sie nicht regulär über die Schriftsammlung installieren möchten. Erstellen Sie eine neue Bibliothek, dann können Sie Dateien aus dem Finder in die Bibliothek ziehen. Alternativ wählen Sie die Bibliothek in der linken Spalte aus und rufen dann den Menüpunkt Ablage • Schriften hinzufügen auf. Die so konfigurierten Schriften stehen Ihnen anschließend zur Verfügung, verbleiben aber an ihrem Platz im Dateisystem (siehe Abbildung 5.7).

Abbildung 5.7    Schriften einer Sammlung verbleiben an ihrem Ort im Dateisystem.

Um eine Schrift zu entfernen, wählen Sie die Schrift oder die Schriftfamilie aus und rufen dann den Menüpunkt Ablage •  ... entfernen auf. 5.2.3    Schriftarten überprüfen

Defekte bei Schriftarten können sich in subtiler Form auswirken, und daher bietet Ihnen die Schriftsammlung die Möglichkeit, Schriftarten zu überprüfen. Wählen Sie zur Überprüfung zunächst die Schrift aus. Über den Menübefehl Ablage • Schrift überprüfen veranlassen Sie die Prüfung. Sie können auch eine noch nicht installierte Schriftdatei über den Menüpunkt Datei überprüfen überprüfen.

Abbildung 5.8    Das Ergebnis der Prüfung wird in einem eigenen Fenster dargestellt.

Nach der Prüfung erhalten Sie in einem separaten Fenster das Ergebnis (siehe Abbildung 5.8). Hier sehen Sie die einzelnen Eigenschaften der Datei und die Information, ob Probleme vorliegen. Eine defekte Schriftart kann in Einzelfällen durchaus für Programmabstürze verantwortlich sein. 5.2.4    Schriften und Dubletten deaktivieren

Doppelt installierte Schriftarten können die Darstellung eines Dokuments verfälschen oder die Ausgabe auf einem Drucker oder in einer PDF-Datei beeinträchtigen. Die Schriftsammlung bietet Ihnen daher die Möglichkeit, Dubletten aufzulösen. Ist eine Schriftart mehrfach vorhanden, dann wird sie mit einem gelben Warnsymbol versehen. Wählen Sie eine Dublette aus, dann stehen Ihnen zwei Schaltflächen zur Verfügung. Nutzen Sie die Option Automatisch auflösen, dann prüft das Programm Schriftsammlung alle vorhandenen Schriften auf Dubletten und deaktiviert bei mehrfach vorhandenen alle bis auf eine. Sie können Dubletten aber auch Manuell auflösen. In diesem Fall entscheiden Sie für jede Schrift, welche Fassung Sie in Zukunft nutzen möchten (siehe Abbildung 5.9). Die Schriftsammlung leitet Sie dann schrittweise durch die doppelt vorhandenen Schriften. Über den Menüpunkt Bearbeiten • Nach aktivierten Duplikaten suchen können Sie auch eine Prüfung aller installierten Schriftarten auslösen, ohne die Liste nach gelben Warnungen durchsuchen zu müssen.

Abbildung 5.9    Dubletten können manuell oder automatisch aufgelöst werden.

Um eine Schriftart, die Sie für eine gewisse Zeit nicht mehr benötigen, aber auch nicht deinstallieren möchten, übergangsweise zu deaktivieren, wählen Sie sie zunächst aus und klicken dann das Icon mit dem Häkchen in der Symbolleiste an. Die Schriftart wird in der Liste ausgegraut und mit dem Hinweis Aus versehen. Die Datei selbst verbleibt an ihrem Platz. Schriften nachträglich herunterladen

In der Standardinstallation des Systems sind nicht alle Schriftarten vorhanden. Dazu gehören in erster Linie die Schriftarten für Sprachen, die in Europa wenig geläufig sind. Apple möchte durch diese Maßnahme anscheinend Speicherplatz sparen. In der Liste der Schriftarten finden Sie daher einige Einträge, die ausgegraut sind. Wählen Sie einen solchen Eintrag aus und rufen Sie die Ansicht Darstellung • Beispiel auf, dann finden Sie dort auch die Schaltfläche Download (siehe Abbildung 5.10). Über diese können Sie die Schriftart dann von Apple herunterladen und installieren.

Abbildung 5.10    Nicht alle Schriftarten des Systems sind Bestandteil der Standardinstallation.

5.3    Administration am Terminal mit »atsutil« Das Schriftsystem von macOS legt im Hintergrund Zwischenspeicher an, die die Darstellung von Schriften auf dem Bildschirm beschleunigen. Es kann vorkommen, dass diese Zwischenspeicher fehlerhaft sind und sogar Programmabstürze verursachen. Abgelegt werden diese Caches in einem Unterverzeichnis unter /var/folders. Es werden zwei Typen von Caches angelegt: Der erste wird vom gesamten Betriebssystem genutzt, der zweite wird dem Benutzerkonto zugeordnet. Mit dem Befehl atsutil am Terminal können Sie diese Zwischenspeicher löschen. Hierzu dienen die Optionen databases -removeUser zum Löschen des Caches für den aktuellen Benutzer unddatabases -remove zum Löschen des systemweiten Caches. Mit den Eingaben atsutil databases -removeUser

sudo atsutil databases -remove

löschen Sie sowohl den Cache des Benutzers als auch den Cache des Systems. Sie sollten anschließend umgehend einen Neustart des Betriebssystems durchführen.

TEIL II

Administrativer Alltag Die Verwaltung von Benutzerkonten ist eine zentrale Aufgabe bei der Administration eines Betriebssystems. Sie erfahren in diesem Teil auch, was es mit dem Benutzer »root« auf sich hat. Darüber hinaus werde ich die Installation und Aktualisierung von Software beschreiben. Die regelmäßige Sicherung Ihrer Daten ist unabdingbar und mit der Time Machine leicht möglich. Schließlich erfahren Sie, wie Sie mittels Boot Camp Windows und über rEFInd auch Linux installieren können.

6    Benutzerkonten und Zugriffsrechte Kenntnisse über die Verwaltung von Benutzerkonten und Zugriffsrechten sind auch dann nützlich, wenn Sie Ihren Rechner allein nutzen. Neben den eigentlichen Konten gibt es einige weitere Funktionen, die Ihnen im Arbeitsalltag eine Hilfe sein werden. Unix-Systeme waren schon immer darauf ausgelegt, von mehreren Anwendern genutzt werden zu können. Hierbei erfüllen die Benutzerkonten und Gruppen eine Reihe von Aufgaben. Zunächst trennen sie die Datenbestände voneinander, sodass jeder Anwender seine eigene, individuelle Arbeitsumgebung mit seinen Dateien vorfindet. Sie sind aber auch für die Sicherheit und Integrität des Systems unabdingbar, weil mithilfe der Zugriffsrechte für Dateien und Ordner Beschränkungen gesetzt werden, die einen Schutz vor vielen unbefugten Zugriffen und Manipulationen darstellen. In diesem Kapitel stelle ich Ihnen zunächst die Zuweisung von Zugriffsrechten für Dateien und Ordner vor. Dabei beschränken sich die Erläuterungen nicht nur auf die Möglichkeiten des Finders. Sie werden auch Details über die Arbeit mit Zugriffsrechten am Terminal erfahren, die Ihnen bei der Verwaltung Ihres Systems nützlich sein werden. Die Verwaltung von Benutzerkonten und Gruppen erfolgt unter macOS in erster Linie mithilfe der Systemeinstellungen. Sie erfahren in diesem Kapitel, welche Konten es gibt, wie Sie sie anlegen, konfigurieren und wieder löschen. Darüber hinaus zeige ich Ihnen, wie Sie das Anmeldefenster konfigurieren und Anmeldeobjekte automatisch ausführen lassen.

Administratoren und dem Super-User »root« ist ein eigener Abschnitt gewidmet. Grundlegende Kenntnisse des Befehls sudo und seiner Funktionsweise sind für die Administration des Systems unabdingbar. Abschließend erfahren Sie noch einige Hintergründe zum Programm Verzeichnisdienste sowie zur Benutzerdatenbank von macOS, DSLocal. Sollten Sie sich in einem Netzwerk befinden, in dem die Server-Variante von macOS die Benutzerkonten mittels Open Directory verwaltet, dann könnten Sie die abschließenden Hinweise zur Anbindung Ihres Systems an diesen Verzeichnisdienst hilfreich finden.

6.1    Zugriffsrechte für Dateien und Ordner Jeder Datei und jedem Verzeichnis unter macOS sind ein Besitzer und eine Benutzergruppe zugeordnet. Der Sinn dieser Eigentumsverhältnisse besteht darin, dass auf diese Weise anderen Anwendern, die ebenfalls Ihren Rechner nutzen, der Zugang zu Ihren Dateien und Dokumenten verwehrt wird. Aber nicht nur bei menschlichen Anwendern kommen die Rechte zum Tragen. Auch Systemdiensten, die etwa einen Server im Netzwerk bereitstellen, sind Benutzerkonten und damit verbunden Dateien und Verzeichnisse zugeordnet. Der Grund besteht unter anderem darin, dass auf diese Weise die Sicherheit leichter gewährleistet werden kann; wenn beispielsweise ein Server kompromittiert wird oder ein anderer Fehler auftritt, dann hat der Dienst nicht ohne Weiteres Zugriff auf andere Dateien und Ordner. macOS nutzt in der aktuellen Version zwei Verfahren, um Zugriffsrechte für Dateien und Ordner zu realisieren. Zunächst gibt es die sozusagen klassischen Zugriffsrechte, mit deren Hilfe einer

Datei oder einem Verzeichnis ein Benutzer und eine Gruppe zugeordnet werden. Zusätzlich gibt es ein Zugriffsrecht für alle anderen Benutzerkonten und Gruppen. Mit den Access Control Lists, die von Apple zusätzlich eingeführt wurden, können sehr fein granulierte Zugriffsrechte vergeben werden. Auch diese werde ich Ihnen vorstellen. Sie sind auch dann von Bedeutung, wenn Sie einen Ordner für eine Arbeitsgruppe im Netzwerk freigeben möchten. In so einem Fall reichen die Standardvorgaben von macOS meistens nicht aus, um die gewünschten Resultate zu erzielen. 6.1.1    Klassische Unix-Rechte vergeben und ändern

Um sich die aktuell vergebenen Zugriffsrechte einer Datei oder eines Ordners im Finder anzeigen zu lassen, rufen Sie das Fenster Infos zu (siehe Abbildung 6.1) auf. Sie finden dort einen Bereich Teilen & Zugriffsrechte. Um hier Änderungen vorzunehmen, müssen Sie die Ansicht über das Schloss rechts unten entsperren und anschließend Ihr Passwort eingeben. Dieser Bereich ist in zwei Spalten unterteilt: Links unter Name finden Sie das Benutzerkonto oder die Benutzergruppe, rechts die Zugriffsrechte. Lassen Sie sich von den englischen Bezeichnungen nicht irritieren. Über das Pluszeichen fügen Sie ein weiteres Benutzerkonto oder eine Benutzergruppe dieser Liste hinzu und vergeben die entsprechenden Zugriffsrechte. Über das Minuszeichen entfernen Sie das Konto oder die Gruppe wieder. Die untersten drei Einträge in dieser Liste (siehe Abbildung 6.1) entsprechen immer dem Eigentümer, der Gruppe und »allen anderen« der klassischen UnixRechte.

In der rechten Spalte können Sie aus drei von Apple vordefinierten Rechtekonstellationen auswählen. Mit dem Eintrag Lesen & Schreiben ermöglichen Sie den Vollzugriff auf den Ordner oder die Datei. Der Eintrag Nur Lesen ermöglicht es, die Datei zu öffnen beziehungsweise den Ordner im Finder einzusehen; Änderungen sind untersagt. Der Eintrag Nur Schreiben (Briefkasten) ist nur bei einem Verzeichnis sinnvoll. Wurde dieses Recht vergeben, dann kann der Benutzer oder die Gruppe zwar Dateien in das Verzeichnis kopieren, das Verzeichnis selbst aber nicht öffnen und sich nicht über den Inhalt informieren.

Abbildung 6.1    Im Fenster »Infos zu« können Sie die Zugriffsrechte einsehen und ändern.

Wenn Sie einem Benutzerkonto oder einer Benutzergruppe Rechte entziehen, dann wirkt sich dies auch unmittelbar auf die Arbeit aus. Möchten Sie zum Beispiel eine Datei öffnen, für die Ihnen die

Leseberechtigung fehlt, dann werden Sie vom Finder auf die fehlenden Rechte hingewiesen (siehe Abbildung 6.2).

Abbildung 6.2    Fehlt die Leseberechtigung, dann kann die Datei nicht geöffnet werden.

Bei Verzeichnissen sind vier Konstellationen möglich, die sich zum Teil auch in der Darstellung der Icons im Finder widerspiegeln. Haben Sie nur Leserechte, dann können Sie den Ordner im Finder öffnen und auch die darin enthaltenen Dateien öffnen, sofern Ihnen für Letztere die Berechtigung zugewiesen wurde. Sie können aber keine Änderungen am Inhalt des Ordners vornehmen, also keine neuen Ordner erstellen, Dateien umbenennen, löschen oder hinzufügen. Fehlen Ihnen die Lese- und Schreibrechte für einen Ordner, dann wird dieser mit einem roten Icon versehen (siehe Abbildung 6.3).

Abbildung 6.3    Auf die vergebenen Zugriffsrechte weisen die unterschiedlichen Icons der Ordner hin.

Ferner gibt es die Möglichkeit, dass Sie lediglich über Schreibrechte für den Ordner verfügen. In diesem Fall können Sie zwar Dateien

und Ordner in dieses Verzeichnis kopieren, aber nicht den Inhalt betrachten, es also nicht im Finder mit einem Doppelklick öffnen. Diese auch als Briefkasten bezeichnete Konfiguration kann im Netzwerk nützlich sein, wenn Kollegen Ihnen in einen freigegeben Ordner Dateien hineinkopieren, aber über den Inhalt selbst nichts erfahren sollen. Die Darstellung der Zugriffsrechte im Fenster Infos zu ist vielleicht nicht optimal gelöst, da es zum Beispiel möglich ist, die ursprünglich vergebene Gruppe – in Abbildung 6.1 handelt es sich um staff – zu löschen. Wurde sie gelöscht, dann ist dies im Finder nicht mehr rückgängig zu machen, da die Gruppe »staff« bei der Zuweisung einer Gruppe über das Pluszeichen nicht zur Verfügung steht. Um sich einen exakten Überblick über die Zugriffsrechte zu verschaffen, können Sie am Terminal den Befehl ls (siehe Abschnitt 21.3.1) in Verbindung mit der Option -l aufrufen. Mit der Eingabe von ls -l wird Ihnen der Inhalt des aktuellen Arbeitsverzeichnisses am Terminal ausgegeben (siehe Abbildung 6.4). In der linken Spalte finden Sie für jeden Ordner und jede Datei die Angabe der Zugriffsrechte in der Form drwxr-xr-x+. Ferner wird Ihnen in der dritten Spalte der Kurzname des Eigentümers(kai) sowie in der vierten Spalte der Name der Gruppe (staff) angegeben. Bei der Angabe der Zugriffsrechte in der Form drwxr-xr-x+ weist das erste Zeichen auf den Dateityp hin. Ein d steht für ein Verzeichnis (directory), eine einfache Datei wird mit - bezeichnet. Die drei darauffolgenden Buchstaben geben darüber Aufschluss, ob der Besitzer die Datei lesen (r), ändern (w) und ausführen (x) darf. Wurde das jeweilige Recht nicht gesetzt, dann wird dies mit angegeben. Die nächsten drei Zeichen spiegeln die Zugriffsrechte

der Gruppe wider. Mit den abschließenden drei Zeichen werden die Zugriffsrechte für die restlichen Benutzer angegeben. Findet sich ganz am Ende noch ein Pluszeichen +, dann wurden zusätzlich erweiterte Rechte (siehe Abschnitt 6.1.2) vergeben.

Abbildung 6.4    Am Terminal werden die Zugriffsrechte mit dem Befehl »ls« in Verbindung mit der Option »-l« angezeigt.

Ein Eintrag in der Form drwxr-xr-x+ bedeutet also, dass bei diesem Verzeichnis (d) der Eigentümer alle Rechte (rwx) innehat, die Gruppe und alle anderen es jeweils lesen und ausführen dürfen (rx). Die Ausführbarkeit x hat in diesem Zusammenhang zwei Bedeutungen. Handelt es sich um eine Datei und wurde diese als ausführbar markiert, dann kann sie gestartet werden, sofern es sich um ein Programm oder ein Shell-Skript handelt. Fehlt das Recht der Ausführbarkeit, dann ist das Programm oder das Skript zwar funktionsfähig, wird aber aufgrund des fehlenden Rechts nicht gestartet. Bei einem Verzeichnis ist die Ausführbarkeit wichtig, da sie hier besagt, dass das Verzeichnis durchsucht werden darf. Dies hat zur Folge, dass Sie sich bei fehlender Berechtigung zur Ausführung zwar mit ls den Inhalt des Verzeichnisses anzeigen lassen können, es ist aber dann nicht möglich, mit cd (siehe Abschnitt 21.3.1) in das Verzeichnis zu wechseln. Während das Fenster Infos zu im Finder zwar komfortabel zu bedienen ist, können Sie nur am Terminal exakte Zugriffsrechte

vergeben und wirklich alle Benutzer und Gruppen Ihres Systems bei der Vergabe von Rechten und der Zuweisung von Eigentumsrechten berücksichtigen. Zur Vergabe von Zugriffsrechten dient der Befehl chmod. Den Eigentümer und die Gruppe ändern Sie mit den Befehlen chown und chgrp. »chmod« – »change mode« chmod [Option] Rechte Datei/Verzeichnis

Dem Befehl chmod übergeben Sie neben der Definition der Zugriffsrechte die Datei oder das Verzeichnis, deren Rechte geändert werden sollen. Die zu vergebenden Zugriffsrechte definieren Sie über einen dreistelligen Zahlencode, indem Sie die in Tabelle 6.1 aufgeführten Zahlen addieren. Möchten Sie Lese- und Schreibrechte für eine Datei vergeben, dann lautet die Zahl 6. Das Leserecht wird mit 4, das Schreibrecht mit 2 berechnet. Volle Rechte, die auch die Ausführbarkeit umfassen, werden mit der Zahl 7 gewährt. Bei einem Verzeichnis sollten Sie sowohl das eigentliche Leserecht 4 als auch die Berechtigung zur Ausführung 1 vergeben, und zwar mit der Zahl 5. Keine Rechte vergeben Sie durch die Angabe von 0. Eigentümer Gruppe alle lesen

4

4

4

schreiben 2

2

2

ausführen 1

1

1

Tabelle 6.1    Zahlencodes für Zugriffsrechte

Bei den drei Stellen steht die erste für die Rechte des Eigentümers, die zweite für die Rechte der Gruppe, und die dritte definiert die

Rechte aller anderen. Mit der Eingabe von chmod 644 Datei.txt würden Sie sich selbst Lese- und Schreibrechte zuweisen, die Gruppe und alle anderen hätten Leserechte. Bei einem Verzeichnis würde die Eingabe von chmod 755 Ordner dazu führen, dass Sie volle Zugriffsrechte erhalten, die Gruppe und alle anderen könnten den Inhalt des Verzeichnisses auslesen und mit cd in das Verzeichnis navigieren. Die Eingabe von chmod 640 Datei.txt würde Ihnen Lese- und Schreibrechte und der Gruppe Leserechte zuweisen. Alle Benutzerkonten, die nicht zur Gruppe gehören, hätten keine Zugriffsrechte. Wenn Sie bei einem Verzeichnis nicht nur die Rechte des Verzeichnisses, sondern auch die Rechte der enthaltenen Objekte verändern möchten, dann rufen Sie den Befehl chmod mit der Option -R auf. Die Eingabe von chmod -R 644 Verzeichnis würde den Schreib- und Lesezugriff für Ihr Benutzerkonto ermöglichen und allen anderen Leserechte zuweisen. Bei der Nutzung der Option -R sollten Sie Vorsicht walten lassen: Würden Sie durch die Angabe von 755 auch die Ausführbarkeit erlauben, dann würden auch alle enthaltenen Dateien als ausführbar gekennzeichnet. Dies könnte zur Folge haben, dass Dateien, bei denen es sich um ein Programm oder Skript handelt, startfähig werden, obwohl Sie dies nicht möchten.

Abbildung 6.5    Die vergebenen Zugriffsrechte können auf die Unterobjekte übertragen werden.

Im Fenster Infos zu entspricht der Menüpunkt Auf alle Unterobjekte anwenden der Option -R. Dieser Menüpunkt ist verfügbar, wenn Sie die Ansicht mit einem Klick auf das Schloss rechts unten (siehe Abbildung 6.5) entsperrt haben. Beachten Sie, dass diese Funktion auch die in Abschnitt 6.1.2 beschriebenen erweiterten Zugriffsrechte auf die enthaltenen Dateiobjekte überträgt. Sie müssen ferner beachten, dass Sie nur die Zugriffsrechte für Objekte ändern können, die Ihnen gehören, bei denen also Ihr Benutzerkonto als Eigentümer aufgeführt wird. Die Eigentumsverhältnisse ändern Sie mit den Befehlen chown und chgrp. Diese müssen Sie als Super-User (siehe Abschnitt 6.3.1) ausführen, ihnen also sudo voranstellen. Der Grund für dieses Verhalten ist in der Sicherheitsarchitektur des Systems zu finden: Es wäre andernfalls leicht möglich, zum Beispiel Skripten oder ausführbare Programme an einer bestimmten Stelle des Betriebssystems zu platzieren, die dann beim nächsten Neustart automatisch ausgeführt werden und dementsprechend Schaden anrichten können. »chown« – »change owner« chown [Option] Benutzer Datei/Verzeichnis

Dem Befehl chown übergeben Sie wahlweise den Kurznamen des Benutzerkontos oder dessen ID (siehe Abschnitt 6.2.2). Mit der Eingabe von sudo chown harald Text.txt wird der Datei Text.txt das Benutzerkonto »harald« als Eigentümer zugewiesen (siehe Abbildung 6.6). Alternativ könnten Sie auch sudo chown

502 Text.txt eingeben, sofern das Benutzerkonto »harald« über die ID 502 verfügt.

Abbildung 6.6    Mit den Befehlen »chown« und »chgrp« ändern Sie den Eigentümer und die Gruppe einer Datei oder eines Verzeichnisses.

Der Befehl chgrp zur Änderung der Gruppenzugehörigkeit entspricht in seiner Funktionsweise dem Befehl chown. Sie geben lediglich anstelle des Kurznamens eines Benutzerkontos die Bezeichnung der Gruppe an. Mit sudo chgrp Designer Text.txt würde die Datei der Gruppe »Designer« zugeordnet, sofern Sie diese auf Ihrem System eingerichtet haben. »chgrp« – »change group« chgrp [Option] Gruppe Datei/Verzeichnis

Möchten Sie mit einer Eingabe sowohl den Eigentümer als auch die Gruppe ändern, dann geben Sie diese beim Aufruf von chown mit einem Doppelpunkt getrennt an. Die Eingabe von sudo chown kai:staff Text.txt würde der Datei Text.txt das Benutzerkonto »kai« und die Gruppe »staff« zuweisen. Wie auch bei dem Befehl chmod können Sie die Option -R bei einem Verzeichnis angeben, um den Eigentümer und die Gruppe für alle enthaltenen Dateien und Unterverzeichnisse anzuwenden. Auch in

Verbindung mit den Befehlen chown und chgrp sollten Sie diese Option mit Bedacht nutzen. 6.1.2    Detaillierte Zugriffsrechte mit den Access Control Lists

Die drei Rechte Benutzer, Gruppe und restliche Benutzerkonten stoßen recht schnell an ihre Grenzen, weil Sie beispielsweise einem Ordner oder einer Datei nicht zwei Gruppen zuweisen können. Es wäre denkbar, dass ein Ordner für den Eigentümer und eine bestimmte Benutzergruppe voll verfügbar sein soll, während zwei weitere Gruppe Leserechte erhalten und alle anderen Benutzerkonten über keine Rechte verfügen sollen. Dies lässt sich mit den klassischen Rechten in dieser Form nicht abbilden. Aus diesem Grund wurden die erweiterten Zugriffsrechte eingeführt, die auch als Access Controls Lists (ACL) bezeichnet werden. Eine ACL kann mehrere Einträge enthalten, die über die Schlüsselwörter deny und allow bestimmte Aktionen erlauben oder verbieten. Während sich die klassischen Rechte auf das Lesen, Schreiben und Ausführen einer Datei oder eines Verzeichnisses beschränken, ermöglichen die ACLs die Kontrolle von bis zu 20 Operationen. Neben den grundlegenden Rechten wie dem Lese- und Schreibzugriff kann beispielsweise auch gesteuert werden, dass eine Datei nicht geändert, wohl aber ergänzt werden darf. Dies ist zum Beispiel bei Protokolldateien sinnvoll. Hier soll unterbunden werden, dass vorhandene Einträge nachträglich manipuliert werden. Daher verhindern wir den normalen Schreibzugriff. Zeitgleich erlauben wir die Operation append, sodass weitere Zeilen zu den vorhandenen Protokollen hinzugefügt werden können.

Abbildung 6.7    Apple unterbindet für die Verzeichnisse im Benutzerordner standardmäßig das Löschen, und zwar mithilfe einer ACL.

Ob eine ACL für eine Datei oder ein Verzeichnis vergeben wurde, erkennen Sie bei der Ausgabe von ls -l zunächst am Pluszeichen am Ende der Zeichenkette, die die Zugriffsrechte symbolisiert. Mit der Option -e in der Form ls -el können Sie sich die ACLs im Detail anzeigen lassen. Die ACLs werden ferner vom Finder automatisch vergeben, wenn Sie eine weitere Gruppe oder einen weiteren Benutzer im Fenster Infos zu der Liste unter Freigaben & Zugriffsrechte hinzufügen. In Abbildung 6.7 werden die ACLs dargestellt, die Apple für den Inhalt eines Benutzerordners standardmäßig vergibt. Die Einträge in einer ACL werden durchnummeriert und aufsteigend ausgewertet. Der Aufbau eines Eintrags in einer ACL entspricht dem folgenden Schema: Nummer Benutzer/Gruppe Erlaubnis Operationen

Mit dem ersten Eintrag 0: group:everyone deny delete – es wird von null aufsteigend nummeriert – wird der Gruppe »everyone«, zu der alle Benutzerkonten gehören, das Löschen (delete) untersagt.

Abbildung 6.8    Im Finder können Sie Zugriffsrechte für weitere Benutzer und Gruppen vergeben.

Fügen Sie im Finder in der Tabelle Teilen & Zugriffsrechte einen Benutzer und eine Gruppe über das Pluszeichen hinzu, dann werden diese Rechte über eine ACL realisiert. Bei der Auswertung, welche Rechte einem Benutzer zur Verfügung stehen, wird zuerst die ACL geprüft und dann auf die klassischen Rechte zurückgegriffen. Wird auf diese Weise ein Eintrag in einer ACL erzeugt, dann nutzt der Finder von den zur Verfügung stehenden Eigenschaften eine voreingestellte Konfiguration, die in den meisten Fällen vollkommen ausreichend und funktionsfähig ist. In Abbildung 6.9 werden die Einträge der ACL dargestellt, die aus der in Abbildung 6.8 gezeigten Konfiguration erzeugt wurden. Der Gruppe »Designer« werden Leserechte (read,readattr,readextattr,readsecurity) zugesprochen. Diese werden über vier Eigenschaften definiert. Während read den Lesezugriff auf den Dateiinhalt erlaubt, erlaubt readattr den Lesezugriff auf die Eigenschaften der Datei. Mit readextattr können die erweiterten Dateiattribute (siehe Abschnitt 1.3) gelesen werden. Und mit readsecurity können die Einträge der ACL eingesehen werden. Dem Benutzer harald werden Lese- und Schreibrechte gewährt. Bei diesem Eintrag kommen noch die

jeweiligen Schreibberechtigungen mit Ausnahme des Schreibzugriffs auf die ACL hinzu.

Abbildung 6.9    Die im Finder vergebenen Rechte werden mithilfe einer ACL realisiert.

Um eine ACL selbst um einen Eintrag zu ergänzen, können Sie den Befehl chmod nutzen. Die Option +a fügt den Eintrag der ACL hinzu, der im Anschluss in Anführungszeichen angegeben wird. Mit der Eingabe von chmod +a "harald deny delete" Datei.txt wird dem Benutzer »harald« zusätzlich untersagt, die Datei Datei.txt zu löschen. Es wird ein weiterer Eintrag erstellt. Das System versucht, die Einträge in einer ACL möglichst sinnvoll zu nummerieren und zu verwalten. Würden Sie mit der Eingabe von chmod +a "harald allow delete" Datei.txt das Löschen der Datei explizit erlauben, dann würde kein neuer Eintrag erstellt, sondern der schon bestehende Eintrag ergänzt, der mit allow die Befugnisse definiert. Einen Eintrag aus einer ACL entfernen Sie wiederum mit dem Befehl chmod und der Option -a#, gefolgt von der Nummer des Eintrags. Die Eingabe von chmod -a# 1 Datei.txt würde bei der in Abbildung 6.9 dargestellten ACL den Eintrag für die Gruppe Designer löschen. Dies würde sich wiederum im Fenster Infos zu im Finder widerspiegeln. Wenn Sie selbst Einträge definieren, die nicht den Vorgaben entsprechen, die der Finder nutzt, dann werden solche Einträge im Fenster Infos zu in der Spalte Zugriffsrechte als Eigene aufgeführt.

Welche Eigenschaften in einer ACL genutzt werden, ist in der ManPage des Befehls chmod im Abschnitt ACL MANIPULATION OPTIONS dokumentiert. Um Lese- und Schreibzugriffe für einen Benutzer oder eine Gruppe zu vergeben, können Sie in der Regel die Standardeinstellungen des Finders für Dateien und Ordner bequem nutzen. Inwiefern Sie diese Rechte verfeinern, hängt von Ihrer Arbeitsumgebung ab. So kann es durchaus sinnvoll sein, einem bestimmten Benutzer mit der Eingabe von chmod +a"harald deny delete_child" Verzeichnis das Löschen von Einträgen in einem Ordner gezielt zu verbieten. Auf diese Weise kann er zwar noch neue Dateien und Ordner in dem Verzeichnis erstellen, aber die bereits vorhandenen Elemente nicht entfernen. 6.1.3    Einen Ordner für die Freigabe im Netzwerk vorbereiten

Die Aussage, dass die Vorgaben des Finders für die Einträge in einer ACL ausreichend sind, gilt jedoch nicht für die Freigabe eines Ordners im Netzwerk. Das Problem besteht darin, dass die Einträge einer ACL, die vom Finder erstellt wurde, nicht vererbt werden. Wenn Sie beispielsweise der Gruppe »Designer« den vollen Zugriff auf einen Ordner gewähren, in dem sich die Dateien eines gemeinsam in Bearbeitung befindlichen Projektes befinden und der im Netzwerk freigegeben wurde, dann haben Mitglieder dieser Gruppe zwar Lese- und Schreibberechtigung in dem Ordner aufgrund der ACL. Wird aber ein Unterordner erstellt, dann wird die ACL des Projektordners nicht vererbt. Dies hat zur Folge, dass der Unterordner den Mitgliedern der Gruppe »Designer« nicht zur Verfügung steht.

Abbildung 6.10    Das Verzeichnis »ProjektOrdner« vererbt die Einträge der ACL in der Standardkonfiguration nicht.

Dabei ist es möglich, dass Einträge einer ACL eines Verzeichnisses neu erstellten Unterobjekten vererbt werden, indem Sie zusätzlich die Eigenschaften file_inherit und directory_inherit setzen. Dies ist mit dem Finder nicht möglich. Wenn Sie einen Order gezielt für eine oder mehrere Gruppen und Benutzer im Netzwerk freigeben wollen, können Sie zunächst im Fenster Infos zu die Leseund Schreibrechte konfigurieren und dann aufbauend auf den Standardvorgaben des Finders die Vererbung hinzufügen. Der in Abbildung 6.10 hervorgehobene ProjektOrdner wurde bereits im Fenster Infos zu des Finders konfiguriert. Der Gruppe Buchhaltung wurden Leserechte und der Gruppe Designer Leseund Schreibrechte erteilt. Damit diese Rechte vererbt werden, müssen den Einträgen 0 und 1 der ACL noch die Eigenschaften file_inherit und directory_inherit hingefügt werden. Zum Ändern eines Eintrags rufen Sie den Befehl chmod mit der Option =a# auf, gefolgt von der Nummer des zu ändernden Eintrags. Geben Sie anschließend in Anführungszeichen die neuen Werte des Eintrags der ACL ein.

Da die Standardeinstellungen des Finders in der Regel ausreichend sind, können Sie sich ein wenig Tipparbeit ersparen, indem Sie die Konfiguration der Eigenschaft(beispielsweise group:Buchhaltung allow list,search,readattr,readextattr,readsecurity) mit

der Maus markieren, in die Zwischenablage kopieren und anschließend mit (š)+(V) wieder einsetzen. Geben Sie am Terminal zunächst chmod =a# 0 " ein, und fügen Sie dann die Konfiguration des Eintrags aus der Zwischenablage ein. Nun erweitern Sie diesen mit der Eingabe von ,directory_inherit,file_inherit um die zwei Optionen für die Vererbung und fügen " ProjektOrdner an. Der gesamte Aufruf lautet dann: chmod =a# 0 "group:Buchhaltung allow list,search,readattr,readextattr,

readsecurity,directory_inherit,file_inherit"  ProjektOrdner

Auch bei dem zweiten Eintrag, der die Lese- und Schreibrechte der Gruppe Designer definiert, können Sie auf diese Weise die beiden Eigenschaften file_inherit und directory_inherit hinzufügen. Werden nun neue Dateien und Ordner innerhalb des Verzeichnisses ProjektOrdner erstellt, dann werden die Einträge der ACL vererbt, bei denen die Eigenschaften inherit enthalten sind. In der Ausgabe des Befehls ls -el werden die vererbten Eigenschaften mit dem Hinweis inherited gekennzeichnet. Beachten Sie, dass sich die Vererbung nur auf neue Objekte bezieht. Sie können bei den Aufrufen von chmod in diesem Fall die Option R in der Form chmod -R =a# 1 "group:Designer allow

..." Projektordner angeben, um den geänderten Eintrag auch

den Unterobjekten zuzuweisen.

6.2    Benutzer und Gruppen verwalten Benutzer und Gruppen verwalten Sie in erster Linie über die Systemeinstellungen in der Ansicht Benutzer & Gruppen. Hier finden Sie links eine Liste der eingerichteten Gruppen und Benutzer. Sofern Sie selbst noch keine Änderung vorgenommen haben, sehen Sie dort wenigstens Ihr persönliches Benutzerkonto sowie den Gastbenutzer. 6.2.1    Drei Typen: »Standard«, »Administratoren« und »Nur Freigabe«

Um ein neues Benutzerkonto oder eine neue Gruppe zu erstellen, klicken Sie unten links auf das Icon mit dem Pluszeichen. Die Ansicht Benutzer & Gruppen (siehe Abbildung 6.11) müssen Sie zuvor mit einem Klick auf das Schloss unten links und der Eingabe Ihres Passwortes entsperren.

Abbildung 6.11    Bei der Erstellung eines neuen Benutzerkontos müssen Sie den Typ auswählen.

Bei der Erstellung eines neuen Kontos wählen Sie im Ausklappmenü Neuer Account seinen Typ aus. Neben den Gruppen sind für macOS drei Typen wesentlich: Standard

Benutzer dieses Typs können am Anmeldebildschirm ihr Passwort eingeben und normal mit dem System arbeiten. Ihnen

steht die grafische Benutzeroberfläche vollständig zur Verfügung, sie haben aber keine administrativen Befugnisse. Das heißt, dass diese Benutzerkonten beispielsweise nicht die Systemsteuerung mit einem Klick auf das Schlosssymbol entsperren können. Auch den Befehl sudo (siehe Abschnitt 6.3.1) können sie nicht nutzen. Für diese Benutzer wird ein persönliches Verzeichnis im Ordner Benutzer angelegt, in dem ihre persönlichen Daten und Voreinstellungen gespeichert werden. Administrator

Einen Administrator Ihres Systems erkennen Sie daran, dass in der Ansicht des Benutzerkontos der Punkt Der Benutzer darf diesen Computer verwaltenaktiviert ist. Diese Benutzer gehören zur Gruppe »admin«, können eigentlich alle Änderungen nach der Eingabe ihres Passwortes vornehmen und so zum Beispiel Programme in bestimmten geschützten Verzeichnissen installieren. Auch können sie sich mit dem Befehl sudo zeitweilig die Befugnisse des Super-Users »root« verschaffen. Diese Benutzer verfügen ebenfalls über einen persönlichen Ordner. Sie können die Option Der Benutzer darf diesen Computer verwalten auch nachträglich aktivieren und so einen Standardbenutzer zum Administrator befördern. Umgekehrt können Sie durch Abwahl der Option einen Administrator degradieren. Nur Freigabe

Für diese Benutzerkonten wird kein persönlicher Ordner angelegt. Ihre Aufgabe besteht darin, lediglich den Zugriff auf freigegebene Ordner zu ermöglichen. Möchten Sie einen Ordner für einen Kollegen im Netzwerk freigeben, der aber an Ihrem Rechner selbst nicht arbeitet, dann können Sie für ihn ein Benutzerkonto dieses Typs einrichten. Die Anmeldung über die Ansicht Netzwerk im Finder ist dann möglich, und er kann auf den

freigegebenen Ordner zugreifen. Da kein persönlicher Ordner angelegt wird, sparen Sie durch die Nutzung eines Benutzerkontos dieses Typs Speicherplatz, und auch im Ordner Benutzer bleibt die Übersicht eher erhalten. Neben diesen drei Typen ist es auch möglich, ein Benutzerkonto durch die Kindersicherung zu verwalten. Bei einem derartig verwalteten Konto können Sie dann in der Ansicht Kindersicherung der Systemeinstellungen festlegen, welche Programme geöffnet werden dürfen. Ferner können Sie eine ganze Reihe von Beschränkungen vergeben, etwa welche Webseiten in Safari zur Verfügung stehen. 6.2.2    Benutzerkonten erstellen und konfigurieren

Um ein neues Benutzerkonto zu erstellen, klicken Sie auf das Pluszeichen unten links und wählen zunächst unter Neuer Account den Typ aus (siehe Abbildung 6.12). Der vollständige Name des Benutzers wird in erster Linie zur Anzeige genutzt. Aber auch einige Programme greifen auf ihn zurück. So legt beispielsweise das Programm Kontakte automatisch einen entsprechenden Eintrag an. Der Accountname ist für das Betriebssystem relevant. Zunächst geben Sie damit den Namen des persönlichen Ordners im Verzeichnis Benutzer vor. Der Accountname wird aber auch von Befehlen wie chown und chgrp für die Zuweisung von Zugriffsrechten verwendet. Sie sollten einen möglichst prägnanten Namen auswählen. Mit einem Klick auf die Schaltfläche Benutzer erstellen wird das neue Konto konfiguriert, und, sofern es nicht vom Typ Nur Freigabe ist, auch der persönliche Ordner mit den Standardverzeichnissen wie

Musik oder Bilder erstellt. Das Konto ist anschließend sofort einsatzbereit. Technische Details eines Benutzerkontos können Sie einsehen, indem Sie auf das Konto in der linken Liste einen Rechtsklick ausführen und mit Erweiterte Optionen den einzigen Eintrag des Kontextmenüs aufrufen. Die Werte in den erweiterten Optionen (siehe Abbildung 6.13) sollten Sie nur ändern, wenn Sie dafür einen triftigen Grund haben. Im normalen administrativen Alltag müssen diese Werte eigentlich kaum manipuliert werden. Sie finden hier zunächst die Benutzer-ID. Jedes Benutzerkonto verfügt über eine eindeutige Kennziffer. Benutzerkonten, die für menschliche Anwender gedacht sind, werden ab 501 aufwärts nummeriert. Benutzerkonten, die für Systemdienste genutzt werden, haben niedrigere Nummern und werden in den Systemeinstellungen nicht angezeigt. Die Gruppe ist die primäre Gruppe, der der Benutzer zugeordnet wurde. In der Regel handelt es sich hierbei um »staff«. Dies ist die Gruppe des Systems, in der die Benutzerkonten für menschliche Anwender des Systems zusammengefasst werden.

Abbildung 6.12    Neben dem Passwort kann auch eine Merkhilfe als Gedächtnisstütze vergeben werden.

Sind Sie mit der Befehlseingabe am Terminal sehr vertraut und bevorzugen Sie eine andere Shell, dann können Sie unter AnmeldeShell anstelle der bash auch eine andere, beispielsweise die tcsh oder zsh, auswählen. Der Benutzerordner verweist auf Ihr persönliches Verzeichnis unter Benutzer. Wenn der Speicherplatz auf einem internen Datenträger knapp werden sollte, dann ist es möglich, den Benutzerordner auf einen externen Datenträger zu verlagern. Dafür kopieren Sie zunächst im Finder den Ordner, indem Sie ihn auf dem externen Datenträger in das gewünschte Verzeichnis ziehen. Achten Sie hierbei darauf, dass Sie den Ordner mit dem Haus-Icon nutzen und nicht einfach im Finder alle Ordner innerhalb Ihres Benutzerordners kopieren. Im letzteren Fall würden die unsichtbaren Dateien und Verzeichnisse, deren Namen mit einem Punkt beginnen (siehe Abschnitt 21.3.1), nicht kopiert. Ferner sollten Sie vor dem Kopiervorgang alle Programme beenden und alle offenen Dateien sichern und schließen. Anschließend können Sie in den Systemeinstellungen über die Schaltfläche Auswählen die externe Kopie Ihres Benutzerordners auswählen. Wenn Sie sich abund wieder angemeldet haben, wird die externe Kopie als Benutzerordner genutzt. Den ursprünglichen Benutzerordner auf dem internen Datenträger sollten Sie sicherheitshalber so lange vorhalten, bis Sie sicher sind, dass die Verlagerung einwandfrei funktioniert hat.

Abbildung 6.13    Die erweiterten Optionen eines Benutzerkontos können Sie in den Systemeinstellungen einsehen.

Die UUID ist eine eindeutige Kennung für Ihr Benutzerkonto. Sie wird vom System an verschiedenen Stellen genutzt, ist aber meistens für den Anwender und Administrator nicht sichtbar. Experimente an dieser Stelle sollten Sie unterlassen. Die Apple-ID entspricht derjenigen, die Sie dem Konto zugeordnet haben. Sollte dieses Feld leer sein, dann besteht auch an dieser Stelle in der Regel kein Handlungsbedarf. Die Aliasse haben bei Benutzerkonten eine ähnliche Funktion wie im Dateisystem (siehe Abschnitt 1.5). Hier können Sie über das Pluszeichen neue Namen eingeben, die Sie anstelle von Accountname nutzen können. Verfügt Ihr Benutzerkonto über einen sehr langen und sperrigen Accountnamen, der Sie beispielsweise bei der Anmeldung über SSH (siehe Abschnitt 12.2) stört, dann können Sie hier über das Pluszeichen eine Kurzform eingeben. Anschließend wäre eine Anmeldung in der Form ssh Kurzform@Rechner möglich.

6.2.3    Benutzerkonten löschen und archivieren

Ein Benutzerkonto löschen Sie, indem Sie es in der linken Spalte auswählen und anschließend das Minuszeichen unterhalb der Liste anklicken. Dann erscheint ein Dialog, in dem Sie gefragt werden, wie mit dem Benutzerordner und seinem Inhalt verfahren werden soll (siehe Abbildung 6.14).

Abbildung 6.14    Löschen Sie ein Konto, können Sie den Benutzerordner in einem DiskImage archivieren.

Zunächst können Sie einfach den Benutzerordner löschen. Um den Ordner und seinen Inhalt zu archivieren, wählen Sie Benutzerordner als Image sichern. In diesem Fall wird der Benutzerordner in ein DiskImage (siehe Abschnitt 3.2.5) verschoben, das Sie anschließend im Ordner Gelöschte Benutzer unter Benutzer finden. Schließlich können Sie den Benutzerordner an Ort und Stelle belassen und nicht antasten; er wird lediglich mit dem Zusatz (Gelöscht) versehen (siehe Abbildung 6.15). Dies führt dazu, dass auch seine Zugriffsrechte nicht geändert werden. Am Terminal finden Sie dann bei der Eingabe von ls -l /Users nicht mehr die Angabe des Accountnamens, sondern die ID des vorhergehenden Benutzerkontos. Die restriktiven Zugriffsrechte bleiben erhalten,

und Sie müssen, sofern Sie Zugriff auf die enthaltenen Dateien erhalten wollen, den Befehl chmod in Verbindung mit der Option -R nutzen, um die Zugriffsrechte zu korrigieren. Die Nutzung der ID hat auch zur Folge, dass ein neues Benutzerkonto möglicherweise die ID des bereits gelöschten Kontos erhält und damit auch Zugriff auf den Ordner des bereits gelöschten Benutzers. In der Regel ist die Archivierung in einem Disk-Image die bessere Wahl.

Abbildung 6.15    Wurde ein Konto gelöscht, dann wird anstelle des Accountnamens die ID des Kontos genutzt.

6.2.4    Benutzer in Gruppen unterteilen

Die Arbeit mit Benutzergruppen bietet sich insbesondere dann an, wenn Sie einen oder mehrere Ordner im Netzwerk für einige Benutzer freigeben möchten, für andere jedoch nicht. Zwar können Sie die Zugriffsrechte immer für die einzelnen Benutzer vergeben, aber auf Dauer kann insbesondere bei raschen Änderungen in der Benutzerstruktur die Verwaltung dann zu viel Zeit beanspruchen. macOS bietet Ihnen die Möglichkeit, Gruppen zu erstellen und Benutzerkonten diesen Gruppen zuzuweisen. Klicken Sie in den Systemeinstellungen in der Ansicht Benutzer & Gruppen auf das Pluszeichen links unten, dann steht Ihnen neben den in Abschnitt 6.2.1 beschriebenen Typen der Benutzerkonten auch die Option Gruppe zur Auswahl. Hier vergeben Sie lediglich einen prägnanten, möglichst aus einem Wort bestehenden Namen wie beispielsweise »Designer«. Mit einem Klick auf die Schaltfläche

Gruppe erstellen wird diese in der Benutzerdatenbank des Systems angelegt, und Sie können anschließend die Benutzerkonten auswählen, die zu der Gruppe gehören. Mit macOS 10.13.0 wurde auch für jedes Benutzerkonto eine Gruppe für den öffentlichen Ordner angelegt. Diese nach dem Schema benannten Gruppen werden in der nachfolgend beschriebenen Datenbank DSLocal mit einer aufsteigenden Nummerierung eingetragen. Der genaue Einsatzzweck dieser Gruppen war zum Zeitpunkt der Drucklegung nicht ganz ersichtlich, da sie offensichtlich weder bei den Zugriffsrechten für die öffentlichen Ordner noch bei der Sichtbarkeit der Ordner im Netzwerk Anwendung finden. Dennoch sollten Sie die Gruppen nicht löschen, da Änderungen in den Mitgliedschaften der Gruppen von den Systemeinstellungen in die Datenbank geschrieben werden. Es ist auch möglich, Gruppen zu verschachteln, indem eine Gruppe Mitglied in einer anderen Gruppe wird. Dies führt dazu, dass die Benutzerkonten der zugeordneten Gruppe dieselben Zugriffsrechte in Anspruch nehmen können, als wären sie direkt der Gruppe zugeordnet. Praktisch kann diese Verschachtelung von Gruppen sein, wenn Sie beispielsweise eine Hauptgruppe wie »Designer« erstellen und dann weitere Untergruppen, die etwa spezielle Projektteams abbilden (siehe Abbildung 6.16). Auf diese Weise können Sie dann einen Hauptordner im Netzwerk freigeben, der für alle Designer gedacht ist und Dateien, Vorlagen, Schriftarten sowie weitere organisatorische Dateien enthält. Da die Projektteams jeweils eigene Gruppen bilden, die zur Gruppe »Designer« gehören, haben alle Mitarbeiter Zugriff auf diese Dateien. Für die Projektteams werden eigene Ordner freigegeben, die nur der Benutzergruppe des jeweiligen Teams zur Verfügung stehen. Sie müssen dann lediglich die Benutzerkonten der einzelnen Mitarbeiter den Projektgruppen zuweisen. Der Gruppe »Designer«

gehören diese dann automatisch an. Mit diesem Verfahren werden die einzelnen Projekte voneinander getrennt, während die Dateien, die für den gesamten betrieblichen Ablauf notwendig sind, allen Mitarbeitern zur Verfügung stehen.

Abbildung 6.16    Gruppen können Sie in den Systemeinstellungen die Mitgliedschaft in einer anderen Gruppe zuweisen.

Bei der Arbeit mit Gruppen sollten Sie darauf achten, dass der Überblick nicht verloren geht. Die in der Standardversion von macOS enthaltenen Möglichkeiten zur Konfiguration von Benutzerund Gruppenkonten in den Systemeinstellungen sind letztlich doch recht begrenzt. Um in Erfahrung zu bringen, welchen Gruppen ein Benutzerkonto zugeteilt wurde, geben Sie am Terminal einfach den Befehl groups ein (siehe Abbildung 6.17). Anschließend erhalten Sie eine Liste der Gruppen, denen Ihr Benutzerkonto zugeordnet ist. Sie können auch den Accountnamen als Parameter übergeben (groups hans), um die Gruppen eines anderen Benutzerkontos zu erfahren.

Abbildung 6.17    Der Befehl »groups« gibt alle Gruppen des Benutzerkontos aus.

Bei der Ausgabe von groups sollten Sie sich nicht irritieren lassen: Das System legt im Hintergrund eine Reihe weiterer, in den Systemeinstellungen nicht sichtbarer Gruppen an, die unter anderem die Verfügbarkeit einiger Systemdienste wie die entfernte Anmeldung mittels SSH (siehe Abschnitt 12.2) durch die Mitgliedschaft in der Gruppe com.apple.access_ssh regulieren. Der Befehl groups zeigt Ihnen die effektiven Gruppen an. Das heißt, wenn das Benutzerkonto Mitglied der Gruppe »Designer« ist, die wiederum Mitglied der Gruppe »Buchhaltung« ist, dann werden in der Ausgabe von groups beide Gruppen aufgeführt. 6.2.5    Passwörter im Griff mit dem Assistenten und »pwpolicy«

Die Qualität von Passwörtern ist entscheidend für die Sicherheit eines Benutzerkontos. Passwörter wie »123456«, »geheim« oder »wurstbrot« sind für einen Angreifer sehr leicht zu erraten oder durch einen automatisierten Angriff schnell herauszufinden. In Firmen ist eine Politik für Passwörter gang und gäbe, und selbst die Abgeordneten des Bundestages wurden nach einem massiven Hacker-Einbruch dazu verpflichtet, ein mindestens acht Zeichen umfassendes Passwort zu nutzen. Unter macOS können Sie mit dem Befehl pwpolicy Bedingungen für Passwörter vergeben. Ein Benutzer kann sein Passwort nur dann ändern, wenn es den Bedingungen entspricht. Der Befehl pwpolicy, der in erster Linie für die Server-Version von macOS gedacht ist, lässt sich mit der normalen Version von macOS 10.13 auf zwei Weisen nutzen. Zunächst gibt es die Optionen getglobalpolicy, -setglobalpolicy und clearaccountpolicies, mit denen sich die Kriterien für

Passwörter definieren, einsehen und löschen lassen. Diese Optionen wurden von Apple in der Man-Page als DEPRECATED markiert. Diese Ankündigung bedeutet, dass die drei genannten Optionen zwar noch voll funktionsfähig sind, aber in naher bis mittlerer Zukunft durch ein anderes Verfahren abgelöst werden sollen. Dieses andere Verfahren besteht in der Erstellung einer Property-Liste (siehe Abschnitt 7.2.1), die von dem Befehl pwpolicy eingelesen wird und die Kriterien für die Passwörter enthält. Allerdings ist das Format dieser Dateien von Apple nicht wirklich gut dokumentiert worden, und die Man-Page des Befehls pwpolicy führt in einem Beispiel sogar noch das NetInfo-System an. Bei dem NetInfo-System handelt es sich um die ursprüngliche Benutzerdatenbank, die noch von dem macOS-Vorgängersystem NeXTSTEP stammte und mit Version 10.5 aus dem System entfernt wurde. Insofern können Sie auch unter macOS 10.13 den Befehl pwpolicy in der hier beschriebenen Form nutzen, um Kriterien für Passwörter zu vergeben. Die weiteren Optionen sind in erster Linie für die Server-Variante von macOS gedacht, und Sie sollten Experimente nur wagen, wenn Sie zuvor ein vollständiges Backup Ihres Systems erstellt haben. Im schlimmsten Fall ist die Benutzerdatenbank DSLocal unbrauchbar und Sie können sich überhaupt nicht mehr an Ihrem System anmelden.

Abbildung 6.18    Mit dem Befehl »pwpolicy« vergeben Sie Kriterien für Passwörter.

Um Kriterien für Passwörter zu definieren, rufen Sie den Befehl pwpolicy mit der Option -setglobalpolicy auf und führen ihn

mithilfe von sudo (siehe Abschnitt 6.3.1) als Administrator aus. Die Kriterien für neue Passwörter übergeben Sie anschließend unter Verwendung von Schlüsselwörtern in Anführungszeichen (siehe Abbildung 6.18). Folgende Schlüsselwörter können Sie für Kriterien nutzen: minChars

Mit diesem Wert geben Sie die minimale Länge des Passwortes vor. Die Angabe von minChars=12 würde für ein neues Passwort mindestens zwölf Zeichen verlangen. requiresAlpha

Weisen Sie dieser Eigenschaft den Wert 1 zu, dann muss das Passwort Buchstaben enthalten. Ein Passwort wie »96239523« wäre mit dem Kriterium requiresAlpha=1 verboten. requiresNumeric

Setzen Sie diese Eigenschaft auf den Wert 1, dann muss das Passwort mindestens eine Zahl enthalten. Die Angabe von requiresNumeric=1 führt dazu, dass ein Passwort wie »Wurst« nicht akzeptiert wird. useHistory

Mit dem Wert 1 ist es nicht möglich, ein schon genutztes Passwort erneut zu vergeben. Weisen Sie den Wert 2 bis 15 zu, dann merkt sich das System die letzten zwei bis fünfzehn Passwörter und akzeptiert sie nicht als neues Passwort. Mit der Eingabe von sudo pwpolicy -setglobalpolicies "minChars=12 requiresAlpha=1 requiresNumeric=1 useHistory=1" verlangen Sie, dass das Passwort mindestens

zwölf Zeichen umfasst, Buchstaben und Zahlen enthält und in der Vergangenheit noch nicht genutzt wurde. Versucht ein Benutzer oder Administrator ab jetzt, ein Passwort zu vergeben, das diesen

Kriterien nicht entspricht, dann erhält er in den Systemeinstellungen einen entsprechenden Hinweis (siehe Abbildung 6.19).

Abbildung 6.19    Entspricht das neue Passwort nicht den Vorgaben, dann wird der Benutzer darauf hingewiesen.

Die aktuell gültigen Richtlinien für Passwörter können Sie sich durch die Eingabe von sudo pwpolicy -getglobalpolicy anzeigen lassen. Um die derzeit geltenden Richtlinien zu löschen, geben Sie sudo pwpolicy -clearaccountpolicies ein. Anschließend gelten keine Richtlinien mehr, und Sie können mit setglobalpolicies erneut Richtlinien vergeben. Passwörter sind für die Sicherheit von Systemen von entscheidender Bedeutung. Auch die sorgfältigst programmierte Software bietet keinen Schutz, wenn Passwörter in einer fahrlässig zu nennenden Weise vergeben werden. Bei der Erstellung eines sicheren Passwortes steht Ihnen der Passwortassistent von macOS zur Seite. Ihn können Sie immer dann aufrufen, wenn sich neben einem Eingabefeld für ein Passwort ein Icon mit einem Schlüssel befindet. Klicken Sie dieses Icon an, dann erscheint der Assistent in einem schwebenden Fenster (siehe Abbildung 6.20).

Unter Art legen Sie ein Verfahren für die Generierung des Passwortes fest. Wählen Sie hier Manuell, dann können Sie ein Passwort eingeben und erhalten anschließend eine Bewertung der Sicherheit des Passwortes. Das in Abbildung 6.20 eingegebene Passwort wurde vom Assistenten aus drei Gründen mit einer niedrigen Qualität bewertet. Wählen Sie unter Art die Option Einprägsam, dann schlägt Ihnen der Assistent ein möglicherweise leicht zu merkendes Passwort vor, das den Sicherheitsanforderungen entspricht. Klappen Sie die Liste unter Vorschlag aus, dann finden Sie dort eine Reihe weiterer Vorschläge, die der Vorgabe entsprechen. Erwähnenswert ist noch die unter Art zur Auswahl stehende Option FIPS-181-kompatibel: Mit dieser Option wird ein Passwort generiert, das den Anforderungen USamerikanischer Behörden entspricht.

Abbildung 6.20    Der »Passwortassistent« gibt Hinweise für ein sicheres Passwort.

In der Regel werden Sie mit der Option Einprägsam und ein wenig Experimentieren auf ein leicht zu merkendes, aber dennoch sicheres Passwort stoßen, das überdies bequem einzugeben ist. Ein sicheres Passwort sollte Buchstaben, Zahlen und Satzzeichen enthalten.

6.2.6    Anmeldeobjekte, Anmeldeoptionen und der schnelle Benutzerwechsel

Die Konfiguration der Benutzerkonten erschöpft sich nicht in der Vergabe eines sicheren Passworts. In der Ansicht Anmeldeobjekte können Sie vorgeben, welche Programme direkt nach der Anmeldung ausgeführt werden sollen. Ferner können Sie das Anmeldefenster konfigurieren und den schnellen Benutzerwechsel von macOS nutzen, um ohne Abmeldung zu einem anderen Benutzerkonto zu wechseln. Wenn Sie in den Systemeinstellungen in der Ansicht Benutzer & Gruppen Ihr aktives Benutzerkonto ausgewählt haben, dann finden Sie dort auch die Ansicht Anmeldeobjekte. Hier werden die Programme aufgelistet, die direkt nach der Anmeldung ausgeführt werden sollen. Wenn Sie sich sicher sind, dass Sie immer nach der Anmeldung Safari aufrufen möchten, dann können Sie den Browser über das Pluszeichen unten den Anmeldeobjekten hinzufügen.

Abbildung 6.21    Die »Anmeldeobjekte« werden sofort nach der Anmeldung des Benutzers automatisch ausgeführt.

In der Regel werden die Anmeldeobjekte aber nicht für Applikationen wie Safari genutzt, sondern für kleine

Hilfsprogramme, die nicht im Dock erscheinen und weitgehend unsichtbar im Hintergrund ihren Dienst verrichten. In Abbildung 6.21 finden Sie ein solches Hintergrundprogramm: der iTunes Helper wird von iTunes genutzt, erscheint aber weder im Dock noch in der Menüleiste. Über das Minuszeichen können Sie ein Programm aus der Liste der Anmeldeobjekte wieder entfernen. Die Option Ausblenden sorgt dafür, dass das Programm beim automatischen Start nach der Anmeldung in den Hintergrund tritt. Dies entspricht dem Tastenkürzel (š)+(H) zum Ausblenden eines Programms. Sie können die Anmeldeobjekte nicht nur zum automatischen Start von Programmen nutzen. Beispielsweise ist es auch möglich, einen über das Netzwerk eingebundenen Ordner zu den Anmeldeobjekten hinzuzufügen. Haben Sie ferner seine Zugangsdaten im Schlüsselbund gespeichert, dann wird der Ordner nach der Anmeldung automatisch mithilfe der gespeicherten Zugangsdaten aktiviert. Praktisch sind die Anmeldeobjekte auch, wenn Sie ein in JavaScript geschriebenes Skript automatisch nach der Anmeldung ausführen möchten. Wählen Sie in den Systemeinstellungen anstelle eines Benutzerkontos unten links den Eintrag Anmeldeoptionen aus (siehe Abbildung 6.22), dann können Sie das Verhalten des Anmeldebildschirms konfigurieren.

Abbildung 6.22    Die automatische Anmeldung eines Benutzers sollten Sie in jedem Fall deaktivieren.

Zunächst sollten Sie unter Automatische Anmeldung die Option Deaktiviert auswählen. In der Praxis sorgt die automatische Anmeldung eines Benutzerkontos eher für Probleme, weil jeder, der Zugriff auf Ihren Rechner erlangt, sofort auch Zugang zu Ihrem Benutzerkonto erhält. Ferner kann sich die automatische Anmeldung bei der Fehlersuche als hinderlich erweisen, wenn Sie beispielsweise ein defektes Programm den Anmeldeobjekten hinzugefügt haben, das Ihren Rechner anschließend blockiert. Ob Sie sich im Anmeldefenster die Liste der Benutzer oder Name und Passwortanzeigen lassen, ist in erster Linie Geschmackssache. Die Anzeige der Schaltflächen für den Ruhezustand, Neustart und das Ausschalten des Rechners sollten Sie abwählen, falls der Rechner als Server Dienste wie freigegebene Ordner im Netzwerk bereitstellt. Auf diese Weise vermeiden Sie, dass der Rechner versehentlich heruntergefahren wird. In der Ansicht Anmeldeoptionen können Sie auch den schnellen Benutzerwechsel konfigurieren. Aktivieren Sie die Option Menü für schnellen Benutzerwechsel, dann erscheint oben rechts in der

Menüleiste ein Eintrag, der zunächst Ihr aktives Benutzerkonto aufführt (siehe Abbildung 6.23). Ob Sie hier die Option Vollständiger Name, Accountname oder Symbol auswählen, hat keine technische Bedeutung. Sie können in diesem Menü zum Anmeldebildschirm zurückkehren und sich über ein anderes Benutzerkonto anmelden. Alternativ können Sie in der Liste auch gleich ein anderes Benutzerkonto auswählen.

Abbildung 6.23    Über die Menüleiste können Sie direkt das Benutzerkonto wechseln.

Nützlich ist dieser schnelle Benutzerwechsel dann, wenn Sie bereits eine ganze Reihe von Programmen und Dateien geöffnet haben und nach einer gewissen Zeit feststellen, dass Sie zu einem anderen Benutzerkonto wechseln müssten, um beispielsweise E-Mails mit dem dort konfigurierten Benutzerkonto abzurufen. Er ist auch dann von Vorteil, wenn eine andere Person, die Ihren Rechner nutzt und über ein Benutzerkonto verfügt, schnell eine E-Mail schreiben oder eine Datei ausdrucken möchte.

Abbildung 6.24    Ein bereits angemeldeter Benutzer wird im Anmeldebildschirm mit einem orangefarbenen Häkchen gekennzeichnet.

Verwenden Sie in diesem Fall den schnellen Benutzerwechsel, dann bleiben alle gestarteten Programme aktiv, und Sie können mit dem anderen Benutzerkonto arbeiten. Über die Menüleiste können Sie zwischen den Benutzerkonten dann beliebig wechseln, wobei Sie das jeweilige Passwort eingeben müssen. Bei der Nutzung des schnellen Benutzerwechsels müssen Sie bedenken, dass die aktiven Benutzerkonten jeweils Ressourcen des Systems beanspruchen, Ihr Rechner sich also deutlich langsamer verhalten wird, wenn gleichzeitig mehrere Benutzer angemeldet sind. Möchten Sie Ihren Rechner neu starten und sind zeitgleich mehrere Benutzer angemeldet, dann weist das Betriebssystem Sie darauf hin (siehe Abbildung 6.25). In diesem Fall haben Sie die Möglichkeit, zu dem anderen Benutzerkonto zu wechseln, dieses abzumelden und dann den Neustart durchzuführen. Alternativ können Sie den Neustart auch erzwingen, was allerdings die Eingabe Ihres Passwortes erfordert. In diesem Fall müssen Sie mit Datenverlusten unter dem Benutzerkonto rechnen, das nicht korrekt abgemeldet wurde, weil eventuell noch offene Dateien nicht gespeichert werden konnten.

Abbildung 6.25    Sind mehrere Benutzer angemeldet, dann erfolgt vor einem Neustart ein entsprechender Hinweis.

6.2.7    Texte und Nachrichten im Anmeldefenster

Im Anmeldefenster können Sie zwei Informationen anzeigen lassen. Zunächst ist es möglich, in der Ansicht Sicherheit der Systemeinstellungen eine Mitteilung für einen gesperrten Bildschirm einzugeben (siehe Abbildung 6.26). Ferner können Sie ein sogenanntes PolicyBanner erstellen. In den Systemeinstellungen finden Sie in der Ansicht Sicherheit im Reiter Allgemein die Option Mitteilung bei gesperrtem Bildschirm einblenden. Wenn Sie diese Option aktivieren, können Sie eine Mitteilung für gesperrten Bildschirm festlegen. Dieser Text wird im Anmeldefenster unterhalb der Benutzerkonten angezeigt (siehe Abbildung 6.27). Er eignet sich gut, um beispielsweise Ihre Kontaktdaten auf dem Anmeldebildschirm zu platzieren oder weitere Hinweise zur Benutzung des Rechners anzuzeigen.

Abbildung 6.26    Die Mitteilung für einen gesperrten Bildschirm definieren Sie in den Systemeinstellungen in der Ansicht »Sicherheit«.

Abbildung 6.27    Die Mitteilung erscheint unterhalb der Liste der Benutzerkonten.

Neben der Mitteilung können Sie auch ein PolicyBanner erstellen. Dieser Text schaltet sich vor das eigentliche Anmeldefenster, das erst dann erscheint, wenn der Anwender die Schaltfläche Akzeptieren angeklickt hat (siehe Abbildung 6.28). Nützlich ist diese Funktion, wenn Sie etwa allgemeine Bedingungen oder Hinweise für die Benutzung des Rechners geben möchten, beispielsweise Informationen zum Datenschutz bei einem öffentlich genutzten Rechner. Ein solches Banner erstellen Sie beispielsweise in TextEdit, und Sie können dem Banner auch Bilder hinzufügen. Die Datei speichern Sie anschließend unter der Bezeichnung PolicyBanner und wählen die Dateiendung passend zum Format. Haben Sie nur Text

eingegeben, dann lautet die Dateiendung .txt. Bei formatiertem Text lautet die Endung .rtf. Wurden Bilder eingebettet, dann müssen Sie das Containerformat .rtfd wählen.

Abbildung 6.28    Das »PolicyBanner« muss vor der Anmeldung akzeptiert werden.

Die Datei, beispielsweise PolicyBanner.rtfd, kopieren Sie anschließend in das Unterverzeichnis Security im Ordner Library (siehe Abbildung 6.29). Das es sich bei dem Verzeichnis /Library/Security um einen Bestandteil des Systems handelt, müssen Sie sich mit Ihrem Passwort authentifizieren. Um das Banner wieder zu entfernen, löschen oder bewegen Sie die Datei PolicyBanner.rtfd einfach aus dem Verzeichnis /Library/Security.

Abbildung 6.29    Die Datei »PolicyBanner.rtfd« wird im Verzeichnis »/Library/Security« abgelegt.

6.3    Administratoren und der Super-User »root« Bei einem Administrator handelt es sich um ein Benutzerkonto, das zur Gruppe admin gehört und bei dessen Konfiguration in den Systemeinstellungen in der Ansicht Benutzer & Gruppen die Option Der Benutzer darf diesen Computer verwalten aktiviert wurde. Der Unterschied zu einem normalen Benutzerkonto besteht darin, dass ein Administrator sich durch Eingabe seines Passworts zeitweise erweiterte Rechte verschaffen und auf diese Weise zum Beispiel Software installieren darf. Auch können viele Ansichten in den Systemeinstellungen erst genutzt werden, wenn sie durch einen Klick auf das Schloss unten links und eine darauffolgende Eingabe des Passwortes entsperrt wurden. Ebenso verhält es sich bei der Änderung vieler Verzeichnisse, die zum Betriebssystem gehören: Hier können normale Benutzer keine Änderungen vornehmen, während sich ein Administrator im Finder nach der Eingabe seines Passwortes erweiterte Rechte verschaffen kann.

Abbildung 6.30    Erst nach Eingabe des Passwortes kann das Verzeichnis »/Library/Security« geändert werden.

6.3.1    Benutzerwechsel am Terminal mit »su« und »sudo«

Während Sie bei der Arbeit unter der grafischen Oberfläche durch einen Dialog (siehe Abbildung 6.30) auf die Notwendigkeit einer Authentifizierung mit einem Passwort hingewiesen werden, müssen Sie am Terminal den Befehl sudo voranstellen, damit ein Befehl unter der Benutzerkennung »root« (siehe Abschnitt 6.3.2) mit erweiterten Befugnissen ausgeführt wird. Wenn Sie sich beispielsweise den Inhalt des Verzeichnisses /.Spotlight-V100/ anzeigen lassen möchten, dann wird dies durch die einfache Eingabe von ls /.Spotlight-V100/ nicht möglich sein. Sie erhalten dann die Rückmeldung ls: : Permission denied, weil Ihnen die Leserechte für dieses Verzeichnis fehlen. Stellen Sie dem Befehlsaufruf von ls den Befehl sudo in der Form sudo ls /.Spotlight-V100/ voran, dann werden Sie aufgefordert, Ihr Passwort einzugeben. Nachdem Sie dessen Eingabe mit (¢) abgeschlossen haben, wird der Befehl unter der Benutzerkennung »root« ausgeführt. Da dieses Benutzerkonto über Leserechte für das angegebene Verzeichnis verfügt, wird anschließend sein Inhalt ausgegeben. »sudo« – »switch user do« sudo Befehlsaufruf

Die Arbeit mit sudo ist auf der einen Seite sehr machtvoll, weil Sie für die Ausführung eines Befehls nahezu alle Zugriffsrechte und Sicherheitsmechanismen weitgehend außer Kraft setzen, um Ihr System zu konfigurieren. Auf der anderen Seite ist sie sehr risikoreich, weil Tippfehler oder ein falscher Befehlsaufruf verheerende Konsequenzen und Datenverluste zur Folge haben können. Aus diesem Grund weist das System Sie auch beim ersten Aufruf von sudo auf diese Verantwortung hin.

Haben Sie sudo einmal aufgerufen, dann werden Sie die nächsten fünf Minuten nicht mehr nach Ihrem Passwort gefragt, wenn Sie erneut einen Befehl mit sudo aufrufen. Dieses Verhalten – es wird grace period genannt – hat ein wenig Komfort zur Folge, weil Sie Ihr Passwort nicht immer wieder eingeben müssen. Auf der anderen Seite kann es auch ein Risiko darstellen, wenn Sie leichtfertig mit sudo arbeiten und sich darauf verlassen, dass Sie vor der Ausführung eines Befehls erst nach Ihrem Passwort gefragt werden. »su« – »switch user« su Accountname

Um den Benutzer am Terminal zu wechseln, also das Pendant zum schnellen Benutzerwechsel in der grafischen Oberfläche zu nutzen, geben Sie den Befehl su ein, gefolgt vom Accountnamen des anderen Benutzerkontos. Sie werden anschließend aufgefordert, das Passwort dieses Benutzerkontos einzugeben. Die Eingabeaufforderung ändert sich daraufhin, und alle eingegebenen Befehle werden unter dem anderen Benutzerkonto ausgeführt. Nützlich ist dieser Wechsel beispielsweise, wenn Sie am Terminal eine Textdatei mit less (siehe Abschnitt 21.4.1) anzeigen lassen möchten und diese in einem anderen Benutzerordner gespeichert wurde. Mit der Eingabe von exit wechseln Sie wieder zu Ihrem eigentlichen Benutzerkonto. »whoami« – Wer bin ich? whoami

Sind Sie sich nicht mehr sicher, unter welchem Benutzerkonto Sie gerade arbeiten, dann geben Sie einfach whoami ein (siehe Abbildung 6.31). Dieser Befehl hat keine andere Aufgabe, als Ihnen den Accountnamen des gerade aktiven Benutzerkontos auszugeben.

Abbildung 6.31    Mit dem Befehl »su« wechseln Sie zu einem anderen Benutzerkonto.

6.3.2    Der Super-User »root«

Unter Linux- und Unix-Systemen hat der Benutzer »root«, der auch als Super-User bezeichnet wird, eine besondere Aufgabe. Für dieses Benutzerkonto gelten fast keine Einschränkungen; dieser User kann Zugriffsrechte umgehen und fast jede Datei bearbeiten. Mit macOS verfolgt Apple seit jeher die Strategie, dass der Benutzer »root« nicht aktiv ist. Das bedeutet, dass Sie sich an der grafischen Oberfläche nicht mit diesem Benutzerkonto anmelden können. Stattdessen werden mit dem Befehl sudo nur diejenigen Befehle am Terminal mit diesen erweiterten Rechten ausgeführt, bei denen es wirklich notwendig ist. In der Praxis ist es darüber hinaus nur in den seltensten Fällen notwendig, ein Programm mit einer grafischen Oberfläche auszuführen, das über die Rechte des Benutzerkontos »root« verfügt. Wenn Sie einen zwingenden Grund haben, sich mit dem Benutzer »root« in der grafischen Oberfläche anzumelden, dann können Sie mit dem Befehl dsenableroot ein Passwort für das Benutzerkonto

»root« vergeben. Den Befehl dsenableroot müssen Sie unter einem administrativen Benutzerkonto ausführen (siehe Abbildung 6.32). Sie werden anschließend aufgefordert, zuerst das Passwort für Ihr Benutzerkonto einzugeben. Daraufhin geben Sie zweimal das neue Passwort für den Super-User ein. Am Anmeldebildschirm finden Sie dann den Eintag Andere. Wählen Sie diesen aus, und geben Sie als Benutzer »root« und das zuvor vergebene Passwort ein. Der Benutzer »root« wird Ihnen dann als System Administrator angezeigt.

Abbildung 6.32    Mit dem Befehl »dsenableroot« vergeben Sie ein Passwort für das Benutzerkonto »root«.

Deaktivieren können Sie den Benutzer »root« wiederum mit dem Befehl dsenableroot und der Option -d. Sie werden daraufhin aufgefordert, das Passwort Ihres Benutzerkontos einzugeben, und der Benutzer »root« wird dann deaktiviert. Wenn Sie zeitweise als Super-User arbeiten möchten und Ihnen die Arbeit mit sudo übergangsweise zu unbequem ist, dann können Sie auch eine »root«-Shell erzeugen. Hierzu geben Sie einfach sudo -s gefolgt von Ihrem Passwort ein. Die Eingabeaufforderung am Terminal ändert sich, und die folgenden Befehle werden vom SuperUser ausgeführt. Mit exit kehren Sie zu Ihrem normalen Benutzerkonto zurück.

6.4    Verzeichnisdienste und die Datenbank »DSLocal« Die Daten der Benutzer- und Gruppenkonten und einige weitere Konfigurationen des Systems (wie im Netzwerk freigegebene Ordner) werden in einer Datenbank, DSLocal, gespeichert. Diese befindet sich im Verzeichnis /var/db/dslocal (siehe Abbildung 6.33), das im Finder nicht sichtbar ist. Verwaltet wird diese Datenbank durch den Systemdienst opendirectory.

Abbildung 6.33    Die Datenbank »DSLocal« befindet sich im Verzeichnis »/var/db/dslocal«.

Die Datenbank selbst besteht aus einer Reihe von Property-ListenDateien (siehe Abschnitt 7.2.1) und einigen SQLite-Datenbanken. 6.4.1    Das Programm »Verzeichnisdienste«

Diese Dateien und Datenbanken sollten Sie keinesfalls von Hand selbst bearbeiten, sondern vielmehr das Programm Verzeichnisdienste nutzen, um die Datenbank einzusehen. Sie finden es im Ordner /System/Library/CoreServices/Applications. Sie starten es im Finder wie jedes andere Programm auch mit einem Doppelklick. Die Oberfläche des Programms gliedert sich in drei Bereiche (siehe Abbildung 6.34). Unter Dienste können Verzeichnisdienste wie Open Directory und Active Directory konfiguriert werden, die Benutzerkonten in einer zentralen Datenbank im Netzwerk bereitstellen. In der Ansicht Suchpfad wird definiert, in welcher Reihenfolge diese Dienste abgefragt werden. In der Ansicht

Verzeichniseditor erhalten Sie schließlich Zugriff auf die Datenbank DSLocal.

Abbildung 6.34    Das Programm »Verzeichnisdienste« ermöglicht den Zugriff auf die Einträge der Datenbank »DSLocal«.

Sie wählen hier im Ausklappmenü Darstellung aus, welche Datenbankeinträge Sie sich anzeigen lassen möchten. Die Benutzerkonten finden Sie unter Users, die Benutzergruppen unter Groups, und im Netzwerk freigegebene Ordner werden unter SharePoints aufgeführt. Der Knoten bezeichnet den Verzeichnisdienst, der vom Editor abgefragt werden soll. Der Eintrag /Local/Default bezieht sich auf die lokale Benutzerdatenbank Ihres Systems. Wenn Sie Änderungen an Einträgen in der Datenbank vornehmen möchten, dann müssen Sie sich mit einem Klick auf das Schloss rechts in der Symbolleiste authentifizieren. Sie werden anschließend aufgefordert, Ihren Accountnamen und das zugehörige Passwort einzugeben.

Wenn Sie in der Darstellung Users Ihr Benutzerkonto auswählen, dann finden Sie in der rechten Spalte die einzelnen Einträge. Unter UniqueID wird die eindeutige Nummer Ihres Kontos aufgeführt. Unter UserShell wird der Pfad zu der Shell angegeben, die für Ihr Konto standardmäßig bei der Anmeldung genutzt werden soll. Der Eintrag NFSHomeDirectory verweist auf Ihren persönlichen Ordner, und der RecordName entspricht dem Accountnamen in den Systemeinstellungen. Das Passwort Ihres Benutzerkontos wird nicht in der Datenbank DSLocal gespeichert; über die Werte in dem Eintrag AuthenticationAuthority wird festgelegt, in welcher separaten Passwortdatenbank Ihr Passwort gespeichert wird. Neben diesen grundlegenden Eigenschaften finden Sie eine Reihe weiterer, die Ihr Benutzerkonto ergänzen. So sehen Sie im Eintrag JPEGPhoto die Grafikdatei, die Sie Ihrem Benutzerkonto zugeordnet haben. Die Liste der Benutzerkonten im Programm Verzeichnisdienste ist sehr viel umfangreicher als die Liste in der Ansicht Benutzer & Gruppen in den Systemeinstellungen. Neben den Konten, die für menschliche Anwender vorgesehen sind, gibt es eine Reihe von Konten, die für Systemdienste verwendet werden. Deren Namen beginnen in der Regel mit einem Unterstrich, und die UniqueID ist kleiner als 500. Letzteres führt dazu, dass diese Konten in den Systemeinstellungen nicht erscheinen. Wechseln Sie in der Darstellung zum Eintrag SharePoints, dann finden Sie dort eine Liste der Ordner, die Sie im Netzwerk freigegeben haben. Diese Liste wird vom System verwaltet. Die Einträge, die die Zeichenkette afp enthalten, sorgen für die Freigabe über das Apple File Protocol, während die Einträge, die die Zeichenkette smb enthalten, für die Kommunikation über das

Protokoll Server Message Block (SMB) für Windows-Rechner von Relevanz sind. Am Rande: Möchten Sie vom Terminal aus auf die Datenbank DSLocal zugreifen, dann können Sie den Befehl dscl nutzen (siehe Abbildung 6.35). Rufen Sie ihn mit sudo dscl . auf, dann melden Sie sich an dem lokalen Knoten an. Nun ändert sich die Eingabeaufforderung. Sie können dann mit dem Befehl cd die Darstellung wechseln und beispielsweise mit cd Users die Benutzerkonten auswählen. Die Eingabe von ls zeigt Ihnen die angelegten Benutzerkonten an, mit read, gefolgt vom Accountnamen (read kai), lassen Sie sich die Eigenschaften eines Benutzerkontos anzeigen. Die Eingabe von exit beendet die Arbeit mit dscl.

Abbildung 6.35    Der Befehl »dscl« ermöglicht den Zugriff auf die Datenbank »DSLocal« am Terminal.

6.4.2    Anbindung an einen Open-Directory-Server

Die Aufgabe eines Verzeichnisdienstes wie Open Directory besteht darin, die Benutzerkonten im Netzwerk zentral auf einem Server zu verwalten. Werden Rechner an diesen Server angebunden, dann können sich die Benutzer an jedem dieser Rechner anmelden und finden ihre gewohnte Arbeitsumgebung vor, da diese Umgebungen zentral auf dem Server gespeichert und verwaltet werden. Dies vereinfacht in größeren Netzwerken mit vielen Anwendern die Verwaltung.

Apple nutzt in der Server-Variante von macOS den Dienst Open Directory für die Bereitstellung von Benutzerkonten im Netzwerk. Die Konfiguration von macOS Server im Allgemeinen und Open Directory kann in diesem Kapitel nicht beschrieben werden; es wären umfassendere Erläuterungen zur Gesamtkonfiguration der Server"=Variante von macOS notwendig, die nicht Thema dieses Buches ist.

Abbildung 6.36    In der Ansicht »Benutzer & Gruppen« der Systemeinstellungen können Sie einen Netzwerkaccount-Server anbinden.

Verfügen Sie in Ihrem Netzwerk bereits über eine Open-DirectoryInstallation, dann können Sie die vereinfachte Anbindung in den Systemeinstellungen vornehmen. In der Ansicht Benutzer & Gruppen finden Sie unter den Anmeldeoptionen die Funktion NetzwerkaccountServer. Klicken Sie hier auf die Schaltfläche Verbinden, dann werden Sie aufgefordert, die Adresse des Open-Directory-Servers einzugeben. Hier sollten Sie den vollen Namen des Rechners in der Form »miniserver.samoa.private« angeben. Nach einem Klick auf die Schaltfläche OK nimmt Ihr System eine Verbindung zu dem Open-Directory-Server auf. Gegebenenfalls erhalten Sie noch einen Hinweis, dass das Zertifikat des Servers als weniger sicher gilt, da es nicht entsprechend signiert wurde.

Abbildung 6.37    Die angebundenen Verzeichnisdienste verwalten Sie über die Systemeinstellungen.

Nach der Einbindung erscheint der Server in den Systemeinstellungen (siehe Abbildung 6.37). Über die Schaltfläche Bearbeiten lassen Sie sich die Liste der angebundenen Verzeichnisdienste anzeigen, und über das Pluszeichen binden Sie einen weiteren Open-Directory-Server an. Alternativ können Sie auch das Programm Verzeichnisdienste direkt starten. Hier finden Sie in der Ansicht Dienste zunächst eine Liste der Protokolle, die macOS für Verzeichnisdienste unterstützt. Neben dem Lightweight Directory Access Protocol (LDAPv3) wird auch Active Directory (siehe Abschnitt 14.2.1) unterstützt. Führen Sie einen Doppelklick auf den Eintrag LDAPv3 aus, dann finden Sie dort den zuvor konfigurierten Open-Directory-Server. Sofern für Ihren Verzeichnisdienst eine besondere Konfiguration notwendig ist, klappen Sie den Eintrag Vom Server in der Spalte LDAP-Pfade aus (siehe Abbildung 6.38). Sie finden dort die Option Eigene. In dem neuen Fenster konfigurieren Sie dann die Felder des LDAP-Servers. Solche Konfigurationen setzen allerdings etwas

intimere Kenntnisse des LDAP-Protokolls voraus und sind nicht Thema dieses Kapitels.

Abbildung 6.38    Im Programm »Verzeichnisdienste« sind detaillierte Konfigurationen möglich.

7    Software installieren, aktualisieren und administrieren Der Erwerb und die Installation von Programmen wurde von Apple mit dem App Store zwar enorm vereinfacht, aber der App Store ist sicherlich nicht der Weisheit letzter Schluss. Dieses Kapitel macht Sie auch mit der Installation von Packages, dem Einspielen von Updates, dem Preference-System und Umgebungsvariablen vertraut. Die Installation von Programmen über den App Store von Apple ist eigentlich ein noch recht neues Phänomen. Auch wenn der App Store recht komfortabel zu nutzen ist, so hat er doch seine Grenzen. Diese werden ihm nicht zuletzt durch Apple auferlegt, denn um in den App Store aufgenommen zu werden, muss ein Programm den recht strengen Vorgaben von Apple entsprechen. Diese Vorgaben schränken jedoch Programme in ihren Möglichkeiten in vielerlei Hinsicht ein, sodass Programme zum Beispiel keine Hintergrunddienste mitbringen können. Abgesehen von diesen Restriktionen gibt es auch eine Reihe von Softwareentwicklern, die ihre Programme aus verschiedensten Gründen nicht über den App Store vertreiben möchten. Daher werden Sie auch unter macOS 10.13 irgendwann mit der Installation von Software konfrontiert, die über ein Package installiert wird. In diesem Kapitel beschreibe ich zunächst die Nutzung des App Stores. Dieser ist auch für die Updates des Systems und für die über den Store installierten Programme zuständig. Die Installation von Packages und deren Verwaltung zeige ich in Abschnitt 7.1.3. Die Aufgabe des in Abschnitt 7.1.4 erläuterten Gate Keepers besteht

unter anderem darin, Sie vor der ungewollten Ausführung von Software zu schützen. Fast alle Programme und Applikationen speichern Ihre Einstellungen in irgendeiner Form. Dabei kommen sowohl reine Textdateien als auch Property-Listen zum Einsatz, die ich in Abschnitt 7.2 erläutern werde. Auch die Umgebungsvariablen stellen im weiteren Sinne Voreinstellungen für Programme dar, und dieses Konzept erkläre ich in Abschnitt 7.2.2. Mittlerweile ist Java unter macOS nicht mehr so gebräuchlich und notwendig, wie es noch in den Anfangstagen des Systems der Fall war. Allerdings handelt es sich bei Java nach wie vor um eine der verbreitetsten Programmiersprachen, und es gibt eine stattliche Zahl von Programmen und Applikationen, die mit Java entwickelt wurden. Die nachträgliche Installation von Java beschreibe ich daher in Abschnitt 7.3.

7.1    Programme kaufen und installieren Der Kauf und die Installation von Programmen über den App Store gehen leicht von der Hand, aber auch der App Store bietet ein paar Funktionen, die nicht ganz so offensichtlich, aber doch nützlich sind. Auch ist der App Store mittlerweile für die Updates des Betriebssystems zuständig. Die Installation eines Software-Packages ist meistens dann notwendig, wenn es sich um eine Software handelt, die neben der eigentlichen Applikation aus weiteren Komponenten besteht. Mit dem Gate Keeper möchte Apple verhindern, dass Sie unfreiwillig ein Programm ausführen, das Sie möglicherweise versehentlich aus dem Internet geladen haben. 7.1.1    Software über den App Store installieren

Beim App Store handelt es sich zunächst um ein normales Programm, das Sie mit einem Doppelklick im Finder oder über das Dock starten. Sie können auch im Apfel-Menü links oben auf dem Bildschirm den Eintrag App Store auswählen.

Abbildung 7.1    Nach einem Klick auf den Preis erscheint die Schaltfläche »App kaufen«.

Apple bietet eine eigentlich recht komfortabel zu nutzende Oberfläche des App Stores, und wenn Sie ein Programm gefunden haben, das Sie erwerben und installieren möchten, dann klicken Sie in dessen Übersichtsseite erst auf den Preis. Es erscheint dann die Schaltfläche App kaufen (siehe Abbildung 7.1), und Sie werden aufgefordert, Ihre Apple-ID nebst Passwort einzugeben. Hier können Sie auch eine eigene Apple-ID eingeben, die Sie nicht in Verbindung mit der iCloud nutzen. Ein kostenlos angebotenes Programm können Sie direkt erwerben. Unmittelbar nach diesem Vorgang wird das Programm der Liste Gekaufte Artikel hinzugefügt, aus dem App Store geladen und im Verzeichnis Programme installiert. Am Rande: Haben Sie Ihren Rechner gerade erworben, dann sollten Sie in der Ansicht Gekaufte Artikel prüfen, ob Sie dort mitgelieferte Applikationen aktivieren können.

Abbildung 7.2    Das Launchpad informiert über den Fortschritt der Downloads.

Nutzen Sie das Programm Launchpad, dann erscheinen Ihre Käufe automatisch. Hier werden Sie auch über den Fortschritt des Downloads informiert (siehe Abbildung 7.2). Es kann immer vorkommen, dass Ihre Verbindung ins Internet unterbrochen und der Download eines Programms nicht abgeschlossen wurde. In diesem Fall können Sie über den Menüpunkt Store • Nach nicht abgeschlossenen Downloads suchen die abgebrochenen Downloads fortsetzen. Verwenden Sie mehr als einen Rechner, dann kann die Option Gekaufte Apps automatisch auf andere Macs laden in der Ansicht App Store der Systemeinstellungen (siehe Abbildung 7.5) ganz praktisch sein. Auf diese Weise wird der Kauf auf allen Computern nachvollzogen, die Sie mit Ihrer Apple-ID verbunden haben.

Abbildung 7.3    Gekaufte Programme können Sie auch ausblenden.

Wenn Sie bereits eine Reihe von Programmen gekauft und ausprobiert haben, dann ist die Liste unter Gekaufte Artikel möglicherweise recht lang und unübersichtlich. Bei Programmen, die Sie in dieser Liste nicht mehr benötigen, können Sie über einen Rechtsklick das Kontextmenü aufrufen. Dieses enthält den Eintrag Einkauf ausblenden (siehe Abbildung 7.3). Wählen Sie diesen Eintrag aus, dann wird das Programm aus der Liste entfernt. Es ist aber immer noch mit Ihrem Benutzerkonto verbunden.

Abbildung 7.4    Ausgeblendete Käufe können Sie über die Accountverwaltung des Stores wieder sichtbar machen.

In der Verwaltung Ihres Accounts finden Sie etwas weiter unten den Eintrag Ausgeblendete Artikel mit dem Link Verwalten (siehe Abbildung 7.4). Hier können Sie die ausgeblendeten Programme wieder anzeigen lassen, sofern sie nicht zwischenzeitlich aus dem App Store entfernt wurden. Ein Programm, das Sie über den App Store erworben haben, können Sie deinstallieren, indem Sie das Launchpad aufrufen, wobei Sie die Taste (alt) gedrückt halten. Daraufhin erscheint neben dem Icon der Programme ein X. Klicken Sie dieses an, dann wird das Programm deinstalliert. 7.1.2    Updates über den App Store installieren

Der App Store ermöglicht Ihnen sowohl das Update der gekauften Programme als auch des Betriebssystems und der zum Betriebssystem gehörenden Komponenten. Nach einiger Zeit werden Sie unweigerlich mit einem Update konfrontiert. Die Anzahl der verfügbaren Updates wird Ihnen sowohl im Apfel-Menü als auch im Icon des App Stores angezeigt.

Abbildung 7.5    In den Systemeinstellungen konfigurieren Sie die automatischen Updates.

Konfigurieren können Sie dieses Verhalten in den Systemeinstellungen in der Ansicht App Store (siehe Abbildung 7.5). Hier können Sie zunächst die Option Automatisch nach Updates suchen deaktivieren. In diesem Fall müssen Sie eigenhändig die Ansicht Updates im Programm App Store aufrufen, damit nach Aktualisierungen gesucht wird. Über die Option Neu verfügbare Updates im Hintergrund laden weisen Sie das System an, die Dateien der Updates von den Servern Apples zu laden, aber noch nicht zu installieren. Die Dateien werden vorgehalten, bis Sie die Ansicht Updates im App Store öffnen und die Installation von Hand veranlassen. Die automatische Installation

von Updates aktivieren Sie über die Optionen App-Updates installieren und macOS-Updates installieren. In diesem Fall werden die Updates umgehend eingespielt. Dies geschieht unter der Voraussetzung, dass das zu aktualisierende Programm nicht gerade geöffnet ist. Updates des Systems erfordern in der Regel einen Neustart, sodass die Installation beim nächsten Start Ihres Systems erfolgt.

Abbildung 7.6    Die verfügbaren Updates werden im App Store aufgeführt.

Sind Updates verfügbar, dann werden sie in der Ansicht Updates des App Stores aufgeführt. Dabei werden die Updates, die sich auf das Betriebssystem beziehen, gruppiert; Aktualisierungen der Programme finden Sie unterhalb. Über die Schaltfläche Updaten (siehe Abbildung 7.6) spielen Sie ein verfügbares Update ein. Alternativ können Sie die Schaltfläche Alles updaten nutzen, um alle aufgeführten Updates in einem Durchgang zu installieren. Die Updates werden zuerst nacheinander heruntergeladen, sofern dies nicht im Hintergrund erfolgt ist, und dann installiert. Den Download können Sie bei Bedarf über die gleichnamige Schaltfläche Anhalten. Sollte ein Programm, das Sie aktualisieren wollen, während dieses Vorgangs geöffnet sein, dann weist der App Store Sie darauf hin, und Sie sollten das Programm beenden. Bei Aktualisierungen des Betriebssystems, etwa von macOS 10.13.1 auf macOS 10.13.2, ist ein Neustart Ihres Rechners für die Installation

erforderlich. Der App Store weist Sie darauf extra hin. Den Hinweis finden Sie sowohl in der Übersicht der verfügbaren Aktualisierungen als auch vor dem Download. Kurz bevor der Neustart durchgeführt wird, erfolgt noch ein Hinweis über die Mitteilungszentrale. In diesem Fall haben Sie noch sechzig Sekunden, um Programme zu beenden. Sie können den Neustart auch auf Später verschieben. Wird ein Update des Systems installiert, dann werden Sie vor und nach dem Neustart auf einem schwarzen Bildschirm über den Fortschritt informiert. Welche Updates in den letzten 30 Tagen installiert wurden, sehen Sie im unteren Bereich der Ansicht Updates. 7.1.3    Software über Packages installieren

Kaufen Sie ein Programm aus dem App Store oder haben Sie es aus dem Internet heruntergeladen, dann besteht die Installation allenfalls noch aus dem Verschieben der Applikation in den Ordner Programme. Alle Bestandteile des Programms befinden sich in seinem Bundle (siehe Abschnitt 1.6). Nicht jede Software ist jedoch dermaßen einfach zu handhaben: Manchmal benötigt ein Programm weitere Komponenten, die im Hintergrund aktiv sind und nicht im Bundle der Applikation abgelegt werden können. Die Aufgabe von Packages besteht darin, die benötigten Komponenten in einem Paket zusammenzufassen und dann an den geeigneten Stellen im Dateisystem zu installieren. Eingespielt werden diese Packages über das Installationsprogramm von macOS, das sich im Verzeichnis /System/Library/CoreServices befindet.

Abbildung 7.7    Ein Package wird durch ein Paket im Icon symbolisiert.

Haben Sie ein Package aus dem Internet heruntergeladen, dann können Sie es mit einem Doppelklick im Finder im Installationsprogramm öffnen. Sofern sich rechts oben im Fenster ein Icon mit einem Schloss befindet, wurde das Installationsprogramm vom Entwickler signiert. Informationen über die Signatur (siehe Abbildung 7.8) können Sie mit einem Klick auf das Icon aufrufen.

Abbildung 7.8    Packages können mit einem Zertifikat versehen werden.

Der Installationsvorgang besteht aus mehreren Einzelschritten, die Sie mit einem Klick auf die Schaltfläche rechts unten durchgehen. In der Regel werden Ihnen eine kurze Einführung sowie eine Lizenz angezeigt. Sollten Sie mehrere Partitionen auf Ihren Datenträgern eingerichtet haben, dann können Sie auch das Zielvolume auswählen (siehe Abbildung 7.9). Abhängig von den Vorgaben des Packages stehen einige Partitionen nicht zur Auswahl, etwa wenn das Package eine bestimmte Version von macOS erwartet. Ebenfalls abhängig von der Konfiguration und dem Inhalt des Packages können Sie unter verschiedenen Komponenten der Software auswählen. Sie erhalten, wenn Sie eine Komponente anklicken, einen Hinweis, welche Aufgabe die Komponente hat.

Abbildung 7.9    Das Zielvolume können Sie vor der Installation auswählen.

Wenn Sie die Installation beginnen, müssen Sie sich als Administrator authentifizieren und Ihr Passwort eingeben. Das Installationsprogramm kopiert dann aus dem Package heraus die Dateien in Ihr Zielverzeichnis. Es ist auch möglich, dass während der

Installation Skripten ausgeführt werden. Die Packages können neben den eigentlichen Programmdaten auch kleine Skripten enthalten. Deren Aufgabe besteht oft in der Korrektur der Zugriffsrechte oder im Download aktueller, zur Installation gehörender Dateien aus dem Internet.

Abbildung 7.10    Das Protokoll des Installationsvorgangs informiert detailliert über den Fortschritt und etwaige Fehler.

Welche Aktionen während der Installation gerade ausgeführt werden, können Sie dem Protokoll entnehmen (siehe Abbildung 7.10). Dieses rufen Sie über den Menüpunkt Fenster • Installationsprotokoll oder über die Tastenkombination (š)+(L) auf. In den Standardeinstellungen zeigt Ihnen das Protokoll lediglich Fehlermeldungen an. Mit der Option Fehler- und Statusmeldungen anzeigen erhalten Sie einen genauen Überblickt über die Nachrichten und Mitteilungen, die während des Installationsvorgangs ausgegeben wurden. Einblick in das Protokoll sollten Sie spätestens dann nehmen, wenn Sie nach einigen Minuten den Eindruck haben, dass der Installationsvorgang hängen geblieben ist. Möglicherweise wird aber nur im Hintergrund ein Download durchgeführt, auf den Sie nicht hingewiesen wurden, der aber Bestandteil der Installation ist.

Abbildung 7.11    Die im Package enthaltenen Dateien blenden Sie über »cmd« + »I« ein.

Möchten Sie sich vor der Installation über den Inhalt des Packages informieren, dann können Sie zu jedem Zeitpunkt über den Menüpunkt Ablage • Dateien einblenden oder den Kurzbefehl (š)+(I) ein Fenster mit der Liste der enthaltenen Dateien aufrufen (siehe Abbildung 7.11). Hier müssen Sie beachten, dass die Pfadangaben in der Form ./opt/local/bin oder ./VBoxAutostart relativer Natur sind. Es folgt nicht zwingend daraus, dass die Dateien im Verzeichnis /opt/local/bin oder auf der obersten Ebene installiert werden, da Sie möglicherweise während des Installationsvorgangs ein anderes Zielverzeichnis vorgeben können. Auch ist es möglich, dass ein durch das Package ausgeführtes Skript die Dateien verschiebt. »pkgutil« – Package Utility pkgutil Option Package

Um sich über die bereits installierten Packages, zu denen auch einige Installationen aus dem App Store und Updates gehören, zu informieren, nutzen Sie am Terminal den Befehl pkgutil. Mit der Option --packages erhalten Sie zunächst eine Liste der bereits

installierten Packages. Die Liste enthält auch die Komponenten, die während der Erstinstallation des Betriebssystems installiert wurden. Welche Dateien mit dem Package installiert wurden, erfahren Sie über die Option--files gefolgt vom Namen des Packages. Die Eingabe pkgutil --files org.macosfor-ge.xquartz.pkg würde Ihnen wie in Abbildung 7.12 alle Dateien auflisten, die bei der Installation des X11-Servers (siehe Abschnitt 23.3.1) installiert wurden. Möchten Sie eine installierte Software vollständig von Ihrem System entfernen, dann ist diese Liste ein guter Ausgangspunkt, denn sie umfasst nicht nur die ausführbaren Dateien (im Fall des X11-Servers unter /Applications/Utilities/XQuartz.app) sondern auch die Voreinstellungen, die im Verzeichnis /etc/paths.d installiert wurden.

Abbildung 7.12    Mit dem Befehl »pkgutil« lassen Sie sich die Dateien eines schon installierten Packages auflisten.

7.1.4    Der Gate Keeper von macOS

Die Aufgabe des Gate Keepers besteht darin, einen gewissen Schutz vor der Installation von Schadsoftware zu bieten. Seine Funktionsweise beruht darauf, dass in dem Programm oder dem Package ein Zertifikat hinterlegt wird. Bei der Installation oder dem ersten Start des Programms wird das Zertifikat mit einem Zertifikat abgeglichen, das bereits im Schlüsselbund von macOS vorhandenen

ist. Sofern die Prüfung fehlschlägt, werden Sie entweder darauf hingewiesen oder der Start des Programms unterbleibt ganz. Auch registriert der Gate Keeper nachträgliche Änderungen am Bundle (siehe Abschnitt 1.6) eines Programms, was Manipulationen verhindern soll. Konfigurieren können Sie den Gate Keeper in den Systemeinstellungen in der Ansicht Sicherheit unter Allgemein (siehe Abbildung 7.13). Hier stehen Ihnen im Bereich Apps-Download erlauben von zunächst zwei Optionen zur Verfügung. Wählen Sie App Store aus, dann lassen sich nur die Programme starten, die aus dem App Store geladen wurden. Da Apple bei den im App Store angebotenen Programmen Prüfungen vornimmt, gilt diese Einstellung als die sicherste. Wählen Sie hingegen App Store und verifizierte Entwickler aus, dann lassen sich auch solche Programme und Packages starten, bei denen die Entwickler zuvor ein entsprechendes Zertifikat von Apple bezogen haben. Dies können Sie im Installationsprogramm zum Beispiel über einen Klick auf das Schloss (siehe Abbildung 7.8) überprüfen. [+] Beachten Sie, dass die getroffenen Einstellungen nicht rückwirkend und nur für den ersten Start gelten. Haben Sie also ein Programm von einem nicht verifizierten Entwickler schon mehrfach gestartet, dann wird es auch weiterhin ausgeführt, wenn Sie die Option Mac App Store auswählen.

Abbildung 7.13    Den Gate Keeper konfigurieren Sie in den Systemeinstellungen in der Ansicht »Sicherheit«.

Haben Sie die Option Mac App Store und verifizierte Entwickler ausgewählt und möchten Sie ein Programm von einem nicht verifizierten Entwickler über einen Doppelklick im Finder starten, dann erhalten Sie den Hinweis, dass dieses Programm aufgrund der Einstellung nicht ausgeführt werden darf. Nutzen Sie jedoch den Eintrag Öffnen im Kontextmenü des Finders, dann erscheint ein anderer Dialog (siehe Abbildung 7.14), der Sie zwar auf die fehlende Verifizierung hinweist, dabei jedoch die Schaltfläche Öffnen zur Auswahl stellt. Wenn Sie das Programm nun starten, merkt sich das System diese Entscheidung, es wird eine Signatur hinzugefügt, und die Rückfrage wird bei zukünftigen Starts des Programms unterbleiben. Wurde die Ausführung eines Programms blockiert, dann finden Sie anschließend im Reiter Allgemein der Ansicht Sicherheit der Systemeinstellungen einen Hinweis auf das blockierte Programm zusammen mit einer Schaltfläche Dennoch öffnen.

Abbildung 7.14    Stammt die Software nicht von einem verifizierten Entwickler, dann erfolgt ein Hinweis.

In der Standardkonfiguration ist der Gate Keeper sehr restriktiv und verweigert die Ausführung aller Applikationen, die nicht aus dem App Store stammen oder von einem Entwickler signiert wurden, der Apple bekannt ist. Dabei ist das hinter dem Gate Keeper stehende System deutlich flexibler, als es die beiden Optionen in den Systemeinstellungen vermuten lassen. »spctl« – Security Policy Control spctl Aktion [Ziel]

Mithilfe des Befehls spctl (siehe Abbildung 7.15) können Sie feiner granulierte Einstellungen vornehmen oder auch die unter vorhergehenden Versionen von OS X noch vorhandene Option Keine Einschränkungen in den Systemeinstellungen wieder sichtbar machen. Den aktuellen Status eines Programms bringen Sie mit der Option a, gefolgt vom Pfad zum Bundle des Programms, in Erfahrung. Erhalten Sie keine Ausgabe, dann ist die direkte Ausführung des Programms möglich; andernfalls lautet die Ausgabe rejected. Mit

der Option --add, gefolgt vom Pfad des Programms, wird es zur Liste der erlaubten Programme hinzugefügt. Der Befehl spctl fordert Sie vorher auf, zum Überschreiben der Sicherheitseinstellungen Ihr Passwort einzugeben. Sie können anschließend das angegegebene Programm direkt starten. Für die restlichen Programme gelten die Standardeinstellungen des Gate Keepers weiterhin.

Abbildung 7.15    Der Befehl »spctl« ermöglicht die Konfiguration des Gate Keepers.

Den Systemeinstellungen können Sie mithilfe von spctl die Option Keine Einschränkungen hinzufügen (siehe Abbildung 7.16). Mit dieser Einstellung setzen Sie die Funktion des Gate Keepers weitgehend außer Kraft, sodass Sie alle Programme unmittelbar starten können. Hierzu geben Sie den Befehl sudo spctl -master-disable ein. Ob der Gate Keeper aktiv ist oder nicht, können Sie am Terminal durch die Eingabe von spct --status in Erfahrung bringen. Der Hinweis assessments enabled weist darauf hin, dass der Gate Keeper aktiv ist.

Abbildung 7.16    Der Gate Keeper kann auch weitgehend deaktiviert werden.

Der Schutz, den der Gate Keeper aufgrund seiner Funktionsweise bietet, ist allerdings nicht zu hoch zu bewerten. Wenn Sie ein System administrieren, das von einer technisch sehr unbedarften Person genutzt wird, dann kann die Einschränkung auf die Programme aus dem App Store durchaus sinnvoll sein. Andererseits verzichten auch viele seriöse Softwareanbieter aus einer Reihe von Gründen auf die Signierung ihrer Programme, sodass Sie bisweilen mit einer Art Fehlalarm konfrontiert werden. Die Signierung der Programme kann, wenn zum Beispiel Apple bei der Verwaltung der genutzten Zertifikate Fehler macht und schlampt, auch zu Problemen führen. Insofern ist der Gate Keeper nützlich, um das unbedarfte Ausführen von möglichen Schadprogrammen zu verhindern. Einen absoluten Schutz gegen sogenannte Malware bietet er jedoch nicht, weil sich auch der Mechanismus der Signierung durchaus aushebeln lässt.

7.2    Software administrieren Bei der Konfiguration von Software werden Sie unweigerlich auf zwei Konzepte stoßen. Zunächst gibt es die für macOS gebräuchlichen Voreinstellungen, auch Preferences genannt, die in XML-Dateien als Property-Liste gespeichert werden. Das Format wurde von Apple definiert. Auf der anderen Seite werden Einstellungen auch über sogenannte Umgebungsvariablen vorgegeben. Sie sollten beide Konzepte kennen und verstehen. 7.2.1    Property-Listen und Voreinstellungsdateien

Bei den Property-Listen handelt es sich um einfache XML-Dateien, die einem von Apple definierten Format entsprechen. Sie können sich den Inhalt einer solchen Datei im Finder mit QuickLook anzeigen lassen. Zur Bearbeitung einer Property-Liste eignet sich jedoch die Entwicklungsumgebung Xcode. Diese finden Sie im App Store, und sie wird von Apple kostenlos angeboten. Neben Xcode als zugegeben überdimensionierter, aber eben kostenloser Lösung gibt es mit PlistEditPro und JSON Wizard mindestens zwei kostenpflichtige Programme, die Sie zur Bearbeitung von PropertyListen nutzen können. Um sich über die Voreinstellungen einer Datei zu informieren, können Sie im Finder über den Menüpunkt Gehe zu • Gehe zum Ordner über ~/Library in Ihre Library wechseln. Die Voreinstellungen der Programme werden im Ordner Preferences gespeichert. Sie finden dort die Datei com.apple.finder.plist, die Sie zum Öffnen unter anderem auf das Icon von Xcode im Dock ziehen können.

Der oberste Eintrag einer Property-Liste lautet immer root (siehe Abbildung 7.17). In der linken Spalte finden Sie den Namen (Key) der Eigenschaft, in der mittleren wird der Typ aufgeführt und in der rechten der aktuelle Wert. In Abbildung 7.17 wurde für die Eigenschaft GoToField der Wert ~/Library/Preferences vergeben. Dies führt dazu, dass der Finder den Wert dieser Eigenschaft abfragt und ihn in das Textfeld schreibt, wenn Sie den Menübefehl Gehe zum Ordner aufrufen. Analog verhält es sich mit der Eigenschaft NSNavLastCurrentDirectory. Ihr Wert speichert den Ordner, der im Finder zuletzt angezeigt wurde. Für die Eigenschaften einer Property-Liste können verschiedene Typen genutzt werden. Die Angabe des Typs ist für die Korrektheit einer Property-Liste unabdingbar. Zwar können Sie auch bei einer Eigenschaft vom Typ String eine Zahl eingeben, aber diese wird vom Programm dann wahrscheinlich nicht als Zahl zur Berechnung genutzt, sondern als Zeichenkette interpretiert. Den Typ legen Sie über das Auswahlmenü fest, das Sie aufrufen, indem Sie einen Mausklick auf die mittlere Spalte des Eintrags ausführen.

Abbildung 7.17    Die Preferences des Finders wurden in Xcode geöffnet.

In einer Property-Liste können folgende Typen für Eigenschaften genutzt werden:

Number

Eigenschaften dieses Typs enthalten eine Zahl. Wenn Sie hier versehentlich eine Zeichenkette eingeben, dann ist die PropertyListe defekt. String

Hierbei handelt es sich um eine Zeichenkette, die Zahlen, Buchstaben, Leer- und Satzzeichen enthalten kann. Boolean

Dies ist ein Wahrheitswert, der entweder wahr (YES) oder falsch (NO) lauten kann. Array

Bei einem Array handelt es sich um eine Liste, die weitere Elemente enthalten kann. Diese werden aufsteigend nummeriert, und als Key können Sie keine Bezeichnung festlegen. Dictionary

Hierbei handelt es sich um eine benannte Liste, bei der Sie sowohl den Typ als auch den Namen der Eigenschaften vorgeben können. In Abbildung 7.17 handelt es sich bei dem Eintrag NetworkViewSettings um ein Dictionary, das noch weitere Einträge (wie WindowState) enthält. Date

Mit Date werden Datumsangaben in einer Property-Liste gespeichert. Data

Eigenschaften vom Typ Data können binäre Daten enthalten. Es ist daher möglich, zum Beispiel eine Abbildung im PNG-Format innerhalb einer solchen Eigenschaft in einer Property-Liste zu speichern.

Um eine Property-Liste selbst zu erstellen und ihr Einträge hinzuzufügen, bewegen Sie den Mauspfeil über einen Eintrag. Ist noch keiner vorhanden, dann bewegen Sie die Maus über den Haupteintrag root. Es erscheinen dann in der linken Spalte zwei Icons mit einem Plus- und Minuszeichen, über die Sie Einträge entfernen und neue Einträge hinzufügen, deren Type festlegen und auch einen Wert eingeben können. [+] Die Preferences-Datei des Finders soll in diesem Abschnitt nur als Beispiel für die Funktionsweise dienen. Mutwillige Manipulationen an den Voreinstellungen der Programme sollten Sie unterlassen, da die Programme dann möglicherweise gar nicht mehr funktionieren. Welche Werte für welche Voreinstellungen sinnvoll sind, lässt sich eigentlich nur ermitteln, wenn Sie den Quellcode des Programms kennen. Es kann aber durchaus sein, dass eine Änderung der Voreinstellungen notwendig wird, um eine vorhandene, aber über die grafische Oberfläche nicht aktivierbare Einstellung zu tätigen. In diesem Fall wurden Änderungen bestenfalls vom Programmierer dokumentiert. »plutil« – Property List Utility plutil [Option] Property-Liste

Am Terminal können Sie eine Property-Liste mit dem Befehl plutil auf einen korrekten Aufbau hin überprüfen. Der Befehl prüft ausschließlich den Aufbau der Datei. Er prüft nicht, ob die Datei Werte enthält, die aufgrund eines Bugs das Programm zum Absturz bringen. Übergeben Sie plutil eine Property-Listen-Datei, dann wird deren Aufbau überprüft, und Sie erhalten die Angabe OK, wenn keine Fehler aufgetreten sind. Möchten Sie eine Property-Liste in einem

Texteditor bearbeiten, dann ist dies zwar möglich, da es sich um eine einfache XML-Datei handelt, aber Sie werden gegebenenfalls mit einer wirren Zeichenkette konfrontiert. Der Grund besteht darin, dass die Property-Listen in erster Linie als binäre Dateien vorliegen, was das Auswerten und Bearbeiten beschleunigt. Mit plutil und der Option -convert xml1 können Sie eine binäre Property-Liste in das Textformat konvertieren.

Abbildung 7.18    Mit dem Befehl »plutil« überprüfen und konvertieren Sie eine PropertyListe.

In Abbildung 7.18 wurde die als binäre Property-Liste vorliegende Preferences-Datei des Finders erst überprüft, dann ins Textformat konvertiert und anschließend mit dem Befehl cat als Alternative zu less (siehe Abschnitt 21.4.1) am Terminal ausgegeben. Nützlich ist die Überprüfung einer Property-Liste mit plutil dann, wenn Sie die Datei eigenhändig in einem Editor bearbeitet haben und etwaige Tippfehler ausschließen möchten. »defaults« – Voreinstellungen defaults Aktion Kennung [Eigenschaft] [Wert]

Der Befehl defaults steht Ihnen zur Verfügung, wenn Sie die Voreinstellungen eines Programms direkt anzeigen oder verändern möchten. Geben Sie defaults mit der Anweisung read, gefolgt von der Kennung des Programms, die dem Namen der PropertyListe entspricht, in der Form defaults read com.apple.finder ein, dann werden Ihnen am Terminal alle geltenden Voreinstellungen für das Programm ausgegeben. Hängen Sie an diese Eingabe noch eine Eigenschaft an (geben Sie beispielsweise defaults read com.apple.finder GoToField ein wie in Abbildung 7.19), dann wird der Wert der Eigenschaft ausgegeben. Einen Wert setzen können Sie mit der Aktion write, der Sie neben der Eigenschaft auch den neuen Wert übergeben müssen. Die Eingabe defaults write com.apple.finder GoToField "/Applications" würde dazu führen, dass die Zeichenkette Applications im Textfeld des Dialogs Gehe zum Ordner erscheint.

Abbildung 7.19    Mit dem Befehl »defaults« können Sie die Voreinstellungen direkt anzeigen lassen und ändern.

Der Befehl defaults wird gerne genutzt, um Voreinstellungen direkt zu setzen, ohne den Umweg über die Bearbeitung der Property-Liste, gefolgt vom Neustart des Programms zu gehen. Aber auch hier gilt, dass Sie den Befehl nur dann einsetzen sollten, wenn

Sie sich über die Auswirkungen der manipulierten Voreinstellungen im Klaren sind. Die Property-Listen werden für die Voreinstellungen der Programme genutzt, die über eine grafische Oberfläche verfügen, oder für Einstellungen von Systemdiensten, die in den meisten Fällen von Apple programmiert wurden. Wenn Sie ein Programm oder einen Dienst aus dem Unix-Spektrum konfigurieren möchten – dazu gehören unter anderem das Drucksystem CUPS und der Apache Webserver –, dann werden die Voreinstellungen in den meisten Fällen nicht in XML-, sondern in einfachen Textdateien gespeichert (siehe Abbildung 7.20). Diese Textdateien befinden sich in den meisten Fällen im Verzeichnis /etc. Über den genauen Aufbau dieser Dateien und der in ihnen gespeicherten Eigenschaften und Werte sollten Sie sich im Vorfeld in der Dokumentation informieren. Oft gilt die Konvention, dass in der Datei erläuternde Kommentare mit einer Raute # zu Beginn der Zeile gekennzeichnet werden. Der darauffolgende Text wird vom Programm nicht interpretiert. Eigenschaften wird manchmal mit dem Gleichheitszeichen ein Wert in der Form Eigenschaft = Wert zugewiesen oder einfach nur durch ein Leerzeichen getrennt (Eigenschaft Wert). Am Terminal lassen Sie sich durch die Eingabe von less /etc/apache2/httpd.conf die zentrale Voreinstellungsdatei des Apache Webservers anzeigen, bei der Kommentare mit # eingeleitet und Eigenschaften durch ein Leerzeichen getrennt Werte zugewiesen werden.

Abbildung 7.20    Die Voreinstellungen vieler Programme und Server aus dem UnixSpektrum werden in einfachen Textdateien gespeichert.

7.2.2    Umgebungsvariablen auslesen und setzen

Umgebungsvariablen stellen ein etwas abstrakteres Konzept als die Voreinstellungen in Property-Listen dar. Bei diesen Variablen handelt es sich um Werte, die Programme zur Laufzeit vom System abfragen können und die einen bestimmten Status widerspiegeln. Geben Sie am Terminal einfach den Befehl env ein, dann wird Ihnen eine Liste der dortigen Umgebungsvariablen angezeigt, unter anderem PWD und OLDPWD. Die Variable PWD enthält eine Pfadangabe, beispielsweise /Users/kai (siehe Abbildung 7.21). Damit wird das aktuelle Arbeitsverzeichnis (present working directory) bezeichnet, in dem Sie sich gerade in diesem Fenster befinden. Wechseln Sie durch die Eingabe von cd Documents (siehe Abschnitt 21.3.1) das Verzeichnis, dann ändert sich der Wert der Variablen PWD in /Users/kai/Documents. Haben Sie das Verzeichnis gewechselt, dann wird das vorhergehende Verzeichnis in der Variablen OLDPWD gespeichert. Der Name der Variablen OLDPWD steht für old present working directory. Damit spiegelt sich in der Variablen ein Teil der Umgebung wider, in der die anschließend eingegebenen Befehle ausgeführt werden.

Würden Sie ein zweites Terminal-Fenster öffnen und dort in ein anderes Verzeichnis wechseln, dann würden sich die dort aktiven Umgebungsvariablen von denen des ersten Fensters unterscheiden.

Abbildung 7.21    Der Befehl »env« gibt aktuell gültige Umgebungsvariablen aus.

Umgebungsvariablen sind insofern ein etwas dynamischeres Verfahren als die Voreinstellungen in Property-Listen, als sie eine individuelle Konstellation widerspiegeln. Genutzt werden sie häufig zur Steuerung des Verhaltens von Befehlen am Terminal und auch von Programmen. Letztere greifen auf Umgebungsvariablen zum Beispiel zu, um die konkrete Version des laufenden Betriebssystems abzufragen oder Informationen über Verzeichnisse zu erhalten, wie eben das aktuelle Arbeitsverzeichnis, von dem aus sie gestartet wurden. Den Wert einer Umgebungsvariablen rufen Sie am Terminal mit dem Befehl echo ab, gefolgt vom Namen der Variablen, wobei Sie dem Namen ein Dollarzeichen voranstellen müssen. Die Eingabe von echo $OLDPWD gäbe die Information über das vorhergehende Arbeitsverzeichnis aus. Mit echo $HOME erhielten Sie die Pfadangabe zu Ihrem persönlichen Ordner. Umgebungsvariablen lassen sich mit dem Befehl export in der Form export Variable=Wert setzen. Mit der Eingabe von

export PATH=/bin würden Sie der Umgebungsvariablen PATH den Wert /bin zuweisen. Dies hätte zur Konsequenz, dass lediglich

das Verzeichnis /bin nach Befehlen durchsucht würde und Sie beispielsweise defaults nicht mehr direkt eingeben könnten. Um dies rückgängig zu machen, schließen Sie das aktuelle TerminalFenster einfach und öffnen ein neues. Wie Sie Umgebungsvariablen dauerhaft setzen, hängt ein wenig von ihrem Anwendungsgebiet ab. Definieren Sie eine Variable mit export, dann vererbt sie sich an alle Prozesse und Befehle, die von dem jeweiligen Terminal-Fenster – genauer der Shell – aus gestartet wurden. Sie können daher in der unsichtbaren Datei .bash_profile zeilenweise export-Anweisungen definieren, um Umgebungsvariablen dauerhaft beim Start einer Shell, also beim Öffnen eines neuen Terminal-Fensters, zu setzen. Rufen Sie hierzu den Editor nano (siehe Abschnitt 21.4.2) mit nano ~/.bash_profile auf. Fügen Sie dann der Datei zwei Zeilen in der Form export CLICOLOR=""

export PS1="Benutzer \u > " 

hinzu. Damit werden zwei Umgebungsvariablen gesetzt. Die Variable PS1 enthält eine Konfiguration der Eingabeaufforderung, die sich in einem neu gestarteten Terminal-Fenster nunmehr in der Form Benutzer kai > darstellt. Die zweite Variable hat eigentlich keinen wirklichen Wert, aber ihre bloße Existenz sorgt dafür, dass die Ausgabe des Befehls ls in farbiger Form erfolgt. Um diese Änderungen rückgängig zu machen, löschen Sie mithilfe von nano die beiden Zeilen aus der Datei .bash_profile.

7.3    Java installieren In den Anfangstagen von macOS war die Unterstützung von Java für Apple sehr wichtig, weil es nur wenige Programme gab, die speziell für macOS entwickelt wurden. Auf der anderen Seite gab es ein großes Angebot von Java-Applikationen, und insbesondere im Enterprise- sowie im Forschungsbereich erfreute und erfreut sich Java großer Beliebtheit. Im Laufe der Zeit hat Java für Apple an Bedeutung verloren, sodass auch die von Apple bereitgestellte Java Runtime eingestellt wurde. Unter macOS 10.13 müssen Sie daher Java selbst von den Servern Oracles herunterladen und installieren. Geben Sie am Terminal einfach javac ein, und es wird geprüft, ob bereits eine Java Runtime installiert ist. Ist keine vorhanden, dann erhalten Sie einen Hinweis (siehe Abbildung 7.22) und können direkt die Website von Oracle aufrufen. Laden Sie dort wahlweise das Paket für Anwender (JRE) oder Entwickler (JDK) für macOS herunter, und installieren Sie es über das Package mit dem Installationsprogramm von macOS. Nach der Installation finden Sie in den Systemeinstellungen die neue Ansicht Java, über die Sie das Java Control Panel starten (siehe Abbildung 7.23), sofern notwendig, um Java im Detail zu konfigurieren.

Abbildung 7.22    Java müssen Sie nachträglich installieren.

In einigen Fällen müssen Sie für Java die Umgebungsvariable JAVA_HOME setzen. Diese enthält die Pfadangabe zur aktuellen Installation von Java, die von einigen Programmen insbesondere am Terminal benötigt wird. Rufen Sie am Terminal den Befehl /usr/libexec/java_home auf, dann wird Ihnen dieser Pfad ausgegeben. Um die Umgebungsvariable bei jedem Start des Terminals automatisch zu setzen, fügen Sie der mit nano zu bearbeitenden Datei ~/.bash_profile die Zeile export JAVA_HOME=$(/usr/libexec/java_home)

hinzu. Damit wird der Befehl automatisch beim Öffnen eines neuen Terminal-Fensters mit der Shell bash ausgeführt und seine Ausgabe als Wert der Variablen JAVA_HOME zugewiesen.

Abbildung 7.23    Über das »Java Control Panel« nehmen Sie die Einstellungen vor.

8    Daten sichern Vor Datenverlusten ist niemand sicher. Mit der Time Machine bietet macOS eine einfach zu nutzende, aber dennoch leistungsfähige Lösung zur Datensicherung. Die regelmäßige Sicherung des Datenbestands ist unabdingbar, wird aber im Alltagsgeschäft nur zu oft vergessen. Auch waren in der Vergangenheit viele Programme und Verfahren zur Datensicherung für den weniger versierten Anwender unhandlich, bedurften bisweilen umfangreicher Konfigurationen und mussten dauerhaft überwacht werden. Außerdem war die Wiederherstellung verloren gegangener Daten oft kompliziert. Apple begegnete diesem Umstand mit der Einführung der Time Machine. Mit der Time Machine bietet Apple ein möglichst einfaches, aber auch zuverlässiges System. Dabei wird Wert auf eine intuitiv zu bedienende Oberfläche gelegt, während die Erstellung der Backups möglichst automatisch im Hintergrund erfolgt. In diesem Kapitel stelle ich zunächst einige grundlegende Überlegungen zur Sicherung von Daten an und erläutere das Funktionsprinzip der Time Machine. Die Konfiguration und die Wiederherstellung von Daten und Dateien sind ebenso Thema. In begrenztem Umfang lässt sich die Time Machine auch konfigurieren, ohne die Zuverlässigkeit zu gefährden. Allerdings ist die Time Machine nicht die einzige Möglichkeit. In Abschnitt 8.4 erkläre ich daher, wie Sie ein exaktes Duplikat Ihres Startvolumes auf einer externen Festplatte erzeugen. Ferner werde ich einige

Alternativen aufzeigen, die die Time Machine ersetzen oder ergänzen können.

8.1    Überlegungen im Vorfeld Eine regelmäßige Sicherung Ihrer Daten sollten Sie in jedem Fall in Betracht ziehen. Dies ist vor allem dann der Fall, wenn Sie Ihren Rechner beruflich einsetzen. Aber auch der unwiederbringliche Verlust von Familienfotos oder E-Mails kann sich als problematisch erweisen. Datenverluste können schnell auftreten – sei es durch einen Bedienungsfehler, einen Defekt des Rechners oder einen profanen Diebstahl. Das Konzept der Time Machine beruht darauf, auf einer externen Festplatte oder einem im Netzwerk freigegebenen Ordner im Hintergrund zunächst stündlich eine Sicherung der Daten Ihres Systems zu erstellen. Damit die stündliche Datensicherung möglichst schnell und effektiv erfolgt, werden hierbei nur die Dateien und Ordner gesichert, die in der Zwischenzeit neu erstellt oder geändert wurden. Die Kapazität der Festplatte, die Sie für die Sicherung nutzen, sollte mindestens doppelt so groß sein wie die Kapazität der Datenträger, deren Daten Sie sichern möchten.

Abbildung 8.1    Die stündlichen Sicherungen erfolgen in eigenen Ordnern.

Auf der Festplatte, die Sie für die Sicherung nutzen, wird dieses Konzept durch eine entsprechende Ordnerstruktur realisiert (siehe Abbildung 8.1). Während der Ordner Latest auf das aktuellste Backup verweist, finden Sie darunter die Ordner, die die stündlichen Backups enthalten. Der Zeitpunkt der Sicherung wird im Namen des Ordners festgehalten. Die Time Machine legt die Sicherungen immer in einem Ordner Backups.backupdb auf der obersten Ebene ab. Darunter finden Sie den Namen Ihres Rechners, den Sie in den Systemeinstellungen in der Ansicht Freigaben vergeben haben. Da mehrere Rechner die Sicherungen auf einer Festplatte vornehmen können, dient dies zur Unterscheidung. Die stündlichen Sicherungen beanspruchen natürlich entsprechend Speicherplatz auf dem Backup-Medium. Aus diesem Grund fasst die Time Machine die stündlichen Backups nach einem Tag zu einem täglichen Backup zusammen. Die Sicherung spiegelt dann den letzten Stand des vorigen Tages wider. Diese täglichen Backups werden nach einiger Zeit weiter zu wöchentlichen Backups zusammengefasst. Wenn die Speicherkapazität der Festplatte erschöpft ist, beginnt die Time Machine, schrittweise die ältesten Sicherungen zu löschen, um Platz für die aktuellen Sicherungen zu schaffen. Daher ist die Time Machine grundsätzlich nicht für die Archivierung von Daten geeignet. Wenn Sie eine Datei, die Sie in einem halben Jahr benötigen, löschen, weil sie ja in einem Backup gesichert wurde, werden Sie sie nach sechs Monaten wahrscheinlich nicht mehr rekonstruieren können, da sie zwischenzeitlich von der Time Machine aus dem Datenbestand entfernt wurde.

Abbildung 8.2    Im Dienstprogramm »Konsole« können Sie die aktuellen Vorgänge der Datensicherungen einsehen.

Über die aktuellen Vorgänge der Time Machine können Sie sich im Dienstprogramm Konsole informieren, indem Sie oben rechts im Textfeld »backupd« eingeben (siehe Abbildung 8.2). Die Anzeige wird dann auf die Zeilen begrenzt, die von dem Hintergrunddienst backupd geschrieben wurden. Dieser Dienst ist unter anderem für die Arbeit und Kontrolle der Time Machine zuständig.

Abbildung 8.3    Mit dem Befehl »log« kann die Arbeit der Time Machine nachverfolgt werden.

Möchten Sie einen detaillierten Verlauf der Aktivitäten erhalten, um beispielsweise in Erfahrung zu bringen, ob zu einem bestimmten Zeitpunkt ein Backup erfolgt oder fehlgeschlagen ist, dann können Sie am Terminal den Befehl log nutzen. Grenzen Sie mithilfe der Option --predicate die Anzeige auf das Subsystem

com.apple.TimeMachine ein, dann erhalten Sie alle Einträge, die

von der Time Machine protokolliert wurden. Mit der Eingabe von log show --predicate 'subsystem == "com.apple.TimeMachine"' --info

erhalten Sie eine vollständige Liste aller Einträge der Time Machine im Protokoll (siehe Abbildung 8.3), wobei der Zeitpunkt des Ereignisses in der ersten Spalte protokolliert wurde. Technisch liegt der Time Machine folgendes Verfahren zugrunde: Zunächst werden die Ordner innerhalb des Backups als sogenannte Hard Links (siehe Abschnitt 1.5) realisiert. Dies ist ein Verfahren, das dem Dateisystem HFS+ eigen ist. Daher müssen Sie eine Festplatte, die Sie für die Datensicherung nutzen möchten, mit diesem Dateisystem formatieren (siehe Abschnitt 3.2.2). Wird die Sicherung in einem Ordner vorgenommen, der im Netzwerk freigegeben wurde, dann erzeugt macOS zur Sicherung ein Disk-Image (siehe Abschnitt 3.2.5), das dann als quasi virtuelle Festplatte mit dem Dateisystem HFS+ fungiert. [+] Die Time Machine ist mit macOS 10.13.0 noch nicht in der Lage, die Sicherung auf einem Volume vorzunnehmen, das mit dem Dateisystem APFS versehen wurde. Der Grund besteht darin, dass APFS in der vorliegenden Version die Hard Links auf Verzeichnisse nicht unterstützt. Insofern müssen Sie die Festplatte mit dem Dateisystem HFS+ formatieren, um sie für die Time Machine nutzen zu können. Damit bei der stündlichen Datensicherung keine zeitraubende Suche nach den geänderten Dateien und Ordnern nötig ist, führt im Hintergrund der Dienst fseventsd Buch über die Änderungen im Dateisystem. Diese werden in einer Datenbank auf der obersten

Ebene des Dateisystems gespeichert, und die Datenbank wird von der Time Machine vor der Sicherung der Daten konsultiert. Aufgrund dieses Verfahrens eignet sich die Time Machine nicht für die Sicherung einiger Datentypen: Wenn eine Datei dauerhaft geöffnet ist und permanent Schreibvorgänge stattfinden, dann wird sie höchstwahrscheinlich von der Datensicherung nicht präzise erfasst. Dies ist bei Textdokumenten, die Sie regelmäßig speichern, natürlich nicht der Fall. Aber bei einem Datenbankserver, der dauerhaft auf die Datenbank und ihre Dateien zugreift, wird die Time Machine in den meisten Fällen kein funktionsfähiges Backup erstellen können. In einer solchen Situation sollten Sie, wie es bei der Administration von solchen Servern üblich ist, in regelmäßigen Abständen eine Kopie der Datenbank in einem sogenannten Dump erstellen. Letztere Datei würde dann von der Time Machine zuverlässig gesichert, da hier keine permanenten Änderungen stattfinden. Insofern sollten Sie im Vorfeld überlegen und überprüfen, woraus sich Ihr persönlicher Datenbestand zusammensetzt und ob er sich mit den beschriebenen Verfahren und Methodiken der Time Machine sichern lässt. In einigen Fällen kann es sinnvoll sein, die Time Machine durch weitere Maßnahmen zu ergänzen. Möchten Sie die Time Machine im Netzwerk einsetzen und Ihre Daten in einem freigegebenen Ordner sichern, dann sollten Sie darauf achten, dass Sie sich an die Vorgaben von Apple halten. Die Time Machine ist bei der Kommunikation im Netzwerk, wenn die zu sichernden Daten in den Zielordner kopiert werden, auf die Verwendung des Apple Filing Protocol (AFP) oder des SMB-Protokolls in einer aktuellen Version angewiesen. Das SMB-Protokoll muss genutzt werden, sofern Sie ein Medium sichern möchten, das mit dem Dateisystem APFS versehen wurde. AFP eignet sich für diese

Sicherung nicht. Der Grund besteht in dem Befehlssatz der beiden Protokolle, und AFP enthält nicht alle Befehle und Methodiken, die für die Sicherung eines APFS-Volumes notwendig sind. Viele Netzwerkfestplatten (NAS) mit einem integrierten Dateiserver bieten auch eine Unterstützung für AFP, die meist auf dem freien Projekt Netatalk[ 1 ] basiert. Ältere Varianten unterstützten AFP nicht vollständig, und einige Funktionen, die für die Verwendung der Time Machine unabdingbar sind, fehlen. Das Problem ist etwas tückisch, weil es erst zu einem späteren Zeitpunkt auftreten würde, wenn Sie feststellen müssen, dass Ihr Backup nicht funktionsfähig ist. Erst die Version 2.2 von Netatalk bot eine ausreichende Unterstützung. Prüfen Sie daher im Vorfeld, ob Ihr Gerät diese Version unterstützt. Andernfalls sollten Sie es besser nicht für ein Backup nutzen. [ ! ] Gänzlich abzuraten ist aus diesem Grund auch von etwaigen Hacks und Manipulationen, mit denen sich ein Backup auf einem Ordner erstellen lässt, der über die ältere Versionen der Protokolle NFS oder SMB freigegeben wurde. Es gibt gute, in erster Linie technische Gründe, dass Apple dies von vornherein ausschließt. Bei der Erstellung und Pflege einer Datensicherung zu experimentieren, verkehrt das Konzept Sicherheit in sein Gegenteil.

8.2    Die Time Machine konfigurieren und Backups erstellen Bei der Konfiguration der Time Machine gibt es im Vergleich zu anderen Backup-Methoden wenig zu beachten. Sie entscheiden sich zunächst für eine oder mehrere Festplatten beziehungsweise Ordner im Netzwerk. Dann können Sie noch Ordner gezielt von der Sicherung ausschließen, um Speicherplatz und Zeit zu sparen. Am Terminal steht Ihnen mit tmutil ein Befehl zur Verfügung, mit dem Sie einige weitere Optionen konfigurieren können. 8.2.1    Festplatten mit der Time Machine nutzen

Um die Datensicherung auf eine oder mehrere externe Festplatten zu beginnen, müssen Sie eine mit dem Dateisystem HFS+ formatierte Festplatte anschließen. Ist die Time Machine noch gar nicht konfiguriert, dann schlägt Ihnen das System beim Anschluss einer neuen Festplatte vor, diese als Backup-Medium zu nutzen (siehe Abbildung 8.4).

Abbildung 8.4    Schließen Sie eine neue Festplatte an, dann schlägt macOS die Nutzung als Backup-Medium vor.

Wenn Sie diese Festplatte Als Backup-Volume verwenden , dann können Sie zusätzlich entscheiden, ob Sie das Backup-Volume verschlüsseln

möchten. In diesem Fall werden Sie in den Systemeinstellungen aufgefordert, ein Passwort für das Backup zu vergeben (siehe Abbildung 8.5). Das System konvertiert dann die Partition in ein verschlüsseltes CoreStorage-Volume. Haben Sie die Verschlüsselung aktiviert, dann werden Sie jedes Mal, wenn das Backup-Medium aktiviert wird, nach dem Passwort gefragt. Das Passwort sollten Sie sich gut merken, denn wenn es verloren geht, dann erhalten Sie keinen Zugriff mehr auf das Backup. Sie können sich die Eingabe sparen, indem Sie es im Schlüsselbund sichern. Über den Fortschritt der Verschlüsselung sowie der Erstellung des ersten Backups können Sie sich in den Systemeinstellungen in der Ansicht Time Machine informieren (siehe Abbildung 8.6). Sie finden hier die ausgewählte Festplatte sowie den aktuellen Stand der Sicherung.

Abbildung 8.5    Das Passwort für ein verschlüsseltes Backup vergeben Sie in den Systemeinstellungen.

Wenn Sie nachträglich eine Partition, bei der Sie zuvor die Nutzung als Backup-Medium ausgeschlossen haben, für die Time Machine nutzen möchten, dann können Sie sie zu einem späteren Zeitpunkt in den Systemeinstellungen über den Eintrag Backup-Volume hinzufügen auswählen.

Abbildung 8.6    Der Fortschritt der Verschlüsselung wird in den Systemeinstellungen angezeigt.

Die Time Machine ist in der Lage, mehr als ein Zielmedium für die Sicherung der Daten zu nutzen. Haben Sie bereits eine Festplatte ausgewählt, dann können Sie über die Schaltfläche Backup-Volume hinzufügen oder entfernen ein weiteres Volumeauswählen. Ist mehr als eine Festplatte für die Datensicherung vorgesehen, dann sichert die Time Machine abwechselnd auf den Festplatten. Diese alternierende Datensicherung führt dazu, dass die Backups auf mehr als einem Datenträger vorhanden sind. Sollte eine der Festplatten durch einen Defekt ausfallen, dann können Sie direkt mit der anderen weiterarbeiten.

Abbildung 8.7    Die Time Machine kann in der Menüleiste angezeigt werden.

Über die Option Time Machine in der Menüleiste anzeigen fügen Sie der Menüleiste oben rechts ein Icon mit einer Uhr hinzu (siehe Abbldung Abbildung 8.7). Wird eine Sicherung vorgenommen, dann dreht sich der Pfeil um die Uhr. In dem Menü unterhalb werden Sie über den Fortschritt der aktuellen Datensicherung informiert und können auch eine Rekonstruktion der gesicherten Daten über den

Eintrag Time Machine öffnen (siehe Abschnitt 8.4.1) beginnen. Ferner können Sie über den Eintrag Backup jetzt erstellen veranlassen, dass auch außerhalb des üblichen Stundenintervalls eine Sicherung erstellt wird.

Abbildung 8.8    Der Zeitpunkt des letzten Backups wird in den Systemeinstellungen angezeigt.

In der Ansicht Time Machine der Systemeinstellungen wird der Zeitpunkt des ersten und letzten Backups aufgelistet. Konnte eine Zeitlang kein Backup vorgenommen werden, dann erscheint ein rotes Icon, das Sie darauf hinweist. Die Funktion derTime Machine können Sie, sofern Sie dies möchten, hier auch ausschalten. Aktivieren Sie die Time Machine zu einem späteren Zeitpunkt erneut, dann wird die Sicherung fortgesetzt, ohne dass Sie sie erneut konfigurieren müssen. 8.2.2    Datensicherung im Netzwerk

Die Sicherung über das Netzwerk ist mit der Time Machine problemlos möglich. Sie müssen dennoch darauf achten, dass Sie die korrekte Kombination von Netzwerk-Protokoll und Dateisystem auswählen. Wenn Sie ein Volume sichern möchten, das APFS verwendet, dann müssen Sie den Ordner über das Protokoll SMB

einbinden. Ansonsten sollten Sie bei NAS-Systemen darauf achten, dass Sie eine aktuelle Version von Netatalk und des Protokolls AFP nutzen.

Abbildung 8.9    Unter »Verfügbare Volumes« werden auch im Netzwerk freigegebene Ordner aufgeführt.

Um die Sicherung in einem freigegebenen Ordner vorzunehmen, müssen Sie diesen zuerst im Finder einbinden. Wenn Sie in den Systemeinstellungen die Option Backup-Volume hinzufügen oder entfernen aufrufen, dann erscheint der in Abbildung 8.9 dargestellte Dialog. Neben den verfügbaren Festplatten werden auch die über das Netzwerk eingebundenen Ordner aufgeführt, sofern die Time Machine auf diesen ein Backup vornehmen kann. Über den Eintrag Andere AirPort Time Capsule wird das AirPortDienstprogramm gestartet, sodass Sie eine AirPort-Station, die in den Systemeinstellungen noch nicht aufgeführt wurde, direkt konfigurieren können.

Abbildung 8.10    Die Time Machine speichert das Passwort.

Haben Sie einen im Netzwerk freigegebenen Ordner ausgewählt, dann erstellt dieTime Machine auf ihm ein Disk-Image mit dem Namen Ihres Computers, das anschließend als Backup-Medium unter dem Namen Time Machine-Backups aktiviert wird (siehe Abbildung 8.11). In diesem Disk-Image wird dann die eingangs erläuterte Ordnerstruktur angelegt. Ist Ihr Rechner mit einem WLAN verbunden, dann sollten Sie in Erwägung ziehen, ihn wenigstens für die Erstellung des ersten Backups mit einem Netzwerkkabel zu vernetzen. Der Grund besteht einfach in der Geschwindigkeit, denn die Erstellung des ersten Backups über eine drahtlose Verbindung kann einige Zeit in Anspruch nehmen. Es passiert zudem öfter, dass die Verbindung abbricht.

Abbildung 8.11    Die Datensicherung über das Netzwerk erfolgt in Disk-Images.

[+] Wenn Sie eine Sicherung in einem Ordner vornehmen möchten, den Sie korrekt eingebunden haben, erscheint er möglicherweise nicht in der Liste in den Systemeinstellungen. Prüfen Sie dann, ob Sie das korrekte Protokoll für den Datenaustausch genutzt haben. Sofern eine veraltete Version des SMB-Protokolls, etwa von einem Windows-Server genutzt wurde, steht Ihnen der Ordner nicht zur Auswahl. Ähnlich verhält es sich bei APFS-Volumes. Hier sollten Sie prüfen, ob der Ordner mittels AFP oder SMB eingebunden wurde. Für die Sicherung von APFS-Volumes sollten Sie unbedingt das Protokoll SMB nutzen, auch wenn die Systemeinstellungen unter macOS 10.13.0 auch die Auswahl eines Ordners erlauben, den Sie mit AFP freigegeben haben. Lösen können Sie dieses Problem jeweils, indem Sie den Ordner zuerst im Finder deaktivieren, dann über Gehe zu • Mit Server verbinden von Hand eine Verbindung mit dem anderen Rechner aufnehmen und dabei einen URL in der Form »afp://Name-desZielrechners.local« oder »smb://Name-des-Zielrechners/Name-derFreigabe« eingeben. Damit erzwingen Sie die Nutzung des jeweiligen Netzwerkprotokolls, und der Ordner wird als mögliches Zielmedium aufgeführt. 8.2.3    Weitere Konfigurationen vornehmen

In den Systemeinstellungen finden Sie in der Ansicht Time Machine unten rechts die Schaltfläche Optionen. Zunächst können Sie hier die Option Backup während Batteriebetrieb durchführen aktivieren. In den Standardeinstellungen wird bei einem mobilen Gerät keine Sicherung während des Batteriebetriebs durchgeführt, um Energie zu sparen. Ferner können Sie hier die Benachrichtigung nach dem Löschen von alten Backups auch abschalten (siehe Abbildung 8.12).

Ansonsten erhalten Sie einen Hinweis, wenn ein veraltetes Backup gelöscht wird, um Platz für aktuelle Sicherungen zu gewinnen.

Abbildung 8.12    Sie können Ordner von der Sicherung ausnehmen.

Um Platz zu sparen, können Sie Ordner und andere Festplatten gezielt von der Sicherung ausschließen. Hierzu wählen Sie über das Pluszeichen unterhalb der Liste aus, welcher Ordner oder welche Partition in Zukunft nicht mehr gesichert werden soll. Am Rande: Wenn Sie eine neue Partition auf einer Festplatte anlegen oder eine Festplatte neu formatieren und partitionieren, dann erfasst die Time Machine sie automatisch. Daher kann es sinnvoll sein, die Einstellungen der Time Machine zu überprüfen, wenn Sie einen neuen Datenträger konfiguriert haben. In den Standardeinstellungen werden auch die Ordner gesichert, die wie /usr und /etc zum Betriebssystem gehören und im Finder nicht sichtbar sind. Auch wird eine komplette Sicherung der Ordner /System und /Library erstellt. Damit wird es möglich, Ihr gesamtes System mit der Time Machine zu rekonstruieren, aber dieses Verfahren nimmt natürlich Speicherplatz in Anspruch. Möchten Sie Speicherplatz sparen, dann können Sie den Ordner /System von der Sicherung ausschließen. In diesem Fall erhalten Sie eine Rückfrage, ob Sie nur den Ordner oder Alle Systemdateien ausschließen möchten

(siehe Abbildung 8.13). Wählen Sie letztere Option, dann werden auch die nicht sichtbaren Verzeichnisse vom Backup ausgeschlossen.

Abbildung 8.13    Auch die Systemdateien können Sie von der Sicherung ausschließen.

8.2.4    Administration am Terminal mit »tmutil«

Einige Details der Time Machine können Sie am Terminal mit dem Befehl tmutil in Erfahrung bringen und konfigurieren. Hierbei steht Ihnen eine Reihe von Aktionen zur Verfügung. »tmutil« – Time Machine Utility tmutil Aktion [Parameter]

Um den Speicherverbrauch auf dem Backup-Medium besser zu überblicken, können Sie sich die Größe der einzelnen Speicherpunkte anzeigen lassen. Der Aktion müssen Sie den absoluten Pfad zum Backup-Verzeichnis Ihres Computers in der Form tmutil calculatedrift /Volumes/NamedesVolumes/Backups.backupd/NamedesCom puters übergeben (siehe Abbildung 8.14). Nach der Eingabe von tmutil calculatedrift kann es einige Zeit dauern, bis tmutil

die Änderungen berechnet hat.

Sie werden in der Ausgabe von tmutil darüber informiert, wie viel Speicherplatz bei einem Backup-Vorgang hinzugefügt (Added),

entfernt (Removed) und geändert (Changed) wurde. Eine Zeile wie 2017-10-14-000106 - 2017-10-14-140255

besagt, dass die erste Speicherung am 14. Oktober 2017 ungefähr um Mitternacht abgeschlossen wurde, die nachfolgende, deren Differenzen calculatedrift wiedergibt, am 14. Oktober 2017 um 14:02 Uhr.

Abbildung 8.14    Mit der Aktion »calculatedrift« lassen Sie die Größen der einzelnen Backups ausgeben.

Auf diese Weise können Sie Zeitpunkte, zu denen sehr große Dateien gesichert wurden, besser identifizieren. Anschließend können Sie in der grafischen Oberfläche der Time Machine zu diesem Zeitpunkt navigieren und die übergroßen Dateien von Hand löschen (siehe Abschnitt 8.3.1). Einen zu großen Speicherpunkt können Sie mit der Aktion delete auch löschen. Sie müssen den Befehl als Super-User mittels sudo ausführen und ihm den absoluten Pfad zu dem Zeitpunkt (entspricht dem Ordnernamen) in der Form sudo tmutil delete /Volumes/NamedesVolumes/Backups.backupd/NamedesCom puters/2017-10-14-220324 übergeben (siehe Abbildung 8.15).

Dieser Speicherzeitpunkt wird anschließend aus der Sicherung entfernt. In den meisten Fällen ist das händische Löschen von Zeitpunkten nicht sinnvoll, weil die Time Machine die ältesten Zeitpunkte bei Platzmangel von sich aus löscht. Auch müssen Sie Ihren Datenbestand und wie er sich im Laufe der Zeit geändert hat, sehr genau kennen, um zielgerichtet in die Historie der Sicherungen eingreifen zu können.

Abbildung 8.15    Ein Speicherzeitpunkt wurde mit »delete« gezielt gelöscht.

Über die aktuell genutzten Zielmedien werden Sie mit der Eingabe von tmutil destinationinfo informiert (siehe Abbildung 8.16). Sie erfahren dort, ob es sich um eine direkt angeschlossene Festplatte oder um einen freigegebenen Ordner handelt; bei Letzterem wird Ihnen auch die Netzwerkverbindung angezeigt. Nutzen Sie einen mobilen Rechner, dann erstellt die Time Machine unterwegs lokale Speicherungen, auch Snapshots genannt. Diese lokalen Sicherungen werden dann auf das eigentliche BackupMedium übertragen, wenn es wieder verfügbar ist. Dabei achtet das System auf genügend freien Speicherplatz, damit Sie unterwegs nicht mit einer vollen Festplatte konfrontiert sind. Ist nicht genügend Platz vorhanden, unterbleibt die Sicherung. Die Sicherung wird erst wieder aufgenommen, wenn das BackupMedium zur Verfügung steht. Mit der Eingabe von sudo tmutil disablelocal unterbinden Sie diese lokalen Backups in Zukunft gänzlich, mit sudo tmutil enablelocal aktivieren Sie sie wieder.

Abbildung 8.16    Die Aktion »destinationinfo« gibt die Zielmedien wieder.

Der Befehl tmutil bietet Ihnen noch einige weitere Aktionen, wie etwa restore, um Dateien gezielt aus einem Backup-Ordner wiederherzustellen, und startbackup --auto, um ein Backup in der Form zu erstellen, wie es vom System normalerweise erfolgen würde. Die über man tmutil (siehe Abschnitt 21.2.1) abrufbare Dokumentation ist recht umfassend. 8.2.5    Ein Time-Machine-Backup verlagern oder übernehmen

Wechseln Sie Ihren Rechner oder die Festplatte mit den Backups, dann stehen Sie vor der Frage, wie Sie mit den vorhandenen Sicherungen umgehen möchten. Natürlich können Sie, wenn Sie auf die bisher gespeicherten Daten verzichten möchten, einfach ein neues Backup-Verfahren konfigurieren. Es ist aber auch möglich, eine vorhandene Backup-Struktur zu verlagern oder mit einem anderen Rechner zu übernehmen. Um die Backup-Struktur von einer Festplatte auf eine andere zu verlagern, aktivieren Sie einfach beide Festplatten im Finder. Bei einer Sicherung im Netzwerk müssen Sie den freigegebenen Ordner im Finder einbinden und das Disk-Image von Hand aktivieren. Schalten Sie die Time Machine in den Systemeinstellungen vorübergehend aus, und kopieren Sie einfach den Ordner Backups.backupd auf die neue Festplatte. Die alte Festplatte können

Sie dann im Finder deaktivieren, die Time Machine in den Systemeinstellungen wieder anschalten und die neue Festplatte als Zielmedium konfigurieren. Kopieren Sie die Ordnerstruktur aus einem Disk-Image auf eine Festplatte, müssen Sie auf das korrekte Dateisystem achten. Zunächst verweigert der Finder den Kopiervorgang (siehe Abbildung 8.17), wenn Sie die Backup-Struktur auf ein APFS-Volume kopieren möchten. Ferner können Sie die Nachricht erhalten, dass das Volume die falsche Groß-/Kleinschreibung habe. Der Grund besteht hier darin, dass bei dem Disk-Image das Dateisystem Mac OS X Extended (Groß-/Kleinschreibung wird beachtet, journaled) genutzt wird, auf der neuen Festplatte jedoch lediglich Mac OS Extended (Journaled) Verwendung findet. Es wird also nicht zwischen Kleinund Großschreibung unterschieden. Die Lösung besteht darin, die neue Festplatte mit dem Dateisystem Mac OS Extended (Groß-/Kleinschreibung wird beachtet, journaled) zu formatieren.

Abbildung 8.17    Um die Backup-Struktur zu kopieren, muss das korrekte Dateisystem vorhanden sein.

Haben Sie einen neuen Rechner erworben, dann können Sie auch die bisherige Backup-Struktur mit dem neuen Rechner weiternutzen, indem Sie sie mittels tmutil übernehmen. Es ist auch möglich, ein Disk-Image in einem freigegebenen Ordner auf diese Weise einem anderen Rechner zuzuweisen. Für diese Übernahme sind zwei Aktionen notwendig, die Sie mit tmutil ausführen. Zunächst weisen Sie mit der Aktion inheritbackup die Backup-Struktur Ihrem Rechner zu (siehe

Abbildung 8.18). Im zweiten Schritt verbinden Sie mit associatedisk Ihr Startvolume mit der bestehenden BackupStruktur.

Abbildung 8.18    Mit der Aktion »inheritbackup« benennen Sie das Disk-Image um.

Der Aktion inheritbackup übergeben Sie den vollständigen Pfad zur Backup-Struktur inklusive des Namens Ihres Rechners. Der Aufruf könnte sudo tmutil inheritbackup /Volumes/NamederFestplatte/Backups.backupsd/Comput ername lauten. Möchten Sie ein Disk-Image transferieren, dann

müssen Sie zunächst dessen Ordner im Finder aktivieren und anschließend den Pfad zum Disk-Image angeben. Das Disk-Image wird während der Übernahme umbenannt.

Der zweite Schritt besteht darin, Ihr Startvolume mit der übernommenen Backup-Struktur zu verbinden. Hierzu nutzen Sie die Aktion associatedisk in Verbindung mit der Option -a, der Sie sowohl den Pfad zu Ihrem Startvolume (/) als auch den Pfad zum aktuellsten Backup übergeben. Der Aufruf könnte sudo tmutil associatedisk -a/ /Volumes/NamederFestplatte/Backups.backupd/Compute rname/Latest lauten (siehe Abbildung 8.19). Wird die Verbindung

mit einem Disk-Image hergestellt, dann müssen Sie dieses zuvor im Finder aktivieren.

Abbildung 8.19    Die Aktion »associatedisk« stellt die Verbindung zwischen den Volumes her.

Nachdem die Übernahme erfolgt ist und die Verbindung hergestellt wurde, deaktivieren Sie gegebenenfalls das Disk-Image. Anschließend können Sie in den Systemeinstellungen die Time Machine wieder aktivieren.

8.3    Daten aus der Time Machine wiederherstellen Im Falle eines Datenverlustes können Sie mit der Time Machine recht einfach Dateien, E-Mails und Kontakte wiederherstellen. Um die Time Machine aufzurufen, wählen Sie zunächst im TimeMachine-Menü den Eintrag Time Machine öffnen aus. Sie finden ferner unter Programme eine Applikation Time Machine. Legen Sie dieses Programm beispielsweise im Dock ab, um per Mausklick die Time Machine zuöffnen. 8.3.1    Gesicherte Dateien und Ordner verwalten

Wenn Sie die Time Machine starten, dann übernimmt ihre Oberfläche den gesamten Bildschirm (siehe Abbildung 8.20). In der Mitte finden Sie ein Finder-Fenster, das Ihnen entweder Ihren persönlichen Ordner oder den Ordner des Fensters anzeigt, das zuletzt im Vordergrund stand. Rechts sehen Sie eine Zeitleiste, die die Zeitpunkte der Sicherungen auflistet. Klicken Sie einen Zeitpunkt an, dann springt die Time Machine zu ihm und stellt Ihnen den Inhalt des Ordners so dar, wie er zu dem ausgewählten Zeitpunkt war. Mit den beiden Pfeilen blättern Sie durch die Zeitpunkte. [+] Während ich dieses Buch schrieb, trat mehrfach der Effekt auf, dass die Sicherungen, die seit dem letzten Neustart angelegt wurden, sich nicht darstellen ließen. Das Fenster blieb leer. In diesem Fall schaffte ein Neustart Abhilfe. Ferner können Sie in der Time Machine durch die Ordnerstruktur navigieren. Gab es zu dem ausgewählten Zeitpunkt einen mittlerweile gelöschten Ordner »Fotos«, dann wird dieser angezeigt,

und Sie können ihn mit einem Doppelklick wie im Finder öffnen. In der Seitenleiste werden Ihnen auch die Partitionen angezeigt, die ebenfalls von der Sicherung erfasst wurden. Somit können Sie sich eigentlich durch die gesamte Ordnerstruktur bewegen. Dabei vollzieht die Time Machine Ihre Bewegungen nach. Bei den Fenstern, die im Hintergrund verdeckt dargestellt werden, handelt es sich um Zeitpunkte. Sie können auch die Titelleiste des Fensters anklicken, um zu diesem Zeitpunkt zu springen. Existierte ein geöffneter Ordner erst ab einem bestimmten Zeitpunkt, also nicht zu Beginn der Datensicherung, dann werden entsprechend weniger Fenster hinter ihm dargestellt. Wissen Sie nicht mehr, wo sich die gelöschte Datei befand, dann können Sie auch die Suche über Spotlight mit dem Textfeld rechts oben im Fenster durchführen. Die Suche selbst dauert etwas länger, aber wenn sie ausgeführt wurde, erhalten Sie die Ergebnisse in der Form angezeigt, wie sie zum gewählten Zeitpunkt aussahen.

Abbildung 8.20    QuickLook und das Fenster »Infos zu« stehen auch mit der Time Machine zur Verfügung.

Haben Sie die verloren gegangene Datei oder den gesuchten Ordner gefunden, dann können Sie mit QuickLook (siehe Abbildung 8.20) und dem Fenster Infos zu kontrollieren, ob es sich um die

gewünschte Version handelt. Um die Datei oder den Ordner zu rekonstruieren, klicken Sie entweder auf die Schaltfläche Wiederherstellen unten rechts oder wählen im Menü Aktion der Symbolleiste den Eintrag Name wiederherstellen auf ... Bei Letzterem öffnet sich ein Dialog, in dem Sie den Ordner festlegen, in dem Sie die gelöschte Datei oder den Ordner wiederherstellen möchten. Nutzen Sie lediglich die Schaltfläche Wiederherstellen, dann wird die Datei oder der Ordner am ursprünglichen Platz rekonstruiert.

Abbildung 8.21    Über das Icon im Dock durchsuchen Sie andere Volumes.

Es ist mit der Time Machine auch möglich, Backup-Strukturen zu durchsuchen, die Sie aktuell gar nicht in Ihre Konfiguration einbezogen haben (siehe Abbildung 8.22). Somit können Sie schnell eine Datei oder einen Ordner aus einem anderen Backup rekonstruieren, sofern Sie Zugriff auf die Festplatte oder den freigegebenen Ordner haben.

Abbildung 8.22    Vorgefundene Backup-Strukturen werden zur Auswahl gestellt.

Halten Sie die Taste (alt) gedrückt, wenn Sie das Menü der Time Machine öffnen, dann ändert sich der Eintrag Time Machine öffnen in Andere Backup-Volumes durchsuchen (siehe Abbildung 8.21). Sie können auch das Kontextmenü über dem Icon der Time Machine im Dock aufrufen und dort den Eintrag Andere Time Machine-Volumes durchsuchen auswählen. In beiden Fällen öffnet sich ein Dialog, der Ihnen die gefundenen Backup-Strukturen zur Auswahl stellt. 8.3.2    Kontakte und Mails rekonstruieren

Mit der Time Machine können Sie nicht nur Dateien wiederherstellen, sondern auch direkt aus den Programmen Mail und Kontakte Daten wiederherstellen. Befindet sich eines dieser Programme und nicht der Finder im Vordergrund und rufen Sie die Time Machine auf, dann erscheint die Historie Ihrer E-Mails oder Kontakte. Auch hier können Sie sich zu unterschiedlichen

Zeitpunkten in der Vergangenheit zurückbewegen und verloren gegangene E-Mails und Kontakte suchen. Rekonstruieren Sie einen Kontakt, den Sie geändert und nicht gelöscht haben – existiert also noch ein gleichnamiger Kontakt –, dann wird er vom Programm Kontakte als Duplikat betrachtet. Sie können die Informationen anschließend zusammenführen. In Mails finden Sie die Nachrichten im Ordner Lokal • Time Machine • Wiederhergestellte E-Mails.

Abbildung 8.23    E-Mails lassen sich direkt über das Programm Mail wiederherstellen.

8.3.3    Das System aus der Time Machine wiederherstellen

Mit der Time Machine können Sie auch Ihr gesamtes System wiederherstellen, sollten Sie in die Situation kommen, dass es unbrauchbar geworden ist. Hierzu starten Sie Ihren Rechner von dem Rettungssystem (siehe Abschnitt 28.3). Neben dem Rettungssystem, das sich auf dem Datenträger neben Ihrem Startvolume befindet, verfügt auch die Festplatte, die Sie für die Datensicherung nutzen, über ein solches System.

Abbildung 8.24    Im Startmenü des Rettungssystems steht auch die Wiederherstellung aus der Time Machine zur Auswahl.

Haben Sie also nach einem Neustart während des Startgongs die Tastenkombination (š)+(R) gedrückt gehalten, dann erscheint zunächst der Begrüßungsbildschirm des Rettungssystems (siehe Abbildung 8.24). Hier könnten Sie zunächst zum Festplattendienstprogramm wechseln und den internen Datenträger neu partitionieren, sofern dies erforderlich ist. Über den Menüpunkt Aus Time Machine-Backup wiederherstellen gelangen Sie zur Auswahl der Datensicherung, die Sie für die Wiederherstellung nutzen möchten. Haben Sie Ihren Rechner mit dem Netzwerk verbunden, dann werden über eine AirPort-Station verfügbare Sicherungen automatisch kommuniziert. Allerdings müssen Sie hierzu über die Zugangsdaten verfügen, die vom Rettungssystem abgefragt werden. Beachten Sie, dass die Suche nach erreichbaren Backups einen kurzen Moment dauern kann.

Abbildung 8.25    Neben dem Zeitpunkt wird die jeweils aktuelle Version des Systems aufgeführt.

Nachdem Sie eine Quelle ausgewählt haben (siehe Abbildung 8.25), werden Ihnen im nächsten Schritt die darin enthaltenen Zeitpunkte der Sicherung angezeigt. Ferner wird die zu dem Zeitpunkt genutzte Version des Betriebssystems aufgeführt. Haben Sie sich für einen Zeitpunkt entschieden, dann wählen Sie im dritten Schritt die Partition, auf der Sie das System wiederherstellen möchten. Diese wird anschließend gelöscht und das System aus dem Backup wird wiederhergestellt. Dieser Vorgang kann einige Stunden in Anspruch nehmen. Haben Sie die Dateien des Betriebssystems von der Datensicherung ausgeschlossen, dann müssen Sie für die Rekonstruktion zunächst eine neue Installation von macOS vornehmen. Anschließend können Sie bei der ersten Einrichtung des Systems die Daten und Benutzerkonten aus dem Backup importieren.

8.4    Über die Time Machine hinaus Für ein normal genutztes System ist unter macOS die Time Machine nicht zuletzt aufgrund ihrer guten Integration ein hervorragendes Werkzeug zur Datensicherung. Aber abhängig von Ihren Anforderungen kann es sinnvoll sein, Alternativen und Ergänzungen in Erwägung zu ziehen. 8.4.1    Das Startvolume klonen

Das in Abschnitt 8.3.3 beschriebene Verfahren zur Wiederherstellung eines ganzen Systems aus einem Backup heraus ist ein wenig zeitraubend, da es Ihnen beim Defekt Ihres Systems keine sofort benutzbare Alternative zur Verfügung stellt. Daher kann es sinnvoll sein, auf einer weiteren Festplatte eine exakte Kopie Ihres Startvolumes zu erzeugen. Zu diesem Zweck wird die in Abschnitt 3.2.6 beschriebene Funktion zur Wiederherstellung im Festplattendienstprogramm genutzt. Das Vorgehen ist eigentlich ganz einfach und entspricht der Wiederherstellung aus einem Disk-Image. Starten Sie das Rettungssystem von macOS, indem Sie beim Startgong die Tastenkombination (š)+(R) gedrückt halten. In seinem Startmenü wählen Sie das Festplattendienstprogramm aus. In der Liste der verfügbaren Partitionen wählen Sie dann die Partition aus, auf die Sie Ihr Startvolume duplizieren möchten. Unter Wiederherstellen von wählen Sie das Startvolume aus. Nutzen Sie das Dateisystem APFS, dann müssen Sie die jeweilgen Container für die Wiederherstellung auswählen. Mit einem Klick auf die Schaltfläche Wiederherstellen wird der Kopiervorgang gestartet. Er

kann mehrere Stunden in Anspruch nehmen. Anschließend verfügen Sie über eine exakte Kopie. Dieses Verfahren nimmt natürlich Zeit in Anspruch, sodass eine tägliche Kopie Ihres Startvolumes eigentlich nicht infrage kommt. Aus diesem Grund erfreuen sich Programme wie SuperDuper![ 2 ] und Carbon Copy Cloner[ 3 ] großer Beliebtheit. Diese Programme duplizieren Ihr Startvolume während des laufenden Betriebs, sodass der Umweg über das Rettungssystem entfällt. Ferner werden nur die geänderten Dateien kopiert, sodass der Kopiervorgang recht schnell erledigt ist. Das Problem kann jedoch darin bestehen, dass aktuell geöffnete Dateien nicht kopiert werden. Bearbeiten Sie also beispielsweise eine große Datei in Photoshop mehrere Stunden, dann wird sie während dieser Zeit höchstwahrscheinlich nicht in die Sicherung einbezogen. Um diese Programme effektiv zu nutzen, sollten Sie alle Dateien sichern und alle Programme beenden. Erst dann starten Sie den Kopiervorgang. Da die Kopie während des laufenden Betriebs stattfindet, besteht ein Restrisiko, dass einige Dateien und Verzeichnisse nicht kopiert werden können. Dies ist insbesondere bei den Dateien der Fall, die von einem Systemdienst dauerhaft offen gehalten und beschrieben werden. [+] Achten Sie bei Programmen von Drittherstellern darauf, dass Sie die aktuellste Version nutzen, die auch APFS unterstützt. Bei Drucklegung waren noch nicht alle Tools in der Lage, mit APFS zu arbeiten. 8.4.2    Alternativen und Ergänzungen zur Time Machine

Die Time Machine ist in den meisten, aber eben nicht in allen Situationen eine gute Lösung. Insbesondere eignet sie sich nicht zur Archivierung von Datenbeständen. Auch ist eine Fernadministration im Netzwerk, wenn Sie eine Reihe von Rechnern

administrieren, nicht möglich. Ferner kann es gut sein, dass Sie nicht alle Ihre Dateien sichern möchten, sondern nur einen bestimmten Ordner, der Ihre geschäftskritischen Daten enthält. Außerdem wären Sie einem Wohnungsbrand hilflos ausgeliefert, da dabei auch die externe Festplatte oder AirPort-Station zerstört würde. Eine Ergänzung zur Time Machine kann darin bestehen, enorm wichtige Dateien in ein verschlüsseltes Disk-Image zu kopieren und dieses auf einen Speicherplatz im Internet hochzuladen. Damit geben Sie Ihre Daten zwar aus der Hand, aber die verschlüsselten Disk-Images galten bei der Abfassung dieses Buches als recht sicher. Es ist auch möglich, zeitgesteuert nur einen Teil der Ordner auf ein anderes Medium zu übertragen und dabei auf die Versionierung nach Zeitpunkten der Time Machine zu verzichten. Ein gutes Programm, mit dem Sie Ordner im Netzwerk abgleichen können, ist ChronoSync[ 4 ]. Möchten Sie die Datensicherung mehrerer Rechner zentral steuern, dann ist ein Blick auf das Programm Retrospect[ 5 ] sinnvoll. Retrospect ist ein Veteran unter den Backup-Systemen unter macOS und wechselte in der Vergangenheit öfter den Besitzer. Mittlerweile befindet sich das Programm im Besitz der Belegschaft. Retrospect ist eine etwas komplexere Software, die aber insbesondere für die Datensicherung im Netzwerk eine Client-Server-Architektur bietet.

9    Andere Welten: Windows, Linux und rEFInd Mit dem Wechsel auf die Intel-Prozessoren vor mehr als zehn Jahren ermöglichte Apple die Nutzung von Windows auf MacintoshRechnern. Und auch Linux lässt sich problemlos auf einem Mac installieren und nutzen. Die separate Installation von Windows kann nützlich sein, wenn Sie beispielsweise Spiele oder Anwendungen, die sehr viel Rechenzeit benötigen, unter Windows ausführen möchten. In diesem Fall ist eine Virtualisierung wie VMware Fusion oder Parallels oft nicht ausreichend, da die Simulation eines Windows-PCs selbst Rechenkapazität erfordert. Auch wenn Sie nur gelegentlich Programme unter Windows nutzen müssen, etwa für die Steuererklärung, ist eine Windows-Installation auf einer kleinen Partition nützlich; immerhin sparen Sie sich das Geld für die Virtualisierungsprogramme. Ähnlich verhält es sich mit Linux, das sich auf einem Rechner von Apple ebenfalls problemlos installieren lässt. Wenn Sie beispielsweise Software entwickeln, dann kann der kleine Geschwindigkeitsvorteil sich schnell auszahlen. Für die Installation von Windows ab Version 7 bringt macOS den Boot Camp-Assistenten mit. Dieses Programm lädt die Boot-CampTreiber herunter und erstellt Ihnen auf Wunsch auch einen startfähigen USB-Stick für die Installation. Ferner hilft es Ihnen bei der korrekten Partitionierung Ihrer Festplatte. Möchten Sie macOS, Windows und Linux auf Ihrem Rechner nebeneinander installieren, dann ist der Bootloader rEFInd eine

große Hilfe. Dieses Tool ermöglicht den Start von verschiedenen Betriebssystemen, bietet diese nach dem Start des Rechners zur Auswahl an und stellt einige Hilfsmittel zur Verfügung. In Abschnitt 9.2 stelle ich eine Strategie vor, mit der Sie alle drei Betriebssysteme auf einem Rechner installieren können. [ ! ] Beachten Sie, dass die Partitionierung des internen Datenträgers und die Installation eines oder mehrerer weiterer Betriebssysteme fehlerträchtig sind. Sie sollten vor der Installation eine vollständige Sicherung Ihrer Daten, zum Beispiel mit der Time Machine, erstellen.

9.1    Windows mit Boot Camp installieren Die Installation und Einrichtung von Windows erfolgt in mehreren Schritten. Zunächst nutzen Sie den Boot Camp-Assistenten , um die Boot-Camp-Treiber herunterzuladen und gegebenenfalls einen USBStick für die Installation vorzubereiten. Nachdem Sie eine Partition für Windows erstellt haben, installieren Sie nach einem Neustart Windows. Nach der Installation des Betriebssystems folgt dann die Installation der Boot-Camp-Treiber. Für die Installation sollten Sie gegebenenfalls einen USB-Stick zur Hand haben, dessen Kapazität wenigstens 16 GB umfasst. Dieser Stick sollte vom Typ USB 2 und nicht USB 3 sein. Nutzen Sie einen USB-3-Stick, dann schlägt die Installation fehl, weil Boot Camp USB 3 in Verbindung mit Windows nicht unterstützt. Der Grund besteht anscheinend in einem Problem mit den Treibern. Haben Sie lediglich einen USB-3-Stick zur Hand, dann können Sie einen USB-2Hub dazwischenschalten. Dies hat zur Folge, dass der USB 3-Stick auf USB 2 degradiert wird.

Beachten Sie, dass der Stick für die Installation vollständig gelöscht wird – Sie sollten eventuell vorhandene Daten also zunächst sichern. Bei einigen Rechnern ist kein USB-Stick erforderlich, da die Treiber auf einer temporären, nicht sichtbaren Partition gespeichert werden. Zu den unterstützten Modellen gehören die zur Drucklegung aktuellen Modelle des Mac Pro, des MacBook Pro (Retina) sowie des MacBook Air. Auf der Festplatte, auf der Sie Windows neben macOS installieren, sollte sich im Optimalfall keine weitere Partition außer dem APFSContainer in der ersten Partition befinden. Haben Sie Ihre interne Festplatte bereits in mehrere Partitionen unterteilt, die beispielweise mehrere APFS-Container oder CoreStorage-Volumes beinhalten, dann kann es sinnvoll sein, die Daten aus den zusätzlichen Partitionen zu kopieren und diese Partitionen anschließend zu löschen. Der Grund besteht darin, dass Windows reproduzierbare Probleme mit der Partitionstabelle hat, wenn sich neben der Partition beziehungsweise dem APFS-Container in der ersten Partition für macOS noch weitere Partitionen auf der Festplatte befinden. Dies ist insbesondere dann der Fall, wenn die weiteren Partitionen mithilfe vonCore Storage (siehe Abschnitt 3.1.4) erstellt wurden. Haben Sie Ihr Startvolume mit FileVault verschlüsselt, dann müssen Sie zur Installation von Windows die Verschlüsselung aufheben. 9.1.1    Der Boot Camp-Assistent

Der Boot Camp-Assistent führt Sie in mehreren Schritten durch die Vorbereitung. Wenn Sie über ein DVD-Laufwerk verfügen, dann können Sie die Installation auch mithilfe von DVDs vornehmen, also sowohl Windows als auch die Boot-Camp-Treiber auf DVD brennen. Einfacher ist es jedoch, wenn Sie einen USB-Stick

verwenden, der sowohl die Installationsdateien für Windows als auch für die Boot-Camp-Treiber enthält. Starten Sie den Boot Camp-Assistenten , dann stehen Ihnen nach der Begrüßung im zweiten Schritt (siehe Abbildung 9.1) zwei Optionen zur Auswahl. Zunächst können Sie ein Installationsmedium für Windows 7 oder neuer erstellen. Ist diese Option aktiviert, dann erfolgt auch automatisch der Download der aktuellsten Boot-Camp-Treiber, die ebenfalls auf den USB-Stick kopiert werden. Nehmen Sie die Installation von einer DVD vor oder haben Sie bereits anderweitig einen USB-Stick vorbereitet, dann können Sie die erste Option deaktivieren und lediglich die Option Neueste Software zur Unterstützung von Windows bei Apple laden auswählen. In diesem Fall werden die Treiber heruntergeladen und entweder auf einen USBStick oder in ein Verzeichnis geschrieben. Sofern Sie Windows 7 installieren, werden Sie auf eine Webseite von Apple weitergeleitet, auf der Sie die speziellen Treiber für Windows 7 separat herunterladen können. Am Rande: Möchten Sie lediglich die Treiber für Boot Camp herunterladen, dann können Sie sie über den Menüpunkt Aktion • Windows-Supportsoftware laden auf Ihre Festplatte laden.

Abbildung 9.1    Der Boot Camp-Assistent kann einen startfähigen USB-Stick erstellen.

Mit der Option Windows 7 oder neuere Version installieren wird nach dem Download der Treiber der eigentliche Installationsvorgang gestartet. Wählen Sie diese Option ab, dann können Sie den Assistenten auch nutzen, um einen USB-Stick für die Installation lediglich vorzubereiten. Für die in diesem Abschnitt beschriebene Beispielinstallation sollten Sie beide Optionen auswählen (siehe Abbildung 9.1). Im dritten Schritt (siehe Abbildung 9.2) wählen Sie unter ISO-Image zunächst die von Microsoft heruntergeladene ISO-Datei aus, die die Windows-Installation enthält. Es ist möglich, dass der Boot CampAssistent Ihnen von sich aus bereits eine Datei vorschlägt. Ferner wählen Sie unter Zielvolume den USB-Stick aus, der für die Installation genutzt werden soll. Ausgewählt wurde im Beispiel aus Abbildung 9.2 der USB-Stick (SanDisk ...).

Abbildung 9.2    Die Boot-Camp-Treiber werden zusammen mit dem Betriebssystem auf den USB-Stick geschrieben.

Mit einem Klick auf die Schaltfläche Fortfahren wird zunächst der USB-Stick gelöscht, dann werden die Windows-Installationsdateien auf den Stick kopiert, und im letzten Schritt erfolgt der Download der Boot-Camp-Treiber, die ebenfalls auf den Stick geschrieben werden. Dieser Vorgang kann, auch abhängig von der Geschwindigkeit Ihrer Internetverbindung, einige Zeit in Anspruch nehmen. Der USB-Stick trägt nach Abschluss der Kopiervorgänge den Namen WININSTALL. Nachdem Sie den Stick vorbereitet haben, können Sie im vierten Schritt des Assistenten die Festplatte unterteilen. Sie bestimmen die Größe der Windows-Partition, indem Sie die Trennlinie zwischen den Partitionen (siehe Abbildung 9.3) verschieben. Alternativ steht Ihnen die Funktion Gleichmäßig teilen zur Verfügung. Wenn Sie die interne Festplatte bereits in Partitionen unterteilt haben, dann fragt der Assistent Sie zuvor, welche der Partitionen verkleinert werden soll. Obwohl die Installation mit mehr als einer Partition für macOS prinzipiell möglich ist, so schlug sie doch

reproduzierbar mehrfach fehl, weil Windows hier Probleme hatte, die Partitionsmethode zu erkennen. Dies äußerte sich bei dem in Abbildung 9.4 dargestellten Schritt bei der Auswahl der Partition für Windows darin, dass die Installation nicht erfolgen konnte. Der Hinweis lautete unter anderem: Windows kann auf dem Datenträger nicht installiert werden. Der ausgewählte Datenträger entspricht nicht dem GPT-Partitionsstil.

Abbildung 9.3    Der Boot Camp-Assistent partitioniert die Festplatte vor der Installation.

[+] Bei der Recherche für dieses Buch trat bei Windows 10 und den von Microsoft zur Verfügung gestellten Disk-Images das Phänomen auf, dass aktuelle Disk-Images nicht auf den USB-Stick geschrieben werden konnten. Der Grund ließ sich nicht genau ermitteln, bestand aber anscheinend darin, dass eine Datei zu groß für den Kopiervorgang war. Ein älteres Disk-Image mit Windows 10, also eine etwas ältere Version, ließ sich hingegen problemlos auf den Stick übertragen. 9.1.2    Windows installieren

Nach der Partitionierung erfolgt ein Neustart; Sie sollten daher unbedingt alle geöffneten Dokumente vorher speichern. Der Neustart erfolgt von dem USB-Stick, und der Installationsvorgang für Windows beginnt. Auch hier werden Sie schrittweise durch die Installation geleitet. Die einzelnen Schritte (wie die Auswahl der Sprache sowie die Eingabe der Seriennummer Ihrer WindowsLizenz) sind selbsterklärend. Gelangen Sie im Windows Setup zu dem Punkt Wo möchten Sie Windows installieren?, dann wählen Sie hier zunächst die Partition aus; in Abbildung 9.4 ist Laufwerk 0 Partition 4 für Windows vorgesehen.

Abbildung 9.4    Die über den Boot Camp-Assistenten erstellte Partition muss mit dem Dateisystem NTFS formatiert werden.

Zunächst finden Sie noch die Angabe Windows kann nicht auf Laufwerk "0", Partition "4" installiert werden. (Details anzeigen). Klicken Sie sie an, dann informiert Windows Setup Sie darüber, dass die Partition nicht über das Dateisystem NTFS verfügt. Mit einem Klick auf die Schaltfläche Formatieren wird der Inhalt dieser Partition gelöscht und ein neues Dateisystem vom Typ NTFS aufgespielt.

[ ! ] Achten Sie unbedingt darauf, dass Sie die richtige Partition auswählen und nicht versehentlich die Partition mit macOS löschen. Auch sollten Sie von den anderen Optionen wie Erweitern, Treiber laden oder Löschen keinen Gebrauch machen. Diese Funktionen sind nur sinnvoll, wenn Sie um einen handelsüblichen PC verwenden. Für einen Apple-Rechner haben Sie die notwendigen Schritte bereits über den Boot Camp-Assistenten vorgenommen. Wurde die Partition formatiert, dann steht Ihnen die Schaltfläche Weiter zur Auswahl. Die weitere Installation verläuft automatisch, wobei der Rechner mehrfach neu gestartet wird. Sie werden dann von Windows aufgefordert, ein neues Benutzerkonto mit einem Passwort anzulegen. Ist die Anmeldung mit diesem Benutzerkonto vollzogen, ist die Installation des Grundsystems abgeschlossen. 9.1.3    Boot-Camp-Treiber installieren und nutzen

Nach der ersten Anmeldung wird, bei eingestecktem USB-Stick, automatisch das Installationsprogramm für die Boot-Camp-Treiber gestartet (siehe Abbildung 9.5).

Abbildung 9.5    Die Installation der Boot-Camp-Treiber wird automatisch gestartet.

Die Installation können Sie mit einem Klick auf die Schaltfläche Weiter beginnen. Sie läuft automatisch ab und kann einige Minuten in Anspruch nehmen. Abschließend muss ein Neustart erfolgen, damit die Änderungen wirksam werden. Die Boot-Camp-Treiber ermöglichen Ihnen unter Windows auch den Lesezugriff auf die Volumes, die unter macOS mit dem Dateisystem HFS+ formatiert wurden. Neben den Gerätetreibern – unter anderem für die Grafikkarte – wird ein Element für die Systemsteuerung von Windows installiert. Dieses Element öffnen Sie mit einem Rechtsklick auf das Boot-Camp-Symbol im Infobereich der Windows-Taskleiste. Es steht Ihnen auch in der klassischen Ansicht der Systemsteuerung (siehe Abbildung 9.6) zur Verfügung.

Abbildung 9.6    Boot Camp konfigurieren Sie über die Systemsteuerung.

Die Systemsteuerung stellt Ihnen zunächst das Startvolume (siehe Abbildung 9.7) zur Auswahl. Wenn Sie APFS für Ihr Startvolume nutzen, dann steht Ihnen dieses wenigstens mit der zur Drucklegung des Buchs aktuellen Version der Boot-Camp-Treiber nicht zur Verfügung. Außerdem können Sie eine Fernbedienung von Apple mit Windows verbinden sowie die Funktionsweise der Taste (fn) festlegen. Schließlich steht Ihnen noch die Option zur Verfügung, nach einem Stromausfall einen automatischen Neustart auszuführen.

Abbildung 9.7    Das Startvolume können Sie in der Systemsteuerung auswählen.

9.1.4    Windows starten und nutzen

Welches Betriebssystem Ihr Rechner nach einem Neustart nutzen soll, können Sie zunächst über die Ansicht Startvolume der Systemeinstellungen unter macOS oder in der Systemsteuerung von Windows bestimmen. Alternativ können Sie die Taste (alt) gedrückt halten, wenn der Startgong Ihres Rechners erklungen ist. Dadurch wird der Startvorgang zunächst unterbrochen, und es werden Ihnen die verfügbaren Betriebssysteme zur Auswahl gestellt (siehe Abbildung 9.8). Mit den Pfeiltasten wählen Sie ein System aus, und mit (¢) beginnen Sie den Startvorgang.

Abbildung 9.8    Zur Auswahl des Systems halten Sie die Taste (alt) gedrückt.

Windows-Tastatur Apple-Tastatur

(é)

(š)

(Druck)

(F14)

(Pause)

(F16)

Windows-Tastatur Apple-Tastatur @: (AltGr)+(Q)

rechte (alt)+(L)

Tabelle 9.1    Tastenbelegung unter Windows

Unter Windows sollte aufgrund der Boot-Camp-Treiber auch die Taste zum Auswerfen eines Mediums auf der Apple-Tastatur funktionieren. Alternativ können Sie im Windows Explorer auch das DVD- oder CD-Laufwerk auswählen und in der Menüleiste den Eintrag Auswerfen anklicken. Darüber hinaus unterscheidet sich die Tastenbelegung unter Windows von derjenigen unter macOS (siehe Tabelle 9.1). 9.1.5    Windows entfernen

Wenn Sie Windows zu einem späteren Zeitpunkt wieder entfernen möchten, können Sie erneut den Boot Camp-Assistenten verwenden. Dieser erkennt automatisch, ob eine Partition eine WindowsInstallation enthält, und bietet Ihnen dann anstelle der WindowsInstallation an, Windows zu löschen. Der Löschvorgang entfernt die Partition selbst und fügt den frei gewordenen Speicherplatz dem Volume für macOS hinzu. Sie sollten daher alle Dateien, die Sie weiterhin benötigen, zuvor sichern. 9.1.6    Nützliche Tools für Windows

Arbeiten Sie intensiver mit Windows, dann könnten die kommerziellen HFS-Treiber[ 6 ] der Firma Paragon eine sinnvolle Investition sein. Diese ermöglichen Ihnen auch den Schreibzugriff auf HFS-Partitionen unter Windows. Paragon bietet für macOS auch Treiber, die den Schreibzugriff auf NTFS-Partitionen ermöglichen.

Zur Datensicherung können Sie einerseits auf eine Fülle von kommerziellen und kostenlosen Backup-Programmen unter Windows zurückgreifen. Eine interessante Alternative stellt das Programm Winclone 6[ 7 ] von Twocanoes dar. Winclone ist in der Lage, unter macOS eine Boot-Camp-Partition mit Windows zu klonen, ähnlich wie es das Festplattendienstprogramm für eine Partition mit macOS ermöglicht.

9.2    Windows, Linux und macOS mit rEFInd installieren Wenn Sie neben Windows auch noch Linux als drittes System installieren möchten, dann benötigen Sie für die Installationen eine andere Strategie, als sie durch den Boot Camp-Assistenten automatisch vorgegeben wird. Darüber hinaus bietet es sich an, mit rEFInd ein Tool zur Steuerung des Startvorgangs zu nutzen und auf die Möglichkeit zu verzichten, mit der Taste (alt) das Betriebssystem auszuwählen. Die Aufgabe von rEFInd besteht darin, dass das Tool vor dem Start des Betriebssystems ausgeführt wird. Es durchsucht die angeschlossenen Festplatten und Medien nach startfähigen Betriebssystemen, stellt Ihnen diese zur Auswahl und initiiert den Startvorgang des ausgewählten Systems. Bei rEFInd handelt es sich um den Nachfolger des Projekts rEFIt, für dessen Pflege sein Entwickler keine Zeit mehr aufbringen konnte. Während rEFIt ursprünglich in erster Linie das Ziel verfolgte, einen Bootloader für Apple-Rechner zu entwickeln, steht beim Nachfolgeprojekt rEFInd normale PC-Hardware im Vordergrund, die mittlerweile ebenfalls den UEFI-Standard nutzt. Dies schlägt sich unter anderem in der Dokumentation des Projekts nieder: AppleHardware und ihre Besonderheiten werden nicht mehr so prominent dargestellt. Dennoch ist rEFInd nach wie vor auf Apple-Rechnern ein sehr nützliches Werkzeug; lediglich der Schwerpunkt hat sich ein wenig verschoben. Das eigentliche Problem besteht im Startvorgang von Windows, wenn es auf einem Apple-Rechner genutzt wird. An und für sich ist Windows ebenso wie macOS in der Lage, den Startvorgang über das moderne Extensible Firmware Interface (EFI) vorzunehmen. Dessen

Aufgabe besteht darin, dem Betriebssystem den Zugriff auf die Hardware des Rechners zu ermöglichen. Eine ältere Methode, die denselben Zweck erfüllt, ist das Basic Input/Output System (BIOS). Windows ist allerdings nicht in der Lage, das EFI eines AppleRechners in dieser Form zu nutzen, stattdessen erfolgt der Startvorgang über eine Simulation des BIOS. Bei einem Start mittels BIOS wird auf einem handelsüblichen PC das Betriebssystem über einen sogenannten Master Boot Record (MBR) (siehe Abschnitt 3.2.2) gestartet. Dieses Partitionsschema kann auf einem Apple-Rechner aber nicht genutzt werden, um macOS zu starten. Um Windows jedoch von einer Festplatte mit der GUIDPartitionstabelle (siehe Abschnitt 3.2.2) starten zu können, ist der Start über EFI zwingend notwendig. Da dies auf einem AppleRechner nicht möglich ist, konfiguriert der Boot Camp-Assistent einen hybriden MBR, der neben der GUID-Partitionstabelle existiert und den Start von Windows ermöglicht. Das geschieht unsichtbar im Hintergrund, wenn Sie den Assistenten nutzen. Möchten Sie neben Windows noch Linux installieren, dann tritt dieses Problem zutage, da nach der Installation von Linux der hybride MBR nicht mehr mit den Partitionen der Festplatte synchron ist. Der Startvorgang von Windows schlägt fehl, und die Installation ist defekt. Dies lässt sich unter Linux jedoch mit dem Programm gdisk nachträglich korrigieren. Um Windows und Linux neben macOS zu installieren, bietet sich das nachfolgend beschriebene Vorgehen an. Es gäbe sicherlich noch andere Methoden, aber die hier beschriebenen Installationsschritte und ihre Reihenfolge haben sich auf mehreren Rechnern reproduzierbar als funktionsfähig erwiesen.

Eine Migration der installierten Betriebssysteme von einem Datenträger auf einen anderen ist in dieser Form nur schwer möglich. Wenn Sie die interne Festplatte Ihres Rechners ausgetauscht haben, dann werden Sie um eine händische Migration Ihrer Daten und die erneute Installation der drei Betriebssysteme nicht herumkommen. [ ! ] Sie sollten dennoch im Hinterkopf behalten, dass bei allen Schritten die Gefahr von Fehlern und Datenverlust besteht. Sichern Sie daher unbedingt, bevor Sie mit der Installation im Einzelnen beginnen, alle Daten und Dateien – beispielsweise mit der Time Machine – auf eine externe Festplatte. Trennen Sie diese Festplatte von Ihrem Rechner, nachdem Sie die Daten gesichert haben, auch um zu vermeiden, dass Sie versehentlich die Festplatte mit dem Backup löschen oder partitionieren. Im Vorfeld der Installation sollten Sie einen USB-Stick für die Windows-Installation erstellen, indem Sie die in Abschnitt 9.1.1 beschriebene Option Installationsmedium für Windows 7 oder neuer erstellen nutzen, aber auf die Installation von Windows dann verzichten. [+] Diese Installation habe ich mit Windows 10 ausprobiert. Die Installation von Windows 7 ist auf diese Weise nicht möglich. Bei der Verwendung von Windows 8 ließen sich keine stabilen Resultate erzielen. Die weitere Installation besteht aus folgenden Einzelschritten: 1. Sollten Sie nicht über ein DVD-Laufwerk verfügen, dann können Sie einen zweiten USB-Stick für die Installation von Linux vorbereiten und nutzen (siehe Abschnitt 9.2.1). 2. Zunächst unterteilen Sie die interne Festplatte in insgesamt drei Partitionen (siehe Abschnitt 9.2.2). Sollte es sich bei dem

Startvolume Ihres Systems um eine logische Core-StoragePartition (siehe Abschnitt 3.1.4) handeln, dann müssen Sie diese zunächst in eine reguläre Partition umwandeln. 3. Anschließend installieren Sie den Bootloader rEFInd (siehe Abschnitt 9.2.3). Er wird unter macOS installiert. 4. Die Installation von Windows nehmen Sie über den USB-Stick vor (siehe Abschnitt 9.2.4). 5. Die Installation von Linux nehmen Sie über den USB-Stick vor. Verzichten Sie sowohl auf die Installation des Boot-Loaders Grub sowie die Einrichtung einer eigenen Swap-Partition. Die Installation von Linux führt zu einem zunächst korrupten MBR (siehe Abschnitt 9.2.5). 6. Nach der Installation von Linux erstellen Sie eine Swap-Datei und konfigurieren das System so, dass es die Swap-Datei anstelle der Swap-Partition nutzt. 7. Den MBR korrigieren Sie unter Linux mithilfe des Programms gdisk so, dass die Windows-10-Installation wieder startfähig wird (siehe Abschnitt 9.2.5). 9.2.1    Linux herunterladen und einen USB-Stick vorbereiten

Für die Installation von Ubuntu Linux sollten Sie die DesktopVersion 16.04 LTS nutzen. Das Kürzel LTS steht für Long Term Support und besagt, dass diese Version für die nächsten fünf Jahre unterstützt wird. Sie können unter http://www.ubuntu.com/download/desktop eine 64-Bit-Version herunterladen, und zwar in Form einer ISODatei namens ubuntu16.04.3-desktop-amd64.iso.

Wenn Sie über ein DVD-Laufwerk verfügen, dann können Sie die heruntergeladene Datei im Finder auswählen, über den Menüpunkt Ablage • Image ... brennen direkt auf einen Rohling schreiben und so eine startfähige DVD erzeugen. Verfügen Sie über kein DVD-Laufwerk oder möchten Sie gleich einen USB-Stick für die Installation nutzen, dann müssen Sie die Datei auf den USB-Stick schreiben. Hierbei ist das einfache Kopieren der Dateien und Ordner aber nicht ausreichend, auch das Festplattendienstprogramm kann keinen unter Linux startfähigen USB-Stick erstellen.

Abbildung 9.9    Mit dem Befehl »hdiutil« konvertieren Sie die Datei.

Es sind ein paar Befehle am Terminal notwendig, die die Datei zunächst konvertieren und anschließend – mithilfe des Befehls dd – auf den USB-Stick übertragen. Wenn sich die Datei in dem Ordner Downloads befindet, dann wechseln Sie am Terminal zunächst mit der Eingabe cd ~/Downloads

in das Verzeichnis (siehe Abbildung 9.10). Der nächste Schritt besteht darin, mithilfe des Befehls hdiutil die Datei zu konvertieren. Die Eingabe lautet nun:

hdiutil convert ubuntu-16.04.3-desktop-amd64.iso format UDRW -o ubuntu.img

Nach der Konvertierung finden Sie im Verzeichnis Downloads die Datei ubuntu.img.dmg. Die Dateiendung .dmg wird von hdiutil automatisch angefügt, und mit der Eingabe von mv ubuntu.img.dmg ubuntu.img

benennen Sie die Datei in ubuntu.img um. Nun können Sie den USBStick anschließen, auf den Sie die Installationsdateien von Ubuntu übertragen möchten. Starten Sie anschließend das Festplattendienstprogramm, und deaktivieren Sie alle aktivierten Partitionen des USB-Sticks, indem Sie sie auswählen und anschließend die Schaltfläche Deaktivieren in der Symbolleiste anklicken. Der USB-Stick selbst sollte in der Liste in der linken Spalte noch sichtbar bleiben. Abschließend wählen Sie den USB-Stick aus und merken sich dann die Angabe unter Gerät (siehe Abschnitt 3.1.2).

Abbildung 9.10    Mit dem Befehl »dd« übertragen Sie die Daten auf den Stick.

Am Terminal (siehe Abbildung 9.10) starten Sie nun den Kopiervorgang mit der Eingabe von sudo dd if=ubuntu.img of=/dev/disk3 bs=1m

gefolgt von der Eingabe Ihres Passworts, wobei Sie die Angabe disk3 gegebenenfalls durch die Gerätenummer Ihres USB-Sticks ersetzen müssen. Der Kopiervorgang kann einige Zeit in Anspruch nehmen. Währenddessen erzeugt dd eine exakte Kopie der

Datenstrukturen der Datei ubuntu.img auf dem USB-Stick. Zwischenzeitlich erhalten Sie möglicherweise eine Meldung, dass das eingelegte Medium nicht gelesen werden könne (siehe Abbildung 9.11). Auf diese Meldung sollten Sie so lange nicht reagieren, wie der Kopiervorgang läuft. Wenn am Terminal der Cursor und der Prompt wieder erscheinen, ist der Kopiervorgang abgeschlossen, und Sie können den USB-Stick nun deaktivieren beziehungsweise Auswerfen.

Abbildung 9.11    Der Hinweis auf ein nicht lesbares Medium erfolgt in Einzelfällen zu früh.

9.2.2    Die Festplatte partitionieren

Wenn Sie nun über startfähige DVDs oder USB-Sticks mit Ubuntu Linux und Windows 10 verfügen, müssen Sie die interne Festplatte partitionieren. Zu Beginn der Installation sollte sich nur eine Partition mit dem eigentlichen Betriebssystem auf der internen Festplatte befinden. Andere Partitionen sollten Sie zunächst löschen und die darauf enthaltenen Dateien gegebenenfalls auf eine externe Festplatte übertragen. Für die Installationen können Sie nur die normalen Partitionen sowie den APFS-Container für das System nutzen: Die Verwendung von Core Storage führt in diesem Zusammenhang reproduzierbar zu einigen Problemen. Prüfen Sie daher zunächst, ob die Partition Ihres Systems in Form einer logischen Core-Storage-Partition vorliegt.

Am Terminal können Sie zu diesem Zweck einfach diskutil list eingeben. Ob sich Ihr Startvolume auf einer logischen Core-StoragePartition befindet, erkennen Sie an der Angabe Apple_CoreStorage. Damit die Installation von Linux, Windows und rEFInd erfolgen kann, muss diese logische CoreStoragePartition in eine normale Partition umgewandelt werden. Mit dem Befehl diskutil nehmen Sie über die Aktion cs revert die Konvertierung vor. Der Befehl erwartet in diesem Fall die Gerätedatei (siehe Abschnitt 3.1.2) der logischen Partition. Wenn auf dem internen Datenträger keine Core-Storage-Partitionen mehr vorhanden sind, gilt es, die Partitionen für die Betriebssysteme einzurichten. Sie benötigen vier Partitionen. Beachten Sie im Vorfeld, dass Sie die Größe der Partitionen im Nachhinein nicht mehr ändern können, ohne die Betriebssysteme neu zu installieren und die Dateien zuvor zu sichern. Die folgenden vier Partitionen sind nötig: 1. Startvolume für macOS

Diese Partition sollte so groß sein, wie Sie sie für macOS und Ihre Daten benötigen. 2. Systempartition für Linux

Auf dieser Partition wird das Betriebssystem Linux installiert. Die Größe sollte ausreichend sein für die Daten, die Sie unter Linux verwalten möchten. Auf dieser Partition wird anschließend auch die Swap-Datei erstellt und konfiguriert, sodass Sie keine separate Swap-Partition benötigen. 3. Systempartition für Windows

Auf dieser Partition wird Windows installiert. Sie sollten der Partition für Windows ausreichend Platz zuweisen. Insbesondere Spiele benötigen oft etliche Gigabyte an

Speicherplatz. Diese Partition müssen Sie nach der Erstellung mit dem Dateisystem FAT formatieren. Neben diesen drei zunächst auch im Finder sichtbaren Partitionen gibt es noch bis zu zwei weitere unsichtbare Partitionen: EFI und Recovery HD. Während bei Verwendung von APFS für das Startvolume nur die EFI-Partition vorhanden ist, finden Sie bei Verwendung von HFS+ zusätzlih noch die Partition Recovery HD. Diese Partitionen bleiben erhalten. Wählen Sie im Festplattendienstprogramm die Ansicht Alle Geräte einblenden für die Seitenleiste. Um die drei Partitionen anzulegen, bietet es sich an, sie nacheinander im Festplattendienstprogramm zu erstellen. Versuchen Sie hingegen, in einem Arbeitsschritt Ihre Festplatte in die vier Partitionen zu unterteilen, dann schlägt dies bisweilen fehl. Insofern sollten Sie zuerst die Partition beziehungsweise den APFSContainer für das macOS-Startvolume teilen und die Größe anpassen. Die neue Partition vom Format Mac OS Extended (Journaled) sollten Sie mit »Linux« bezeichnen. Nachdem Sie diese Änderungen angewandt haben, rufen Sie erneut die Funktion Partitionieren auf und teilen die neue Partition. Hierbei ist die dritte im Festplattendienstprogramm sichtbare Partition für Windows vorgesehen. Wählen Sie unter Format das MS-DOS-Dateisystem (FAT) aus, geben Se als Name »Windows« vor, und passen Sie die Größe entsprechend an. Nachdem Sie diese Änderungen vorgenommen haben, sollten die verfügbaren Partitionen den in Abbildung 9.12 dargestellten entsprechen, wobei die Größe natürlich variiert. Möglicherweise wird die mit »Windows« bezeichnete Partition auch nur als »W« dargestellt.

Abbildung 9.12    Die Partitionen werden mit dem Festplattendienstprogramm nacheinander erstellt.

Geben Sie nach der schrittweisen Erstellung der Partitionen am Terminal den Befehl diskutil list ein, dann sollte dessen Ausgabe in etwa Abbildung 9.13 entsprechen, wobei natürlich die Größenangaben in der Spalte SIZE gemäß Ihren Vorgaben abweichen können. Notieren oder merken Sie sich ferner die Angaben in der Spalte links unterhalb der Angabe /dev/disk0. Die Systempartition beziehungsweise den APFS-Container für macOS sprechen Sie über die Gerätedatei /dev/disk0s2 an, die Partition für das Linux-System über /dev/disk0s3 und die Partition für Windows über /dev/disk0s4. Diese Angaben sind wichtig, damit Sie bei der Installation von Linux nicht versehentlich die falsche Partition auswählen. Unter Linux werden die Partitionen nicht als /dev/disk0, sondern in der Form /dev/sda angesprochen. Die Partition für das Linux-System hat also die Kennung /dev/sda3. Identifizieren können Sie die Partitionen später auch anhand ihrer Größe. Daher kann es sinnvoll sein, sich auch die Größen der Partitionen zu notieren.

Abbildung 9.13    Für die Installationen wurden drei Partitionen erstellt.

9.2.3    rEFInd installieren und konfigurieren

Bevor Sie rEFInd installieren können, müssen Sie die System Integrity Protection (SIP, siehe Abschnitt 16.2.2) deaktivieren. Starten Sie hierzu das Rettungssystem (siehe Abschnitt 28.3) und wechseln dort zum Dienstprogramm Terminal. Mit der Eingabe von csrutil disable wird der Schutz deaktiviert. Anschließend starten Sie Ihren Rechner neu. Der nächste Schritt besteht dann in der Installation von rEFInd. Auf der Website des Projekts unter http://refind.sf.net können Sie ein ZIP-Archiv herunterladen, das die notwendigen Dateien enthält. Die Beschreibungen in diesem Abschnitt basieren auf der Version 0.11.1. rEFInd bringt neben dem eigenlichen Bootloader noch eine Reihe von Skripten und Hilfsmitteln mit (siehe Abbildung 9.14). Im Ordner docs finden Sie die vollständige Dokumentation von rEFInd. Mit dem Skript refind-install installieren Sie rEFInd in der sonst unsichtbaren Partition EFI. Diese beinhaltet die für den Start des Systems notwendigen Dateien, die um rEFInd ergänzt werden. Die EFI-Partition ist mit dem MS-DOS-Dateisystem (FAT) versehen und kann im Finder durchaus aktiviert werden. Hierzu können Sie das

Skript mountesp nutzen. In der Begrifflichkeit von rEFInd wird die EFI-Partition auch als ESP bezeichnet.

Abbildung 9.14    Neben dem eigentlichen Bootloader bringt rEFInd noch eine Reihe von Skripten mit.

Abbildung 9.15    Das Skript »refind-install« übernimmt die Installation von rEFInd.

Haben Sie das Archiv heruntergeladen und extrahiert, dann wechseln Sie am Terminal mit der Eingabe von cd Downloads/refind-bin-0.11.1 in das Verzeichnis, sofern Sie die ZIP-Datei im Ordner Downloads gespeichert und extrahiert haben (siehe Abbildung 9.15). Mit der Eingabe von sudo ./refind-install

installieren Sie rEFInd in der sonst nicht sichtbaren EFI-Partition. Diese können Sie anschließend durch die Eingabe von sudo ./mountesp

aktivieren. Die Partition wird im Finder mit der Bezeichnung EFI angezeigt und im Verzeichnis /Volumes/ESP aktiviert (siehe Abbildung 9.16).

Abbildung 9.16    Mit dem Skript »mountesp« wird die »EFI«-Partition aktiviert.

[ ! ] Mutwillige Änderungen an den Dateien der EFI-Partition sollten Sie keinesfalls vornehmen. Zur rEFInd-Installation gehören die Ordner refind sowie tools (siehe Abbildung 9.17). Um rEFInd zu deinstallieren, können Sie diese Ordner nach Aktivierung der Partition in den Papierkorb bewegen und diesen entleeren. Keinesfalls sollten Sie Änderungen an dem Verzeichnis APPLE vornehmen.

Abbildung 9.17    Die sonst unsichtbare »EFI«-Partition enthält die Ordner »refind« sowie »tools«.

[+] Auch wenn die eigentliche Installation von rEFInd mit der Ausführung von sudo ./refind-install abgeschlossen ist, sollten Sie den Ordner nicht löschen, sondern aufbewahren.

Zunächst werden Sie das Skript refind-install erneut ausführen wollen, wenn ein Installationsprogramm eines Betriebssystems die Auswahl von rEFInd als Bootloader rückgängig gemacht hat. Das Skript refind-install respektiert eine schon vorhandene Konfigurationsdatei. Die Konfiguration von rEFInd nehmen Sie in der Datei refind.conf vor, die sich im Verzeichnis refind auf der »EFI«-Partition befindet. Hierbei handelt es sich um eine einfache Textdatei, die umfangreich dokumentiert wurde. Sie können die Datei mit der Eingabe von sudo nano /Volumes/ESP/EFI/refind/refind.conf

im Editor nano (siehe Abschnitt 21.4.2) öffnen und bearbeiten. Änderungen an der Datei werden beim nächsten Start des Rechners wirksam. Für die in diesem Kapitel beschriebenen Installationen sind Änderungen an der Datei refind.conf nicht notwendig. Änderungen können jedoch nützlich sein, wenn Sie die Darstellung oder die Suche nach vorhandenen Betriebssystemen durch rEFInd konfigurieren möchten. 9.2.4    Windows 10 installieren

Wurde rEFInd erfolgreich installiert, dann wird nach einem Neustart nicht mehr macOS oder ein anderes System, sondern rEFInd ausgeführt. Der Bootloader präsentiert Ihnen die gefundenen und startfähigen Betriebssysteme sowie die zuvor konfigurierten Tools. Mit den Pfeiltasten wählen Sie ein System oder Tool aus, und mit (¢) starten Sie es anschließend.

Abbildung 9.18    Zur Installation von Windows muss der Start über den »Fallback boot loader from WININSTALL« erfolgen.

Haben Sie den USB-Stick mit der Windows-Installation eingesteckt, dann stellt Ihnen rEFInd bis zu vier verschiedene Möglichkeiten zur Auswahl, einen Start von dem USB-Stick durchzuführen. Wählen Sie hier den Eintrag Boot Fallback boot loader from WININSTALL aus, um Windows 10 im korrekten Modus zu starten (siehe Abbildung 9.18). Die Installation von Windows mittels rEFInd unterscheidet sich in ihrem Ablauf nicht von einer Installation, die Sie mit dem Boot Camp-Assistenten vornehmen. Achten Sie bei der Auswahl der Partition, die Sie für die Windows-Installation nutzen möchten, darauf, dass Sie die richtige Partition auswählen und nicht versehentlich beispielsweise den APFS-Container überschreiben. Auch bei der Installation überrEFInd müssen Sie die Partition mit dem Dateisystem NTFS versehen. Bei den Neustarts, die während der Installation von Windows unweigerlich durchgeführt werden, müssen Sie darauf achten, dass das Windows-System von der Festplatte ausgeführt wird. In den Regel wird rEFInd von der Installationsroutine von Windows außer Kraft gesetzt, sodass der Start von Windows automatisch erfolgt. [+] Haben Sie die Installation von Windows vorgenommen und wurde rEFInd dabei deaktiviert, dann halten Sie die Taste (alt) bei

einem Neustart gedrückt, starten macOS und installieren, wie in Abschnitt 9.2.3 beschrieben, rEFInd erneut. 9.2.5    Ubuntu Linux installieren

Nach der Installation von Windows können Sie die Installationsmedien auswerfen beziehungsweise abziehen. Um Linux zu installieren, stecken Sie den USB-Stick mit der LinuxInstallation ein oder greifen auf die DVD zurück. Führen Sie einen Neustart aus; dann stellt Ihnen rEFInd eine Reihe weiterer Systeme zur Auswahl. Zum Start der Installation von Linux wählen Sie einen Eintrag mit einem Pinguin als Icon (Boot EFI\boot\grubx63.efi ...) aus (siehe Abbildung 9.19).

Abbildung 9.19    Der USB-Stick mit der Linux-Installation steht unter rEFInd zur Auswahl.

Im ersten, noch textbasierten Dialog wählen Sie nicht die Option für die Installation für Ubuntu! Wählen Sie stattdessen den Eintrag Try Ubuntu without installing über die Pfeiltasten aus, und drücken Sie (¢). Es mag auf den ersten Blick irritieren, dass zur Installation von Ubuntu das enthaltene Demo-System gestartet wird. Der Grund

besteht darin, dass das Installationsprogramm von Ubuntu immer den Bootloader grub2 in den MBR schreibt und dort Änderungen vornimmt. Um zu vermeiden, dass der Bootloader grub2 überhaupt installiert wird (seine Aufgabe übernimmt ja rEFInd) starten Sie das Installationsprogramm ubiquity mit der Option -b.

Abbildung 9.20    Das Installationsprogramm »ubiquity« wird mit der Option »-b« gestartet.

Diesen Start veranlassen Sie, indem Sie in dem Demo-System das Terminal von Ubuntu aufrufen, und dort das Installationsprogramm durch die Eingabe von ubiquity -b

starten. Möglicherweise ist die amerikanische Tastaturbelegung unter Ubuntu voreingestellt, sodass die eigentliche Eingabe »ubiquitz ßb« lautet. Im ersten Schritt wählen Sie die Sprache aus. Anschließend werden Sie gefragt, ob Sie Updates während der Installation herunterladen möchten. Ferner steht Ihnen zur Auswahl, ob Sie Software von Drittanbietern installieren möchten. Zu Letzterer gehört unter anderem die Unterstützung für MP3-Dateien, bei der es sich nicht um freie Software handelt. Beide Optionen können Sie aktivieren, wobei der Download der Pakete ein wenig Zeit in Anspruch nimmt.

Im Dialog Installationsart (siehe Abbildung 9.21) gelangen Sie über die Schaltfläche Etwas anderes zur Auswahl der Partitionen, auf denen die Linux-Installation erfolgen soll. Hierbei müssen Sie beachten, dass die Festplatten und Partitionen unter Linux in der Form /dev/sda für die Festplatte, gefolgt von der Nummer der Partition, angesprochen werden. Die Partition /dev/disk1s2 unter macOS entspräche der Partition /dev/sda2 unter Linux.

Abbildung 9.21    Für eine individuell angepasste Installation wählen Sie die Option »Etwas anderes«.

[ ! ] Auch wenn Ihnen der Installationsassistent von Ubuntu Linux die Möglichkeit bietet, neue Partitionen zu erstellen und vorhandene zu löschen, sollten Sie von dieser Möglichkeit keinen Gebrauch machen. Dies würde zu fehlerhaften Partitionstabellen führen.

Abbildung 9.22    Die zuvor unter macOS erstellte Partition wird für das Linux-System genutzt.

Wählen Sie zunächst die Partition aus, die in der Spalte Laufwerk mit der Angabe /dev/sda3 aufgeführt wird (siehe Abbildung 9.22). Prüfen Sie dabei anhand der Größe, die in MB und nicht in GB angegeben wird, ob es sich auch um die Partition handelt, die Sie für das LinuxSystem nutzen möchten. Mit der Schaltfläche Ändern rufen Sie dann einen Dialog auf. In dem Ausklappmenü Benutzen als wählen Sie mit dem Eintrag Ext 4-Journaling-Dateisystem das Dateisystem aus und geben als Einbindungspunkt die oberste Ebene der Ordnerstruktur über den Eintrag / vor. Die Option Partition formatieren aktivieren Sie hierbei noch nicht. Bevor Sie über die Schaltfläche Jetzt installieren die Partitionen formatieren und mit der Installation beginnen, sollten Sie prüfen, ob Sie die korrekte Partition ausgewählt haben. Klicken Sie nun auf die Schaltfläche Jetzt installieren, dann erhalten Sie den Hinweis, dass Sie keine Partition zur Verwendung als SwapSpeicher ausgewählt haben. Diese Rückfrage bestätigen Sie mit Weiter, da anstelle einer Partition nach der Installation eine SwapDatei konfiguriert wird. Die weitere Installation von Ubuntu Linux erfolgt mithilfe des Assistenten weitgehend automatisch. Im weiteren Verlauf legen Sie die Region fest und wählen die Tastaturbelegung aus. Hier steht Ihnen neben der generischen deutschen Tastaturbelegung auch eine Belegung speziell für Apple-Tastaturen zur Auswahl. Im letzten Schritt erstellen Sie ein erstes Benutzerkonto unter Linux und vergeben für dieses ein Passwort. Ferner geben Sie in diesem Dialog vor, unter welchem Namen Ihr Linux-System im Netzwerk

erscheinen soll. Die Installation von Ubuntu Linux wird mit einem Neustart abgeschlossen. Nach der Installation sollten Sie das neue Linux-System starten und sich dort anmelden. Es gilt nun abschließend zwei Konfigurationen vorzunehmen: Da keine Swap-Partition vorhanden ist, müssen Sie eine SwapDatei erstellen und das Linux-System entsprechend konfigurieren. Da der hybride MBR aufgrund der Installationsvorgänge nicht mehr mit der realen Partitionstabelle synchron ist, muss ein neuer hybrider MBR erstellt werden. Hierzu wird unter Linux das Programm gdisk genutzt. Zur Erstellung und Konfiguration der Swap-Datei starten Sie unter Linux das dortige Terminal (siehe Abbildung 9.23). Mit der Eingabe von sudo dd if=/dev/zero of=/swapfile bs=1024 count=8192000

erstellen Sie eine ungefähr 8 GB große und zunächst leere Datei mit dem Namen swapfile. Dieser Vorgang kann abhängig von der Geschwindigkeit Ihres Datenträgers, ein paar Minuten in Anspruch nehmen.

Abbildung 9.23    Die Swap-Datei wird erstellt und anschließend aktiviert.

Die Eingabe von sudo mkswap /swapfile

gefolgt von sudo swapon /swapfile

markiert und aktiviert die Datei als Auslagerungsspeicher. Abschließend korrigieren Sie mit sudo chmod 600 /swapfile

noch die Zugriffsrechte. Damit nach dem nächsten Systemstart die Swap-Datei genutzt wird, ergänzen Sie abschließend noch die Datei /etc/fstab um einen Eintrag. Mit der Eingabe von sudo nano /etc/fstab

starten Sie den auch unter Linux verfügbaren Editor nano. Fügen Sie der Datei am Ende folgende Zeile hinzu: /swapfile     swap     swap     default     0      0

Nachdem Sie die Änderungen gespeichert haben, führen Sie einen Neustart durch. Wenn Sie nun das Programm Systemüberwachung starten, finden Sie im Reiter Ressourcen auch die Speicher- und Auslagerungschronik. Hier sollten Sie unter Swap eine Größenangabe von knapp 8 GB finden.

Abbildung 9.24    Die Datei »/etc/fstab« wird um eine Zeile ergänzt.

Nach der Erstellung und Konfiguration der Swap-Datei müssen Sie abschließend den hybriden MBR korrigieren beziehungsweise aktualisieren, um Windows 10 wieder startfähig zu bekommen. Mit der Eingabe von sudo gdisk /dev/sda

Abbildung 9.25    Mit dem Programm »gdisk« wird ein neuer hybrider MBR erstellt.

starten Sie am Terminal unter Linux das Programm gdisk. Dessen Modus können Sie durch die Eingabe von Buchstaben ändern, während Sie durch die Eingabe von »?« eine kurze Übersicht der aktuell verfügbaren Befehle erhalten. Mit der Eingabe von »x«

wechseln Sie in den sogenannten Expertenmodus. Geben Sie nun »n« ein, dann wird ein neuer hybrider MBR erstellt. Mit der abschließenden Eingabe von »w« sowie der Bestätigung der Rückfrage mittels »Y« werden die Änderungen auf die Festplatte geschrieben. Die Eingabe von »q« beendet gdisk. Führen Sie nun einen Neustart aus, dann ist auch die WindowsInstallation wieder voll funktionsfähig. 9.2.6    Spezielle Startmodi von macOS mit rEFInd ausführen

Wenn Sie rEFInd nutzen, dann steht Ihnen zwar nach wie vor die Möglichkeit zur Verfügung, mit der Taste (alt) ein Betriebssystem auszuwählen. Aber die meisten Tastenkombinationen für spezielle Startmodi von macOS (siehe Abschnitt 28.4) funktionieren nicht. Sie können stattdessen über rEFInd macOS in einem speziellen Modus starten, indem Sie den Eintrag für macOS auswählen und dann die Taste (F2) drücken. Anschließend stellt rEFInd Ihnen die einzelnen Modi zur Auswahl (siehe Abbildung 9.26). Mit (¢) lösen Sie den ausgewählten Startvorgang aus. Zum Start des Rettungssystems von macOS wählen Sie in der Hauptauswahl vonrEFInd das Symbol mit der Rettungsweste aus. Um Ihr System im FireWire-Festplattenmodus, auch Target-DiskModus genannt, zu starten, halten Sie die Taste (T) nach dem Startgong gedrückt oder führen in den Systemeinstellungen in der Ansicht Startvolume den FireWire-Festplattenmodus aus.

Abbildung 9.26    rEFInd stellt auch die speziellen Startmodi von macOS zur Auswahl.

9.2.7    rEFInd anpassen und entfernen

Neben den speziellen Startmodi und dem Rettungssystem bietet rEFInd Ihnen ein paar weitere Konfigurationsoptionen. Hierfür müssen Sie die »EFI«-Partition mit dem Skript mountesp (siehe Abschnitt 9.2.3) aktivieren. So können Sie beispielsweise die Wartezeit von 20 Sekunden, bis ein System gestartet wird, anpassen, indem Sie die Konfigurationsdatei mit der Eingabe sudo nano /Volumes/ESP/EFI/refind/refind.conf im Editor nano öffnen und in der Zeile timeout den Wert erhöhen oder auf 0 setzen. In diesem Fall erfolgt kein automatischer Start eines Systems. Wenn Sie die Datei refind.conf aufmerksam durchgehen, werden Sie eine Reihe weiterer Optionen finden, unter anderem für den Hintergrund von rEFInd. Mit diesen eher kosmetisch zu nennenden Optionen können Sie experimentieren. Sie sollten aber immer im Hinterkopf behalten, dass eine fehlerhafte Konfiguration von rEFInd die Mühen der vorgenommenen Installation zunichtemachen kann und Ihr Rechner dann nicht mehr startfähig wäre. Darüber hinaus finden Sie im Ordner icons die Grafiken, auf die rEFInd zurückgreift.

Wenn Sie rEFInd nicht mehr nutzen wollen, dann können Sie einfach die Ordner /refind und tools in den Papierkorb verschieben und diesen entleeren. Starten Sie dann die Systemeinstellungen von macOS, wechseln Sie in die Ansicht Startvolume, und wählen Sie hier das System aus, das nach einem Neustart ausgeführt werden soll. Die eingerichteten Partitionen mit den installierten Betriebssystemen können Sie abschließend im Festplattendienstprogramm entfernen.

TEIL III

Vernetztes Arbeiten Die Vernetzung von Rechnern und der Austausch von Daten sind das Thema der folgenden Kapitel. Neben der grundlegenden Einrichtung einer AirPort-Basisstation als Router werde ich die Konfiguration von Netzwerkschnittstellen erläutern sowie die Freigabe von Dateien und Ordnern, die Fernsteuerung von Rechnern und die Integration von macOS in ein WindowsNetzwerk beschreiben.

10    Mehr als ein einfacher Router: Die AirPortBasisstation Auf dem Markt gibt es eine Vielzahl von Routern, mit denen Sie die Verbindung ins Internet herstellen können. Apples hauseigene Lösung, die AirPort-Basisstation, ist ein vollwertiger Router, der auch in der Lage ist, Drucker und Festplatten im Netzwerk zur Verfügung zu stellen. In diesem Kapitel werden wir eine AirPort-Basisstation Schritt für Schritt konfigurieren. Zuerst nehmen wir die grundlegenden Einstellungen vor, sodass die Basisstation eine Verbindung ins Internet herstellen kann. Daran anschließend zeige ich Ihnen, wie Sie das (drahtlose) Netzwerk im Detail konfigurieren und auf diese Weise auch Server in Ihrem lokalen Netzwerk weltweit verfügbar machen können. Im dritten Schritt bespreche ich die Freigabe von USB-Festplatten im Netzwerk und die Konfiguration von Netzwerkdruckern. Die Beschreibungen stützen sich auf die AirPort-ExtremeBasisstation. Dabei gelten sie auch für die AirPort Time Capsule, die bereits eine Festplatte enthält, sowie für die AirPort Express. Das Kapitel stellt keine Einführung in Netzwerktechnologien dar. Zwar werden einige Begriffe wie etwa DHCP erklärt, aber wenn Sie ein etwas komplexeres Netzwerk installieren möchten, dann müssen Sie zu weiterführender Literatur greifen. Dort werden Ihnen die Grundlagen, beispielsweise der Netzwerkprotokolle TCP/IP, erklärt. Das so erworbene Wissen können Sie jedoch direkt anwenden, da Sie in diesem Kapitel erfahren, wo sich die jeweiligen

Einstellungen in der Konfiguration befinden. Das Ziel dieses Kapitels ist eine Konfiguration der Basisstation, mit der Sie an die Basisstation angeschlossene Laufwerke im Netzwerk unter anderem für die Time Machine nutzen können und beispielsweise einen lokal installierten Apache Webserver mittels Port-Weiterleitung (siehe Abschnitt 10.2.3) im Internet erreichbar machen. Die AirPort-Stationen bieten, anders als etwa die FRITZ!Box oder die Produkte von Netgear, keine Konfiguration über den Browser an. Stattdessen wird das AirPort-Dienstprogramm genutzt, das Sie im Verzeichnis Dienstprogramme im Ordner Programme finden. Es bietet eine zunächst vielleicht etwas gewöhnungsbedürftige, aber dann komfortable Oberfläche und erlaubt auch die Überwachung der Basisstationen. Im Gegensatz zu anderen Geräten verfügen die AirPortBasisstationen nicht über ein DSL-Modem. Um über die Basisstation eine Verbindung ins Internet aufnehmen zu können, müssen Sie daher ein DSL-Modem oder ein anderes, für die Art Ihres Internetanschlusses geeignetes Gerät erwerben und konfigurieren. Beim Verbinden der Geräte müssen Sie darauf achten, dass Sie den WAN-Anschluss an das Modem anschließen. WAN steht in diesem Zusammenhang für Wide Area Network. Die LAN-Anschlüsse (Local Area Network) werden für das lokale Netzwerk genutzt.

10.1    Inbetriebnahme und erste Schritte Die erste Konfiguration einer neuen oder zurückgesetzten (siehe Abschnitt 10.1.5) Basisstation nehmen Sie mithilfe eines Assistenten vor. Anschließend können Sie die Internetverbindung, das drahtlose Netzwerk sowie die Funktion Zugang zu meinem Mac an Ihre Anforderungen anpassen. Ferner bietet Ihnen die Basisstation die

Möglichkeit, die Konfiguration in einer Datei zu speichern, und kann auf die Werkseinstellungen zurückgesetzt werden. 10.1.1    Erstinstallation und grundlegende Konfiguration

Es gibt zwei Möglichkeiten, die erste Konfiguration der Basisstation vorzunehmen. Sie können Ihren Rechner mit einem Ethernet-Kabel direkt mit der Basisstation verbinden. Es ist aber auch möglich, die Konfiguration über ein drahtloses Netzwerk vorzunehmen, da die Basisstation im Werkszustand ein unverschlüsseltes drahtloses Netzwerk erstellt.

Abbildung 10.1    Die neue Basisstation wird im Menü »Andere WLAN-Geräte« aufgelistet.

Sobald Sie die Basisstation verkabelt – also mit Ihrem DSL-Modem verbunden – und eingeschaltet haben, können Sie das AirPortDienstprogramm starten. Dieses sucht zunächst nach Basisstationen in Ihrem lokalen Netzwerk. Ferner wird nach drahtlosen Netzwerken gesucht, die von einer Basisstation erstellt wurden, die auf eine Konfiguration wartet. Über die Schaltfläche

Andere WLAN-Geräte links oben (siehe Abbildung 10.1) rufen Sie eine Liste der gefundenen und noch nicht konfigurierten Stationen ab. Der Installationsassistent der AirPort-Basisstation schlägt im ersten Schritt vor, ein drahtloses Netzwerk anzulegen, und bittet Sie um die Eingabe des Namens und des Passwortes. In diesem Dialog finden Sie links unten die Schaltfläche Weitere Optionen, mit der Sie die detailliertere Installation veranlassen.

Abbildung 10.2    Über die Schaltfläche »Weitere Optionen« rufen Sie diesen Dialog auf. In ihm können Sie auch die Anbindung an ein bestehendes Netzwerk oder die Übernahme einer Konfiguration auswählen.

Zunächst stellt Ihnen der Assistent drei Methoden zur Auswahl (siehe Abbildung 10.2). Wählen Sie hier die Option Zu einem vorhandenen Netzwerk hinzufügen, dann sucht die Basisstation nach drahtlosen Netzwerken und stellt Ihnen diese zur Auswahl. Wählen Sie hier Ihr schon existierendes drahtloses Netzwerk aus und geben das Passwort ein, dann wird das Netzwerk um die Reichweite der neuen Basisstation erweitert. Ferner ist es möglich, sollten Sie bereits über eine Basisstation verfügen, über die Option Vorhandenes

Gerät ersetzen die Konfiguration der alten Basisstation zu importieren und auf der neuen Basisstation einzusetzen. In diesem Beispiel konfigurieren Sie über die Option Neues Netzwerk erstellen ein neues Netzwerk. Im nächsten Schritt (siehe Abbildung 10.3) geben Sie zunächst den Namen, unter dem Sie Ihr Netzwerk später identifizieren möchten, sowie den Namen der Basisstation ein, der Ihnen später im Dienstprogramm angezeigt wird. Sie sollten dann die Option Nur ein Passwort benutzen abwählen. Würden Sie sowohl für das Netzwerk als auch für den Zugang zur Konfiguration der Basisstation dasselbe Passwort nutzen, dann könnte jeder Benutzer, der sich im Netzwerk anmelden kann, dieses auch konfigurieren. Dies ist in den meisten Fällen unerwünscht, und Sie sollten daher sowohl das Netzwerkpasswort als auch das Passwort der Basisstation festlegen. Die Option Laufwerk mit separatem Passwort sichern können Sie deaktiviert lassen; dieses Passwort vergeben wir in Abschnitt 10.3.1. Über die Schaltfläche Weiter gelangen Sie zum nächsten Schritt.

Abbildung 10.3    Für die Administration der Basisstation und das drahtlose Netzwerk können Sie unterschiedliche Passwörter vergeben.

Zum Abschluss der Konfiguration geben Sie die Zugangsdaten für Ihre Internetverbindung ein (siehe Abbildung 10.8). Die Werte für Accountname sowie für Passwort müssen Sie bei Ihrem Internetanbieter erfragen. Der PPPoE-Dienstname kann eigentlich frei gewählt werden, in der Regel sollte es sich um den Namen Ihres Anbieters handeln. Die Abkürzung PPPoE steht für PPP over Ethernet und besagt, dass das Einwahlverfahren Point-to-Point Protocol über eine Ethernet-Verbindung erfolgt.

Abbildung 10.8    Geben Sie die Zugangsdaten für die Verbindung ins Internet im Assistenten ein.

Mit einem erneuten Klick auf die Schaltfläche Weiter schließen Sie die Installation ab. Es kann einen Moment dauern, bis die Basisstation konfiguriert und neu gestartet wurde. Nach einem Neustart versucht die Station, die Verbindung ins Internet aufzunehmen. Sofern die eingegebenen Zugangsdaten korrekt waren, erscheint die Basisstation anschließend im AirPortDienstprogramm. Klicken Sie sie einmal an, dann erscheint ein schwebendes Fenster (siehe Abbildung 10.5), das Sie über den aktuellen Status informiert. Mit der Schaltfläche Bearbeiten können

Sie die detaillierte Konfiguration vornehmen; diese werde ich in den folgenden Abschnitten erläutern.

Abbildung 10.5    Nach der Installation wird die konfigurierte Basisstation im Dienstprogramm angezeigt.

Bevor Sie jedoch die Basisstation im Detail konfigurieren, sollten Sie noch die Voreinstellungen des Dienstprogramms anpassen. Diese rufen Sie über den Menüpunkt AirPortDienstprogramm • Einstellungen auf. Bei den Voreinstellungen (siehe Abbildung 10.6) ist es ratsam, die Optionen Beim Öffnen des AirPortDienstprogramms nach Updates suchen und Automatisch nach Updates suchen zu aktivieren. Falls ein Update der Software für die Basisstation vorliegt, weist das Dienstprogramm Sie darauf hin, und Sie können das Update über das Dienstprogramm auch gleich aktivieren.

Abbildung 10.6    Die Basisstationen können automatisch überwacht werden.

Ferner können Sie die Option AirPort-Basisstationen überwachen und Probleme melden aktivieren. Dies kann sehr praktisch sein, da diese Überwachung im Hintergrund geschieht. Meldet eine Basisstation Probleme, dann startet das Dienstprogramm automatisch und die Probleme direkt beheben.

Abbildung 10.7    Sind Fehler und Probleme aufgetreten, dann werden sie in der Übersicht der Basisstationen angezeigt.

Treten Probleme auf, dann wird die Anzahl der identifizierten Probleme in Form einer roten Zahl neben der Basisstation aufgeführt. Die Station wird ferner mit einem orangefarbenen oder schwarzen Punkt versehen. Klicken Sie die Basisstation einmal an, dann erscheint wiederum das schwebende Fenster. Hier finden Sie unter Status eine Liste der aufgetretenen Probleme. Die in Abbildung 10.7 dargestellte Situation resultierte daraus, dass das DSL-Modem vom Stromnetz getrennt war. Daher konnte die Basisstation keine Internetverbindung aufbauen. 10.1.2    Internetverbindung

Um die Basisstation im Detail zu konfigurieren, klicken Sie sie an und rufen über die Schaltfläche Bearbeiten die Details auf (siehe

Abbildung 10.8). Das Fenster gliedert sich in fünf Reiter. Während Sie unter Basisstation das Passwort für die Basisstation ändern und die Funktion Zugang zu meinem Mac (siehe Abschnitt 10.1.4) konfigurieren, finden Sie unter Internet die Optionen für Ihre Internetverbindung. Zunächst können Sie oben im Ausklappmenü Verbinden mit die Methode festlegen. Im Beispiel habe ich zunächst PPPoE ausgewählt, was für DSL-Verbindungen in Deutschland den Standard darstellt. Sie können aber auch den Eintrag Statisch auswählen, sofern Sie eine Standleitung und eine eigene IP-Adresse im Internet besitzen. Hier wären dann die Daten einzugeben, die Sie von Ihrem Dienstleister erhalten haben. Ferner ist es möglich, dass die Basisstation die Verbindung mit einem DHCPServer (siehe Abschnitt 10.2.2) aufnimmt und sich automatisch in ein vorhandenes Netzwerk integriert.

Abbildung 10.8    Im Reiter »Internet« konfigurieren Sie, sofern nötig, auch die DNS-Server.

Während bei der Verbindung über PPPoE die IPv4-Adresse , die Teilnetzmaske sowie die Router-Adresse automatisch bezogen werden, können Sie DNS-Server nachträglich konfigurieren. Die DNS-Server sind zuständig für die Auflösung von Rechnernamen wie etwa

server.domain.de in eine IP-Adresse, beispielsweise 17.178.96.59. Die Basisstation bezieht die Adressen der DNS-Server automatisch, und sie werden in den Feldern DNS-Server grau angezeigt. Es ist möglich, andere DNS-Server im Internet zu verwenden, und Sie können ihre Adressen hier eingeben. Die mit IPv6 beginnenden Angaben beziehen sich auf die nächste Version des Kommunikationsstandards IP (Internet Protocol). Sowohl macOS als auch die Basisstationen unterstützen dieses Protokoll. Allerdings ist es möglich, dass Ihr InternetanbieterIPv6 für Ihren Anschluss noch nicht aktiviert hat. Sie können diese Daten gegebenenfalls von Ihrem Anbieter erfragen, und diese hier eingeben. Über die Schaltfläche Internetoptionen öffnen Sie einen weiteren Dialog (siehe Abbildung 10.9), in dem Sie die Dauer der Verbindung und die automatische Nutzung des IPv6-Protokolls konfigurieren können. Eine automatische Trennung der Verbindung ins Internet konfigurieren Sie, indem Sie im Ausklappmenü PPPoE-Verbindung den Eintrag Automatisch auswählen. In diesem Fall hält die Basisstation die Verbindung nicht dauerhaft aufrecht, sondern nimmt die Verbindung erst dann auf, wenn eine Anfrage von Ihrem Netzwerk ausgeht, Sie also beispielsweise eine Webseite angefordert haben. In dem dann sichtbaren Menü PPPoE trennen nach können Sie die Wartezeit einstellen, bis die Basisstation, wenn keine weitere Netzwerkkommunikation erfolgt, die Verbindung wieder beendet.

Abbildung 10.9    IPv6 konfigurieren Sie über die »Internetoptionen«.

Im Menü IPv6 konfigurieren finden Sie zunächst die Standardoption Nur Link-Local. Sie besagt, dass die Kommunikation mittels IPv6 nur in Ihrem lokalen Netzwerk erfolgen kann. Sofern Ihr Internetanbieter IPv6 bereits anbietet, können Sie hier auch den Eintrag Automatisch auswählen. In diesem Fall versucht die Basisstation, eine IPv6-WAN-Adresse zu beziehen, die Ihnen in der Ansicht Internet angezeigt würde. Ferner besteht die Möglichkeit, IPv6 Manuell zu konfigurieren. Hierfür müssten Sie die Daten von Ihrem Anbieter erfragen. 10.1.3    Drahtlose Netzwerke konfigurieren

Für die Arbeit mit drahtlosen Netzwerken stellt die Basisstation zwei Funktionen zur Verfügung. Wechseln Sie in den Reiter Drahtlos (siehe Abbildung 10.10), dann können Sie dort zunächst den Netzwerkmodus auswählen. Neben der Option Aus, die die WLANFunktionalität komplett deaktiviert, können Sie ein Drahtloses Netzwerk erweitern. Anschließend müssen Sie dann den Namen Ihres schon vorhandenen Netzwerkes sowie dessen Passwort eingeben. Die Basisstation integriert sich nun in das schon vorhandene

Netzwerk und erweitert seine Reichweite um den eigenen Funkradius. Hierbei ist es unerheblich, von was für einem Gerät das drahtlose Netzwerk bereitgestellt wird.

Abbildung 10.10    Im Reiter »Drahtlos« nehmen Sie die Einstellungen für das WLAN vor.

Verfügen Sie noch nicht über ein drahtloses Netzwerk, dann können Sie ein Drahtloses Netzwerk erstellen. Dies haben wir bereits beim eingangs beschriebenen Assistenten der Basisstation erledigt, allerdings finden Sie hier noch einige weitere Details. Neben dem Namen können Sie hier auch das Passwort für das Netzwerk nachträglich ändern. Im Auswahlmenü Sicherheit (drahtlos) geben Sie die Methode vor, nach der die Authentifizierung mithilfe des Passwortes erfolgt. Keinesfalls sollten Sie hier die Option WEP (Transitional Security Network) auswählen, da das Verfahren WEP mittlerweile als unsicher gilt. Stattdessen sollten Sie sich für die Option Persönlicher WPA2 entscheiden. WPA2 (Wi-Fi Protected Access 2) ist das modernste und zurzeit sicherste Verfahren für die Authentifizierung in drahtlosen Netzwerken. Sollten Sie noch über ältere Geräte verfügen, die diesen Standard nicht unterstützen, können Sie mit der Option Persönlicher WPA/WPA2 auch das ältere WPA-Verfahren zusätzlich unterstützen.

Dieses ist nicht ganz so sicher wie WPA2, aber heutzutage noch durchaus ausreichend. Hinter den Einträgen Firmenweiter WPA2 beziehungsweise Firmenweiter WPA/WPA2 verbirgt sich die Konfiguration der Verbindung mit einem RADIUS-Server. RADIUS steht für Remote Authentication Dial-In User Service und ermöglicht die zentrale Verwaltung von Benutzerkonten für drahtlose Netzwerke auf einem Server. Genutzt werden RADIUS-Server in erster Linie in Unternehmen und Bildungseinrichtungen, da auf diese Weise die Einwahl in ein komplexeres Netzwerk zentral verwaltet werden kann. Wenn Sie sich mit einem RADIUS-Server verbinden möchten, dann können Sie die IP-Adresse des Servers sowie das notwendige Passwort – im Dienstprogramm als Hauptschlüssel bezeichnet – hier eingeben und über die dann sichtbare Schaltfläche RADIUS konfigurieren nachträglich ändern. Am Rande: Die ServerVariante von macOS bietet auch einen RADIUS-Server.

Abbildung 10.11    In den »Optionen für drahtloses Netzwerk« können Sie die Sichtbarkeit des Netzwerks aufheben.

Über die Schaltfläche Optionen für drahtloses Netzwerk können Sie ein von der Basisstation bereitgestelltes Netzwerk weiter konfigurieren (siehe Abbildung 10.11). Mit der Auswahl unter Land wird auch

eingestellt, auf welchen Frequenzen die Basisstation senden darf. Ferner können Sie das Netzwerk den Augen Ihrer Nachbarschaft entziehen, indem Sie ein Unsichtbares Netzwerk erstellen. Bei Sendermodus legen Sie fest, welches Protokoll für den Aufbau eines drahtlosen Netzwerks genutzt werden soll. Das Verfahren 802.11n ist heutzutage Standard und eines der schnellsten Verfahren. Es gibt aber ältere Geräte, die mit dem modernen Standard noch nicht arbeiten können, und Sie können daher mit der Option 802.11n (802.11b/g-kompatibel) dafür sorgen, dass auch die vorhergehenden Standards von Ihrer Basisstation unterstützt werden. Schließlich beherrschen die aktuellsten Geräte von Apple bereits den kommenden 802.11ac-Standard. Ob Sie die Einstellung unter Kanal auf Automatisch belassen oder hier einen Kanal direkt auswählen, hängt wahrscheinlich von der Anzahl und Stärke der Funknetze in Ihrer Nachbarschaft ab. Treten Verbindungsprobleme zwischen Ihren Geräten und der Basisstation auf, dann können Sie mit diesen Einstellungen ein wenig experimentieren. Möglicherweise ist die händische Auswahl eines Kanals hilfreich. 10.1.4    Zugang zu meinem Mac einrichten

Apples iCloud bietet Ihnen über die Funktion Zugang zu meinem Mac die Möglichkeit, Ihre Geräte über das Internet hinweg miteinander zu vernetzen und auf freigegebene Ordner auch von außerhalb zuzugreifen. Auch die Basisstation unterstützt diese Funktion, die Sie in der Ansicht Basisstation konfigurieren (siehe Abbildung 10.12). Fügen Sie über das Pluszeichen die iCloud-Konten hinzu, die aus der Ferne auf die Dateifreigabe der Basisstation zugreifen dürfen.

Abbildung 10.12    Die Basisstation ist mittels »Zugang zu meinem Mac« auch aus dem Internet zu erreichen.

Haben Sie eine Festplatte an Ihre Basisstation angeschlossen und die Freigabe konfiguriert (siehe Abschnitt 10.3.1), dann können alle Rechner, bei denen die Funktion Zugang zu meinem Mac ebenfalls eingerichtet wurde, auf die freigegebene Festplatte Ihrer Basisstation zugreifen. Die Festplatte der Basisstation fungiert dann als kleine Wolke des derzeit so populären Cloud-Computings. 10.1.5    Konfiguration exportieren, importieren und zurücksetzen

Die Einstellungen der Basisstation können Sie in eine Datei exportieren, um sie auf diese Weise zu sichern und zu einem späteren Zeitpunkt wieder zu importieren. Dies ist zum Beispiel sehr nützlich, wenn Sie eine Reihe von Benutzerkonten für den Zugriff auf eine im Netzwerk freigegebene Festplatte konfiguriert haben. Auf diese Weise sichern Sie die bisher vorgenommenen Einstellungen und können, sollten Sie bei der weiteren Konfiguration einen Fehler machen, problemlos die alte und funktionsfähige Fassung wieder importieren. Schließlich ist es auch

möglich, die Basisstation auf ihre Werkseinstellungen zurückzusetzen und somit von vorn zu beginnen.

Abbildung 10.13    Die Konfiguration der Basisstation können Sie in eine Datei exportieren.

Zum Export der Konfiguration wählen Sie zunächst die betreffende Basisstation aus, starten über Bearbeiten deren Detailkonfiguration und rufen dann über den Menüpunkt Ablage • Konfigurationsdatei exportieren den in Abbildung 10.13 dargestellten Dialog auf. Beachtung sollten Sie hier der Option Passwörter verschlüsseln für höhere Sicherheit schenken, denn wenn sie nicht aktiv ist, werden die Passwörter im Klartext gespeichert. Da es sich bei der Konfigurationsdatei mit der Dateiendung .baseconfig um eine XMLDatei handelt, kann der Inhalt und können damit auch die Passwörter mit einem beliebigen Texteditor eingesehen werden. Eine als Datei gespeicherte Konfiguration spielen Sie über den Menüpunkt Ablage • Konfigurationsdatei importieren wieder ein. Hierbei werden die Werte für etwa den Namen der Basisstation, die PPPoE-Zugangsdaten oder die Konfiguration des Netzwerks unmittelbar überschrieben. Die Werte können Sie gegebenenfalls von Hand korrigieren. Sobald Sie die Schaltfläche Aktualisieren

anklicken, wird die Basisstation neu gestartet und die aus der Datei stammenden Konfigurationen gelten.

Abbildung 10.14    Die Basisstation kann auf die Werkseinstellungen zurückgesetzt werden.

Um die Konfiguration neu zu beginnen und erneut mit dem in Abschnitt 10.1.1 beschriebenen Assistenten zu starten, setzen Sie die Basisstation auf die Werkseinstellungen zurück (siehe Abbildung 10.14). Hierzu wählen Sie die Basisstation aus und rufen dann den Menüpunkt Basisstation • Standardeinstellungen wiederherstellen auf. Anschließend erfolgt eine Rückfrage, und sofern Sie diese bestätigen, werden alle bereits vorgenommenen Einstellungen gelöscht.

10.2    Das Netzwerk im Detail konfigurieren Die Standardeinstellungen der Basisstation sollten in den meisten Fällen ausreichen, um einige Rechner und tragbare Geräte wie iPads problemlos mit dem Internet zu verbinden. Dennoch ist die detaillierte Konfiguration der Basisstation bei bestimmten Anforderungen nützlich. So können Sie über die Zugriffskontrolle bestimmten Geräten den Zugriff ab einer bestimmten Uhrzeit untersagen und auf diese Weise zum Beispiel die Rechner des Nachwuchses wochentags nach 22:00 Uhr automatisch vom Netzwerk trennen. Mit der Konfiguration des DHCP-Servers, der für die Vergabe der Netzwerkadressen zuständig ist, erleichtern Sie sich in vielen Fällen die Einrichtung und Installation von Servern, wie etwa des Apache Webservers. Die gezielte Weiterleitung von Netzwerk-Ports auf einen bestimmten Rechner in Ihrem lokalen Netzwerk ist ein weiterer, oft notwendiger Schritt, um einen lokalen Server im Internet erreichbar zu machen. 10.2.1    Zugriffskontrollen aktivieren

Die Kontrolle des zeitgesteuerten Zugriffs konfigurieren Sie in der Ansicht Netzwerk, indem Sie zunächst die Option Zugriffskontrolle aktivieren auswählen. Über die dann verfügbare Schaltfläche Zeitgesteuerter Zugriff öffnen Sie den Dialog aus Abbildung 10.16, in dem Sie für bestimmte Geräte die Zugriffszeiten festlegen.

Abbildung 10.15    Die MAC-Adresse eines Netzwerkanschlusses können Sie im Reiter »Hardware« der weiteren Optionen in den Systemeinstellungen einsehen.

Die Identifikation eines Gerätes erfolgt über seine MAC-Adresse. Hierbei handelt es sich um eine Kennung, die in die Hardware der Netzwerkschnittstelle eingebaut wurde und diese eindeutig identifiziert. Um die MAC-Adresse der WLAN-Karte eines Rechners unter macOS herauszufinden, starten Sie die Systemeinstellungen, wechseln in die Ansicht Netzwerk und wählen dort die Netzwerkschnittstelle WLAN aus. Über die Schaltfläche Weitere Optionen öffnen Sie dann die detaillierte Konfiguration des Anschlusses und finden im Reiter Hardware (siehe Abbildung 10.15) die MAC-Adresse . Bei einem iOS-Gerät finden Sie die MAC-Adresse in der App Einstellungen; sie wird dort in der Ansicht Allgemein als WLAN-Adresse aufgeführt. Haben Sie die MAC-Adresse in Erfahrung gebracht, dann können Sie über die Schaltfläche Zeitgesteuerter Zugriff die Zugriffskontrolle einstellen. Der Eintrag Unbegrenzt (Standard) ist von der Basisstation vorgegeben und ermöglicht den freien Zugriff. Mit dem Pluszeichen unterhalb der Liste können Sie einen neuen Eintrag für einen drahtlosen Client erstellen und geben dann die zuvor ermittelte MAC-Adresse sowie eine Beschreibung an. Unten wählen Sie unter Drahtlose Zugriffszeiten Zeiträume aus, in denen deren das Gerät eine Verbindung aufnehmen darf. Über das Pluszeichen fügen Sie hier einen neuen Zeitraum hinzu und geben dann die Wochentage sowie die Uhrzeit vor (siehe Abbildung 10.16).

Um die Uhrzeit zu bearbeiten, führen Sie einen Doppelklick auf die Zeit aus. Neben den einzelnen Tagen können Sie Vorgaben für Wochen-, also Werktage, und das Wochenende treffen.

Abbildung 10.16    Über den zeitgesteuerten Zugriff beschränken Sie die Onlinezeit für bestimmte Geräte.

10.2.2    Die Adressvergabe des DHCP-Servers konfigurieren

Die Aufgabe des DHCP-Servers besteht darin, den Geräten, die neu im Netzwerk erscheinen, Netzwerkadressen zuzuweisen. DHCP steht für Dynamic Host Configuration Protocol. Meldet sich ein Gerät im Netzwerk, dann sucht es nach einem DHCP-Server, bittet diesen um die Vergabe einer IP-Adresse und fragt nach weiteren Informationen wie den DNS-Servern. Der DHCP-Server liefert diese Informationen an das Gerät zurück, das sich auf diese Weise weitgehend automatisch in das Netzwerk integrieren kann. Es gibt aber Situationen, in denen diese automatische Konfiguration etwas hinderlich ist, da die Vergabe der IP-Adressen zufällig erfolgt.

Daher wird einem Gerät möglicherweise zunächst die IP-Adresse 10.0.1.2 zugewiesen; wenn es sich ein paar Tage später erneut anmeldet, erhält es aber die Adresse 10.0.1.16, da zwischenzeitlich die vorige Adresse anderweitig vergeben wurde.

Abbildung 10.17    Den IP-Adressbereich für den DHCP-Server legen Sie in den »Netzwerkoptionen« fest.

Den DHCP-Server können Sie in zweierlei Hinsicht konfigurieren: Zum einen können Sie das Netzwerk selbst anpassen, zum anderen besteht die Möglichkeit, IP-Adressen für bestimmte Geräte zu reservieren. Zur Konfiguration des Netzwerks klicken Sie im Reiter Netzwerk die Schaltfläche Netzwerkoptionen an. Es öffnet sich ein Dialog, in dem Sie zunächst den DHCP-Lease vorgeben können (siehe Abbildung 10.17). Der DHCP-Lease bestimmt, wie lange die von einem DHCP-Server abgerufenen Informationen gültig sind. Läuft er ab, dann stellt das Netzwerkgerät eine erneute

Konfigurationsanfrage und bekommt erneut eine IP-Adresse sowie die Netzwerkadressen des Routers und der DNS-Server. Darunter finden Sie den IPv4-DHCP-Bereich. Hier können Sie zunächst festlegen, welchen Netzwerktyp Sie für Ihr lokales Netzwerk nutzen möchten. In den Standardeinstellungen wird das mit 10.0 beginnende Netzwerk verwendet. Alternativ könnten Sie die Netzwerke 127.16 oder 192.168 nutzen. Bei allen drei Netzwerken wurde definiert, dass es sich hierbei um lokale Netzwerke handelt und dass Anfragen, die beispielsweise an den Rechner mit der IPAdresse 10.0.1.15 geschickt werden, immer im lokalen Netzwerk verbleiben. Sie werden zu keinem Zeitpunkt ins Internet weitergeleitet. Sofern für Ihr Netzwerk keine besonderen Anforderungen bestehen, können Sie es bei der Standardeinstellung 10.0 belassen. Die Netzwerkadresse vervollständigen Sie dann durch eine weitere Zahl, die Ihr lokales Netzwerk endgültig definiert. In Abbildung 10.17 habe ich die 1 ausgewählt. Die letzten zwei Felder definieren den Bereich der IP-Adressen, die vom DHCP-Server vergeben werden. In diesem Fall beginnt der Bereich mit 2 und endet bei 200. Die Adresse 10.0.1.1 wurde der Basisstation selbst zugewiesen. Sie können den Bereich verkleinern oder auch verschieben und damit an Ihre Anforderungen anpassen. Beispielsweise könnten Sie die Vergabe bei 50 beginnen lassen, also im vorletzten Feld 50 eintragen. Auf diese Weise könnten Sie die ersten 48 Adressen von Hand fest vergeben. Geräte, die mittels DHCP eine Adresse zugewiesen bekommen, würden dann die Adressen 10.0.1.50 aufsteigend erhalten. Möchten Sie, dass bestimmten Geräten vom DHCP-Server immer dieselbe IP-Adresse zugewiesen wird, dann können Sie DHCPReservierungen vornehmen. Diese finden Sie im Reiter Netzwerk. Über

das Pluszeichen fügen Sie eine neue Reservierung hinzu und geben hier die MAC-Adresse des Geräts (siehe Abschnitt 10.2.1) neben der Beschreibung und der IP-Adresse ein. Dem in Abbildung 10.18 dargestellten Rechner würde vom DHCP-Server in Zukunft immer die IP-Adresse 10.0.1.2 zugewiesen. Nützlich kann diese Form der Konfiguration dann sein, wenn beispielsweise ein Netzwerkdrucker seine IP-Adresse automatisch vom DHCP-Server beziehen soll. Identifizieren Sie einen Drucker über seine MAC-Adresse und weisen Sie ihm über den DHCP-Server immer dieselbe, nicht mehr wechselnde IP-Adresse zu, dann können Sie ihn im Netzwerk auch zuverlässig über diese IP-Adresse ansprechen und Rechner entsprechend konfigurieren.

Abbildung 10.18    Eine IP-Adresse wird mithilfe der MAC-Adresse für ein Gerät reserviert.

10.2.3    Port-Weiterleitungen über die Anschlusseinstellungen

Soll ein lokaler Server in Ihrem Netzwerk vom Internet aus erreichbar sein, dann werden Sie wahrscheinlich einen oder

mehrere Netzwerk-Ports auf ihn umleiten müssen. Unter einem Port versteht man in diesem Zusammenhang eine Kommunikationsebene. Die Kommunikation, die beim Abruf einer Webseite entsteht, wird über den Port 80 abgewickelt, sofern die Verbindung nicht verschlüsselt wird. Eine verschlüsselte Kommunikation fände über Port 443 statt. Anders formuliert kann man auch sagen, dass der Apache Webserver auf den Ports 80 und 443 lauscht, also auf eingehende Anfragen wartet. Rufen Sie von Ihrem Rechner aus eine Webseite ab, dann merkt sich dies der Router, in diesem Fall die AirPort-Basisstation, und leitet die Antwort des Webservers aus dem Internet an Ihren Rechner zurück. Anders verhält es sich, wenn die Kommunikation nicht von Ihnen, sondern aus dem Internet heraus initiiert wurde: In diesem Fall hat der Router keine Information, an welchen Rechner im lokalen Netzwerk er die Anfrage zur Bearbeitung weitergeben soll, und verwirft die Datenpakete. Welcher Dienst normalerweise auf einem bestimmten Port konfiguriert wurde, können Sie der Datei /etc/services entnehmen. Am Terminal lassen Sie sich diese Datei mit dem Programm less (siehe Abschnitt 21.4.1) anzeigen, indem Sie less /etc/services eingeben. Wenn Sie also einen Webserver in Ihrem lokalen Netzwerk konfiguriert haben – beispielsweise dient Ihnen der Rechner mit der IP-Adresse 10.0.1.15 als Server –, dann ist er zwar in Ihrem lokalen Netzwerk erreichbar, aufgrund der fehlenden Weiterleitung der Anfragen aus dem Internet jedoch nicht global. Abhilfe schafft in solchen Situationen die Weiterleitung der Ports, das sogenannte Port Forwarding.

Abbildung 10.19    In den »Anschlusseinstellungen« legen Sie die Weiterleitung eines Ports auf eine IP-Adresse fest.

Im AirPort-Dienstprogramm konfigurieren Sie dies über die Anschlusseinstellungen in der Ansicht Netzwerk (siehe Abbildung 10.19). Hier können Sie über das Pluszeichen eine neue Weiterleitung erstellen und bestehende Weiterleitungen bearbeiten oder über das Minuszeichen wieder löschen.

Abbildung 10.20    Unter der »Beschreibung« befinden sich einige Voreinstellungen.

Fügen Sie eine neue Weiterleitung hinzu, dann können Sie entweder selbst eine Beschreibung eingeben oder aber aus den vorhandenen Beschreibungen eine Konfiguration auswählen. In Abbildung 10.20 habe ich den Eintrag Personal-Web-Sharing ausgewählt und so konfiguriert, dass auf Port 80 eingehende Anfragen an Port 80 des Rechners 10.0.1.19 weitergeleitet werden. Würde die externe IPAdresse des Routers in einem Browser aufgerufen, dann würde die Anfrage an denjenigen Rechner im internen Netzwerk zur Beantwortung weitergeleitet, der die IP-Adresse 10.0.1.19 besitzt. Ob es sich um einen UDP- oder TCP-Port handelt, müssen Sie der Dokumentation des jeweiligen Servers oder Programms entnehmen. Stoßen Sie also bei der Lektüre auf die Anweisung, Sie sollen die Ports 8080 und 8081 auf den Server weiterleiten, dann sind damit die Anschlusseinstellungen gemeint.

10.3    Freigaben über die Basisstation Die AirPort-Basisstation kann auch als Datei- und Druckserver in Ihrem Netzwerk fungieren. Auf diese Weise sind auch Datensicherungen der Time Machine im Netzwerk möglich. Ferner kann die Basisstation einen angeschlossenen USB-Drucker im Netzwerk bereitstellen, und einen WLAN-fähigen Drucker können Sie über das mit WPS abgekürzte WiFi Protected Setup einrichten. 10.3.1    Laufwerke freigeben und einbinden

Um eine handelsübliche USB-Festplatte mit der AirPort-Basisstation im Netzwerk freizugeben, müssen Sie sie lediglich mit dem USBAnschluss der Basisstation verbinden und die Freigabe aktivieren. Zuvor sollten Sie die Festplatte jedoch an Ihrem Rechner mit dem Festplattendienstprogramm partitionieren und mit dem Dateisystem HFS+ formatieren (siehe Abschnitt 3.2.2). Das Dateisystem APFS sollte mit den aktuell vorliegenden Versionen nicht in Verbindung mit der AirPort-Basisstation genutzt werden.

Abbildung 10.21    Eine angeschlossene USB-Festplatte geben Sie mithilfe von Benutzerkonten im Netzwerk frei.

Haben Sie die Festplatte angeschlossen, dann wechseln Sie im AirPort-Dienstprogramm zur Ansicht Laufwerke (siehe Abbildung 10.21). Dort werden Ihnen die gefundenen Partitionen aufgelistet, und Sie können die Dateifreigabe aktivieren. Die freigegebenen Festplatten sind anschließend in Ihrem lokalen Netzwerk verfügbar. Mit der Option Laufwerke über WAN freigeben wäre der Dienst auch aus dem Internet erreichbar. Dies ist eine potenzielle Sicherheitslücke. Sofern Sie dies nicht ausdrücklich wünschen, sollte die Option deaktiviert bleiben. Für die Steuerung des Zugangs zu den Datenträgern stehen Ihnen drei Möglichkeiten zur Verfügung: Sie können mit dem Gerätepasswort das Passwort der Basisstation nutzen, ein Laufwerkspasswort vergeben oder einzelne Benutzerkonten erstellen. Letztere werden nur innerhalb der Basisstation gespeichert und stehen nicht in Verbindung mit den Benutzerkonten, die Sie auf Ihrem Rechner eingerichtet haben.

Abbildung 10.22    Die AirPort-Basisstation erscheint in der Ansicht »Netzwerk« im Finder.

Entscheiden Sie sich für die Nutzung einzelner Konten, dann kann jeder Benutzer auf einen allgemeinen Bereich zugreifen, der dem Namen der Partition entspricht. Zusätzlich wird für jeden Benutzer eine persönliche Freigabe erstellt, auf die nur er Zugriff erhält. Haben Sie die Konfiguration vorgenommen und die Basisstation mit einem Klick auf die Schaltfläche Aktualisieren neu gestartet, dann erscheint sie im Finder in der Ansicht Netzwerk (siehe Abbildung 10.22), und die Freigaben können nach Eingabe des Passwortes aktiviert werden. Wenn Sie die Festplatte später an einen Rechner anschließen, dann wird die von der Basisstation genutzte Ordnerstruktur deutlich (siehe Abbildung 10.23). Der Inhalt von Shared wird im Finder für die Freigabe verwendet, die den Namen der Partition nutzt. Unterhalb von Users werden die persönlichen Verzeichnisse der eingerichteten Benutzerkonten eingerichtet. Die auf der AirPort-Basisstation eingerichteten Freigaben können Sie auch für die Time Machine nutzen. Hierfür binden Sie zunächst die Freigabe im Finder ein. Starten Sie dann die Systemeinstellungen und wechseln Sie dort zur Ansicht Time Machine, dann stehen Ihnen die eingebundenen Freigaben als Zielmedien zur Verfügung (siehe Abbildung 10.24).

Abbildung 10.23    Die Basisstation legt auf der Festplatte eine Datenstruktur an, bei der die Ordner für die Benutzer von der allgemeinen Freigabe getrennt werden.

Abbildung 10.24    Die eingebundenen Freigaben können Sie auch als Ziel für ein Backup mit der Time Machine nutzen.

Allerdings sollten Sie hier die Zugangsdaten für den Zugriff auf die Freigabe in Ihrem Schlüsselbund speichern. Auf die freigegebenen Ordner können Sie auch von einem Windows-Rechner aus zugreifen, denn sie werden auch über das Protokoll SMB im Netzwerk verfügbar gemacht. Wenn die Basisstation unter Windows nicht in der Übersicht des Netzwerks erscheint, dann können Sie in der Adresszeile des Explorers den Namen oder die IP-Adresse der Basisstation direkt eingeben. Sie müssen hier zwei Backslashes voranstellen. Die Eingabe könnte also »\\ 10.0.0.1« oder »\\ MacNetCenter« lauten.

10.3.2    Drucker einbinden und freigeben

Für den Anschluss eines Druckers und dessen Freigabe im Netzwerk stehen Ihnen zwei Möglichkeiten zur Verfügung. Sie können den Drucker einerseits direkt mit dem USB-Anschluss der Basisstation verbinden. Wird der Drucker von der Basisstation erkannt, dann erfolgt umgehend seine Kommunikation mittels Bonjour im Netzwerk. Er sollte in der Ansicht Drucker & Scanner in den Systemeinstellungen zur Auswahl stehen.

Abbildung 10.25    Ein WPS-fähiger Drucker wurde mithilfe einer PIN dem Netzwerk hinzugefügt.

Ist Ihr Gerät WLAN-fähig und unterstützt es WPS, dann können Sie den Drucker auch Ihrem drahtlosen Netzwerk hinzufügen. Hierzu wählen Sie zunächst Ihre Basisstation im Dienstprogramm aus und rufen über den Menüpunkt Basisstation • WPSDrucker hinzufügen einen Dialog auf. Darin können Sie sich zwischen den Methoden PIN und Erstem Versuch entscheiden. Gegebenenfalls werfen Sie einen Blick in die Bedienungsanleitung Ihres Druckers. Beim

Verfahren mit der PIN zeigt Ihnen der Drucker eine Zahlenfolge an, die Sie im AirPort-Dienstprogramm eingeben müssen. Die Geräte verhandeln dann automatisch die Verbindungsaufnahme (siehe Abbildung 10.25).

10.4    Das AirPort-Dienstprogramm für iOS Die Basisstation lässt sich auch über ein iPad oder ein iPhone konfigurieren. Sie finden im iTunes Store die kostenlose App AirPort-Dienstprogramm (siehe Abbildung 10.26). Ihre Funktionsweise entspricht in weiten Teilen dem in diesem Kapitel beschriebenen Dienstprogramm, wobei natürlich die Menü- und Benutzerführung an das iPad beziehungsweise iPhone angepasst wurden.

Abbildung 10.26    Auch vom iPad aus können Sie eine AirPort-Basisstation konfigurieren.

11    Weitere Netzwerkkonfigurationen Neben der grundlegenden Konfiguration der Netzwerkschnittstellen können Sie in den Systemeinstellungen auch die Verbindung zu einem Virtual Private Network aufnehmen, ein drahtloses Netzwerk ohne Basisstation erstellen und Ihren Rechner selbst als Router nutzen. Das Netzwerk konfigurieren Sie in den Systemeinstellungen in der gleichnamigen Ansicht. Die Kenntnis einiger Funktionen und Optionen kann Ihnen helfen, Ihren Rechner im Netzwerk optimal zu konfigurieren. In diesem Kapitel erfahren Sie zunächst, wie Sie Netzwerkeinstellungen zu Umgebungen zusammenfassen, sodass Sie insbesondere mit einem mobilen Gerät schnell und problemlos zur passenden Konfiguration wechseln können. Zur Kommunikation im Netzwerk müssen Sie die jeweiligen Schnittstellen korrekt konfigurieren. Hier bieten Ihnen die Systemeinstellungen zwar eine komfortable Oberfläche, deren Details sich aber nicht auf den ersten Blick erschließen. Um von unterwegs eine sichere Verbindung zum Heim- oder Firmennetzwerk aufzunehmen, wird heutzutage meistens ein Virtual Private Network (VPN) genutzt. macOS unterstützt die Einbindung in ein VPN von Haus aus. Es ist auch möglich, ein drahtloses Netzwerk direkt über Ihr System zu erstellen und über den Dienst Internetfreigabe Ihren Rechner als Router zu nutzen.

11.1    Umgebungen und Schnittstellen konfigurieren

Die Aufgabe von Umgebungen besteht darin, unterschiedliche Konfigurationen der Schnittstellen zusammenzufassen und Ihnen den schnellen Wechsel zu ermöglichen. Bei der Konfiguration der unterschiedlichen Schnittstellen, über die Ihr Rechner eine Verbindung mit einem Netzwerk aufnehmen kann, gibt es einige Details zu beachten. In diesem Abschnitt erfahren Sie zunächst, wie Sie Umgebungen erstellen und bei Bedarf einen Wechsel vollziehen. Im zweiten Schritt werde ich auf die Konfiguration einer Netzwerkschnittstelle im Allgemeinen eingehen. Dabei werde ich auch einige Besonderheiten erläutern, die bestimmten Schnittstellen wie der Verbindung zu einem drahtlosen Netzwerk zu eigen sind. 11.1.1    Konfigurationen in Umgebungen sichern

Die Umgebungen für die Netzwerkkonfigurationen finden Sie in den Systemeinstellungen in der Ansicht Netzwerk (siehe Abbildung 11.1). Die eingerichteten Umgebungen werden Ihnen oben aufgelistet. In den Standardeinstellungen verfügt Ihr System über eine Netzwerkumgebung mit der Bezeichnung Automatisch.

Abbildung 11.1    Die Umgebungen verwalten Sie in den Systemeinstellungen in der Ansicht »Netzwerk«.

Über den Menüpunkt Umgebungen bearbeiten können Sie Umgebungen erstellen, umbenennen, löschen und duplizieren.

Änderungen der Konfigurationen der Schnittstellen gelten nur für die gerade aktuelle Umgebung und werden in dieser gespeichert. Nutzt Ihr System also im Home-Office einen DHCP-Server, während Sie im Büro eine feste IP-Adresse zugewiesen bekommen haben, dann können Sie eine Umgebung Zu Hause erstellen, bei der Sie für die betreffende Schnittstelle DHCP als Konfigurationsmethode vorgeben. Nachdem Sie die Änderungen mit einem Klick auf die Schaltfläche Anwenden gespeichert haben, wechseln Sie zur Umgebung Office und geben dort die IP-Adresse und die weiteren Daten ein, die Sie für die Arbeit im Büro benötigen. Sie können nun zwischen den Umgebungen wechseln und müssen nicht mehr die Konfiguration der Schnittstellen anpassen. Haben Sie mehr als eine Umgebung eingerichtet, dann finden Sie im ApfelMenü in der Menüleiste einen Eintrag Umgebungen, in dem Sie ohne Umweg über die Systemeinstellungen eine Umgebung direkt auswählen können. 11.1.2    Netzwerkschnittstellen konfigurieren

Es gibt unterschiedliche Möglichkeiten, eine Verbindung zu einem Netzwerk herzustellen. Möglicherweise verfügt Ihr Rechner noch über eine Ethernet-Schnittstelle oder Sie haben einen Adapter erworben, mit dem Sie einen USB- oder Thunderbolt-Anschluss zu einer Ethernet-Schnittstelle umfunktionieren können. Auch die WLAN-Karte stellt eine eigene Schnittstelle dar. Zu den Schnittstellen gehören auch VPN-Verbindungen (siehe Abschnitt 11.2.1) sowie die Verbindung ins Internet mit einem Handy, die über Bluetooth hergestellt wird.

Abbildung 11.2    Bei einer neuen Schnittstelle müssen Sie den »Anschluss« auswählen.

In den Systemeinstellungen finden Sie in der Ansicht Netzwerk links eine Liste der eingerichteten Schnittstellen (siehe Abbildung 11.2). Sehen Sie hier einen grünen Punkt, dann wurde eine Verbindung aufgenommen. Ein roter Punkt weist auf eine inaktive Verbindung hin, während ein gelber Punkt bedeutet, dass Sie eine Verbindung aufnehmen können, indem Sie sich einwählen. Eine neue Schnittstelle fügen Sie über das Pluszeichen unterhalb der Liste hinzu. Es erscheint dann ein Dialog, in dem Sie im Menü Anschluss festlegen, um was für einen Typ es sich bei der Schnittstelle handelt. Dabei kann es sich um eine physikalische Schnittstelle (Ethernet, WLAN) oder um eine virtuelle Schnittstelle wie eine VPN-Verbindung handeln. Welche Anschlusstypen Ihnen hier zur Auswahl stehen, hängt von der Konfiguration Ihres Rechners ab. Unterhalb der Liste finden Sie ein Icon mit einem kleinen Zahnrad. Über dieses Icon öffnen Sie ein Menü (siehe Abbildung 11.3), über das Sie eine Schnittstelle, die hier als Dienst bezeichnet wird, umbenennen, duplizieren oder deaktivieren können. Von Relevanz ist hier auch der Eintrag Reihenfolge der Dienste festlegen. Über ihn öffnen Sie einen Dialog, in dem Sie festlegen können, welche Dienste zuerst für den Datenverkehr genutzt werden. Befindet sich beispielsweise der Dienst für eine VPN-

Verbindung am Anfang der Liste, dann wird der Datenverkehr abhängig von der Konfiguration der Netzwerke bevorzugt über die VPN-Verbindung abgewickelt. Genau genommen wird über diese Reihenfolge die Routing-Tabelle des Systems konfiguriert.

Abbildung 11.3    Über das Menü unten können Sie Dienste deaktivieren und ihre Reihenfolge festlegen.

Haben Sie eine Schnittstelle ausgewählt, dann können Sie rechts im Fenster der Systemeinstellungen die grundlegenden Netzwerkoptionen wie die IP-Adresse konfigurieren. Über die Schaltfläche Weitere Optionen rufen Sie eine neue Ansicht auf (siehe Abbildung 11.4), in der Sie in der Ansicht TCP/IP neben der Konfigurationsmethode für das Protokoll IPv4 auch die Vorgaben für das kommende IPv6 treffen können. Das neue Protokoll IPv6 wird von macOS unterstützt; ob Sie es bereits nutzen können, dürfte von Ihrem Dienstleister und von Ihrem Router abhängen.

Abbildung 11.4    Über die Schaltfläche »Weitere Optionen« konfigurieren Sie eine Schnittstelle im Detail.

In der Ansicht DNS können Sie mehr als einen Nameserver für die Namensauflösung im Netzwerk eintragen und auch beliebig viele Such-Domains vorgeben. In der Ansicht Hardware finden Sie, sofern es sich um eine physikalisch vorhandene Schnittstelle handelt, weitere Informationen zur Schnittstelle selbst. Dazu gehört auch die MACAdresse, über die die Schnittstelle eindeutig identifiziert werden kann.

Abbildung 11.5    Die bekannten drahtlosen Netzwerke werden in der Ansicht »WLAN« aufgeführt.

Handelt es sich bei der Schnittstelle um eine WLAN-Karte, dann finden Sie in den erweiterten Optionen auch eine Ansicht WLAN (siehe Abbildung 11.5). Diese enthält eine Liste der bekannten Netzwerke, zu denen Sie bereits eine Verbindung aufgenommen haben. Wenn mehr als ein bekanntes Netzwerk verfügbar ist, dann nimmt Ihr System eine Verbindung mit dem Netzwerk auf, das in der Liste zuerst aufgeführt ist. Sie können die Reihenfolge ändern und auch bekannte Netzwerke wieder löschen. Eine Verbindung in ein drahtloses Netzwerk nehmen Sie auf, indem Sie links die entsprechende Schnittstelle auswählen und sie gegebenenfalls noch aktivieren. Unter Netzwerkname erhalten Sie eine Liste der in Ihrer Umgebung befindlichen und sichtbaren Netzwerke (siehe Abbildung 11.6). Klappen Sie die Liste aus, dann sollten Sie einen Moment warten, bis die Suche nach drahtlosen Netzwerken vollständig erfolgt ist. Über den Eintrag Mit anderem Netzwerk verbinden rufen Sie einen Dialog auf, in dem Sie den Namen eines unsichtbaren Netzwerks direkt eingeben können.

Abbildung 11.6    Die Suche nach verfügbaren Netzwerken kann einen Moment in Anspruch nehmen.

Um die Verbindung zu einem geschützten Netzwerk herzustellen, werden Sie zur Eingabe des Benutzernamens und des Passwortes aufgefordert. Die Option WLAN-Status in der Menüleiste anzeigen ergänzt das Menü oben rechts auf dem Bildschirm um einen Eintrag für die drahtlosen Netzwerke. Klappen Sie das Menü aus, dann können Sie sich direkt mit einem neuen Netzwerk verbinden oder die aktuelle Verbindung trennen (siehe Abbildung 11.7). Halten Sie hierbei die Taste (alt) gedrückt, dann erhalten Sie weitere Details über die Netzwerkverbindung.

Abbildung 11.7    Das Menü zeigt Details an.

11.1.3    RADIUS-Profile einbinden und nutzen

Einige Netzwerke stehen bei der Verbindungsaufnahme nicht unmittelbar zur Verfügung, sondern Sie müssen sich zunächst an einem RADIUS-Server authentifizieren, bevor der Zugang freigeschaltet wird. RADIUS ist eine auf dem Standard 802.1X aufsetzende Technologie, die für die Einwahl in ein (drahtloses) Netzwerk zuständig ist. Der Vorteil besteht unter anderem darin, dass alle relevanten Daten in der Konfigurationsdatei hinterlegt sind.

Abbildung 11.8    RADIUS-Profile werden in der Ansicht »802.1X« aufgelistet.

Steht für Ihr Netzwerk ein spezielles Profil zur Verfügung und haben Sie die auf .mobileconfig endende Datei erhalten, dann können Sie sie im Finder mit einem Doppelklick öffnen. Sie wird anschließend in den Systemeinstellungen importiert, und Sie werden in mehreren Schritten durch die Konfiguration geleitet. Das Profil steht Ihnen dann in der neuen Ansicht Profile (siehe Abschnitt 11.2.1) der Systemeinstellungen zur Verfügung. Nach der Installation des Profils finden Sie in der Ansicht der Netzwerkschnittstellen den neuen Eintrag 802.1X (siehe Abbildung 11.9). In dem Menü werden Ihnen die Netzwerke zur Auswahl gestellt, die über das Profil konfiguriert wurden, und Sie können sich mit ihnen Verbinden.

Abbildung 11.9    Die Einwahl erfolgt über das Menü »802.1X«.

11.1.4    Proxy-Server konfigurieren

Ein Proxy-Server hat die Aufgabe, Daten aus dem Internet zwischenzuspeichern und an andere Systeme weiterzugeben. Er agiert als eine Art Zwischeninstanz zwischen Ihrem Rechner und dem Server, auf dem sich die eigentlichen Daten befinden. Auch wenn aufgrund steigender Bandbreiten Proxy-Server heute nicht mehr so verbreitet sind, kann es durchaus möglich sein, dass Sie aufgrund von Vorgaben Ihres Arbeitgebers einen Proxy-Server nutzen müssen. Auch eignen sich Proxy-Server sehr gut als Filter für unerwünschte Bannerwerbung. Der Proxy-Server GlimmerBlocker (https://glimmerblocker.org) wäre ein solches Programm.

Abbildung 11.10    Proxy-Server werden unter macOS für jede Schnittstelle separat konfiguriert.

Proxy-Server konfigurieren Sie unter macOS für jede Netzwerkschnittstelle separat. Hierzu rufen Sie die weiteren Optionen der Schnittstelle auf und wechseln dann in die Ansicht

Proxies (siehe Abbildung 11.10). Hier können Sie für jedes Protokoll die Nutzung eines Proxy-Servers aktivieren und müssen dann dessen IP-Adresse sowie seinen Netzwerk-Port eingeben.

11.2    Weitere Konfigurationen Neben der Konfiguration der einzelnen Schnittstellen gibt es vier weitere Konfigurationen, die im Arbeitsalltag recht häufig vorgenommen werden. Zunächst können Sie über ein Virtual Private Network (VPN) eine verschlüsselte Verbindung zu einem anderen Netzwerk aufnehmen. Der Dienst Zugang zu meinem Mac der iCloud stellt eine Alternative zu einem VPN dar. Ferner werde ich in diesem Abschnitt beschreiben, wie Sie Ihren Rechner zu einem Router umfunktionieren und ein drahtloses Netzwerk ohne WLANRouter erstellen. 11.2.1    Eine Verbindung mit einem Virtual Private Network (VPN) aufnehmen

Ein VPN sorgt dafür, dass Sie sich über ein fremdes Netzwerk sicher mit Ihrem Firmen- oder Heimnetzwerk verbinden können. Die Situation stellt sich für Sie als Anwender so dar, als ob Sie direkt mit dem Firmennetzwerk verbunden sind, obwohl Sie eigentlich eine Verbindung zu einem anderen Netzwerk aufgenommen haben. Genau genommen wird der Datenverkehr zwischen Ihrem Rechner und Ihrem Firmennetzwerk verschlüsselt durch das Internet geleitet. Sowohl die Servervariante von macOS als auch viele handelsübliche Router wie etwa die FRITZ!Box enthalten einen eigenen VPN-Server. macOS bietet Ihnen die Möglichkeit, eine Schnittstelle beziehungsweise einen Dienst vom Typ VPN zu erstellen. Viele VPNServer, die für die Einwahl zuständig sind und den Datenverkehr organisieren, ermöglichen die Konfiguration über eine Profildatei.

Steht keine Profildatei zur Verfügung, dann können Sie die Einwahl in ein VPN wie nachfolgend beschrieben auch direkt konfigurieren. Haben Sie eine solche Profildatei erhalten, dann können Sie sie im Finder mit einem Doppelklick in den Systemeinstellungen öffnen. Sie wird (wie auch die Profile für die Einwahl in einen RADIUSServer) in der dann sichtbaren Ansicht Profile der Systemeinstellungen geöffnet (siehe Abbildung 11.11). Bei der Installation werden Sie schrittweise durch die Einrichtung des Profils geführt.

Abbildung 11.11    In der Ansicht »Profile« der Systemeinstellungen werden die Profile für VPN und RADIUS aufgeführt.

Wurde das Profil korrekt eingerichtet, dann steht Ihnen in der Ansicht Netzwerk der Systemeinstellungen der neue Dienst zur Verfügung (siehe Abbildung 11.12). Wählen Sie den Dienst aus, dann können Sie die einzelnen Parameter wie die Serveradresse nachträglich ändern.

Abbildung 11.12    Der über das Profil konfigurierte VPN-Dienst steht in der Ansicht »Netzwerk« zur Verfügung.

Nutzen Sie einen VPN-Server wie etwa eine FRITZ!Box, der Ihnen keine Konfigurationsprofile zur Verfügung stellt, dann erstellen Sie zunächst einen neuen Dienst vom Typ VPN. Wählen Sie hierbei den passenden VPN-Typ für Ihren VPN-Server aus. Oft wird hier die Methode L2TP über IPSec oder Cisco IPSec genutzt.

Abbildung 11.13    Die Authentifizierung muss anhand der Konfiguration des VPN-Servers erfolgen.

Als Serveradresse und Benutzername geben Sie dann die Daten ein, die für den VPN-Server benötigt werden. Bei einer FRITZ!Box wäre das beispielsweise die Adresse, die Sie über den Dienst MyFRITZ erhalten haben. Über die Schaltfläche Authentifizierungseinstellungen öffnen Sie einen Dialog, in dem Sie konfigurieren, mit welcher Methode Sie sich am VPN-Server anmelden möchten (siehe Abbildung 11.13). Welche Methode Sie hier angeben müssen, entnehmen Sie entweder der Dokumentation oder erfragen Sie vom Administrator. Haben Sie die grundlegende Konfiguration vorgenommen, dann können Sie sich über die Schaltfläche Verbinden in das VPN einwählen. Alternativ können Sie sich auch den VPN-Status in der Menüleiste anzeigen lassen und sich über den dann verfügbaren Eintrag einwählen. In den weiteren Optionen eines VPN-Zugangs (siehe Abbildung 11.14) können Sie unter anderem festlegen, dass bei aktiviertem VPN der gesamte Datenverkehr über das VPN abgewickelt wird. Damit vermeiden Sie, dass versehentlich unverschlüsselte Daten über das Internet verschickt werden, wenn Sie noch weitere Netzwerkschnittstellen aktiviert haben.

Abbildung 11.14    In den weiteren Optionen des VPN-Dienstes konfigurieren Sie die automatische Trennung.

11.2.2    Zugang zu meinem Mac über die iCloud

Apple bietet Ihnen mit dem Dienst Zugang zu meinem Mac über die iCloud eine sehr einfach zu konfigurierende Alternative zu einem VPN-Server, sofern Sie ausschließlich mit macOS-Systemen arbeiten. Hierbei konfigurieren Sie Ihren Rechner über Ihr iCloud-Konto, sodass dieser sich bei der iCloud anmeldet und seine Dienste kommuniziert. Sind Sie mit einem anderen Rechner unterwegs, auf dem Sie das gleiche iCloud-Konto konfiguriert haben, dann finden sich beide Rechner über die iCloud und stellen jeweils verschlüsselte Verbindungen zueinander her, die auf denselben Technologien beruhen wie ein VPN. Die iCloud dient quasi als Vermittlungsinstanz zwischen den Rechnern, die mit Ihrem iCloudKonto verbunden sind.

Voraussetzung für die Nutzung des Dienstes ist, dass Ihr Rechner entweder direkt mit dem Internet verbunden ist oder der Router die Methode UPnP unterstützt. Den Dienst Zugang zu meinem Mac aktivieren Sie in den Systemeinstellungen in der Ansicht iCloud (siehe Abbildung 11.15). Ist er aktiviert, dann kommuniziert Ihr Rechner aktivierte Dateifreigaben sowie die Bildschirmfreigabe über die iCloud. Auf einem anderen Rechner erscheint dieses System in der Seitenleiste des Finders in einer Form, als ob es sich im selben Netzwerk befände. Auch die AirPort-Basisstation bietet eine Unterstützung für den Dienst Zugang zu meinem Mac (siehe Abschnitt 10.1.4), sodass Sie auf eine an die Basisstation angeschlossene Festplatte aus dem gesamten Internet über eine verschlüsselte Verbindung zugreifen können.

Abbildung 11.15    Den Dienst »Zugang zu meinem Mac« aktivieren Sie in der Ansicht »iCloud«.

11.2.3    Ein drahtloses Netzwerk einrichten

Es kann die Situation eintreten, dass Sie, ohne über einen WLANRouter zu verfügen, ein drahtloses Netzwerk erstellen möchten; dies wird unter macOS als »Computer-zu-Computer«-Netzwerk

bezeichnet. Hierzu lassen Sie sich den WLAN-Status in der Menüleiste anzeigen. Sie finden in dem Menü unterhalb der Liste der gefundenen Netzwerke den Eintrag Netzwerk anlegen. Wählen Sie diesen Eintrag aus, dann erscheint der in Abbildung 11.16 dargestellte Dialog. Hier können Sie auch einen anderen Namen vergeben. Haben Sie das ungeschützte Netzwerk eingerichtet, dann ändert sich das Icon in der Menüleiste und Ihr Netzwerk ist verfügbar. Auf dem anderen Rechner wird es in der Rubrik Geräte in der Liste der gefundenen Netzwerke aufgeführt. Die Verbindung kann direkt ohne Eingabe eines Passworts aufgenommen werden.

Abbildung 11.16    Ein »Computer-zu-Computer-Netzwerk« wird nicht mit einem Passwort geschützt.

11.2.4    Den Mac als Router nutzen

Während das zuvor beschriebene ungeschützte Netzwerk allenfalls für die schnelle Verbindung von zwei Rechnern nützlich ist, können Sie Ihr System auch als (WLAN-)Router nutzen. In der Ansicht Freigabe der Systemeinstellungen finden Sie den Dienst Internetfreigabe.

Abbildung 11.17    Der Dienst »Internetfreigabe« ermöglicht die Konfiguration des Rechners als Router.

Hier wählen Sie unter Verbindung freigeben zunächst die Schnittstelle aus, die für die Verbindung ins Internet oder das Hauptnetzwerk konfiguriert wurde. In Abbildung 11.17 ist dies die Schnittstelle Ethernet. In der Liste Mit Computern über aktivieren Sie die Schnittstellen, deren Kommunikation weitergeleitet werden soll. In diesem Beispiel wird die Schnittstelle WLAN genutzt, sodass alle Rechner, die das zu erstellende drahtlose Netzwerk verwenden, über die Thunderbolt-Ethernet-Schnittstelle mit dem Internet verbunden werden. Das drahtlose Netzwerk können Sie mit einem Klick auf die Schaltfläche WLAN-Optionen konfigurieren und dabei auch unter Sicherheit die Option Persönlicher WPA2 auswählen. Anschließend vergeben Sie das Passwort, das für den Zugang zu dem drahtlosen Netzwerk notwendig ist (siehe Abbildung 11.18). Jetzt können Sie den Dienst Internetfreigabe aktivieren, und Ihr Rechner fungiert nun als Router. Dabei übernimmt er auch die

Vergabe von IP-Adressen mittels DHCP und leitet DNS-Anfragen weiter.

Abbildung 11.18    Das drahtlose Netzwerk können Sie mit einem Passwort sichern.

12    Rechner im Netzwerk fernsteuern Verwalten Sie mehrere Rechner, dann können die Fernwartung mittels VNC und die Bildschirmfreigabe von macOS sehr praktisch sein. Und mit SSH können Sie verschlüsselte Verbindungen zu einem anderen Rechner aufbauen. Zur Fernsteuerung eines Rechners hat sich mittlerweile eine ganze Reihe von Lösungen etabliert. Bereits normale Chat- und Telefoniesoftware wie Skype ist in der Lage, die Bildschirmdarstellung im Netzwerk zu übertragen. Darüber hinaus gibt es mit GoTo-Meeting und TeamViewer zwei spezialisierte Lösungen, die auch unter macOS verfügbar sind. Von Haus aus bietet Ihnen macOS einige Möglichkeiten, einen Rechner über das Netzwerk zu steuern. Die Bildschirmfreigabe überträgt den Inhalt des Bildschirms und erlaubt auch die Fernsteuerung durch die Übertragung der Eingaben mit der Maus, dem Trackpad und der Tastatur. Mit der Secure Shell (SSH) nehmen Sie am Terminal eine verschlüsselte Verbindung zu einem anderen Rechner auf und können dann Befehle auf dem entfernten Rechner ausführen. SSH ist dabei mehr als eine Übertragung von Befehlen, sondern wird unter Linux- und Unix-Systemen gerne genutzt, um eine verschlüsselte Verbindung zu einem Rechner herzustellen. So verwenden die Befehle scp und rsync (siehe Abschnitt 13.3) SSH zur Verschlüsselung der Kommunikation.

12.1    Bildschirmfreigaben und Virtual Network Computing Zur Übertragung des Bildschirms und zur Fernsteuerung des Rechners können Sie mit dem Dienstprogramm Bildschirmfreigabe direkt eine Verbindung zu einem Rechner aufnehmen. Das Verfahren beruht auf dem sogenannten Virtual Network Computing (VNC), das Apple jedoch für macOS in einigen Punkten modifiziert hat. Die Fernsteuerung mittels VNC eignet sich in erster Linie für macOS- und Linux-Systeme. Möchten Sie einen Windows-Rechner fernsteuern, dann stellt das kostenfreie Programm Microsoft Remote Desktop (siehe Abschnitt 14.2.3) eine gute Alternative dar. 12.1.1    Ein macOS-System mit der Bildschirmfreigabe steuern

Sie finden das Programm Bildschirmfreigabe im Verzeichnis /System/Library/Core-Services/Applications und können es auch im Dock ablegen.

Abbildung 12.1    Den Dienst »Bildschirmfreigabe« können Sie auf bestimmte Benutzer und Gruppen beschränken.

Abbildung 12.2    Die Bildschirmfreigabe wird auch über Bonjour im Netzwerk kommuniziert.

Um Ihren Bildschirm im Netzwerk freizugeben, aktivieren Sie in den Systemeinstellungen in der Ansicht Freigaben den Dienst Bildschirmfreigabe (siehe Abbildung 12.1). Sie können ferner entscheiden, ob alle Benutzer Ihres Systems über das Netzwerk die Freigabe nutzen dürfen oder ob Sie die Freigabe nur bestimmten Gruppen und Benutzern gewähren wollen. Ist die Bildschirmfreigabe aktiviert, dann wird sie auch über Bonjour im lokalen Netzwerk kommuniziert. Haben Sie einen Rechner ausgewählt, dann ist eine Schaltfläche Bildschirmfreigabe (siehe Abbildung 12.2) verfügbar. Alternativ können Sie im Finder über den Menüpunkt Gehe zu • Mit Server verbinden oder über die Tastenkombination (š)+(K) den Dialog für die Verbindung mit einem Server aufrufen und einen URL in der Form vnc://Rechner.local oder vnc://10.0.1.3 eingeben. Der URL, unter dem Ihr Rechner für die Bildschirmfreigabe erreichbar ist, wird Ihnen auch in den Systemeinstellungen (siehe Abbildung 12.1) angezeigt. Sie können das Programm Bildschirmfreigabe auch direkt starten.

In diesem Fall werden Sie zur Eingabe einer IP-Adresse oder des Rechnernamens aufgefordert.

Abbildung 12.3    Ist bereits ein Anwender angemeldet, dann kann auch eine zweite Sitzung gestartet werden.

Zur Freigabe müssen Sie sich mit Ihrem Benutzernamen und Passwort identifizieren. Sind Sie auf dem Rechner bereits angemeldet, dann wird der Bildschirm direkt übertragen. Ist noch kein Benutzer an der grafischen Oberfläche angemeldet, dann erscheint das Anmeldefenster des Systems. Wenn bereits ein anderer Benutzer angemeldet ist, dann erscheint der in Abbildung 12.3 dargestellte Dialog. Sie können dann um Zugriff auf den Bildschirm des Anwenders bitten, der den Rechner bereits nutzt. Sie können aber auch eine zweite, separate Sitzung an der grafischen Oberfläche starten, indem Sie sich selbst anmelden. Das Verfahren entspricht im Prinzip dem schnellen Benutzerwechsel; es sind mehrere Benutzerkonten an der grafischen Oberfläche angemeldet. Der Unterschied besteht lediglich darin, dass beide Anwender zeitgleich mit der grafischen Oberfläche arbeiten. Wenn die Freigabe erfolgt ist, erscheint die Darstellung des entfernten Bildschirms in einem eigenen Fenster. Die Bildschirmfreigabe verfügt über zwei Modi. Ist das Icon mit dem Pfeil und den Kreisen (siehe Abbildung 12.5) aktiviert, dann steuern Sie den entfernten Rechner. Mausklick und Tastatureingaben

werden auf dem entfernten Rechner ausgeführt. Klicken Sie das Icon mit dem Fernglas an, dann wechseln Sie in den Beobachtungsmodus. Bewegen Sie dann den Mauspfeil über das Fenster, erscheint eine Lupe. Drücken Sie die Maustaste, dann wird ein kreisförmiger Bereich um die Lupe herum vergrößert. Diese Vergrößerung wird auf beiden Bildschirmen dargestellt.

Abbildung 12.4    In den Einstellungen konfigurieren Sie das Scrollverhalten.

Deuten die Pfeile des Icons Skalieren (siehe Abbildung 12.5) nach innen, dann wird die Anzeige des entfernten Bildschirms auf die Größe des Fensters verkleinert. Klicken Sie das Icon einmal an, dann deuten die Pfeile nach außen, und die Darstellung erfolgt 1 : 1. In den Voreinstellungen des Programms Bildschirmfreigabe können Sie in der Ansicht Display (siehe Abbildung 12.4) vorgeben, wann die Ansicht verschoben wird, sofern bei der exakten Darstellung der entfernte Bildschirm nicht vollständig dargestellt werden kann. In der Ansicht Qualität der Einstellungen stehen Ihnen zwei Optionen zur Verfügung. Arbeiten Sie mit einer langsameren Verbindung, dann sollten Sie die Qualität der Darstellung an die Geschwindigkeit Ihrer Verbindung anpassen lassen. Alternativ können Sie auch die beste Qualität vorgeben, was aber dann bei einer langsamen Verbindung zu Verzögerungen führen kann. Sie

können auch über die Menüpunkte Darstellung • Angepasste Qualität und Darstellung • Hohe Qualität die Anzeige direkt konfigurieren.

Abbildung 12.5    Die Zwischenablage der Systeme kann automatisch synchronisiert werden.

Wenn Sie den entfernten Rechner steuern, dann können Sie auch die Zwischenablagen der beiden Rechner synchronisieren. Über das Icon Zwischenablage (siehe Abbildung 12.5) entscheiden Sie, ob Sie die Geteilte Zwischenablage verwenden möchten oder nicht. Ist die Zwischenablage aktiv, dann wird ihr Inhalt zwischen den Rechnern synchron gehalten. Dies nimmt manchmal eine oder zwei Sekunden in Anspruch. Wenn Sie die Synchronisation nicht nutzen, ist es aber möglich, über die Menüpunkte Zwischenablage senden und Zwischenablage abfragen den Inhalt der Zwischenablage von Hand zu synchronisieren. Schließlich haben Sie die Möglichkeit, über den Menüpunkt Verbindung • Bildschirmfoto sichern unter ein Bildschirmfoto der Darstellung des entfernten Rechners zu erstellen.

Abbildung 12.6    Über die »Computereinstellungen« kann die Freigabe des Bildschirms auch auf Anfrage erfolgen.

Es ist auch möglich, den Bildschirm auf Anforderung für Gäste freizugeben. In den Systemeinstellungen in der Ansicht Freigaben wählen Sie zunächst den Dienst Bildschirmfreigabe aus und klicken dann auf die Schaltfläche Computereinstellungen ... Sie finden dort die Option Jeder kann eine Genehmigung zur Bildschirmsteuerung anfordern (siehe Abbildung 12.6). Diese Option ist unabhängig von der in Abschnitt 12.1.2 beschriebenen Freigabe für VNC-Viewer.

Abbildung 12.7    Eine Genehmigung zur Freigabe des Bildschirms kann auch erbeten werden.

Wenn diese Option aktiviert ist, dann wird dem Dialog zur Eingabe des Benutzernamens und Passworts die Option Durch Fragen um Erlaubnis hinzugefügt (siehe Abbildung 12.7). Wird diese ausgewählt, dann erscheint auf dem Bildschirm des aktuell angemeldeten Benutzers ein Dialog, in dem er die Freigabe bestätigen oder ablehnen kann. Teilen Sie Ihren Bildschirm, dann wird die Menüleiste oben rechts um einen Eintrag mit zwei ineinander verschlungenen Rechtecken ergänzt (siehe Abbildung 12.8). In diesem Menü werden die Rechner aufgeführt, denen Sie aktuell die Berechtigung erteilt haben, Ihren Bildschirm zu betrachten.

Abbildung 12.8    Die aktuellen Verbindungen werden in der Menüleiste aufgeführt.

12.1.2    Virtual Network Computing (VNC) mit Linux

Die Funktion der Bildschirmfreigabe von macOS beruht auf dem Verfahren Virtual Network Computing (VNC). Dieses steht Ihnen auch unter Linux und Windows zur Verfügung. Wenn Sie von Windows aus eine Verbindung zu macOS mittels VNC aufnehmen möchten, dann bietet Ihnen RealVNC (https://www.realvnc.com) sowohl einen sogenannten Viewer zur Kontaktaufnahme als auch einen VNC-Server, den Sie unter Windows installieren können. Zur Fernsteuerung eines Rechners wäre allerdings eher das Programm Microsoft Remote Desktop (siehe Abschnitt 14.2.3) zu empfehlen. Unter Linux steht eine Reihe von Programmen zur Verfügung, mit denen Sie eine Fernsteuerung mittels VNC realisieren können. In diesem Abschnitt nutzen wir die unter Ubuntu Linux verfügbaren Standardprogramme Zugriff auf entfernte Arbeitsfläche und Freigaben für Arbeitsfläche. Den direkten Zugriff per VNC aktivieren Sie in den Systemeinstellungen in der Ansicht Freigaben, indem Sie zunächst den Dienst Bildschirmfreigabe auswählen und dann über Computereinstellungen den in Abbildung 12.9 dargestellten Dialog aufrufen. Dort aktivieren Sie die Option VNC-Viewer können den Bildschirm mit folgendem Passwort steuern und geben ein Passwort ein. Dieses Passwort wird nur für die Freigabe über VNC genutzt und ist von den normalen Benutzerkonten unabhängig. Unter Ubuntu

Linux können Sie das Programm Zugriff auf entfernte Arbeitsfläche starten. Wenn Sie dort eine neue Verbindung erstellen, dann wählen Sie in dem Dialog aus Abbildung 12.10 unter Protokoll den Eintrag VNC – Virtual Network Computing aus. Unter Server geben Sie die IPAdresse oder den Namen des Rechners an, zu dem Sie eine Verbindung aufnehmen möchten. Der Benutzername kann in diesem Fall leer bleiben, während Sie unter Passwort das zuvor in den Systemeinstellungen für die VNC-Verbindungen vergebene Passwort. Schließlich sollten Sie noch die Option Verschlüsselung deaktivieren auswählen, da diese Form der Verschlüsselung von macOS nicht angeboten wird.

Abbildung 12.9    Für die Freigabe mit VNC wird ein Passwort vergeben.

In der Ansicht Erweitert können Sie noch das sogenannte Mapping für die Tastaturbelegung aktivieren. Dies soll bewirken, dass auch Umlaute und Sonderzeichen über die Tastatur korrekt übertragen werden. In der Regel führt dies leider nicht zum Erfolg, sodass Sie, wenn Sie unter VNC die Tastatur nutzen, auf Umlaute und Sonderzeichen verzichten müssen.

Abbildung 12.10    Die Verschlüsselung der Verbindung sollten Sie deaktivieren.

Haben Sie mehr als einen Bildschirm an Ihren macOS-Rechner angeschlossen, dann müssen Sie durch einen mehrfachen Mausklick auf die Lupe in der Symbolleiste die Vergrößerung entsprechend anpassen. Anschließend können Sie sich am Anmeldebildschirm von macOS authentifizieren. Wenn Sie von Ihrem macOS-Rechner aus ein Linux-System mit VNC fernsteuern möchten, dann kann das Programm Bildschirmfreigabe von macOS an seine Grenzen stoßen. Die Modifikationen, die Apple für eine optimale Unterstützung von macOS vorgenommen hat, gehen in einigen Fällen unter anderem zu Lasten der Kompatibilität mit Linux. Eine mögliche Alternative ist das Programm Chicken (http://chicken.sourceforge.net/). Für die Verbindung wird die Verschlüsselung, die der unter Ubuntu Linux standardmäßig eingesetzte VNC-Server Vino nutzt, nicht unterstützt und muss deaktiviert werden.

Abbildung 12.11    Für die VNC-Verbindung können Sie ein Passwort vergeben.

Um den Zugriff auf einen Linux-Rechner zu ermöglichen, starten Sie zunächst das Programm Freigabe der Arbeitsfläche unter Linux. Sie können dort ein Passwort für die VNC-Verbindungen vergeben und ferner festlegen, ob die Freigabe des Bildschirms einer Bestätigung bedarf (siehe Abbildung 12.11). Bevor Sie mittels Chicken eine Verbindung aufnehmen, müssen Sie noch die Verschlüsselung der Kommunikation deaktivieren. Starten Sie unter Linux das Terminal, und ändern Sie durch die Eingabe von gsettings set org.gnome.Vino require-encryption false

die Voreinstellungen des VNC-Servers Vino. Sie können und sollten die Verschlüsselung zu einem späteren Zeitpunkt durch die Eingabe von gsettings set org.gnome.Vino require-encryption true

wieder aktivieren. Der VNC-Server unter Ubuntu Linux wird auch mittels Bonjour automatisch im Netzwerk kommuniziert. Sie können nun probieren, ob Sie mit dem Programm Bildschirmfreigabe eine VNC-Verbindung aufnehmen können (siehe

Abbildung 12.12). Sollte dies nicht möglich sein, dann sollten Sie es mit dem Programm Chicken versuchen.

Abbildung 12.12    Der Zugriff auf das Linux-System erfolgt mit dem Programm »Bildschirmfreigabe«.

Neben dem Programm Chicken, das eine sehr gute Ergänzung zum Programm Bildschirmfreigabe von macOS darstellt, gibt es mittlerweile eine Reihe von iPad-Apps, die eine Fernsteuerung von Rechnern mittels VNC ermöglichen. Dazu gehört auch eine App der Firma RealVNC, die die Entwicklung des Verfahrens VNC maßgeblich betreut.

12.2    Verschlüsselte Verbindungen über SSH herstellen Die Secure Shell (SSH) dient zum Aufbau einer verschlüsselten Verbindung zu einem anderen Rechner. Dabei wird eine Shell (siehe Abschnitt 21.1.3) gestartet, die auf dem entfernten System ausgeführt wird. Sie nimmt Ihre Eingaben entgegen, führt auf dem entfernten Rechner die Befehle aus und zeigt Ihnen die Ausgaben und Resultate der Befehle an. Aufgrund der starken Verschlüsselung ist SSH ein sehr gutes Werkzeug, mit dem Sie etwa Server und Rechner über das Internet administrieren. In diesem Abschnitt nehmen wir zunächst eine einfache Verbindung mittels SSH auf, bei der ein Benutzerkonto auf dem entfernten Rechner genutzt wird. Im zweiten Schritt erstellen wir einen sogenannten Schlüssel, der zur Authentifizierung dient und auch die Verbindung ohne Eingabe eines Passwortes möglich macht. Diese Schlüssel wiederum lassen sich mit einem Passwort, der passphrase, schützen. Möchten Sie diese nicht bei jeder Verbindung von Hand eingeben, dann können Sie sie mit dem Befehl ssh-agent auch im Schlüsselbund von macOS ablegen. Schließlich können Sie SSH auch nutzen, um die Verbindung für die Bildschirmfreigabe zu verschlüsseln. 12.2.1    Verbindung mit einem Passwort aufnehmen

Eine Shell zur Eingabe von Befehlen auf einem entfernten Rechner starten Sie mit dem Befehl ssh. Damit Sie sich auf einem Rechner unter macOS mit ssh anmelden und ihn steuern können, müssen Sie zunächst in der Ansicht Freigaben der Systemeinstellungen den Dienst Entfernte Anmeldung aktivieren. Diesen Dienst können Sie so

wie die Bildschirmfreigabe auf bestimmte Benutzer und Gruppen beschränken. »ssh« – »Secure Shell« ssh [Optionen] Benutzer@Rechner

Um eine Verbindung aufzunehmen, geben Sie am Terminal den Befehl ssh, gefolgt vom Accountnamen sowie dem Namen des Rechners oder dessen IP-Adresse, ein. Die IP-Adresse trennen Sie durch das Zeichen @ vom Accountnamen. Die Eingabe könnte also ssh [email protected] oder ssh [email protected] lauten. Nehmen Sie zum ersten Mal eine Verbindung zum angegebenen Rechner auf, dann werden Sie darauf hingewiesen (siehe Abbildung 12.13), dass dessen Authentizität nicht garantiert werden kann. Sind Sie sich sicher, dass Sie mit dem richtigen Rechner verbunden sind, bestätigen Sie dies durch die Eingabe von yes. Der Fingerabdruck des Servers wird dann der Datei known_hosts im Verzeichnis ~/.ssh hinzugefügt. Letzteres befindet sich in Ihrem persönlichen Ordner, ist aber aufgrund Punkts vor dem Namen im Finder nicht sichtbar.

Abbildung 12.13    Wird mit »ssh« zum ersten Mal eine Verbindung zu einem Rechner aufgenommen, dann muss dessen Identität bestätigt werden.

Haben Sie sich anschließend mit dem Passwort des angegebenen Benutzerkontos identifiziert, dann wird auf dem entfernten Rechner eine Shell für Sie gestartet. Alle Befehle, die Sie in diesem Terminal-Fenster eingeben, werden auf dem entfernten Rechner ausgeführt. Dies erkennen Sie auch daran, dass sich zu Beginn der Eingabeaufforderung der Name des Rechners ändert. Bei der in Abbildung 12.13 dargestellten Verbindungsaufnahme erfolgt der Wechsel von Macmini zu MacBook. Mit der Eingabe von logout schließen Sie die verschlüsselte Verbindung, und es wird wieder die Shell auf Ihrem lokalen Rechner ausgeführt. Bei der Arbeit mit SSH ist es wichtig, dass Sie sich darauf verlassen können, auch wirklich mit dem Rechner verbunden zu sein, mit dem Sie sich verbinden möchten. Aus diesem Grund merkt sich ssh der jeweiligen Server. Bei den Fingerabdrücken handelt es sich um Zeichenketten. Ändern sich diese, was auch durch eine Neuinstallation des Betriebssystems geschehen sein kann, dann verweigert der Befehl ssh gegebenenfalls die Verbindungsaufnahme. Sie sollten in so einem Fall genau prüfen, ob in der Zwischenzeit etwas eingetreten ist, was die Änderung des Fingerabdrucks begründen könnte, zum Beispiel eine Neuinstallation des Systems. Andernfalls besteht die Gefahr, dass sich beispielsweise jemand in die Verbindung eingeschaltet hat und versucht, Ihnen ein anderes System unterzuschieben. Wenn Sie sich sicher sind, dass die Änderung korrekt ist, dann können Sie mit nano ~/.ssh/known_hosts den Editor nano starten und die Zeile löschen, die den Namen oder die IP-Adresse des geänderten Rechners enthält (siehe Abbildung 12.14).

Abbildung 12.14    Die Datei »known_hosts« im Verzeichnis »~/.ssh« enthält die Liste der bereits bekannten Rechner.

Alternativ können Sie auch dem Befehl ssh-keygen mit der Option -R den Namen oder die IP-Adresse des Servers übergeben, dessen Fingerabdruck Sie aus der Datei .known_hosts löschen möchten. Die Eingabe könnte ssh-keygen -R macbook.local lauten. 12.2.2    Ein Schlüsselpaar für die Verbindung nutzen

Die Authentifizierung mit einem Passwort ist oft ausreichend, aber aus Sicht des Servers ist es lediglich ein Passwort. Die Identität desjenigen, der das Passwort eingibt, kann nicht überprüft werden. Mit sogenannten Schlüsseln, bei denen es sich zunächst um codierte Zeichenfolgen handelt, kann die Identität überprüft werden. Hierbei werden zwei Schlüssel erzeugt: ein öffentlicher Schlüssel, der auf dem Server hinterlegt wird, und ein privater Schlüssel, der auf Ihrem Rechner verbleibt und zur Prüfung genutzt wird. In diesem Abschnitt erstellen wir zunächst einen Schlüssel, der nicht mit einem speziellen Passwort geschützt wird. Dieser Schlüssel eignet sich dann zur Arbeit mit beispielsweise den Befehlen scp und rsync, wenn Sie diese automatisch im Hintergrund mit einem LaunchAgent (siehe Abschnitt 20.1) ausführen möchten. Die Authentifizierung und Autorisierung erfolgen nurmehr über das Schlüsselpaar.

»ssh-keygen« – Secure Shell Key Generator ssh-keygen Optionen

Um ein Schlüsselpaar zu erstellen, rufen Sie den Befehl sshkeygen mit der Option-t rsa auf (siehe Abbildung 12.15). Damit geben Sie vor, dass der Algorithmus RSA zur Verschlüsselung genutzt werden soll. (Der Algorithmus DSA ließ sich unter macOS 10.13.0 nicht für eine Verbindung ohne Passwort nutzen.) Sie werden von ssh-keygen anschließend gefragt, wo Sie das Schlüsselpaar speichern möchten. Die Standardvorgabe /Users/Accountname/.ssh/id_rsa bestätigen Sie mit einem Druck auf (¢). Wenn Sie zweimal nach der passphrase gefragt werden, drücken Sie erneut die Taste (¢).

Abbildung 12.15    Die »passphrase« kann für das erste Schlüsselpaar zunächst leer bleiben.

Im nächsten Schritt muss der öffentliche Schlüssel, der in der Datei id_rsa.pub gespeichert wurde, auf den Server übertragen werden. Dies erledigen Sie am Terminal bequem mit dem Befehl scp, der das Protokoll SSH für die Verbindung nutzt. Mit der Eingabe von scp ~/.ssh/id_rsa.pub Benutzer@Rechner:~/

kopieren Sie die Datei id_rsa.pub aus dem Verzeichnis ~/.ssh in das persönliche Verzeichnis des angegebenen Benutzers auf dem entfernten Rechner (siehe Abbildung 12.16). Sie nehmen dann mit ssh Benutzer@Rechner erneut eine Verbindung zum entfernten System auf; hier müssen Sie noch einmal Ihr Passwort eingeben. Anschließend erstellen Sie, sofern noch nicht vorhanden, mit mkdir ~/.ssh das Konfigurationsverzeichnis für den SSH-Dienst. Den in der Datei id_rsa.pub vorliegenden Schlüssel fügen Sie der Datei authorized_keys im Verzeichnis ~/.ssh hinzu. Dies erreichen Sie durch die Eingabe von: cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

Der Befehl cat dient hier dazu, den Inhalt der Datei id_rsa.pub auszugeben. Diese Ausgabe wird mit den zwei spitzen Klammern umgeleitet, sodass der Inhalt der Datei id_rsa.pub der Datei authorized_keys am Ende hinzugefügt wird. Melden Sie sich nun erneut an dem Rechner an, dann erfolgt die Authentifizierung über den Schlüssel. Sie brauchen Ihr Passwort nicht mehr einzugeben.

Abbildung 12.16    Nachdem der öffentliche Schlüssel übertragen und der Datei »authorized_keys« hingefügt wurde, erfolgt die Authentifizierung über den Schlüssel.

12.2.3    Die Passphrase im Schlüsselbund hinterlegen

Nutzen Sie einen SSH-Schlüssel, der wie zuvor beschrieben nicht durch ein Kennwort geschützt ist, dann kann jeder, der Zugriff auf

die Dateien des Schlüsselpaares hat, sich mit Ihrer Identität an einem Server anmelden. Ist Ihr öffentlicher Schlüssel auf dem Server bereits hinterlegt, dann kann der Zugriff des Angreifers direkt erfolgen, da ja kein Passwort mehr verwendet wird. Sie sollten daher darauf achten, dass Sie die Dateien im Verzeichnis ~/.ssh nicht versehentlich weitergeben. Einen zusätzlichen Schutz erreichen Sie, indem Sie einen Schlüssel mit einem Kennwort, der Passphrase, schützen. Hierzu erzeugen Sie mit ssh-keygen -t rsa ein neues Schlüsselpaar und überschreiben dabei das bereits vorhandene, indem Sie die entsprechende Rückfrage mit y beantworten (siehe Abbildung 12.17). Wenn Sie nach der passphrase gefragt werden, dann geben Sie zweimal das gleiche Kennwort ein, das für dieses Schlüsselpaar genutzt wird. Anschließend übertragen Sie mittels scp, wie im vorhergehenden Abschnitt beschrieben, den öffentlichen Schlüssel auf den Server und fügen ihn dann mit cat der Datei authorized_keys hinzu. Gegebenenfalls möchten Sie den alten Schlüssel löschen. Mit nano ~/.ssh/authorized_keys öffnen Sie die Datei im Editor nano und entfernen dann die Zeile, die den veralteten Schlüssel enthält. Die Identität des Inhabers, etwa [email protected], wird jeweils am Ende der Zeile angegeben. Das SSH-System von macOS ist in der Lage, das Kennwort eines Schlüssels in Ihrem Schlüsselbund zu speichern. Unter vorhergehenden Versionen des Betriebssystems wurde zu diesem Zweck der ssh-agent genutzt, mit macOS 10.12.2 hat Apple dieses Verfahren jedoch aufgegeben, um sich den Gepflogenheiten des SSH-Projekts anzugleichen.

Abbildung 12.17    Das zweite Schlüsselpaar wird mit einem Kennwort versehen und überschreibt das erste.

Abbildung 12.18    Die Unterstützung für den Schlüsselbund muss eigens konfiguriert werden.

Die direkte Unterstützung des Schlüsselbundes müssen Sie für Ihr SSH-System zunächst aktivieren, indem Sie die Datei /etc/ssh/ssh_config um die Zeile UseKeychain yes

ergänzen (siehe Abbildung 12.18). Fügen Sie diese Zeile vor den mit Host beginnenden Einträgen hinzu, dann gilt die Einstellung für

alle Systeme, zu denen Sie eine Verbindung aufnehmen. Mit der Eingabe von sudo nano /etc/ssh/ssh_conf starten Sie den Editor nano und können die Zeile hinzufügen. Geben Sie nun das Kennwort des Schlüssels bei der Aufnahme einer Verbindung ein, dann wird es im Schlüsselbund gespeichert. Sie können es ändern oder einsehen, indem Sie die Ansicht der Objekte auf id_rsa begrenzen (siehe Abbildung 12.19).

Abbildung 12.19    Das gespeicherte Kennwort des Schlüssels wird in der Rubrik »Passwörter« abgelegt.

12.2.4    Bildschirmfreigabe mit SSH tunneln

Ein Problem bei der Bildschirmfreigabe, die ich in Abschnitt 12.1.2 beschrieben habe, besteht darin, dass die Kommunikation schwach bis gar nicht verschlüsselt wird. Mit SSH ist es möglich, eine verschlüsselte Verbindung zu einem Rechner aufzubauen, über die eine andere Kommunikation erfolgt. Die Kommunikation für die Bildschirmfreigabe wird durch SSH getunnelt und damit verschlüsselt. Sie nehmen also mit der Bildschirmfreigabe keine Verbindung zum entfernten Rechner mehr auf, sondern zu dem Programm ssh. Dieses wartet auf eingehende Anfragen, die es verschlüsselt an den anderen Rechner weiterleitet.

Sie stellen eine verschlüsselte Verbindung, den Tunnel, durch den Aufruf von ssh -L 6666:127.0.0.1:5900 -N -l Benutzer Rechner

her. Mit der Option -L 6666:127.0.0.1:5900 öffnen Sie auf Ihrem lokalen Rechner (127.0.0.1) Port 6666, der auf Port 5900 des entfernten Rechners weitergeleitet wird. Auf Port 5900 wartet in der Standardkonfiguration der Dienst Bildschirmfreigabe auf eingehende Verbindungen. Wenn Sie den Befehl ausführen, dann bleibt der Befehl ssh im Terminal-Fenster aktiv. Beenden Sie die Verbindung mit der Bildschirmfreigabe, dann können Sie abschließend durch die Tastenkombination (š)+(.) auch ssh beenden. Starten Sie nun das Programm Bildschirmfreigabe und geben Sie im Dialog Verbinden mit als Server »127.0.0.1:6666« ein, dann wird zunächst eine Verbindung mit ssh aufgenommen. Die Kommunikation wird verschlüsselt an den entfernten Rechner durchgereicht. Damit ist die Kommunikation der Bildschirmfreigabe recht gut abgesichert.

13    Dateien übertragen und Ordner freigeben macOS unterstützt eine Reihe von Protokollen, mit denen Sie Ordner im Netzwerk freigeben und Dateien austauschen können. Und auch am Terminal stehen Ihnen einige leistungsfähige Tools zur Verfügung. Für die Übertragung von Dateien und Ordnern im Netzwerk verfügt macOS über einige Funktionen. Welche Methode Sie nutzen, hängt davon ab, wie die Dateien im Netzwerk freigegeben wurden. Mit dem Apple Filing Protocol (AFP) lassen sich Ordner im lokalen Netzwerk unmittelbar freigeben. Allerdings steht AFP meistens nur unter Rechnern zur Verfügung, bei denen ebenfalls macOS eingesetzt wird. Um Ordner für einen Linux-Rechner freizugeben, können Sie das Network File System (NFS) konfigurieren. Die Freigabe von Ordnern über das Protokoll SMB für Windows beschreibe ich in Abschnitt 14.1.3. Schließlich bietet macOS 10.13 mit dem Inhaltscaching eine weitere Möglichkeit des Datenaustausches, um Bandbreite beim Download von Aktualisierungen sparen zu können. Wenn Sie nur eine einzelne Datei übertragen möchten, steht Ihnen mit AirDrop eine Möglichkeit zur Verfüfung, die Sie sehr einfach im Finder nutzen können. Allerdings ist AirDrop nur unter macOS und iOS verfügbar. Eine Alternative, die Ihnen auch die Übertragung einer Datei etwa auf ein (Android-)Handy ermöglicht, ist der Bluetooth-Datenaustausch. Am Terminal können Sie mit dem Befehl scp Dateien und Ordner über das Netzwerk kopieren, während Sie mit rsync ganze Verzeichnisstrukturen abgleichen. Der Befehl curl kann unter

anderem genutzt werden, um Dateien aus dem Internet herunterzuladen.

13.1    Ordner freigeben und einbinden Neben der Freigabe von Ordnern über das Apple Filing Protocol und das Network File System werde ich in diesem Abschnitt auch beschreiben, wie Sie die Erstellung von .DS_Store-Dateien verhindern und mit dem Befehl dot_clean erweiterte Attribute in ._-Dateien löschen. 13.1.1    Die Ansicht »Netzwerk« und der Dialog »Mit Server verbinden«

Im Finder können Sie die Ansicht Netzwerk über den Menüpunkt Gehe zu • Netzwerk oder die Tastenkombination (š)+(ª)+(K) aufrufen. Dort finden Sie alle Systeme, die im lokalen Netzwerk Freigaben über Bonjour oder SMB kommunizieren. Abhängig von der Darstellung können Sie mit einem Doppelklick auf einen Rechner oder durch das Ausklappen (siehe Abbildung 13.1) die freigegebenen Ordner einblenden und mit einem Doppelklick auf den Ordner einbinden.

Abbildung 13.1    Die Ansicht »Netzwerk« im Finder führt die Rechner auf, die Freigaben via Bonjour, AFP oder SMB im Netzwerk kommunizieren.

Wird der Server nicht in der Ansicht Netzwerk angezeigt, dann können Sie den Dialog Mit Server verbinden nutzen (siehe Abbildung 13.2), den Sie über den Menüpunkt Gehe zu • Mit Server verbinden oder die Tastenkombination (š)+(K) aufrufen.

Abbildung 13.2    Im Dialog »Mit Server verbinden« wird ein URL eingegeben.

Über diesen Dialog erfolgt die Verbindungsaufnahme zu einem Server in Form eines URL mit folgendem Aufbau: Protokoll://[Benutzer@]Server/[Freigabe] Hierbei geben Sie zunächst das Kürzel des Protokolls an, das für die Kommunikation genutzt werden soll. Eine Liste der Protokolle finden Sie in Tabelle 13.1. Bei den meisten Protokollen können Sie einen Benutzernamen übergeben, mit dem Sie sich an dem Server anmelden möchten. Diesen Namen trennen Sie mit dem Zeichen »@« von der Angabe des Servers. Den Server können Sie als IPAdresse oder mit seinem Netzwerknamen angeben. Wissen Sie, welchen freigegebenen Ordner Sie einbinden möchten, dann können Sie die Freigabe abschließend angeben. Eine Verbindung mit einem AFP-Server würde durch den URL

afp://[email protected]/kai aufgenommen. Hierbei würde der Account »kai« genutzt und die gleichnamige Freigabe auf dem Rechner »Macmini.local« eingebunden. Die Angabe des Benutzers und der Freigabe sind nicht zwingend. Kürzel Protokoll afp://

Hiermit wird eine Verbindung mit dem Apple Filing Protocol (AFP)hergestellt. Der Server kann über die IPAdresse oder den im Netzwerk kommunizierten Namen angegeben werden.

smb:// Bei diesem Kürzel erfolgt die Kommunikation über das cfis:// Server Message Block (SMB) genannte Protokoll. Die Angabe smb:// wird, sofern verfügbar, Version 2 des Protokolls nutzen. Sie erzwingen die Nutzung der Version 1, indem Sie im URL das Protokoll cfis:// angeben. nfs://

Dieses Kürzel bindet eine Freigabe ein, die über das Network File System realisiert wurde.

https:// macOS ist auch in der Lage, Freigaben einzubinden, die mittels WebDav auf einem Webserver realisiert wurden. Mit dem Kürzel https:// stellen Sie eine verschlüsselte Verbindung her, während Sie mit http:// eine unverschlüsselte Verbindung nutzen. ftp://

Mit diesem Kürzel wird eine Verbindung zu einem FTPServer aufgenommen. Der Finder von macOS kann allerdings nicht schreibend auf eine FTP-Freigabe zugreifen. Sie können lediglich Dateien und Ordner herunterladen.

Tabelle 13.1    Kürzel für das Protokoll

Wenn Sie einen Ordner über das Netzwerk einbinden, dann wird er im lokalen Dateisystem im Verzeichnis /Volumes eingebunden. In Abbildung 13.3 wurden drei Freigaben aktiviert, die in der rechten Spalte aufgeführt werden. Haben Sie mehrere gleichnamige Freigaben von unterschiedlichen Servern eingebunden, dann werden sie im Verzeichnis /Volumes aufsteigend nummeriert. Haben Sie also von mehreren Servern eine Freigabe mit dem Namen »Design« eingebunden, dann finden Sie im Verzeichnis /Volumes die Ordner Design und Design-1.

Abbildung 13.3    Über das Netzwerk eingebundene Ordner werden im Verzeichnis »/Volumes« aktiviert.

13.1.2    Freigaben über das Apple Filing Protocol (AFP)

Das Apple Filing Protocol (AFP) war lange Zeit das bevorzugte Protokoll für die Freigabe von Ordnern und die Übertragung von Dateien im Netzwerk. Mit OS X 10.11 hat sich die Situation ein wenig verändert: Apple setzt in Zukunft verstärkt auf das Protokoll Server Message Block (SMB) in der Version 2, das eigentlich von Microsoft unter Windows für den Datenaustausch im Netzwerk genutzt wird. Der Vorteil von SMB2 besteht unter anderem in einer höheren Geschwindigkeit. Ob Sie einen Ordner über AFP oder SMB eingebunden haben, können Sie am Icon erkennen. Bei einer Freigabe über AFP wird ein Icon mit vier Funkwellen angezeigt, bei einer SMB-Freigabe sind drei stilisierte Männchen im Icon zu sehen. [+] Wenn Sie das Dateisystem APFS nutzen, dann können Sie die Ordner auf einem solchen Volume nicht über AFP freigeben. In

diesem Fall steht Ihnen nur SMB als Netzwerk-Protokoll zur Verfügung. Um einen Ordner über AFP freigeben zu können, muss sich dieser auf einem Volume mit dem Dateisystem HFS befinden. Nehmen Sie im Finder über die Ansicht Netzwerk eine Verbindung zu einem Rechner auf, der mit einer aktuellen Version von macOS ausgestattet ist, dann wird in den meisten Fällen SMB2 für den Datenaustausch genutzt. Sie können aber die Nutzung von AFP in einem solchen Fall erzwingen, indem Sie den Dialog Mit Server verbinden aufrufen und dort das Präfix afp:// für die Kommunikation eingeben. In der Ansicht Netzwerk können Sie die freigegebenen Ordner eines Rechners durchsuchen (siehe Abbildung 13.4), indem Sie diesen Rechner wie einen Ordner öffnen. Wenn der Gastaccount auf dem Rechner für die Freigaben aktiviert wurde, dann erscheinen die öffentlichen Ordner automatisch. Andernfalls müssen Sie über die Schaltfläche Verbinden im oberen Bereich des Fensters den Dialog zur Eingabe des Benutzernamens und Passwortes an diesem Server aufrufen. Haben Sie sich mit einem administrativen Benutzerkonto an dem System angemeldet, dann stehen Ihnen zusätzlich zu den freigegebenen Ordnern auch die angeschlossenen Festplatten und Datenträger zur Auswahl. Diese werden für administrative Benutzer automatisch freigegeben.

Abbildung 13.4    Die freigegebenen Ordner des Systems werden nach der Anmeldung zur Auswahl gestellt.

Möchten Sie auf Ihrem System Ordner im Netzwerk freigeben, dann konfigurieren Sie dies in den Systemeinstellungen in der Ansicht Freigaben (siehe Abbildung 13.5). Zunächst müssen Sie den Dienst Dateifreigabe aktivieren.

Abbildung 13.5    Ordner geben Sie in der Ansicht »Freigaben« der Systemeinstellungen frei.

In der Liste Geteilte Ordner werden die Verzeichnisse aufgeführt, auf die der Zugriff über das Netzwerk erfolgen kann. Über das Pluszeichen geben Sie einen Ordner frei, und über das Minuszeichen beenden Sie die Freigabe. Alternativ könnten Sie auch im Finder im Fenster Infos zu (siehe Abschnitt 1.2.1) die Option Geteilte Ordner aktivieren. Unter Benutzer werden die Konten Ihres Systems aufgeführt, die auf den Ordner zugreifen dürfen. Genau genommen handelt es sich hierbei um Einträge in der Access Control List (siehe Abschnitt 6.1.2), die bei der Anmeldung eines Benutzers an Ihrem System ausgewertet wird, um die Freigabe gegebenenfalls zu gewähren.

Abbildung 13.6    Über das Kontextmenü zeigen Sie den Ordner im Finder an.

Rufen Sie das Kontextmenü (siehe Abbildung 13.6) über einem freigegebenen Ordner auf, dann finden Sie dort den Eintrag Zugriffsrechte auf enthaltene Objekte übertragen. Wenn Sie ihn auswählen, werden für alle Unterordner und die darin enthaltenen Dateien die Zugriffsrechte gesetzt, die Sie in der Spalte Benutzer der Systemeinstellungen vergeben haben. Da dies jedoch in Zukunft nicht automatisch erfolgt, sollten Sie die Access Control List und ihre Vererbung so konfigurieren, wie in Abschnitt 6.1.3 beschrieben.

Abbildung 13.7    Über die Optionen aktivieren Sie die Protokolle AFP und SMB.

Über die Schaltfläche Optionen rufen Sie einen Dialog auf, in dem Sie die Protokolle, über die Ordner im Netzwerk bereitgestellt werden, aktivieren und abschalten können (siehe Abbildung 13.7). Sie finden hier auch die Angabe, wie viele Benutzer aktuell an Ihrem System angemeldet sind.

Im Kontextmenü einer Freigabe (siehe Abbildung 13.6) finden Sie auch den Eintrag Erweiterte Optionen. In diesem Dialog (siehe Abbildung 13.8) legen Sie zunächst fest, über welche Protokolle der Ordner im Netzwerk freigegeben werden soll. Mit der Option Gastbenutzer zulassen können Sie den Ordner auch für diejenigen Benutzer im Netzwerk verfügbar machen, die nicht an Ihrem System angemeldet sind, sofern Sie den Gastbenutzer in der Benutzerverwaltung entsprechend konfiguriert haben.

Abbildung 13.8    In den erweiterten Optionen kann ein Ordner auch als Ziel für TimeMachine-Backups freigegeben werden.

Schließlich ist es möglich, dass Sie den Ordner als Ziel für TimeMachine-Backups freigeben. Hierbei sollten Sie die Option Backups begrenzen auf unbedingt in Betracht ziehen. Sie vermeiden durch eine solche Obergrenze, dass Ihnen der Speicherplatz aufgrund der Datensicherung ausgeht. 13.1.3    Bandbreite mit Inhaltscaching sparen

Nutzen Sie mehrere Apple-Geräte, dann können Updates zu einem Geduldsspiel werden. Immerhin müssen sowohl das MacBook als

auch der iMac sowie der Macmini die Installationspakete für die Updates von den Servern Apples herunterladen. Die mit macOS 10.13 neu eingeführte Funktion Inhaltscaching kann Ihnen helfen, Bandbreite und Zeit zu sparen. Die Aufgabe dieses Dienstes besteht darin, Updates zwischenzuspeichern und in Ihrem lokalen Netzwerk zu verteilen. Wenn beispielsweise auf dem iMac der Dienst Inhaltscaching aktiviert wurde, dann lädt der iMac neue Updates von den Servern Apples herunter und speichert sie auf seinem Datenträger. Wenn nun auf dem MacBook das Update eingespielt werden soll, dann erfolgt der Download des Updates nicht mehr von den Servern Apples, sondern diskret im Hintergrund von dem iMac in Ihrem lokalen Netzwerk. Dieser Vorgang ist deutlich schneller und spart einiges an Bandbreite. Sie können den Dienst in der Ansicht Freigaben der Systemeinstellungen aktivieren. Neben den Updates, die von Apple kommen, können Sie zusätzlich noch die iCloud-Inhalte im Cache zwischenspeichern. Möchten Sie, dass auch iOS-Geräte von dem Inhaltscaching profitieren, dann müssen Sie ergänzend noch die Option Internetverbindung teilen aktivieren und die Geräte über USB anschließen.

Abbildung 13.9    In den Optionen kann die Größe des Cache begrenzt werden.

Über die Schaltfläche Optionen können Sie einen weiteren Dialog aufrufen (siehe Abbildung 13.9). Dort werden Sie über den aktuell belegten Speicherplatz informiert und können auch einen anderen Datenträger für die Speicherung vorgeben. Gespeichert werden die Daten zunächst im Verzeichnis /Library/Application Support/Apple/AssetCache auf Ihrem Startvolume. Wählen Sie einen anderen Speicherort aus, dann kann das Bewegen der Dateien einige Zeit in Anspruch nehmen. Schließlich können Sie die Cache-Größe begrenzen. Belassen Sie es bei der Standardeinstellung Unbegrenzt, dann laufen Sie gegebenenfalls Gefahr, dass Ihnen der Speicherplatz auf Ihrem Startvolume ausgeht.

Abbildung 13.10    In den erweiterten Optionen kann auch der Zugriff konfiguriert werden.

Halten Sie die Taste (alt) gedrückt, dann ändert sich die Schaltfläche in Erweiterte Optionen und Ihnen stehen noch drei weitere Reiter zur Verfügung (siehe Abbildung 13.10). Unter Clients können Sie festlegen, welche Rechner die Caching-Funktion Ihres Systems nutzen dürfen. In den Standardeinstellungen sind es alle diejenigen, die sich im selben lokalen Netzwerk befinden. Unter Peers legen Sie fest, ob sich Ihr System die Inhalte mit anderen Systemen teilen soll, die ebenfalls als Cache fungieren. Und schließlich können Sie im Reiter Übergeordnete Elemente eine föderale Struktur von Caching-Servern definieren. Letzteres ist aber nur dann wirklich nötig, wenn Sie ein sehr großes Netzwerk mit vielen Rechnern und knapper Bandbreite administrieren. 13.1.4    Ordner mit dem Network File System (NFS) für Linux freigeben

Möchten Sie Ordner für Linux freigeben, dann könnten Sie zwar durchaus der in Abschnitt 14.1.3 beschriebene Freigabe mittels SMB verwenden, da entsprechende Programme auch unter Linux

verfügbar sind. Das Network File System (NFS) stellt jedoch eine eher gebräuchliche Lösung dar. Allerdings ist die Nutzung von NFS mit einigen Einschränkungen verbunden. Der Grund besteht darin, dass NFS in dieser Form keine Authentifizierung der Benutzer kennt. Greifen Sie über NFS auf einen freigegebenen Ordner zu, dann wird Ihr lokales Benutzerkonto dafür verwendet. Damit unterscheidet sich NFS von AFP, bei dem Sie sich mit einem Benutzerkonto, das auf dem Server angelegt wurde, anmelden müssen. Arbeiten Sie also mit einem Benutzerkonto, dessen Benutzer-ID 501 lautet, dann stehen Ihnen auch auf dem entfernten System alle Ordner und Dateien zur Verfügung, auf die das dortige Konto mit der ID 501 Zugriff hat. NFS ist in erster Linie für die Nutzung in Netzwerken gedacht, bei denen mithilfe eines Verzeichnisdienstes wie OpenLDAP, Open Directory oder Active Directory die Benutzerkonten zentral auf einem Server verwaltet werden. In Netzwerken, in denen kein Verzeichnisdienst zum Einsatz kommt, laufen Sie schnell Gefahr, dass die Zugriffsrechte vollkommen durcheinanderkommen. Sie müssten dort alle Benutzerkonten auf allen Rechnern von Hand synchron halten und dabei nicht nur auf den Accountnamen, sondern auch auf die Benutzer-IDs achten. Hinzu kommt, dass unter macOS die Benutzerkonten mit IDs von 501 aufsteigend nummeriert werden, während unter den meisten Linux-Distributionen jedoch von 1001 aufsteigend nummeriert wird. Aus diesem Grund eignet sich NFS in erster Linie dazu, einen oder mehrere Ordner im Netzwerk öffentlich freizugeben, sodass keine Benutzerkontrolle erfolgt. Eine mögliche Lösung besteht darin, ein Benutzerkonto vom Typ Nur Freigabe (siehe Abschnitt 6.2.1) zu erstellen, das Sie beispielsweise »NFS_Benutzer« nennen. Dieses

Konto verfügt über den Accountnamen »nfsbenutzer«. Über dieses Benutzerkonto werden dann die Freigaben mittels NFS abgewickelt. Erfolgt der Zugriff von Linux-Rechnern aus, dann können Sie noch die Benutzer-ID anpassen, indem Sie die erweiterten Einstellungen eines Benutzerkontos über das Kontextmenü aufrufen und dann die Benutzer-ID in 1001 ändern. Würde nun ein Anwender von einem Linux-Rechner auf die noch zu konfigurierende Freigabe zugreifen, dann würde dieser Zugriff über die Benutzer-ID 1001 erfolgen, die auch unter Linux verfügbar ist. Die Verzeichnisse, die Sie im Netzwerk freigeben wollen, konfigurieren Sie in der Datei exports. Diese Datei ist in einer Standardinstallation von macOS nicht vorhanden. Sie können mit der Eingabe von sudo nano /ect/exports den Editor nano (siehe Abschnitt 21.4.2) nutzen, um die Datei zu erstellen und zu bearbeiten. In der Datei exports führen Sie pro Zeile ein Verzeichnis auf, das über NFS freigegeben, also exportiert werden soll. Dabei geben Sie zunächst den absoluten Pfad zu dem Verzeichnis an. Haben Sie im Verzeichnis /Benutzer/Für alle Benutzer einen Unterordner NFSProjekt erstellt, dann würde die Angabe in der Datei exports /Users/Shared/NFSProjekt lauten.

Abbildung 13.11    Für die NFS-Freigaben können Sie ein eigenes Benutzerkonto anlegen.

Dem Verzeichnis können Sie dann im Finder noch den Benutzer »NFS_Benutzer« als Eigentümer zuweisen (siehe Abbildung 13.11) und gegebenenfalls die Vererbung der Zugriffsrechte (siehe Abschnitt 6.1.3) konfigurieren. Damit alle Zugriffe über NFS auf dieses Verzeichnis auf das Benutzerkonto »NFS_Benutzer« abgebildet werden, geben Sie in der Datei exports die Option mapall=nfsbenutzer an. Ferner können Sie den Zugriff auf den freigegebenen Ordner beschränken, indem Sie zusätzlich die Option -ro angeben; sie unterbindet den Schreibzugriff über NFS auf das Verzeichnis. Ergänzend können Sie den Zugriff im Netzwerk auf bestimmte IPAdressen oder Subnetze einschränken. Geben Sie eine IP-Adresse in der Form 10.0.1.3 an, dann kann nur der Rechner mit dieser IPAdresse auf das Verzeichnis zugreifen. Über die Option -mask in Verbindung mit der Option -network und einer Netzwerkadresse sowie einer Teilnetzmaske in der Form 255.255.255.0 geben Sie den Ordner für alle Rechner in Ihrem lokalen Netzwerk frei,

verweigern jedoch den Zugriff von außerhalb. Die Konfiguration könnte somit über die Zeile /Users/Shared/NFSProjekt -mapall=nfsbenutzer -ro network 10.0.1.0

-mask 255.255.255.0

erfolgen. Hierbei würde der Ordner freigegeben, und alle Zugriffe würden über das Benutzerkonto »NFS_Benutzer« erfolgen. Mittels ro würde der Schreibzugriff unterbunden. Ferner hätten nur die Rechner Zugriff, deren IP-Adresse mit 10.0.1 beginnt. Am Terminal können Sie durch die Eingabe von sudo nfsd checkexports die Datei /etc/exports auf ihre Funktionsfähigkeit hin überprüfen. Wenn nun eine Datei /etc/exports existiert, dann wird über einen LaunchDaemon automatisch der Systemdienst nfsd gestartet. Nehmen Sie Änderungen an der Datei /etc/exports vor, dann starten Sie den Server mit sudo nfsd restart neu. Für die Kommunikation mit Linux gibt es noch ein weiteres Hindernis. Es besteht darin, dass unter Linux die Kommunikation für NFS in der Regel auf Netzwerk-Ports kleiner als 1024 erfolgt. Unter macOS ist dies nicht der Fall. Sie können die Voreinstellungen für NFS in der Datei /etc/nfs.conf anpassen (siehe Abbildung 13.12). Mit sudo nano /etc/nfs.conf öffnen Sie die Datei im Editor nano und fügen dann die Zeile nfs.server.mount.require_resv_port

hinzu. Damit ist auch der Zugriff auf die NFS-Freigabe unter Linux möglich. Einbinden ließe sich die Freigabe unter Ubuntu-Linux zum Beispiel mit dem Befehl sudo mount.nfs 10.0.1.2:/Users/Shared/NFSProjekt /home/kai/NFSOrdner

sofern sich im persönlichen Ordner des Benutzers »kai« ein Verzeichnis NFSOrdner befindet. Die NFS-Freigabe liegt hier auf dem Rechner mit der IP-Adresse 10.0.1.2 vor, und die Angabe des freigegebenen Ordners wird durch einen Doppelpunkt getrennt. Möchten Sie von macOS auf eine NFS-Freigabe unter Linux zugreifen, dann müssen Sie zunächst für diese Verbindung die Datei /etc/nfs.conf anpassen und die Kommunikation über Ports erlauben, die unter Linux genutzt werden. Hierzu fügen Sie die Zeile nfs.client.mount.options = resvport

der Datei /etc/nfs.conf hinzu und starten mit sudo nfsd restart den NFS-Dienst neu. Im Finder können Sie dann im Dialog Mit Server verbinden einen URL in der Form nfs://Rechner:/Pfad/zur/Freigabe eingeben.

Abbildung 13.12    Die Datei »/etc/nfs.conf« enthält die Einstellungen des NFS-Dienstes.

Sollte die Verbindung fehlschlagen, dann ist es auch möglich, über das im Finder sonst nicht sichtbare Verzeichnis /net auf die Freigabe zuzugreifen (siehe Abbildung 13.13). Das Verzeichnis /net wird vom NFS-Dienst verwaltet und zeigt Ihnen die bekannten NFS-Freigaben im Netzwerk an. Wählen Sie hierzu im Finder den Menüpunkt Gehe zu • Gehe zum Ordner aus, und geben Sie »/net« ein. Sie können sich dann zum freigegebenen Ordner regelrecht durchklicken.

Abbildung 13.13    Über das Verzeichnis »/net« können Sie NFS-Freigaben im Finder durchsuchen.

Um zu erfahren, welche NFS-Freigaben auf einem System existieren, rufen Sie am Terminal den Befehl showmount mit der Option -e auf (siehe Abbildung 13.14). Die Eingabe von showmount -e 10.0.1.3 zeigt Ihnen alle Freigaben des Systems mit der IPAdresse 10.0.1.3 an.

Abbildung 13.14    Die NFS-Freigaben sehen Sie mit dem Befehl »showmount« ein.

Einbinden lässt sich eine NFS-Freigabe am Terminal auch mit dem Befehl mount_nfs. Diesem übergeben Sie die Adresse des Servers, der die NFS-Freigabe bereitstellt, sowie durch einen Doppelpunkt getrennt den Pfad zur Freigabe selbst. Ferner geben Sie das lokale Verzeichnis an, in dem die Einbindung erfolgen soll. Dieses Verzeichnis müssen Sie vorher anlegen. Mit der Eingabe sudo mount_nfs 10.0.1.3:/home/kai/NFSOrdner /Users/kai/NFSOrdner binden Sie die Freigabe auf dem Rechner

mit der IP-Adresse 10.0.1.3 im lokalen Verzeichnis /Users/kai/NFSOrdner ein. Sie erscheint anschließend auch in der Seitenleiste des Finders.

13.1.5    ».DS_Store«-Dateien unterbinden und mit »dot_clean« aufräumen

Wenn eine Freigabe von einem anderen Betriebssystem als macOS aus erfolgt und Sie diesen Ordner einbinden, dann muss macOS auf unsichtbare Dateien zurückgreifen, um die erweiterten Dateiattribute (siehe Abschnitt 1.3) zu realisieren. Sie finden dann auf Ihrem Linux-System eine Reihe von Dateien, deren Name mit ._ beginnt (siehe Abbildung 13.15). Dies ist abhängig vom verwendeten Dateisystem auf dem Server. Das Dateisystem NTFS unter Windows unterstützt die erweiterten Dateiattribute.

Abbildung 13.15    Die erweiterten Dateiattribute werden in unsichtbaren Dateien gespeichert.

Mit dem Befehl dot_clean können Sie diese Dateien in einem Durchgang löschen. Übergeben Sie ihm die Option -m, dann geht dot_clean durch das angegebene Verzeichnis und die Unterverzeichnisse und löscht diese Dateien. »dot_clean« dot_clean [Option] Verzeichnis

Mit der Option -f geben Sie vor, dass nur das angegebene Verzeichnis bearbeitet wird. Die Option -v führt dazu, dass Sie über die Arbeit von dot_clean informiert werden (siehe Abbildung 13.16). [ ! ] Beachten Sie bei der Arbeit mit dot_clean, dass hierbei auch durchaus gewünschte Informationen verloren gehen können. Auf jeden Fall verloren gehen eventuell vorhandene Tags, die Sie den Dateien zugewiesen haben, denn sie werden über die erweiterten

Attribute realisiert. Auch alte Dateiformate, bei denen noch relevante Informationen in den Resource Forks und damit in den erweiterten Attributen gespeichert werden, würden beschädigt. Setzen Sie dot_clean daher mit Bedacht ein.

Abbildung 13.16    Mit dem Befehl »dot_clean« entfernen Sie die erweiterten Dateiattribute.

Neben den erweiterten Dateiattributen legt macOS auf Freigaben auch .DS_Store"=Dateien an, die die Vorgaben für die Darstellung im Finder speichern. Unter Windows sind diese Dateien direkt sichtbar. Mit der Eingabe von defaults write com.apple.desktopservice DSDontWriteNetworkStores true

unterbinden Sie die Erstellung dieser Dateien in freigegebenen Ordnern. Sie müssen sich anschließend ab- und wieder anmelden. Die Einstellung machen Sie rückgängig, indem Sie die Datei com.apple.desktopservice.plist aus dem Verzeichnis ~/Library/Preferences löschen und sich erneut ab- und anmelden.

13.2    Weitere Möglichkeiten zur drahtlosen Datenübertragung Um schnell eine Datei zwischen zwei Geräten auszutauschen, lohnt sich die Konfiguration eines AFP- oder NFS-Servers nicht. Unter macOS stehen Ihnen zwei Möglichkeiten zur Verfügung, um unkompliziert und direkt Dateien zu übertragen. Bei AirDrop handelt es sich um eine Apple-eigene Methode, Dateien über eine drahtlose Verbindung mithilfe eines Ad-hoc-Netzwerks auszutauschen. Der Datenaustausch via Bluetooth ermöglicht die Übertragung auch an ein Android-Gerät. 13.2.1    Dateien mittels AirDrop übertragen

Im Finder finden Sie in der Seitenleiste den Eintrag AirDrop (siehe Abbildung 13.17). Sie können auch den Menübefehl Gehe zu • AirDrop oder die Tastenkombination (š)+(ª)+(R) nutzen. Damit die Rechner sich sehen können, muss die Ansicht AirDrop auf beiden Geräten in einem Fenster des Finders geöffnet sein. Im unteren Bereich legen Sie fest, wie Ihr Rechner für den Datenaustausch via AirDrop sichtbar sein soll. Beschränken Sie die Ansicht auf Ihre Kontakte, dann erscheint Ihr Rechner im FinderFenster auf der Gegenseite nur, wenn der dort aktuell angemeldete Benutzer in Ihrem Adressbuch vorhanden ist. Alternativ können Sie, um Dateien zu empfangen, auch die Option Jeder auswählen.

Abbildung 13.17    Den Datenempfang müssen Sie explizit bestätigen.

Um eine Datei an einen anderen Rechner zu übertragen, ziehen Sie sie einfach auf das Icon des gewünschten Rechners. Beim Empfänger erscheint dann eine Rückfrage, ob er die Übertragung annehmen möchte (siehe Abbildung 13.17). Wird die Datei übertragen, dann wird sie im Ordner Downloads gespeichert. Wenn Sie den Eintrag Gewünschte Person nicht gefunden? anklicken, finden Sie die Option Nach älterem Mac suchen. Mit ihr können Sie eine Verbindung zu einem älteren Modell aufnehmen, das in der Ansicht im Finder nicht angezeigt wird. Schließen Sie das Fenster mit der AirDrop-Ansicht, dann ist Ihr Rechner auch nicht mehr für den Empfang via AirDrop sichtbar. 13.2.2    Der Bluetooth-Datenaustausch

Sie können auch Bluetooth nutzen, um Dateien zu übertragen. Dabei ist die Geschwindigkeit der Verbindung allerdings recht langsam. Um eine Datei zu versenden oder Dateien von einem Gerät herunterzuladen, verwenden Sie das Dienstprogramm Bluetooth-Datenaustausch. In den Systemeinstellungen können Sie konfigurieren, ob Ihr System Übertragungen via Bluetooth entgegennehmen soll.

Starten Sie das Dienstprogramm Bluetooth-Datenaustausch, dann erscheint unmittelbar ein Dialog, der Sie zur Auswahl der zu übertragenden Datei aufruft. Nach der Auswahl wird Ihre Umgebung nach sichtbaren Bluetooth-Geräten durchsucht (siehe Abbildung 13.18). Ist das Gerät nicht sichtbar, dann kann keine Übertragung erfolgen. Haben Sie das Gerät ausgewählt, dann muss der Empfang in der Regel noch von der Gegenseite bestätigt werden. Anschließend wird die Datei übertragen.

Abbildung 13.18    Die Bluetooth-Geräte müssen für die Übertragung sichtbar sein.

Um über Bluetooth die Dateien eines Geräts zu durchsuchen, rufen Sie im Dienstprogramm den Dateidialog Abbrechen und dann den Menüpunkt Ablage • Gerät durchsuchen auf. Sie nehmen wiederum die Verbindung mit dem gewünschten Gerät auf und können dann über die Oberfläche des Dienstprogramms Dateien herunterladen. Um selbst Dateien zu empfangen und Ihr Gerät für den BluetoothDatenaustausch verfügbar zu machen, aktivieren Sie in den Systemeinstellungen in der Ansicht Freigaben den Dienst BluetoothFreigabe (siehe Abbildung 13.19). Sie sollten, damit Ihnen keine unerwünschten Dateien untergeschoben werden, bei den Punkten Beim Empfang von Objekten und Beim Zugriff anderer Geräte noch die Option Aktion erfragen auswählen. Sie können hier ebenso festlegen,

in welchem Verzeichnis empfangene Dateien abgelegt werden sollen und welches Verzeichnis Sie freigeben möchten.

Abbildung 13.19    Den Empfang von Dateien über Bluetooth konfigurieren Sie in den Systemeinstellungen.

13.3    Nützliche Tools am Terminal Am Terminal stehen Ihnen drei Befehle zur Verfügung, die Ihnen im Arbeitsalltag eine große Hilfe sein können. Mit scp kopieren Sie Dateien über eine mit SSH (siehe Abschnitt 12.2) verschlüsselte Verbindung auf einen anderen Rechner. Der Befehl rsync ermöglicht Ihnen die Synchronisation von Verzeichnissen über das Netzwerk. Und schließlich können Sie mit curl Dateien aus dem Internet herunterladen. 13.3.1    Dateien kopieren mit »scp«

Der Befehl scp nutzt eine mit SSH verschlüsselte Verbindung, um Dateien auf einen Server oder von einem Server zu kopieren. Haben Sie einen Schlüssel (siehe Abschnitt 12.2.2) auf dem Server hinterlegt, dann müssen Sie allenfalls das Kennwort für den Schlüssel eingeben. Daher eignet sich scp auch sehr gut, um beispielsweise mithilfe eines LaunchAgents (siehe Abschnitt 20.2.1) Dateien zeitgesteuert im Hintergrund zu kopieren. »scp« – »secure copy« scp [Option] Quelle Ziel

Sie können als Ziel oder Quelle eine Datei oder ein Verzeichnis auf einem Server angeben. Beachten Sie, dass bei allen Kopiervorgängen das Zielverzeichnis schon existieren muss. Hierbei wird der Aufbau Benutzer@Server:/Pfad/zur/Datei genutzt. Möchten Sie beispielsweise die Datei Bild.png von Ihrem Schreibtisch in den Ordner Dokumente auf den Server Macmini.local kopieren, dann

würde der Aufruf scp ~/Desktop/Bild.png [email protected]:~/Documents/ lauten. Kennen Sie den Namen der Datei und wissen Sie, in welchem Verzeichnis sie sich befindet, dann können Sie dieses Verzeichnis auch als Quelle angeben. Die Eingabe von scp [email protected]:/Users/ kai/Documents/Bild.png ~/ würde die Datei Bild.png aus dem Verzeichnis /Users/kai/Documents auf den Rechner mit der IP-Adresse 10.0.1.3 und dort in Ihren persönlichen Ordner kopieren. Wie beim Befehl cp (siehe Abschnitt 21.3.2) können Sie die Option r nutzen, um eine Verzeichnisstruktur zu kopieren. Mit der Eingabe von scp -r ~/Documents [email protected]:/Users/kai/Documents/Backup/

würde Ihr Ordner Dokumente in den Unterordner Backup im Verzeichnis Backup auf dem anderen Rechner kopiert. 13.3.2    Verzeichnisse synchronisieren mit »rsync«

Mit dem Befehl rsync lassen sich Verzeichnisse im Netzwerk synchronisieren. Dabei kopiert rsync nur die Dateien und Verzeichnisse, die sich in der Zwischenzeit geändert haben. Gerade bei sehr vielen und großen Dateien ist die Arbeit mit rsync sehr schnell und zeitsparend. »rsync« – »remote sync« rsync Optionen Quelle Ziel

Wie auch bei scp geben Sie ein Verzeichnis auf einem Server in der Form Benutzer@Server:/Pfad an. Zusätzlich müssen Sie die

Option -e ssh anführen, damit SSH (siehe Abschnitt 12.2) für die Datenübertragung genutzt wird. Damit der Abgleich vollständig vorgenommen wird, müssen Sie noch die Option -a übergeben. Mit der Option -v werden Sie detailliert über den Verlauf informiert. Die Eingabe von rscp -av -e ssh ~/Documents/Projekt [email protected]:~/Documents würde das Verzeichnis /Projekt in Ihrem persönlichen Ordner mit dem gleichnamigen Ordner auf dem Server Macmini.local synchronisieren. Würden Sie zu einem späteren Zeitpunkt den Befehl in dieser Form erneut aufrufen, dann würden nur die Dateien und Verzeichnisse kopiert, die in der Zwischenzeit geändert wurden. Wenn Sie die Synchronisation weiter verfeinern möchten, dann finden Sie in der Man-Page (siehe Abschnitt 21.2.1) von rsync eine umfangreiche Dokumentation. 13.3.3    Downloads mit »curl«

Den Befehl curl können Sie nutzen, um Dateien aus dem Internet herunterzuladen. Aber neben dem einfachen Download einer Datei verfügt curl über eine Vielzahl weiterer Funktionen, mit denen Sie Verbindungen unterschiedlichster Natur ins Internet herstellen und analysieren können. Bei curl handelt es sich um eine Art Schweizer Taschenmesser für Verbindungen aller Art. Schauen Sie sich mit man curl die Dokumentation zu diesem Befehl an. »curl« curl Optionen URL

In diesem Beispiel wollen wir curl aber lediglich für den Download einer Datei nutzen (siehe Abbildung 13.20). Mit der Option -O geben Sie vor, dass die Datei im aktuellen Verzeichnis gespeichert wird. Würden Sie auf die Option -O verzichten, dann würden die heruntergeladenen Daten direkt im Fenster des Terminals ausgegeben. Mit der Eingabe von curl -O http://mac.deltac.de/Leseprobe.pdf würden Sie die Datei Leseprobe.pdf vom Server http://mac.delta-c.de herunterladen. Der Befehl verfügt auch über die Funktion, einen unterbrochenen Download fortzusetzen. Dies kann sehr nützlich sein, wenn Sie eine sehr große Datei herunterladen möchten, sich Ihre Verbindung ins Internet aber als instabil erweist. In diesem Fall beginnen Sie mit curl -O http://mac.delta-c.de/Leseprobe.pdf den Download. Wird Ihre Verbindung ins Internet unterbrochen, bleibt der Download also stehen, dann brechen Sie den Befehl mit der Tastenkombination (š)+(.) ab. Rufen Sie nun den Befehl erneut auf und fügen die Option -C - hinzu (curl -O -C http://mac.delta-c.de/Leseprobe.pdf), dann versucht curl, den Download an der Stelle fortzusetzen, an der er unterbrochen wurde.

Abbildung 13.20    Abgebrochene Downloads können Sie mit »curl« wieder aufnehmen.

14    macOS und Windows im Netzwerk macOS bietet einige Funktionen, die die bequeme Integration in ein Windows-Netzwerk ermöglichen. Neben der Freigabe von Ordnern können Sie Ihr System auch zur Benutzerverwaltung an ein Active Directory anbinden oder einen Exchange-Server für die Kommunikation nutzen. Die Integration von macOS in ein Windows-Netzwerk ist mit der Version 10.13 kein großes Problem mehr. So können Sie Ordner im Netzwerk für Windows-Rechner über das Protokoll Server Message Block (SMB) freigeben und auf freigegebene Ordner zugreifen. Dabei werden Ihnen Windows-Rechner im Finder genauso angezeigt wie macOS-Systeme, die ihre Dienste über Bonjour kommunizieren. Sie können aber nicht nur dies Form des Datenaustauschs nutzen, sondern Ihr System auch an einen Active-Directory-Server anbinden. Bei Active Directory handelt es sich um einen Verzeichnisdienst, der unter anderem Benutzerkonten zentral verwaltet. Active Directory wird in vielen Unternehmen für die Benutzerverwaltung eingesetzt. Der Kommunikationsserver Microsoft Exchange erfreut sich im kommerziellen Umfeld einer großen Beliebtheit. Mit den Programmen Mail, Kalender und Adressbuch können Sie die Dienste eines Exchange-Servers in Anspruch nehmen. Möchten Sie von Ihrem macOS-System aus auf den Bildschirm eines Windows-Rechners zugreifen, dann ist der Microsoft Remote Desktop eine gute Lösung. Und schließlich ist die Freigabe von

Druckern für Windows und die Einbindung von unter Windows freigegebenen Druckern mit macOS 10.13 recht einfach möglich.

14.1    Freigaben im Netzwerk Damit sich Ihr macOS-System nahtlos in ein Windows-Netzwerk zur Freigabe von Ordnern integriert, müssen Sie sowohl den NetBIOSNamen als auch die Arbeitsgruppe konfigurieren. WindowsRechner, die in der Ansicht Netzwerk im Finder erscheinen, verhalten sich ein wenig anders als Systeme, die mit macOS arbeiten. Die Freigabe von Ordnern mittels SMB können Sie in den Systemeinstellungen vornehmen. Um Problemen auf die Spur zu kommen, ist der Befehl smbutil am Terminal manchmal eine große Hilfe. 14.1.1    NetBIOS-Name und Arbeitsgruppe konfigurieren

Die Kommunikation von Rechnernamen im lokalen Netzwerk erfolgt unter Windows nicht mittels Bonjour, sondern über die Protokolle Server Message Block und NetBIOS. Dabei können sich die Rechner im Netzwerk selbst in sogenannte Arbeitsgruppen einteilen. Diese Organisation erfolgt durch die Rechner im Netzwerk selbst, es steht kein zentraler Server zur Verfügung.

Abbildung 14.1    Der »NetBIOS-Name« wird in den erweiterten Optionen einer beliebigen Netzwerkschnittstelle definiert.

Um den NetBIOS-Namen Ihres Rechners zu konfigurieren, rufen Sie in den Systemeinstellungen in der Ansicht Netzwerk die erweiterten Optionen einer beliebigen Netzwerkschnittstelle auf. Sie finden dort die Ansicht WINS (siehe Abbildung 14.1). Dort können Sie unter NetBIOS-Name den Namen eingeben, unter dem Ihr Rechner über SMB erreichbar ist. In den Standardeinstellungen wird hier der Name genutzt, den Sie in der Ansicht Freigaben für Bonjour eingegeben haben. Sie finden hier ebenfalls die Arbeitsgruppe. Standardmäßig lautet ihr Wert WORKGROUP. Änderungen an einem dieser Werte wirken sich auf alle Netzwerkschnittstellen aus. Ist in Ihrem lokalen Netzwerk ein spezieller Windows-Server für die Namensauflösung verfügbar, dann können Sie seine IP-Adresse unter WINS-Server eingeben. 14.1.2    Windows-Rechner und die Ansicht »Netzwerk« im Finder

Sofern kein spezieller Server die Kommunikation der Rechnernamen im Netzwerk übernimmt, erfolgt deren Kommunikation durch die Rechner selbst. Diese Kommunikation kann mit Verzögerungen verbunden sein, sodass Sie in der Ansicht Netzwerk im Finder (siehe Abbildung 14.2) möglicherweise noch Rechner sehen, die nicht mehr verfügbar sind.

Abbildung 14.2    Windows-Rechner werden in der Ansicht »Netzwerk« mit einem Bluescreen dargestellt.

Sofern der Gastbenutzer unter Windows aktiviert wurde, erscheinen die unter Windows freigegebenen Ordner automatisch, wenn Sie einen Rechner in der Ansicht Netzwerk öffnen. Ansonsten müssen Sie sich mit einem Benutzerkonto und einem Passwort identifizieren. 14.1.3    Ordner für Windows freigeben und einbinden

Um Verzeichnisse für Windows-Rechner im Netzwerk verfügbar zu machen, starten Sie in den Systemeinstellungen in der Ansicht Freigaben zunächst den Dienst Dateifreigabe. Über die Schaltfläche

Optionen ... öffnen Sie einen weiteren Dialog, in dem Sie zunächst die Option Dateien und Ordner über SMB freigeben aktivieren. Für die Authentifizierung von Windows aus ist eine andere Methode notwendig: Hierzu muss das Passwort des Benutzers in einer anderen Form gespeichert werden, als dies in der Benutzerdatenbank DSLocal (siehe Abschnitt 6.4) sonst der Fall ist. Daher müssen Sie unter Windows-Dateifreigabe (siehe Abbildung 14.3) die Benutzerkonten aktivieren, die von Windows aus auf die Freigaben zugreifen sollen. Für jedes Benutzerkonto muss anschließend das Passwort zur Freischaltung eingegeben werden.

Abbildung 14.3    Die Benutzerkonten, die von Windows aus auf Ordner zugreifen dürfen, müssen Sie extra aktivieren.

Die freigegebenen Ordner stehen dann unter Windows zur Verfügung. Damit Ihr Rechner unter Windows sichtbar wird, müssen Sie gegebenenfalls die Ansicht Netzwerk unter Windows neu laden. Einen Ordner unter Windows geben Sie frei, indem Sie zum Beispiel den Eintrag Eigenschaften im Kontextmenü aufrufen. Sie finden dort die Ansicht Freigabe und die Schaltfläche Erweiterte Freigabe. Über

Letztere rufen Sie einen Dialog auf, in dem Sie bei Bedarf den Namen des freigegebenen Ordners im Netzwerk anpassen können (siehe Abbildung 14.4). Von Ihrem Rechner aus können Sie auf freigegebene Ordner über die Ansicht Netzwerk zugreifen. Öffnen Sie hier einen WindowsRechner, dann müssen Sie sich zunächst mit einem Benutzerkonto und Passwort authentifizieren. Die freigegebenen Ordner erscheinen dann (siehe Abbildung 14.5), und Sie können sie mit einem Doppelklick aktivieren.

Abbildung 14.4    Den Namen des Ordners können Sie anpassen.

Alternativ können Sie auch in dem Dialog Mit Server verbinden einen URL in der Form smb://Rechner/Freigabe eingeben. In den Standardeinstellungen versucht macOS, eine Verbindung über Version 2 des Protokolls Server Message Block aufzunehmen. Arbeitet der Rechner, mit dem Sie eine Verbindung herstellen möchten, mit einer veralteten Windows-Version, dann ist es

möglich, dass diese Version nicht unterstützt wird. Nutzen Sie einen URL in der Form cifs://Rechner/Freigabe, dann wird die Nutzung von Version 1 des Protokolls erzwungen.

Abbildung 14.5    Freigaben unter Windows werden erst nach der Anmeldung sichtbar.

Bei der Konfiguration der Freigaben unter Windows müssen Sie darauf achten, dass Sie nicht die sogenannte Heimnetzgruppe verwenden, sondern den Zugriff über Benutzerkonten und Passwörter ermöglichen. 14.1.4    Der Befehl »smbutil« am Terminal

Am Terminal können Sie den Befehl smbutil nutzen, um sich über Freigaben und Dienste auf einem Server zu informieren. Er ermöglicht es Ihnen ferner, die IP-Adresse zu einem Rechnernamen herauszufinden. »smbutil« – SMB Utility smbutil Aktion [Option] Server

Mit der Aktion view bringen Sie die Freigaben und Dienste eines Servers in Erfahrung. Die Eingabe von smbutil view //WIN10 führt zu einer Liste der aktiven Dienste, zu der auch die

freigegebenen Ordner gehören (siehe Abbildung 14.6). Abhängig von der Konfiguration kann auch die Angabe eines Benutzerkontos und Passworts notwendig sein, und zwar in der Form smbutil view //Benutzer:Passwort@Server.

Abbildung 14.6    Mit dem Befehl »smbutil« fragen Sie die Dienste eines Windows-Systems ab.

Die Aktion lookup ermöglicht Ihnen die Namensauflösung eines Rechners im Netzwerk. Sie übergeben der Aktion als Parameter den Namen im Netzwerk. Die Eingabe smbutil lookup WIN10 würde die IP-Adresse des Rechners mit der Bezeichnung »WIN10« ermitteln. Arbeiten Sie intensiver mit Windows-Diensten, dann sollten Sie einen Blick in die Man-Page (siehe Abschnitt 21.2.1) des Befehls werfen, die Sie mit man smbutil aufrufen. Der Befehl bietet noch einige weitere Möglichkeiten.

14.2    Weitere Dienste Neben der Freigabe von Ordnern und der Integration in eine Arbeitsgruppe über den NetBIOS-Namen lässt sich macOS auch an ein Active Directory und einen Exchange-Server anbinden. Ferner können Sie mit dem Programm Microsoft Remote Desktop bequem Windows-Systeme fernsteuern. Drucker im Netzwerk können Sie für Windows freigeben und Sie können unter Windows freigegebene Drucker einbinden. 14.2.1    Benutzerverwaltung in einem Active Directory

Active Directory erfüllt unter Windows Server eine Vielzahl von Aufgaben. Dazu gehört auch die zentrale Verwaltung von Benutzerkonten. Insbesondere in Firmennetzwerken ist diese zentrale Verwaltung oft zwingend. macOS lässt sich recht schnell an ein Active Directory anbinden.

Abbildung 14.7    Die Anbindung an ein Active Directory kann über die Systemeinstellungen erfolgen.

Sie sollten im Vorfeld sicherstellen, dass die Namensauflösung im Netzwerk einwandfrei funktioniert. Dazu sollte ein entsprechender DNS-Server in die Konfiguration der Netzwerkschnittstelle eingetragen werden, sodass die Auflösung von Rechnernamen in IPAdressen und umgekehrt einwandfrei funktioniert. Ein oft anzutreffendes Problem besteht darin, dass die Namensauflösung nicht einwandfrei konfiguriert wurde. Auch muss ein vollständig qualifizierter Domain-Name in der Form .samoa.kai oder .netzwerk.private genutzt werden. Nutzen Sie die Domain .local für das Windows-Netzwerk, dann sind Konflikte mit Bonjour vorprogrammiert. Möchten Sie macOS an eine Active-Directory-Domäne anbinden, dann können Sie eine einfache Konfiguration über die Ansicht Benutzer & Gruppen in den Systemeinstellungen vornehmen (siehe Abbildung 14.7). Nachdem Sie die Ansicht mit einem Klick auf das Schloss links unten entsperrt haben, können Sie in der Ansicht Anmeldeoptionen über die Schaltfläche Verbinden neben dem Eintrag NetzwerkaccountServer die Konfiguration beginnen.

Abbildung 14.8    Die erweiterte Konfiguration nehmen Sie im Programm Verzeichnisdienste vor.

Geben Sie oben im Textfeld unter Server die Active-DirectoryDomäne ein, beispielsweise ad.samoa.kai. Ist der DNS-Server korrekt konfiguriert, dann wird diese Anfrage an den Active-DirectoryServer, in diesem Beispiel winserver.samoa.kai, weitergeleitet. Daraufhin erscheint direkt der Dialog für die Anbindung an das Active Directory. Die Clientcomputer-ID wird automatisch vorgeschlagen. Sie können sie problemlos gemäß den Anforderungen Ihres Active Directorys ändern. Unter AD-Administrator müssen Sie den Namen eines Benutzerkontos eingeben, das im Active Directory für administrative Aufgaben vorgesehen ist. Ebenso ist dessen Passwort notwendig. Mit einem Klick auf OK wird die Anbindung dann vorgenommen. Ist sie erfolgreich, dann wird der Name der Domäne mit einem grünen Punkt unten angezeigt. Über den Eintrag Andere

im Anmeldebildschirm melden Sie sich mit einem Active-DirectoryKonto an. Für erweiterte Einstellungen greifen Sie auf das Dienstprogramm Verzeichnisdienste zurück (siehe Abbildung 14.8). Dieses Programm können Sie auch direkt aus dem Verzeichnis /System/Library/CoreServices/Applications starten; Sie finden dort unter Dienste den Eintrag Active Directory. Nachdem Sie diese Ansicht entsperrt haben, wählen Sie den Eintrag Active Directory aus und nehmen mit einem Klick auf das Icon mit dem Stift eine detaillierte Konfiguration vor. Welche Optionen Sie hier vorgeben – gegebenenfalls vorgeben müssen –, hängt von den Details Ihrer Active-Directory-Infrastruktur ab. Um die Anbindung über das Terminal vorzunehmen, nutzen Sie den Befehl dsconfigad. Er verfügt über eine umfangreiche Dokumentation in der Man-Page, die Sie mit man dsconfigad aufrufen.

Abbildung 14.9    Mit dem Befehl »nslookup« überprüfen Sie die Namensauflösung und die DNS-Konfiguration.

Stoßen Sie bei der Konfiguration der Anbindung auf Probleme, dann sollte der erste Schritt darin bestehen, die Namensauflösung im Netzwerk zu kontrollieren. Hierzu verwenden Sie am Terminal den Befehl nslookup. Geben Sie zunächst nslookup mit dem vollständigen Domain-Namen des Windows-Servers an, dann sollte

dessen IP-Adresse ausgegeben werden. Und auch die sogenannte »Reverse Lookup«-Zone muss konfiguriert sein. Dies überprüfen Sie durch erneute Verwendung von nslookup, wobei Sie in diesem Fall die IP-Adresse des Servers angeben (siehe Abbildung 14.9). Funktioniert die Namensauflösung nicht in der beschriebenen Form, dann müssen Sie die Fehlersuche in der DNS-Konfiguration beginnen. Dieses Thema kann in diesem Abschnitt nicht weiter behandelt werden, da es sich um eine Art Querschnittsthema handelt und umfangreichere Kenntnisse der Netzwerk- und DNSKonfiguration sowie der Administration von Windows Server und Active Directory voraussetzt. Ein weiteres Problem kann die Uhrzeit der Rechner darstellen. Weicht die Zeiteinstellung des macOS-Systems von der des Servers um mehr als eine Minute ab, dann wird die Verbindungsaufnahme verweigert. In diesem Fall sollten Sie in den Systemeinstellungen die Konfiguration der Uhrzeit überprüfen. 14.2.2    macOS an Microsoft Exchange anbinden

Die Anbindung von macOS an einen Exchange-Server ist denkbar einfach unter der Voraussetzung, dass Ihr Netzwerk und dessen Namensauflösung korrekt konfiguriert sind. Ferner muss der Exchange-Server die Funktion Exchange Web Services (EWS) unterstützen. Über sie wird die Verbindung von macOS zu Microsoft Exchange aufgenommen.

Abbildung 14.10    Die Anbindung an einen Exchange-Server nehmen Sie in den Systemeinstellungen vor.

In den Systemeinstellungen fügen Sie in der Ansicht InternetAccounts (siehe Abbildung 14.10) ein Exchange-Konto hinzu, indem Sie unterhalb der Liste das Pluszeichen anklicken und dann Exchange auswählen. Im folgenden Dialog geben Sie zunächst Ihre E-MailAdresse und das Passwort für den Exchange-Server ein. Die Systemeinstellungen versuchen dann, die entsprechenden Daten automatisch zu ermitteln. Abhängig von der Konfiguration des Servers kann es notwendig sein, die URLs für die EWS eigenhändig einzugeben. Im letzten Schritt des Assistenten legen Sie fest, welche Dienste des Exchange-Servers (Mail, Kalender, Adressbuch, Erinnerungen und Notizen) Sie nutzen möchten. Wählen Sie eine oder alle dieser Optionen aus, dann konfigurieren die Systemeinstellungen die fünf Programme automatisch. Sie finden dann in den Einstellungen des jeweiligen Programms ein Konto vor, das für die Nutzung des Exchange-Servers eingerichtet wurde. Die jeweiligen Dienste (Kalender, Adressen ...) werden dann in den Programmen in der entsprechenden Rubrik aufgeführt.

14.2.3    Fernsteuerung mit dem Microsoft Remote Desktop

Um einen Windows-Rechner über das Netzwerk fernzusteuern, könnten Sie zwar ein VNC-System (siehe Abschnitt 12.1.2) auf ihm installieren, aber das im App Store kostenlos erhältliche Programm Microsoft Remote Desktop ist optimal auf die Anforderungen von Windows zugeschnitten.

Abbildung 14.11    Das Programm »Microsoft Remote Desktop« ermöglicht die Fernsteuerung von Windows-Systemen.

Unter Windows müssen Sie das Programm Microsoft Remote Desktop Assistent (http://aka.ms/rdassistant) installieren. Dieses ist für die Professional-Versionen von Windows 7, 8 und 10 verfügbar. Der Assistent ermöglicht den Fernzugriff nicht nur über das Programm Microsoft Remote Desktop, es steht auch eine App für das iPad und das iPhone zur Verfügung.

Nach dem Start des Programms unter macOS müssen Sie zunächst über New eine neue Verbindung erstellen. Im Dialog aus Abbildung 14.11 geben Sie unter PC name die IP-Adresse oder den Namen des Rechners ein. Ferner geben Sie unter User name und Password die Benutzerdaten ein. In den Standardeinstellungen nutzt Microsoft Remote Desktop den gesamten Bildschirm. Möglicherweise möchten Sie die Option Start session in full screen abwählen. 14.2.4    Drucker im Windows-Netzwerk

Sie können mit macOS sowohl unter Windows freigegebene Drucker nutzen als auch an Ihren Rechner angeschlossene Drucker von einem Windows-System aus ansprechen und nutzen. Sofern es sich nicht um einen PostScript-Drucker handelt, sollten Sie den Druckertreiber bereits zuvor unter macOS installiert haben.

Abbildung 14.12    Der Drucker wird nach der Anmeldung am Rechner aufgeführt.

Unter Windows geben Sie einen Drucker in der Systemsteuerung in der Ansicht Geräte und Drucker anzeigen über den Eintrag Druckereigenschaften im Kontextmenü frei. Sie finden in dem Fenster den Reiter Freigabe und können dort die Freigabe für das Netzwerk aktivieren. Unter macOS wechseln Sie in den Systemeinstellungen in die Ansicht Drucker & Scanner. Wenn Sie über das Pluszeichen den Dialog zur Installation eines Druckers aufrufen, finden Sie dort in der Ansicht Windows (siehe Abbildung 14.12) zunächst die Arbeitsgruppe. In der Regel lautet der Eintrag workgroup. Wählen Sie sie aus, dann erscheinen die Rechner in Ihrem lokalen Netzwerk. Haben Sie den Rechner ausgewählt, der den Drucker im Netzwerk freigibt, dann müssen Sie sich zunächst identifizieren. Anschließend erscheint die Liste der freigegebenen Drucker. Sie können nun einen Namen und einen Standort für den Drucker eingeben und den Treiber auswählen.

Abbildung 14.13    Der Drucker wird direkt über den URL angesprochen.

Einen unter macOS freigegebenen Drucker (siehe Abschnitt 4.1.3) richten Sie unter Windows in der Systemsteuerung ein. Zuvor sollten Sie aber, sofern es sich nicht um einen PostScript-Drucker handelt, den Druckertreiber installieren. Zusätzlich müssen Sie in der Systemsteuerung über die Funktion Windows-Features aktivieren oder deaktivieren in der Ansicht Programme und Features den Internetdruckclient installieren. Das Vorgehen besteht dann aus folgenden Schritten: 1. In der Systemsteuerung wechseln Sie in die Ansicht Geräte und Drucker anzeigen. 2. Über die Schaltfläche Drucker hinzufügen starten Sie den Assistenten für die Installation eines Druckers. 3. Der Assistent durchsucht das Netzwerk nach verfügbaren Druckern. Diese werden von macOS jedoch nicht kommuniziert, sodass Sie über den Link Der gewünschte Drucker ist nicht in der Liste enthalten einen weiteren Dialog aufrufen. 4. In dem neuen Fenster (siehe Abbildung 14.13) wählen Sie die Option Freigegebenen Drucker über den Namen auswählen. Im Textfeld geben Sie einen URL in der Form http://Rechner:631/printers/Drucker ein. Während der Name des Rechners demjenigen entspricht, den Sie für die WindowsNetzwerke (siehe Abschnitt 14.1.1) konfiguriert haben, müssen Sie als Name für den Drucker den Kurznamen eingeben, der auch über die Weboberfläche von CUPS (siehe Abschnitt 4.3.1) genutzt wird. 5. Im nächsten Schritt wird der Treiber für den Drucker installiert. Bei einem Drucker, der nicht über PostScript angesprochen wird, wird der installierte Treiber automatisch erkannt. Arbeiten Sie mit einem PostScript-Drucker, dann können Sie in der Liste

der Druckertreiber in der Rubrik Generic den Treiber MS Publisher Imagesetter auswählen. Lassen Sie sich von dem Namen nicht irritieren, es handelt sich hierbei um einen PostScriptTreiber.

15    Netzwerkprobleme beheben macOS verfügt über einige Hilfsmittel, mit denen Sie Problemen im Netzwerk auf die Spur kommen. Sowohl über das Netzwerkdienstprogramm als auch am Terminal stehen Ihnen einige Möglichkeiten zur Verfügung. Wenn die Kommunikation mit einem Server und der Datenaustausch nicht funktionieren, dann müssen Sie sich auf die Suche nach der Ursache begeben. Einen ersten Anhaltspunkt kann ein Blick in die Ansicht Netzwerk der Systemeinstellungen liefern. Hier wäre zunächst zu prüfen, ob die Netzwerkschnittstelle überhaupt aktiv ist. Auch kann es gut sein, dass Sie lediglich vergessen haben, das Kabel einzustecken. Nur zu oft ist die Lösung banal. Der zweite Schritt besteht in der Kontrolle der Konfiguration. Haben Sie die IP-Adresse und die weiteren Daten wie den Router und die DNS-Server korrekt eingegeben? Haben Sie möglicherweise vergessen, vorgenommene Änderungen mit einem Klick auf die Schaltfläche Anwenden auch zu aktivieren? Haben Sie das richtige WLAN ausgewählt oder sich versehentlich beim Nachbarn eingeklinkt? Ist der Server für den Datentransfer überhaupt hochgefahren worden? Sollte diese Prüfung keine Ergebnisse bringen, dann kommen die Diagnoseprogramme von Apple und das Netzwerkdienstprogramm ins Spiel. Beide verfügen über einige Methoden, die Ursache des Fehlers einzugrenzen. Am Terminal stehen Ihnen ebenfalls einige

Befehle zur Verfügung, die Sie auch ohne tiefgehendere Kenntnisse von Netzwerktechnologien nutzen können. In diesem Kapitel werden nicht alle Werkzeuge beschrieben, über die ein Unix-System wie macOS verfügt. Bei einer komplexeren Konfiguration des Netzwerks stehen Ihnen am Terminal die unter Unix-Systemen geläufigen Befehle wie dig zur Verfügung. Auch beschränken sich die Ausführungen auf die Werkzeuge, die mit dem aktuell noch gebräuchlichen Protokoll IPv4 arbeiten.

15.1    Die WLAN-Diagnose von Apple Neben dem nachfolgend beschriebenen Netzwerkdienstprogramm bietet Ihnen das System für die Diagnose von Problemen in einem drahtlosen Netzwerk einen Assistenten. Das Programm ist in erster Linie für Entwickler nützlich, die detaillierte Berichte und Statusmeldungen der involvierten Systemdienste und mechanismen benötigen. Sie finden im Verzeichnis /System/Library/CoreServices/Applications das Programm Diagnose für drahtlose Umgebungen. Sie können auch die Taste (alt) gedrückt halten, wenn Sie das WLAN-Menü in der Menüleiste oben rechts anklicken. Dies führt zu einer geänderten Darstellung, bei der Sie auch über die Details Ihrer drahtlosen Verbindung informiert werden (siehe Abbildung 15.1). Über den Eintrag Diagnose für drahtlose Umgebungen öffnen starten Sie ebenfalls das Programm.

Abbildung 15.1    Über die Menüleiste können Sie Details der drahtlosen Verbindung direkt abfragen.

Dieses Programm führt Sie schrittweise durch die Analyse der Verbindung und Konfiguration. Im ersten Schritt wird Ihre drahtlose Verbindung für einige Zeit überwacht. Hierfür müssen Sie gegebenenfalls Ihr Passwort eingeben. Dann können Sie noch einige Bemerkungen zu Ihrer Konfiguration als Text eingeben, und abschließend wird ein Diagnosebericht erstellt. Die Erstellung eines solchen Berichts ist die Hauptaufgabe des Programms. Sie finden den Bericht in Form eines Archivs, das aus einer Reihe von Dateien und Protokollen besteht, im Verzeichnis /var/tmp, das Ihnen anschließend auch im Finder angezeigt wird. Die enthaltenen Protokolle und Konfigurationen sind in erster Linie für Softwareentwickler oder Apple selbst relevant.

Abbildung 15.2    Das Ergebnis der Analyse kann fragwürdige Informationen enthalten.

Nach Abschluss der Analyse wird Ihnen eine kurze Übersicht der gefundenen Probleme angezeigt. Auch ihr sollten Sie nicht alles vorbehaltlos glauben. Bei der in Abbildung 15.2 dargestellten Analyse wurde ein LAN-Verbindungsfehler gefunden. Allerdings war das Netzwerk voll funktionsfähig, verrichtete wie gewünscht seinen Dienst, und auch der vorgeschlagene Neustart des Routers hat zu keiner Änderung geführt.

15.2    Das Netzwerkdienstprogramm Während die beiden Diagnoseprogramme bisweilen eher zweifelhafte Ergebnisse liefern, ist das Netzwerkdienstprogramm seit anderthalb Jahrzehnten ein zuverlässiger Helfer. Sie finden das Programm im Ordner /System/Library/CoreServices/Applications. Wenn Sie das Programm starten, wird das einzige Fenster geöffnet. Die Ansicht Finger beschreibe ich nicht, da das hier genutzte Verfahren zum Einholen von Benutzerinformationen heutzutage nicht mehr angewandt werden sollte. 15.2.1    Informationen erhalten

Zunächst können Sie mit dem Netzwerkdienstprogramm einige Informationen sowohl über Ihre aktuelle Verbindung einholen als auch die IP-Adresse anderer Rechner abfragen. Unter Informationen (siehe Abbildung 15.3) wählen Sie eine der konfigurierten Netzwerkschnittstellen aus und erhalten dann Informationen über die Hardwareadresse, die Verbindungsgeschwindigkeit sowie eine Übertragungsstatistik.

Abbildung 15.3    Die allgemeinen Informationen einer Schnittstelle enthalten auch eine Statistik der bereits übertragenen Daten.

In der Ansicht Netstat (siehe Abbildung 15.4) wird Ihnen die Ausgabe des gleichnamigen Befehls am Terminal angezeigt. Sie können sich hier unter anderem die Informationen der Routing-Tabelle anzeigen lassen. Die Routing-Tabellen werden unter macOS in erster Linie durch die Reihenfolge der Netzwerkschnittstellen in den Systemeinstellungen definiert. In der Ausgabe von Netstat werden diese Tabellen aufgeführt, und Sie können – sofern Sie über die entsprechenden Kenntnisse solcher Netzwerkkonfigurationen verfügen – hier prüfen, ob die Datenpakete korrekt verschickt werden. Um die Namensauflösung zu überprüfen, schauen Sie unter Lookup (siehe Abbildung 15.5). Ein vollständig qualifizierter Domain-Name wie www.apple.com muss auf mindestens eine IP-Adresse deuten. Sie können in dem Textfeld einen vollständigen Rechnernamen oder eine IP-Adresse eingeben. Wenn Sie eine Adresse wie www.apple.com eintragen, dann gibt Ihnen Lookup die IP-Adresse aus, die über den Namen angesprochen wird. Dies funktioniert, ein korrekt konfigurierter DNS-Server vorausgesetzt, auch umgekehrt, indem Sie eine IP-Adresse eingeben. Sie erhalten dann den vollständigen Rechnernamen, der mit dieser IP-Adresse verbunden wird. Dieses Verfahren wird auch Reverse Lookup genannt.

Abbildung 15.4    Die Routing-Tabellen werden in der Ansicht »Netstat« angezeigt.

Wichtig kann diese Prüfung sein, wenn in Ihrem Netzwerk ein Serverdienst wie Active Directory oder Open Directory konfiguriert wurde. Hier sollten in der Regel die beiden Lookup-Anfragen die gleichen Ergebnisse liefern. Das heißt, dass sich die IP-Adresse auf den Rechnernamen und der Rechnername auf die IP-Adresse abbilden muss. Ist dies nicht der Fall, dann ist dies oft die Ursache für Probleme bei dem Dienst. Beachten Sie, dass bei der automatischen Konfiguration von Rechnernamen im lokalen Netzwerk mittels Bonjour der umgekehrte Lookup nicht funktioniert. Sie können die IP-Adresse des Rechners mit dem Namen »Macmini.local« in Erfahrung bringen, aber da hier kein DNS-Server eingesetzt wird, erhalten Sie nach der Eingabe einer IPAdresse nicht den Bonjour-Namen des Rechners.

Abbildung 15.5    Das Netzwerkdienstprogramm kann auch »Lookup«-Anfragen ausführen.

Unter Whois können Sie versuchen, den Eigentümer einer Domain im Internet in Erfahrung zu bringen. Neben der Domain wählen Sie hier den sogenannten Whois-Server aus, von dem Sie eine Antwort wünschen. Für Europa ist dies whois.ripe.net. Beachten Sie, dass diese Informationen oft nicht sinnvoll zu nutzen sind. Zum einen gibt es mittlerweile auch das Phänomen des Spams in diesem Bereich, zum anderen werden die deutschen Domains mit der Endung .de von der DENIC verwaltet, die Adressdaten nur über das Formular unter http://www.denic.de offenlegt. 15.2.2    Einen Rechner anpingen

Um zu kontrollieren, ob die Verbindung zwischen einem Rechner und einem anderen überhaupt funktioniert, können Sie die Funktion Ping verwenden. Hierbei werden über das Internet Control Message Protocol (ICMP) kleine Datenpakete an den Zielrechner geschickt, die dieser dann zurückschickt. Geben Sie unter Netzwerkadresse die IP-Adresse oder den Namen des Rechners ein, den Sie anpingen möchten, und starten Sie den Vorgang dann mit einem Klick auf die Schaltfläche Ping (siehe Abbildung 15.6).

Abbildung 15.6    Ob die Verbindung funktionsfähig ist, testen Sie über »Ping«.

Es werden dann zu Kontrollzwecken zehn Datenpakete verschickt und wieder empfangen. Finden Sie am Ende der Ausgabe den Hinweis 0.0% packet loss, dann funktioniert die Verbindung einwandfrei. Wenn einige, aber nicht alle Pakete verloren gehen, dann ist die Verbindung wahrscheinlich korrekt konfiguriert, aber sie funktioniert nicht einwandfrei. Ein beschädigtes Netzwerkkabel wäre hier ein Erklärungsansatz. Wenn alle Pakete verloren gehen, dann kann dies zwei Gründe haben: Möglicherweise wurde der Zielrechner so konfiguriert, dass er sich in einer Art Tarnmodus (siehe Abschnitt 17.3.1) befindet und eingehende ICMP-Datenpakete automatisch verwirft. Oder die Verbindung funktioniert wirklich nicht. Das kann einen physikalischen Grund haben – der Rechner befindet sich gar nicht im Netzwerk – oder an einer Fehlkonfiguration der Schnittstelle liegen. 15.2.3    Den Internetweg mit »Trace« verfolgen

Funktioniert die Datenübertragung nicht, dann kann es daran liegen, dass einer der Router auf dem Weg zum Ziel nicht funktionsfähig ist. Mit der Funktion Trace vollziehen Sie die Route

nach, die Ihre Datenpakete im Netzwerk und Internet nehmen würden. Geben Sie hier wiederum eine IP-Adresse oder einen Rechnernamen ein, und klicken Sie auf Trace.

Abbildung 15.7    Mit »Trace« lässt sich die Route der Datenpakete im Netz nachverfolgen.

Es wird dann quasi schrittweise der Weg aufgelistet, den Ihre Datenpakete zum Zielrechner zurücklegen (siehe Abbildung 15.7). Wird ab einer gewissen Stelle keine IP-Adresse, sondern eine Reihe von Sternchen (*) aufgeführt, dann wurden diese Geräte so konfiguriert, dass sie die Kontrollpakete nicht zurückschicken. 15.2.4    Einen Portscan durchführen

Funktioniert die eigentliche Verbindung zum Ziel einwandfrei, dann heißt dies noch nicht, dass Sie auch eine Verbindung zu einem Dienst auf dem Server aufnehmen können. Möglicherweise wurde der Dienst gar nicht gestartet, oder eine Firewall blockiert die Kommunikation auf genau diesem Port. So wartet ein Webserver in der Regel auf Port 80 auf eingehende Verbindungen, der Datenaustausch über das Protokoll AFP erfolgt über Port 548. Wurde die Kommunikation über den entsprechenden Port gesperrt, ist er also auf dem Zielrechner nicht offen, dann kann kein

Datenaustausch erfolgen. Welche Ports auf einem Rechner für eingehende Datenpakete geöffnet sind, finden Sie mit einem Portscan heraus (siehe Abbildung 15.8). Hier geben Sie wiederum die IP-Adresse oder den vollständigen Namen des Rechners ein und starten dann den Portscan. Möchten Sie keinen vollständigen Scan durchführen, dann können Sie auch einen Bereich angeben, der abgefragt werden soll. Wurde ein offener Port gefunden, dann wird er in der Liste aufgeführt. Sie erhalten neben der Nummer eine kurze Beschreibung des Dienstes, der hinter diesem Port vermutet wird. Bei Port 548 lautet die Angabe afpovertcp, es wartet dahinter also wahrscheinlich ein AFPDateiserver auf Verbindungen.

Abbildung 15.8    Über einen »Portscan« kontrollieren Sie die Erreichbarkeit von Serverdiensten.

Eine Übersicht, welche Dienste gemeinhin auf welchem Port lauschen, finden Sie in der Datei /etc/services. Diese lassen Sie sich am Terminal durch die Eingabe von less /etc/services (siehe Abschnitt 21.4.1) anzeigen. So finden Sie hier den Eintrag ssh 22/udp # SSH Remote Login Protocol. Die entfernte Anmeldung, die auf SSH (siehe Abschnitt 12.2) beruht, erfolgt also über Port 22.

Funktioniert die Verbindung zum anderen Rechner mittels Ping und ist auch der Port des Servers offen, aber kommt die Verbindung trotzdem nicht zustande, dann liegt es wahrscheinlich an einer Fehlkonfiguration des Serverdienstes selbst.

15.3    Werkzeuge am Terminal Steht Ihnen das Netzwerkdienstprogramm nicht zur Verfügung oder bevorzugen Sie die Eingabe von Befehlen, dann können Sie auch am Terminal Ihre Netzkonfiguration mit einer Reihe leistungsfähiger Werkzeuge überprüfen. In diesem Abschnitt stelle ich Ihnen drei der gebräuchlichsten Befehle (ping, traceroute und tcpdump) vor. Ferner werde ich den etwas versteckten, aber voll funktionsfähigen Befehl stroke erläutern, mit dem Sie am Terminal einen Portscan durchführen. 15.3.1    Der Befehl »ping«

Einen Rechner über das Terminal anpingen können Sie mit dem gleichnamigen Befehl. Sie übergeben ping den Namen des Rechners oder dessen IP-Adresse. Ohne weitere Option schickt ping dauerhaft Datenpakete an das Ziel. Mit der Tastenkombination (š)+ (.) können Sie diesen Vorgang abbrechen und erhalten abschließend eine Statistik. Die Option -c, gefolgt von einer Zahl, gibt vor, wie viele Anfragen ping verschicken soll (siehe Abbildung 15.9). Die Eingabe von ping -c 20 Macmini.local würde zwanzig Anfragen an den Rechner mit dem Namen »Macmini« im lokalen Netzwerk schicken. »ping« ping [IP-Adresse/Name]

Abbildung 15.9    Der Befehl »ping« schickt bis zum Abbruch Datenpakete an sein Ziel.

15.3.2    Kommunikation mit »traceroute« nachverfolgen

Die Funktion Trace des Netzwerkdienstprogramms erreichen Sie am Terminal mit dem Befehl traceroute. Geben Sie traceroute, gefolgt von der IP-Adresse oder dem Namen ein, dann wird der Weg der Pakete im Netzwerk in derselben Form ermittelt, wie es im Festplattendienstprogramm der Fall ist. »traceroute« traceroute [IP-Adresse/Name]

15.3.3    Datenverkehr mit »tcpdump« überwachen

Zur Überwachung des aktuellen Datenverkehrs dient der Befehl tcpdump. Er gibt Ihnen die Quelle und das Ziel eines Datenpakets aus und liefert einige weitere Informationen. Sie müssen tcpdump als Super-User »root« ausführen und ihm daher sudo voranstellen. Mit der Option -i übergeben Sie tcpdump das Kürzel der Netzwerkschnittstelle, die überwacht werden soll. Letzteres wird Ihnen unter anderem im Netzwerkdienstprogramm in der Ansicht

Information angezeigt. Das Kürzel wird dort in Klammern hinter dem Namen der Schnittstelle aufgeführt. »tcpdump« tcpdump -i Schnittstelle

Abbildung 15.10    Mit »tcpdump« überwachen Sie den Verkehr einer Schnittstelle.

Die Eingabe von sudo tcpdump -i en0 (siehe Abbildung 15.10) würde die erste Netzwerkschnittstelle überwachen. Sie finden links die IP-Adresse, von der das Paket verschickt wurde, und nach der Klammer die IP-Adresse des Empfängers. Die genaue Analyse der Ausgabe von tcpdump erfordert einige Kenntnisse von Netzwerktechnologien. Mit dem Open-Source-Projekt Wireshark (https://www.wireshark.org) steht ein Programm mit grafischer Oberfläche zur Verfügung, das dieselbe Aufgabe wie tcpdump erfüllt. 15.3.4    Portscan mit »stroke« durchführen

Um am Terminal einen Portscan durchzuführen, nutzen Sie den Befehl stroke. Er befindet sich nicht in den üblichen Verzeichnissen der Unix-Befehle, sondern innerhalb des Bundles des Netzwerkdienstprogramms. Daher müssen Sie ihn über seinen absoluten Pfad /System/Library/CoreServices/Applications/Network\

Utility.app/Contents/Resources/stroke aufrufen (siehe Abbildung 15.11).

Abbildung 15.11    Mit dem Befehl »stroke« führen Sie am Terminal einen Portscan durch.

Als ersten Parameter übergeben Sie die IP-Adresse des Rechners, der gescannt werden soll. Darauf folgen die Nummern des Start- und Endports für den Scan. Die Eingabe von /System/Library/CoreServices/Applications/Network\ Utility.app/Contents/Resources/stroke 10.0.1.3 1 5000

würde die ersten fünftausend Ports des Rechners mit der IP-Adresse 10.0.1.3 überprüfen. Die Ausgabe von stroke entspricht derjenigen des Netzwerkdienstprogramms. »stroke« stroke IP-Adresse Startport Endport

TEIL IV

Sicherheit und Privatsphäre Den Schutz Ihrer Daten sollten Sie heutzutage nicht vernachlässigen. macOS bietet Ihnen einige Möglichkeiten, Ihren Rechner abzusichern und Ihre Kommunikation zu verschlüsseln.

16    Das Betriebssystem und den Rechner absichern Heutzutage ist es notwendig, das System gegen unbefugte Zugriffe von außen und innen abzusichern. macOS bietet Ihnen einige Funktionen, mit denen Sie den Schutz Ihrer Daten erhöhen. Sicherheit ist im IT-Bereich ein relativer Begriff. Ein absoluter Schutz ist nicht möglich. Vielmehr steht das Bestreben, die Daten und das System vor unbefugten Zugriffen und Manipulationen zu schützen, in einem Spannungsverhältnis mit dem Bedienkomfort und den technischen Gegebenheiten. Auch wenn ich in diesem Kapitel einige Methoden beschreiben werde, mit denen Sie den Schutz erhöhen können, sollten Sie dennoch mit einem kritischen Bewusstsein das Thema weiterverfolgen. Dieses Kapitel widmet sich der Absicherung des Betriebssystems und des Rechners an sich. In Abschnitt 16.1 geht es in erster Linie um Methoden, mit denen Sie den Zugriff auf Ihr System einschränken und regulieren, indem Sie zum Beispiel den Bildschirmschoner mit einem Passwort schützen oder den Gastbenutzer deaktivieren. Im weitesten Sinne geht es hier um die Einschränkung des Zugriffs von Anwendern. In Abschnitt 16.2 werde ich zwei Mechanismen des Betriebssystems – die Sandbox und die System Integrity Protection (SIP) – besprechen, mit denen macOS das System vor Angriffen durch Software zu schützen versucht.

16.1    Rund um Benutzerkonten und die Anmeldungen In den meisten Fällen ist es nicht erwünscht, dass jeder Anwender, sei es ein Kollege oder Familienmitglied, auf Ihren Rechner zugreifen kann. Es bietet sich daher an, in einigen wichtigen Situationen wie etwa nach Beendigung des Ruhezustands oder direkt nach dem Anschalten des Rechners ein Passwort zu verlangen. Keinesfalls sollten Sie Ihre Benutzerkonten mit leeren Passwörtern versehen, auch wenn dies auf den allerersten Blick bequem erscheinen mag. 16.1.1    Bildschirmschoner und Ruhezustand absichern

Der Bildschirmschoner und der Ruhezustand werden im Arbeitsalltag meistens dann aktiviert, wenn Sie Ihren Arbeitsplatz verlassen möchten. Es ist selten erwünscht, dass in der Zwischenzeit ein Kollege oder ein Besucher sich durch einen einfachen Tastendruck vollen Zugriff auf Ihre Daten verschaffen kann. Sie können sowohl nach dem Ende des Ruhezustands als auch bei Deaktivierung des Bildschirmschoners die Eingabe des Passwortes verlangen.

Abbildung 16.1    Nach Beendigung des Bildschirmschoners oder Ruhezustands können Sie ein Passwort verlangen.

In den Systemeinstellungen finden Sie in der Ansicht Sicherheit unter Allgemein die notwendigen Optionen (siehe Abbildung 16.1). Hier sollten Sie in jedem Fall die Option Automatische Anmeldung deaktivieren auswählen, da ansonsten nach dem Einschalten eine automatische Anmeldung in einem Benutzerkonto erfolgt. Der Anmeldebildschirm würde übersprungen. Haben Sie einen Bildschirmschoner und den Ruhezustand in den Systemeinstellungen konfiguriert, dann legen Sie über die Option Passwort erforderlich ...  nach Beginn des Ruhezustands oder Bildschirmschoners fest, dass Ihr Rechner nach der ausgewählten Frist gesperrt wird. Erst wenn Ihr Passwort eingegeben wurde, kann die Arbeit fortgesetzt werden. Ein kurzer Zeitraum von 5 Sekunden oder auch sofort kann nützlich sein, wenn Sie Ihren Arbeitsplatz oft verlassen müssen und sich nicht jedes Mal von Hand abmelden möchten.

Abbildung 16.2    Eine automatische Abmeldung kann nach einer gewissen Zeit erzwungen werden.

Über die Schaltfläche Weitere Optionen können Sie zwei Einstellungen vornehmen. Zunächst können Sie hier über die Option Abmelden nach ...  Minuten Inaktivität festlegen, dass das Benutzerkonto nach Ablauf der Frist abgemeldet wird. Alternativ könnten Sie auch eine aktive Ecke nutzen, wenn Sie den Bildschirmschoner umgehend, aber eigenhändig aktivieren möchten. Über die Option Administratorpasswort für den Zugriff auf systemweite Einstellungen verlangen schränken Sie die Arbeit mit den Systemeinstellungen dahingehend ein, dass bestimmte Ansichten der Systemeinstellungen immer zunächst gesperrt sind und über einen Klick auf das Schloss entsperrt werden müssen. 16.1.2    Gastbenutzer deaktivieren

macOS bietet Ihnen mit dem Gastbenutzer eine Möglichkeit, Anwendern ohne eigenes Benutzerkonto Zugriff auf Ihr System zu gewähren. Der Inhalt des Benutzerordners wird nach der Abmeldung des Gastes automatisch gelöscht, über das Netzwerk können Gastbenutzer entsprechend freigegebene Ordner auch ohne Passwort einbinden und – abhängig von den Zugriffsrechten – auch Daten in diese schreiben.

In vielen Fällen, insbesondere bei mobilen Geräten, ist diese Art der formlosen und befristeten Anmeldung nicht erwünscht, denn auch mit dem eingeschränkten Gastbenutzer lassen sich Programme starten, mit denen anderweitig Schaden angerichtet wird. Die Option Gästen erlauben, sich an diesem Rechner anzumelden (siehe Abbildung 16.3) sollten Sie daher nur aktivieren, wenn Sie anderen Personen bewusst einen Zugang zu Ihrem Rechner erlauben möchten. Benötigen Sie diesen Kioskmodus nicht mehr, dann sollten Sie die Option wieder deaktivieren. Ähnlich verhält es sich mit der Option Gästen den Zugriff auf geteilte Ordner erlauben. Hier ist es möglich, dass die Einbindung eines von Ihnen im Netzwerk freigegebenen Ordners ohne die Eingabe eines Passwortes erfolgt. Wenn Sie einen Ordner freigegeben haben, dessen Inhalt Sie mit allen, auch anonymen Teilnehmern des Netzwerks teilen möchten, dann kann diese Option sinnvoll sein. Sie kann sich aber auch als problematisch erweisen, wenn Sie die Zugriffsrechte der Ordner im Netzwerk nicht korrekt konfiguriert haben und der Gastbenutzer Schreibrechte erhält.

Abbildung 16.3    Den Gastbenutzer deaktivieren Sie in der Ansicht »Benutzer & Gruppen«.

In diesem Fall wäre es zum Beispiel möglich, beliebig große Dateien zu erzeugen, die irgendwann den freien Speicherplatz Ihres Datenträgers erschöpfen. Dies benötigt zwar eine gewisse Zeit, trotzdem würde Ihr System am Ende dieses Vorgangs abstürzen, was insbesondere bei Servern im Netzwerk zu vermeiden ist. Daher sollten Sie die Option Gästen den Zugriff auf geteilte Ordner erlauben nur dann aktivieren, wenn Sie wissen, in was für einem Netzwerk Sie sich befinden, und einen Grund für die Freigabe haben. Andernfalls sollten Sie auf die Erlaubnis verzichten. 16.1.3    Ein EFI-Passwort setzen

Um zu verhindern, dass Ihr Rechner mit einer Tastenkombination wie (š)+(R) oder (alt) von einem anderen Volume gestartet wird, können Sie ein Passwort für die Firmware vergeben. Dieses Passwort wird direkt nach dem Start abgefragt, wenn eine Taste gedrückt gehalten wurde. Nützlich ist diese Funktion dann, wenn Sie Ihr System restriktiv für eine bestimmte Nutzergruppe konfiguriert haben und Sie so verhindern möchten, dass zur Manipulation ein anderes System gestartet wird. [ ! ] Wenn Sie das Passwort für die Firmware vergeben haben, dann sollten Sie es sich gut merken. Zwar gibt es Möglichkeiten, das Passwort zurückzusetzen, indem die Speicherausstattung des Rechners geändert und Batterien entfernt werden, aber dies funktionierte in der Vergangenheit in erster Linie bei einem Rechner wie dem Mac Pro. Aber wahrscheinlich ist Ihr Rechner ein Fall für die Reparaturabteilung Apples, wenn Sie das Passwort vergessen haben.

Abbildung 16.4    Das Passwort für die Firmware vergeben Sie über das Rettungssystem.

Ein Passwort für die Firmware vergeben Sie, indem Sie das Rettungssystem starten. Sie finden dort den Menüpunkt Dienstprogramme • Firmware-Passwortdienstprogramm. Über ihn rufen Sie ein kleines Programm auf, das Ihnen zunächst die Aktivierung des Passwortes zur Auswahl stellt, das Sie im zweiten Schritt eingeben (siehe Abbildung 16.4). Es kann passieren, dass das Rettungssystem die amerikanische Tastaturbelegung nutzt. Dies erkennen Sie an der US-Flagge oben rechts in der Menüleiste. Über diese können Sie auch auf die deutsche Tastaturbelegung umschalten. Nach einem Neustart wird das Passwort dann abgefragt, wenn Sie beispielsweise die Taste (alt) gedrückt halten, um das Startvolume auszuwählen (siehe Abbildung 16.5). Dies ist ab jetzt erst möglich, wenn Sie das Firmwarepasswort eingeben. Andernfalls lässt sich der Rechner lediglich neu starten. Um das Firmwarepasswort zu einem späteren Zeitpunkt zu ändern oder zu löschen, starten Sie erneut das Rettungssystem, rufen wiederum das Firmware-Passwortdienstprogramm auf und vergeben ein neues Passwort oder löschen das aktuelle. In beiden Fällen müssen Sie das alte Passwort zuvor eingeben.

Abbildung 16.5    Das Firmwarepasswort muss bei Auswahl eines anderen Startmodus eingegeben werden.

16.1.4    Das Startvolume mit FileVault 2 verschlüsseln

Ist Ihr Startvolume nicht verschlüsselt, dann ist es ein Leichtes, auf seine Dateien und Ordner zuzugreifen, sofern man Ihren Rechner in den Händen hält – sei es durch das Zurücksetzen des Passwortes für einen Administrator oder den Start im sogenannten FireWireFestplattenmodus. Mit FileVault 2 veranlassen Sie die Verschlüsselung Ihres Startvolumes. Das Startvolume wird hierbei in eine verschlüsselte CoreStorageoder APFS-Partition umgewandelt, die Sie mit einem Passwort schützen können. Wenn der Start von dem Volume erfolgt, dann erscheint der Anmeldebildschirm noch vor dem Start des eigentlichen Systems. Hier müssen Sie sich mit Ihrem Benutzerkonto durch die Eingabe des Passwortes authentifizieren, um die Verschlüsselung der Startpartition aufzuheben und den Startvorgang fortzusetzen. Soll die Partition zum Beispiel über den FireWire-Festplattenmodus auf einem anderen Rechner aktiviert werden, dann ist zur Freigabe ebenfalls ein Passwort eines aktivierten Benutzerkontos notwendig.

Abbildung 16.6    FileVault 2 aktivieren Sie in den Systemeinstellungen.

Bei der Nutzung von FileVault 2 müssen Sie beachten, dass dies unter anderem mit einer Windows-Installation über Boot Camp kollidieren kann, sofern Sie HFS nutzen. Da es sich bei Ihrem Startvolume nicht mehr um eine normale Partition handelt, die neben der Windows-Partition existiert, sondern um ein logisches CoreStorage-Volume, ist die parallele Installation der beiden Systeme eigentlich nicht mehr möglich.

Abbildung 16.7    Der Wiederherstellungsschlüssel ist der Verbindung von FileVault 2 mit einem iCloud-Account in den meisten Fällen vorzuziehen.

FileVault 2 aktivieren Sie in den Systemeinstellungen in der Ansicht Sicherheit (siehe Abbildung 16.6). Wenn FileVault 2 noch nicht aktiviert wurde, finden Sie dort die Schaltfläche File-Vault aktivieren . Über diese starten Sie den Vorgang. Im ersten Schritt müssen Sie sich entscheiden, ob Sie Ihren iCloud-Account oder einen Wiederherstellungsschlüssel als Sicherheitsnetz nutzen möchten (siehe Abbildung 16.7). Die Funktion des Sicherheitsnetzes besteht darin, Ihnen den Zugang zu einem mit FileVault 2 verschlüsselten System zu verschaffen, wenn Sie alle Passwörter vergessen haben.

Ob jedoch die Verbindung zu Ihrem iCloud-Account, die ja im Ernstfall auch noch eine Verbindung ins Internet benötigt, eine gute Idee ist, sei dahingestellt.

Abbildung 16.8    Den Wiederherstellungsschlüssel können Sie in die Zwischenablage kopieren.

In der Regel sollten Sie einen Wiederherstellungsschlüssel nutzen, der Ihnen im nächsten Schritt angezeigt wird (siehe Abbildung 16.8). Sie können die Zeichenkette über die Zwischenablage zum Beispiel in TextEdit kopieren und ausdrucken. Den Ausdruck sollten Sie dann an einem sicheren Ort verwahren, da mit dieser Zeichenfolge der FileVault-2-Schutz aufgehoben werden kann. Nach diesen Konfigurationsschritten erfolgt ein Neustart. Im Anschluss erscheint sofort der Anmeldebildschirm, und Sie müssen FileVault 2 durch die Eingabe eines Passwortes für ein zuvor konfiguriertes Benutzerkonto freischalten. Erst dann wird der Startvorgang fortgesetzt. Hierbei wird der normale Anmeldebildschirm übersprungen und direkt die Anmeldung mit dem zuvor genutzten Benutzerkonto vollzogen. Möchten Sie also zu einem Benutzerkonto wechseln, das nicht für die Freigabe von FileVault 2 autorisiert wurde, müssen Sie sich zuerst mit einem autorisierten Konto an- und dann normal abmelden. Über den Fortschritt der Verschlüsselung können Sie sich in den Systemeinstellungen in der Ansicht Sicherheit informieren. Abhängig von der Anzahl Ihrer Dateien und der Geschwindigkeit

des Datenträgers kann dieser Vorgang einige Zeit in Anspruch nehmen. Da er im Hintergrund stattfindet, können Sie normal mit Ihrem System weiterarbeiten. Um den Schutz mittels FileVault 2 aufzuheben und Ihre Daten wieder zu entschlüsseln, wechseln Sie in den Systemeinstellungen erneut in die Ansicht Sicherheit. Sie finden dort unter FileVault die Option FileVault deaktivieren, die einen Neustart benötigt, um mit der Entschlüsselung zu beginnen.

16.2    Weitere Sicherheitsmechanismen des Systems Während Sie mit den zuvor beschriebenen Methoden den Zugang zu Ihrem System an einigen entscheidenden Stellen beschränken und kontrollieren können, verfügt macOS neben den Zugriffsrechten (siehe Abschnitt 6.1) noch über einige Mechanismen, die Ihr System im laufenden Betrieb schützen sollen. Dazu gehört zum Beispiel die Verschlüsselung des virtuellen Speichers. Wird ein Speicherbereich auf die Festplatte ausgelagert, dann erfolgt dies in verschlüsselter Form. In der Vergangenheit war es möglich, diese ausgelagerten Speicherseiten zu durchsuchen und zum Beispiel ein gerade eingegebenes und daher noch im (ausgelagerten) Arbeitsspeicher befindliches Passwort im Klartext auszulesen. An dieser Stelle beschreibe ich zwei Mechanismen zum Schutz des laufenden System. Die Sandbox-Funktionalität schränkt laufende Programme ein und verbietet ihnen die Ausführung bestimmter, nicht gewünschter Aktionen. Die in OS X 10.11 neu eingeführte System Integrity Protection (SIP) soll verhindern, dass unbeaufsichtigt Manipulationen an Ihrem System vorgenommen werden. Beiden Mechanismen vorgelagert ist der Gate Keeper (siehe Abschnitt 7.1.4), der den Start unerwünschter Programme verhindern soll. 16.2.1    Prozesse in Sandboxen

Sandboxen haben unter macOS die Aufgabe, aktiven Programmen Grenzen aufzuzeigen. Einem Prozess, der in einer Sandbox ausgeführt wird, können einige Aktionen untersagt werden. Zum Beispiel lässt sich eine Sandbox so konfigurieren, dass ein

Programm keine Schreibzugriffe mehr auf das Dateisystem ausführen kann. Auch können Sie einem Programm Verbindungen ins Netzwerk oder den Aufruf bestimmter Funktionen des Systems untersagen. Die Sandbox-Funktionalität geht eng einher mit dem App Store, da die dort verfügbaren Programme alle in einer Sandbox ausgeführt werden. Auf der einen Seite trägt dies, sofern es richtig gemacht wird, zur Sicherheit des Systems bei. Auf der anderen Seite kann es eine Einschränkung der Funktionalität bedeuten, wenn gewünscht ist, dass ein Programm über die von Apple in Sandboxen definierten Grenzen hinaus in Aktion tritt. Die Sandboxen werden aber auch für eine Reihe von Systemdiensten genutzt. So kann einem Dienst, der lediglich Anfragen aus dem Netzwerk zu beantworten hat, untersagt werden, auf das Dateisystem zuzugreifen. Würde der Dienst durch einen Bug kompromittiert – verschafft sich also ein Angreifer unbefugt Zugang –, dann gewänne er nicht übermäßig viel, da der Zugriff auf das Dateisystem, der nötig wäre, um richtigen Schaden anzurichten, unterbunden wird.

Abbildung 16.9    Die Aktivitätsanzeige verfügt über eine Spalte »Sandbox«.

Ob ein Programm in einer Sandbox ausgeführt wird, bringen Sie über das Dienstprogramm Aktivitätsanzeige (siehe Abschnitt 27.2) in Erfahrung (siehe Abbildung 16.9). Wenn Sie dort in einer beliebigen Darstellung über Darstellung • Spalten • Sandbox die Anzeige der gleichnamigen Spalte aktivieren, dann wird Ihnen für jeden Prozess angezeigt, ob er in einer Sandbox ausgeführt wird oder nicht.

Einige Definitionen von Sandboxen können Sie am Terminal im Verzeichnis /usr/share/sandbox einsehen. Sie finden dort zum Beispiel die Datei mds.sb, deren Inhalt Sie sich mit less (siehe Abschnitt 21.4.1) durch die Eingabe von less /usr/share/sandbox/mds.sb anzeigen lassen können. Sie sperrt den Systemdienst mds, der zur Suchfunktion Spotlight gehört, in eine Sandbox und untersagt ihm eine Reihe von Aktionen. Würde der Dienst etwa durch eine manipulierte und zu indizierende Datei kompromittiert, dann würde sich der Schaden in Grenzen halten. 16.2.2    Die System Integrity Protection (SIP) verstehen und verwalten

Eine Maßnahme, die die Zugriffsrechte und den Gate Keeper ergänzen soll, stellt die mit OS X 10.11 eingeführte Funktion System Integrity Protection (SIP) dar. Ihre Aufgabe besteht darin, den SuperUser »root« zu beschränken. Bisher war dieses Benutzerkonto kaum Beschränkungen unterworfen, und mit sudo (siehe Abschnitt 6.3.1) konnte sich ein administrativer Benutzer zeitweise die Rechte zur Administration des Systems verschaffen. Dies führte aber auch dazu, dass mit sudo ausgeführte Befehle keinen Einschränkungen unterworfen waren. Es konnte somit leicht passieren, dass Dateien gelöscht oder manipuliert wurden, die eigentlich zum Betriebssystem gehören und nicht geändert werden dürfen. Ferner wird der als Administrator eingeloggte Anwender recht oft mit einem Dialog konfrontiert, in dem er sein Passwort zur zeitweisen Erweiterung der Rechte eingeben muss. Für einen Angreifer wäre ein solches Passwort eine recht leichte Beute.

Mit SIP möchte Apple diesem Problem dahingehend begegnen, dass in der Standardinstallation von macOS auch die als »root« ausgeführten Aktionen Beschränkungen unterliegen. Insbesondere soll es nicht mehr möglich sein, Verzeichnisse und Dateien des Betriebssystems zu manipulieren. Geben Sie zum Beispiel sudo touch /usr/Pseudodatei ein, dann würde der Befehl touch eigentlich eine leere Datei (Pseudodatei) im Verzeichnis /usr erzeugen. Unter den meisten Unix-Systemen und den vorhergehenden Versionen von macOS wäre die Datei, die keinen Inhalt und keine Aufgabe hat, erzeugt worden, da Sie sich mit sudo übergangsweise erweiterte Rechte verschafft haben. Unter macOS 10.13 erhalten Sie am Terminal jedoch den Hinweis Operation not permitted, da das Verzeichnis /usr als per se geschützt gilt. Realisiert wird dieses Verfahren unter anderem durch das File-Flag restricted (siehe Abbildung 16.10). Dieses wurde den Verzeichnissen /System, /usr, /bin und /sbin zugewiesen, die die Kernkomponenten des Betriebssystems enthalten. Sie sollen nur durch ein Update oder eine Softwareinstallation (sofern die Software von Apple selbst stammt) geändert werden dürfen.

Abbildung 16.10    Die mittels SIP geschützten Verzeichnisse werden mit dem File-Flag »restricted« gekennzeichnet.

Der Schutz ist also recht weitreichend, und sofern Sie nicht an Grenzen stoßen, ist die System Integrity Protection ein nützliches Mittel (siehe Abbildung 16.10), um die Gefahr ungewollter Manipulationen an Ihrem System zu verringern. Es kann aber durchaus der Fall sein, dass Sie diesen Schutz vorübergehend aufheben möchten. Dann können Sie einen Start des Rettungssystems ausführen und über den Menüpunkt Dienstprogramme • Terminal das dort vorhandene Terminal starten.

Abbildung 16.11    Über das Terminal des Rettungssystems können Sie die System Integrity Protection deaktivieren.

Der Befehl csrutil dient zur Aktivierung und Deaktivierung der System Integrity Protection. Mit der Eingabe von csrutil disable (siehe Abbildung 16.11) schalten Sie sie ab. Diese Einstellung wird in der Firmware Ihres Rechners gespeichert, sodass sie für alle vorhandenen Installationen von macOS 10.13 gilt. Nach einem Neustart sind die mittels SIP gesetzten Beschränkungen aufgehoben. Erneut aktivieren lässt sich SIP, indem Sie wiederum das Rettungssystem und dessen Terminal starten und dort csrutil enable eingeben. Nach einem Neustart ist der Schutz wieder aktiv. Kernel Extensions akzeptieren

Erweiterungen des Kernels, die Kernel Extensions, von Drittherstellern müssen im Verzeichnis /Library/Extensions installiert werden. Ferner ist es notwendig, dass sie mit einem Zertifikat von Apple versehen sind. Die Kernel Extensions werden

allerdings nicht mehr automatisch aktiviert, sondern bedürfen jetzt der Einwilligung eines Nutzers. Das Verfahren besteht darin, dass der Anwender eine Mitteilung erhält, dass eine Systemerweiterung blockiert wurde (siehe Abbildung 16.12).

Abbildung 16.12    Wurde eine Kernel Extension installiert, dann wird ihre Ausführung zunächst blockiert.

Nach diesem Hinweis findet sich in den Systemeinstellungen in der Ansicht Sicherheit unter Allgemein für ungefähr 30 Minuten der Hinweis, dass das Laden einer Systemsoftware blockiert wurde (siehe Abbildung 16.13). Mit der Schaltfläche Erlauben können Sie die Kernel Extension dann aktivieren. Hierzu ist jedes Benutzerkonto berechtigt; es sind keine administrativen Rechte erforderlich. Haben Sie das Rettungssystem gestartet und dort das Terminal aufgerufen, dann können Sie den Befehl spctl nutzen, um die Akzeptanz von Kernel Extensions zu konfigurieren. Die Eingabe von spctl -kext-consent status informiert Sie über die aktuelle Konfiguration. Mit spctl -kext-consent enable sowie spctl -kext-consent enable aktivieren und deaktivieren Sie das Verfahren. Das Verfahren selbst wirkt in seiner jetzigen Fassung noch nicht ganz ausgereift, immerhin kann jedes Benutzerkonto eine Kernel Extension aktivieren. In erster Linie dient es dazu, die unbemerkte Installation von Erweiterungen des Kernels zu verhindern.

Abbildung 16.13    Eine neue Kernel Extension kann für 30 Minuten in den Systemeinstellungen aktiviert werden.

17    Die Kommunikation absichern und verschlüsseln E-Mails und Datenübertragungen zu verschlüsseln und sich mit einer Firewall vor Angriffen aus dem Netz zu schützen, ist auch unter macOS problemlos möglich. In diesem Kapitel zeige ich Ihnen auch, wie Sie Passwörter und Zertifikate mit der Schlüsselbundverwaltung im Griff behalten. Nicht erst seit den Enthüllungen von Edward Snowden ist es angeraten, sich über die Verschlüsselung von E-Mails Gedanken zu machen. Unter macOS stehen Ihnen für diese Aufgabe zwei Alternativen zur Verfügung: die Nutzung von Zertifikaten und die Verwendung von Schlüsseln mittels GNU Privacy Guard (GPG). Beide Verfahren werden in diesem Kapitel erläutert. Passwörter sind bis zur flächendeckenden Einführung von biometrischen oder vielleicht sogar genetischen Methoden für die Authentifizierung der meisten Dienste unabdingbar. Aber man verliert bei einer Vielzahl von Passwörtern nur zu schnell den Überblick. Die Schlüsselbundverwaltung von macOS kann hier eine große Hilfe sein, und auch für die Verwaltung von Zertifikaten ist sie ein unabdingbares Werkzeug. Nicht jede Anfrage aus dem Netzwerk ist erwünscht. Haben Sie Ihren Rechner direkt mit dem Internet verbunden oder sich in einem fremden WLAN angemeldet, dann wird Ihr System unweigerlich Angriffen von außen ausgesetzt sein. macOS verfügt von Haus aus über zwei Firewalls, die für die meisten Anwender ausreichend sind. Diese werde ich in Abschnitt 17.3 beschreiben.

Die Standardeinstellungen der Programme Mail und Safari sollten Sie ferner in zwei Punkten korrigieren. Was Sie tun müssen, erläutere ich abschließend in Abschnitt 17.4.

17.1    E-Mails verschlüsseln Bei E-Mails handelt es sich eigentlich nicht um elektronische Briefe, sondern um elektronische Postkarten: Jeder, der eine E-Mail während ihres Transports von Server zu Server im Internet abfängt, kann ihren Inhalt lesen, weil die Nachricht und auch die Anhänge im Klartext übertragen werden. Daher ist die Verschlüsselung von E-Mails ein sinnvolles Unterfangen. Bereits in macOS integriert ist die Verschlüsselung mithilfe von Zertifikaten. Eine sehr verbreitete Alternative zu den Zertifikaten stellen die GPGTools für macOS zur Verfügung. Sie setzen auf das altbewährte PGP-Verfahren. Die GPGTools bieten eine fast nahtlose Integration in das Programm Mail, und Pretty Good Privacy (PGP) oder eine seiner Umsetzungen sind auf den meisten Betriebssystemen verfügbar. 17.1.1    Zertifikate zur Verschlüsselung nutzen

Die Verschlüsselung von E-Mails mit Zertifikaten beruht darauf, dass Sie von Ihrem Kommunikationspartner sein Zertifikat erhalten und ihm Ihres übergeben. Die Zertifikate sorgen dann für eine Verschlüsselung der Nachricht, die nur entschlüsselt werden kann, wenn Sie über das jeweilige Zertifikat verfügen. Sie müssen daher als Erstes für Ihre E-Mail-Adresse ein gültiges Zertifikat erhalten. Einige Provider wie etwa web.de[ 8 ] (siehe Abbildung 17.1) stellen Ihnen ein solches Zertifikat kostenfrei zur

Verfügung. Das Projekt CAcert[ 9 ] verfolgt das Ziel, Zertifikate kostenlos zu vergeben. Ein kostenloses Zertifikat für verschlüsselte E-Mails können Sie sich auch von dem Anbieter Comodo[ 10 ] erstellen lassen. Eigentlich ist die Nutzung von Zertifikaten eine möglicherweise recht teure Angelegenheit, weil die Unternehmen, die als Zertifizierungsinstanz fungieren, in der Regel durchaus nennenswerte Gebühren für ihre Dienste verlangen.

Abbildung 17.1    Das Root-Zertifikat kann in dem Programm »Schlüsselbundverwaltung« geöffnet werden.

Abbildung 17.2    macOS bringt bereits eine Reihe von Root-Zertifikaten mit.

In der nachfolgend beschriebenen Schlüsselbundverwaltung finden Sie im Schlüsselbund System-Roots bereits eine Reihe solcher

Instanzen, deren Zertifikat von Apple dem Betriebssystem mitgegeben wurde (siehe Abbildung 17.2). Wenn Sie ein Zertifikat von einem Anwender erhalten, das von einer solchen Instanz ausgegeben wurde, dann wird es automatisch als vertrauenswürdig eingestuft. Im Verzeichnis /System/Library/Security/Certificates.bundle/Contents/Resources finden Sie die Datei TurstStore.html. Sie enthält eine übersichtliche Liste aller Root-Zertifikate des Systems.

Abbildung 17.3    Neue Zertifikate können als vertrauenswürdig gekennzeichnet werden.

Um die Zertifikate von anderen Anbietern wie eben web.de oder CAcert nutzen zu können, müssen Sie zunächst deren Hauptzertifikat erhalten. Das kann per Kopie über einen USB-Stick geschehen, den Sie von einer vertrauenswürdigen Person erhalten, oder Sie laden das Zertifikat aus dem Internet herunter. Dieses Hauptzertifikat (Root-Zertifikat) müssen Sie dann in der Schlüsselbundverwaltung importieren, die Sie im Ordner Dienstprogramme finden. Bei einer unbekannten Instanz werden Sie darauf hingewiesen, dass die Instanz noch nicht vertrauenswürdig ist. Wählen Sie das

Zertifikat in der Liste der Schlüsselbundverwaltung aus, und öffnen Sie es mit einem Doppelklick. Sie können in dem Fenster die Eigenschaften des Zertifikats einsehen und den Bereich Vertrauen ausklappen (siehe Abbildung 17.3). Dort finden Sie die Option Bei Verwendung dieses Zertifikats. Wählen Sie hier anstelle von SystemStandards verwenden die Option Immer vertrauen aus, und schließen Sie das Fenster. Sie werden aufgefordert, diese Aktion durch die Eingabe Ihres Passworts zu bestätigen. Der nächste Schritt besteht darin, das Zertifikat für die Ausgabe anderer Zertifikate dieser Instanz zu installieren. Damit gilt etwa web.de oder CAcert als sogenannte Zertifizierungsinstanz, von der weitere Zertifikate für etwa E-Mails stammen dürfen. Auch dieses Zertifikat können Sie von einer vertrauenswürdigen Person direkt erhalten oder aus dem Internet herunterladen.

Abbildung 17.4    Erhaltene Zertifikate für E-Mails können Sie auch über den Finder in die Schlüsselbundverwaltung importieren.

Der dritte Schritt besteht in der Einrichtung Ihres persönlichen Zertifikats (siehe Abbildung 17.4), das von der zuvor eingerichteten und als vertrauenswürdig konfigurierten Instanz ausgegeben

wurde. Dieses Zertifikat sollte für Ihre E-Mail-Adresse konfiguriert werden. Wie Sie dieses Zertifikat erhalten – bei web.de können Sie es direkt herunterladen –, hängt von der Arbeitsweise des Unternehmens oder Vereins ab. Verschicken Sie ab jetzt eine E-Mail von der Adresse aus, für die das Zertifikat erstellt wurde, dann erscheinen zwei weitere Icons in dem Fenster in Mail. Mit dem Icon rechts, das ein Häkchen enthält (siehe Abbildung 17.5), wird die E-Mail signiert. Es wird eine kleine Datei (smime.p7s) angehängt, die den öffentlichen Teil des Zertifikats enthält. Er wird auch als öffentlicher Schlüssel bezeichnet. Der Empfänger Ihrer Nachricht kann mit dieser Datei Ihre Mitteilung auf Authentizität hin prüfen. Mithilfe der Zertifikate wird sichergestellt, dass die Mail wirklich von Ihnen stammt und nicht von irgendjemandem im Internet abgeschickt wurde. Die erhaltene Signatur kann der Empfänger seiner Schlüsselbundverwaltung oder ihrem Pendant unter dem jeweiligen Betriebssystem hinzufügen. Hat er das Root-Zertifikat und das CAZertifikat der ausgebenden Stelle (Certificate Authority) ebenfalls installiert, dann wäre er nun in der Lage, Ihnen eine verschlüsselte E-Mail zuzuschicken. Erhielten Sie die E-Mail, dann würde sie mithilfe der Zertifikate in Mail automatisch entschlüsselt. Umgekehrt müssen Sie für eine verschlüsselte Mail zuvor das Zertifikat des Empfängers erhalten und Ihrer Schlüsselbundverwaltung hinzugefügt haben. Wurde Ihnen das Zertifikat per signierter, aber unverschlüsselter E-Mail zugeschickt und haben Sie die Nachricht in Mail geöffnet, dann wird das Zertifikat automatisch zur Schlüsselbundverwaltung hinzugefügt.

Abbildung 17.5    In Mail können Sie Nachrichten mit den Zertifikaten signieren und verschlüsseln.

Bei der Erstellung einer Nachricht in Mail können Sie nun über die kleinen Icons rechts (siehe Abbildung 17.5) einstellen, ob die Nachricht verschlüsselt und signiert werden soll. 17.1.2    E-Mails mit den GPGTools verschlüsseln

Eine sehr verbreitete und sichere Alternative zu den Zertifikaten stellt die Verschlüsselung mittels PGP dar. PGP steht für Pretty Good Privacy, und es handelt sich dabei um eine Methode, die auf öffentlichen und privaten Schlüsseln beruht. Den öffentlichen Schlüssel händigen Sie den Personen aus, mit denen Sie verschlüsselt kommunizieren möchten. Der private Schlüssel wird genutzt, um die mit dem öffentlichen Schlüssel codierten Nachrichten wieder lesbar zu machen. Der private Schlüssel ist daher von großer Bedeutung. Wer in seinen Besitz gelangt, hat auch Zugriff auf Ihre verschlüsselte Kommunikation. Es ist aber auch möglich, den öffentlichen Schlüssel zusätzlich mit einem Passwort zu versehen. Die Entwickler der GPGTools verfolgen seit einigen Jahren sehr engagiert das Ziel, das sonst eigentlich eher sperrige PGP-Verfahren unter macOS in benutzerfreundlicher Form anzubieten. Sie können von der Website (https://gpgtools.org) des Projekts die »GPG Suite« herunterladen. Hierbei handelt es sich um ein Package, das Sie mit

dem Installationsprogramm von macOS installieren können (siehe Abbildung 17.6). Nach der Installation wird automatisch das Programm GPG Keychain gestartet. Seine Aufgabe besteht darin, die mittels GPG genutzten Schlüssel zu verwalten. Da Sie GPG neu installiert haben, bietet Ihnen das Programm direkt die Erstellung eines neuen Schlüsselpaares an (siehe Abbildung 17.7). Hier geben Sie Ihren Namen und die E-Mail-Adresse ein, die Sie zukünftig für die verschlüsselte Kommunikation nutzen möchten. Ferner geben Sie das Passwort ein, das Sie für den Schlüssel verwenden möchten.

Abbildung 17.6    Die GPGTools enthalten fünf Komponenten.

Das Schlüsselpaar wird anschließend erstellt und umgehend der Liste hinzugefügt. Um nun E-Mails zu verschlüsseln, müssen Sie den öffentlichen Schlüssel Ihres Kommunikationspartners erhalten und ihm Ihren öffentlichen Schlüssel zukommenlassen.

Abbildung 17.7    Nach der Installation wird zunächst ein neues Schlüsselpaar generiert.

Abbildung 17.8    Der öffentliche Schlüssel kann als Textdatei exportiert werden.

Zunächst können Sie Ihren öffentlichen Schlüssel als Textdatei über die Schaltfläche Exportieren sichern (siehe Abbildung 17.8). Achten Sie in diesem Dialog darauf, dass Sie die Option Geheimen Schlüssel ebenfalls exportieren nicht versehentlich auswählen! Diese Textdatei können Sie als Anhang einer noch unverschlüsselten E-Mail

verschicken oder beispielsweise per USB-Stick direkt übergeben. Wenn Sie eine Textdatei erhalten, die einen Schlüssel enthält, dann können Sie sie im Programm GPG Keychain Importieren.

Abbildung 17.9    Die Server können nach öffentlichen Schlüsseln durchsucht werden.

Eine Alternative zum händischen Austausch von Schlüsseln stellen die Schlüsselserver dar. Hier können Sie Ihren öffentlichen Schlüssel hochladen, der dann anhand der Daten, die Sie bei der Erstellung eingegeben haben, gefunden werden kann. Umgekehrt können Sie nach öffentlichen Schlüsseln von Personen suchen, deren Name oder E-Mail-Adresse Ihnen bekannt ist. Hierzu klicken Sie die Schaltfläche Schlüssel suchen an (siehe Abbildung 17.9) und geben dann die E-Mail-Adresse ein. Aus der Liste können Sie anschließend einen Schlüssel abrufen und Ihrem Schlüsselbund hinzufügen.

Abbildung 17.10    Beim Erstellen einer Nachricht haben Sie die Wahl zwischen den Verschlüsselungsmethoden.

Wurden die Schlüsselpaare ausgetauscht, dann können Sie in Mail eine neue E-Mail erstellen. Die GPGTools bringen auch eine Erweiterung für Mail mit, sodass Sie in dem Fenster einer neuen Nachricht oben rechts zwischen OpenPGP und der zuvor beschriebenen Verschlüsselung mit Zertifikaten (S/MIME) auswählen können (siehe Abbildung 17.10). Geben Sie als Empfänger eine E-Mail-Adresse ein, deren öffentlicher PGP-Schlüssel sich im Schlüsselbund der GPGTools befindet, dann kann die Verschlüsselung und Signierung über die beiden kleinen Icons rechts erfolgen.

Abbildung 17.11    Die »Passphrase« des privaten Schlüssels wird abgefragt.

Sie werden nach dem Passwort Ihres privaten Schlüssels gefragt, wenn die E-Mail verschlüsselt und verschickt wird (siehe Abbildung 17.11). Dieses Passwort können Sie auch im Schlüsselbund des Betriebssystems speichern, sodass Sie es nicht immer wieder von Hand eingeben müssen.

Abbildung 17.12    Die Verschlüsselung können Sie auch für die Entwürfe aktivieren.

Empfangen Sie E-Mails, die mit Ihrem öffentlichen Schlüssel codiert wurden, dann werden sie automatisch über Ihren privaten Schlüssel in Mail entschlüsselt. In den Voreinstellungen von Mail, die Sie über Mail • Einstellungen aufrufen, finden Sie eine neue Ansicht GPGMail. Hier konfigurieren Sie das Verhalten der Erweiterung für Mail. Die GPGTools verfügen neben der Verschlüsselung von E-Mails über einige weitere Möglichkeiten. So können Sie im Programm GPG Keychain Ihrem Schlüssel weitere Identitäten hinzufügen, einen kompromittierten Schlüssel ungültig machen und auch die Infrastruktur der GPGTools nutzen, um Dateien auf Ihrer Festplatte zu verschlüsseln. Sie sollten sich mit den Funktionen der mitgelieferten Programme beschäftigen, da Sie möglicherweise die ein oder andere nützliche Funktion entdecken.

17.2    Die Schlüsselbundverwaltung Passwörter sind nach wie vor das Mittel der Wahl, um den Zugriff auf bestimmte Dienste zu steuern. Für ein wirklich sicheres Passwort, das den meisten Angriffen standhält, müssen Sie eine etwas kompliziertere Zeichenkette nutzen, die sich nicht immer leicht merken lässt. Auch ist aufgrund der Vielzahl der mittlerweile verfügbaren Dienste im Internet die Anzahl der benötigten Passwörter im Laufe der Jahre enorm gestiegen. Um die Passwörter bequem verwalten zu können, sollten Sie sich in das Programm Schlüsselbundverwaltung einarbeiten. Es ist auch für die Verwaltung der in Abschnitt 17.1.1 beschriebenen Zertifikate zuständig. Sie finden es im Ordner Dienstprogramme. 17.2.1    Passwörter im Schlüsselbund speichern

Damit ein Programm wie Safari oder Mail auf die Informationen zugreifen kann, die in den Schlüsselbunden gespeichert wurden, muss es gemäß der Vorgaben Apples programmiert worden sein. Die meisten Programme wie der Finder oder Safari bieten Ihnen bei der Eingabe eines Passworts an, dieses im Schlüsselbund zu speichern. Würden Sie in dem Dialog aus Abbildung 17.13 die Option Passwort im Schlüsselbund sichern auswählen, dann würde ein entsprechender Eintrag im Schlüsselbund Anmeldung erzeugt. Haben Sie das Programm Schlüsselbundverwaltung geöffnet, dann finden Sie oben links die vorhandenen Schlüsselbunde (siehe Abbildung 17.13). Die Aufgabe eines Schlüsselbunds besteht darin, Objekte wie Passwörter, Zertifikate und verschlüsselte Notizen zu

sammeln. In den Standardeinstellungen sind die Schlüsselbunde Anmeldung, System und gegebenenfalls iCloud vorhanden. Der Schlüsselbund System-Roots enthält die Root-Zertifikate, die Apple mit dem Betriebssystem ausliefert.

Abbildung 17.13    Das Passwort können Sie im Schlüsselbund speichern.

Im Schlüsselbund System werden die Passwörter gespeichert, die für das gesamte Betriebssystem relevant sind. Dazu gehört zum Beispiel das Passwort für eine AirPort-Station, die Sie für ein TimeMachine-Backup nutzen. Würde das Passwort nur für Ihr Benutzerkonto freigegeben, dann wäre ein Backup nicht möglich, wenn ein anderer Benutzer angemeldet ist. Der Schlüsselbund Anmeldung gehört zu Ihrem persönlichen Benutzerkonto. Hier werden die Passwörter gespeichert, die Sie eingegeben haben und die nicht für die allgemeine Arbeit des Systems benötigt werden. Ein Schlüsselbund mit der Bezeichnung Lokale Objekte enthält unter anderem die Passwörter, die von Programmen wie Safari oder Mail gesichert wurden.

Abbildung 17.14    Die verfügbaren Schlüsselbunde werden links oben aufgeführt.

Um die Übersicht zu erhöhen, können Sie über den Menüpunkt Ablage • Neuer Schlüsselbund weitere Schlüsselbunde erstellen. Es bietet sich an, diese für bestimmte Einsatzgebiete wie etwa Webseiten oder Dateiserver anzulegen. Jeder Schlüsselbund verfügt über ein eigenes Passwort, das den Zugriff auf die in ihm enthaltenen Daten ermöglicht (siehe Abbildung 17.15). Der Schlüsselbund Anmeldung wird automatisch entsperrt, wenn Sie sich mit Ihrem Benutzerkonto am System anmelden.

Abbildung 17.15    Für einen Schlüsselbund wird ein eigenes Passwort vergeben.

Über das Schloss links oben können Sie Schlüsselbunde sperren und freigeben. Ist ein Schlüsselbund gesperrt, dann ist kein Zugriff auf die in ihm enthaltenen Daten möglich. Auch sind Änderungen nicht möglich. Haben Sie bereits eine Reihe von Passwörtern über

Programme wie Safari oder Mail eingegeben und im Schlüsselbund Anmeldung gesichert, dann können Sie sie einfach in den neuen Schlüsselbundziehen.

Abbildung 17.16    Eine Freigabe erfolgt nur nach Eingabe des Passworts des Schlüsselbundes.

Bei der Arbeit mit den Schlüsselbunden fragt das System häufig nach den jeweiligen Passwörtern, bevor Sie auf die Daten zugreifen dürfen (siehe Abbildung 17.16). Sie müssen in dem Fenster dann schauen, nach welchem Passwort genau gefragt wird. Zugegeben, das ist manchmal etwas verwirrend und lästig, aber auf diese Weise wird sichergestellt, dass Programme nicht unbefugt auf die gesicherten Daten zugreifen.

Abbildung 17.17    In den Eigenschaften kann das Passwort im Klartext angezeigt werden.

Um sich über ein Passwort und seinen Geltungsbereich zu informieren, können Sie den Eintrag in der Liste auswählen und über Ablage • Informationen oder die Tastenkombination (š)+(I) seine Eigenschaften einblenden. In der Ansicht Einstellungen (siehe Abbildung 17.17) finden Sie unter Art einen Hinweis auf den Verwendungszweck des Passwortes. Die weiteren Informationen (wie Account oder Ort) werden vom Programm bei der Erstellung erzeugt. Sie können die Werte auch eigenhändig ändern. Über die Option Passwort einblenden wird Ihnen das Passwort angezeigt. Sie müssen hierfür zuvor das Kennwort des Schlüsselbunds eingeben. Am Rande: Wenn Sie das Passwort in die Zwischenablage kopieren möchten, dann müssen Sie nicht die Informationen einblenden. Sie können den Eintrag auch in der Liste auswählen und über die kleine Schaltfläche Kopieren unterhalb der Liste das Passwort über die Zwischenablage verfügbar machen. In der Ansicht Zugriff (siehe Abbildung 17.18) werden die Programme aufgeführt, die Zugriff auf das gespeicherte Passwort erhalten dürfen. Sie können hier auch Allen Programmen den Zugriff ermöglichen. Mit der Option Zugriff nur nach Warnung erscheint die in Abbildung 17.16 dargestellte Rückfrage. Nur wenn Sie hier den Zugriff bestätigen, wird das Passwort vom Schlüsselbund an das Programm übergeben. Mit der Option Nach Schlüsselbundpasswort fragen müssen Sie ihn beim Zugriff noch durch die Eingabe des Passworts bestätigen.

Abbildung 17.18    Sie können den Zugriff auch für alle Programme freigeben.

Ein gespeichertes Passwort löschen Sie aus dem Schlüsselbund, indem Sie es auswählen und dann den Menüpunkt Bearbeiten • Löschen aufrufen. Von Hand fügen Sie ein Passwort hinzu, indem Sie entweder den Menüpunkt Ablage • Neues Passwort auswählen oder das kleine Pluszeichen unterhalb der Liste anklicken. Das neue Passwort ist zunächst keinem Programm zugeordnet, aber es wird abgefragt, wenn bei einer Authentifizierung ein entsprechender Accountname genutzt wird. 17.2.2    Zertifikate verwalten

Zertifikate werden nicht nur für die Verschlüsselung von E-Mails genutzt, sondern auch, um beispielsweise die Übertragung von Webseiten mithilfe des Secure Socket Layers (SSL) zu ermöglichen. Wenn in der Adresszeile von Safari ein kleines Icon mit einem Schloss erscheint, dann erfolgt die Verbindung in verschlüsselter Form. Anders wäre E-Commerce auch nicht denkbar, denn ohne

diese Verschlüsselung würden etwa Daten von Kreditkarten im Klartext übertragen. Gültige und vertrauenswürdige Zertifikate sind hierfür eine unabdingbare Voraussetzung. Die Zertifikate werden in der Schlüsselbundverwaltung gespeichert. Sie können die Anzeige der vorhandenen Elemente in einem Schlüsselbund auf die Zertifikate begrenzen, indem Sie diese in den Kategorien unten links im Fenster auswählen. Gültige Zertifikate werden mit einem blauen Icon angezeigt (siehe Abbildung 17.19). Root-Zertifikate, die als Ausgangspunkt für die Überprüfung von Zertifikaten dienen, werden mit einem braunen Icon angezeigt. macOS bringt bereits eine Reihe solcher RootZertifikate mit, die Sie im Schlüsselbund System-Roots finden. Zertifikate, die von solchen Anbietern ausgestellt wurden, gelten automatisch als vertrauenswürdig. Werden Zertifikate ausgestellt, dann benötigen Sie noch das Zertifikat dieser Autorität, der sogenannten Certificate Authority. Diese CA-Zertifikate werden mit einem kleinen Pluszeichen im Icon angezeigt.

Abbildung 17.19    Das Icon eines Zertifikats gibt Aufschluss über dessen Vertrauenswürdigkeit.

Über ein Zertifikat informieren Sie sich genauer, indem Sie es in der Liste auswählen und über den Menüpunkt Ablage • Informationen

oder die Tastenkombination (š)+(I) das in Abbildung 17.20 dargestellte Fenster aufrufen. Unter Details finden Sie weitere Informationen von der Instanz, also dem Unternehmen oder auch Verein, das bzw. der das Zertifikat ausgestellt hat. Im Bereich Vertrauen können Sie festlegen, ob Sie das Zertifikat eigenhändig als vertrauenswürdig betrachten, und Sie können kennzeichnen, für welche Dienste außer E-Mail es Verwendung finden darf.

Abbildung 17.20    Details über den Aussteller des Zertifikats werden in dessen Informationen angezeigt.

Gelangen Sie bei der Administration eines Servers an den Punkt, dass Sie selbst ein Zertifikat ausstellen müssen, dann können Sie sich des Zertifikatsassistenten von macOS bedienen (siehe Abbildung 17.21). Diesen rufen Sie in der Schlüsselbundverwaltung über den Menüpunkt Schlüsselbundverwaltung • Zertifikatsassistent auf. Er ermöglicht es Ihnen in mehreren dokumentierten Schritten verschiedene Zertifikatstypen zu erstellen.

Abbildung 17.21    Mit dem Zertifikatassistenten erstellen Sie eigene Zertifikate.

17.2.3    Sichere Notizen anlegen

Die Funktion Sichere Notizen der Schlüsselbundverwaltung (siehe Abbildung 17.22) bietet sich an, wenn Sie einen Text verschlüsselt speichern möchten. Zu solchen Texten gehören beispielsweise Bankverbindungen oder Seriennummern, die Sie nicht im Klartext auf Ihrem Datenträger sichern wollen. Wählen Sie hierzu einfach zunächst den gewünschten Schlüsselbund aus, und rufen Sie dann den Menüpunkt Ablage • Neue sichere Notiz auf. Sie werden dann nach einem Namen sowie dem Text der Notiz gefragt. Die Notiz wird anschließend im Schlüsselbund gesichert. Öffnen Sie die Notiz mit einem Doppelklick, dann steht Ihnen die Option Text einblenden erst nach Eingabe des Passworts des Schlüsselbundes zur Verfügung.

Abbildung 17.22    In einem Schlüsselbund können Sie auch eine sichere Notiz speichern.

17.3    Die Firewalls von macOS Ist Ihr Rechner mit dem Internet direkt verbunden, dann ist er damit auch Angriffen aus dem Netz ausgesetzt. Angreifer versuchen vielleicht, durch einen Portscan (siehe Abschnitt 15.2.4) verfügbare Server zu identifizieren und dann eine eventuell vorhandene Sicherheitslücke auszunutzen. Abhilfe sollen in diesen Fällen Firewalls schaffen, die den ein- und ausgehenden Datenverkehr überwachen, analysieren und unerwünschte Datenpakete verwerfen. macOS verfügt über zwei Firewalls, die sich in ihrer Funktionsweise jedoch unterscheiden. Die Application Level Firewall orientiert sich an Programmen. Das heißt, dass nur ausgesuchte Programme und Applikationen Datenpakete aus dem Netzwerk empfangen und verarbeiten dürfen. Diese Firewall konfigurieren Sie in den Systemeinstellungen in der Ansicht Sicherheit. Ferner ist unter macOS der vom Unix-Derivat OpenBSD stammende Paketfilter PF vorhanden. 17.3.1    Die Funktionsweise der Application Level Firewall

Die Application Level Firewall erlaubt beziehungsweise verbietet aktiven Programmen, Datenpakete aus dem Netzwerk zu empfangen. Sie unterscheidet dabei nicht nach Netzwerk-Ports oder danach, woher das Datenpaket stammt, sondern konzentriert sich ausschließlich auf die ausgeführten Programme. Sie konfigurieren die Firewall in den Systemeinstellungen in der Ansicht Sicherheit unter Firewall. Zunächst können Sie die Firewall aktivieren. Die Aktivität der Firewall wird Ihnen durch einen grünen Punkt sowie den Hinweistext Firewall aktiv angezeigt.

Abbildung 17.23    Sie können Programmen die Entgegennahme von Verbindungen gezielt erlauben oder verbieten.

Über die Schaltfläche Firewall-Optionen können Sie die Firewall etwas detaillierter konfigurieren (siehe Abbildung 17.23). Zunächst steht Ihnen hier die Möglichkeit Alle eingehenden Verbindungen blockieren zur Verfügung. Damit antwortet Ihr Rechner so gut wie nicht mehr auf Anfragen aus dem Netzwerk, egal welche Server und Programme Sie aktuell ausführen. Ausgenommen sind der Dienst für die Kommunikation Ihres Rechnernamens im Netzwerk, die automatische Konfiguration von Netzwerkadressen mittels DHCP sowie die Konfiguration eines virtuellen privaten Netzwerks (VPN) mittels IPSec. In der Liste aufgeführt sind die Programme und Applikationen, die auf Anfragen aus dem Netzwerk antworten dürfen oder denen Sie dies untersagt haben. Ein Eintrag wie Dateifreigabe (AFP, SMB) wird vom Betriebssystem automatisch erzeugt, wenn Sie die Dateifreigabe in der Ansicht Freigabe aktiviert haben. Das System geht davon aus, dass die Verbindungsaufnahme erwünscht ist, wenn Sie den Dienst aktiviert haben. Darunter finden Sie die Programme

von Drittherstellern, denen Sie die Kommunikation erlaubt oder verboten haben. Die Option Integrierter Software automatisch erlauben, eingehende Verbindungen zu empfangen bezieht sich auf die Bestandteile des Betriebssystems, zu denen auch eine Reihe von Serverdiensten gehören. Ist diese Option ausgewählt, dann dürfen diese Dienste automatisch Anfragen aus dem Netzwerk entgegennehmen. Die Option Geladener signierter Software automatisch erlauben, eingehende Verbindungen zu empfangen ist etwas schwerer verständlich. Sie besagt, dass Programme, die mit einem gültigen Zertifikat von Apple signiert wurden, automatisch Datenpakete aus dem Netzwerk empfangen und bearbeiten dürfen. Dies trifft auf die Programme aus dem App Store und weitere Programme zu, die vom Entwickler mit einem Zertifikat von Apple versehen wurden. Falls Sie diese Option abwählen, erhalten Sie auch dann eine Rückfrage, wenn ein signiertes Programm auf Verbindungen warten möchte. Möchte ein Programm als Server fungieren, also unaufgeforderte Verbindungsanfragen aus dem Netzwerk entgegennehmen, dann erscheint ein Hinweis (siehe Abbildung 17.24). Sie können hier dem Programm die Verbindungen erlauben oder verbieten. Ihre Entscheidung wird dann in der Liste in den Systemeinstellungen gespeichert. Sie können sie auch nachträglich ändern, indem Sie anstelle der Option Eingehende Verbindungen erlauben die Option Eingehende Verbindungen blockieren auswählen.

Abbildung 17.24    Programmen können Sie die Annahme von Verbindungen untersagen.

Um einem Programm gezielt die Entgegennahme von Verbindungen zu verbieten oder zu erlauben, fügen Sie es über das Pluszeichen der Liste hinzu und treffen dann Ihre Entscheidung. Sie können dieser Liste auch ausführbare Unix-Dateien hinzufügen. Fügen Sie also aus dem Ordner /usr/bin die ausführbare Datei httpd der Liste hinzu und blockieren Sie eingehende Verbindungen, dann könnte auch der Apache Webserver keine Verbindungen mehr entgegennehmen. Ist er in der Liste nicht aufgeführt, dann ist ihm dies automatisch erlaubt, da die ausführbare Datei über eine Signatur von Apple verfügt. Schließlich verfügt die Firewall noch über einen sogenannten Tarnmodus (siehe Abbildung 17.23), den Sie ebenfalls in den Systemeinstellungen aktivieren können. Ist er aktiv, dann werden Anfragen von Programmen wie ping (siehe Abschnitt 15.2.2) nicht mehr beantwortet. Die Funktion ist nützlich, wenn Sie mit einem freien WLAN verbunden sind, weil sie Ihren Rechner quasi unsichtbar macht. Sie kann aber auch hinderlich sein, weil die Fehlersuche im Netzwerk erschwert wird, wenn ein vorhandener und funktionsfähiger Rechner nicht mehr antwortet. 17.3.2    Der Package Filter PF

Die Application Level Firewall ist in erster Linie für Endanwender geeignet, die den eingehenden Datenverkehr anhand der entsprechenden Programme kontrollieren möchten. Für komplexere Netzwerkkonfigurationen ist sie nicht geeignet. macOS verfügt neben der Application Level Firewall noch über den Paketfilter PF, der von dem Unix-Derivat OpenBSD übernommen wurde. Allerdings hat Apple für PF unter macOS keine wirkliche Konfiguration vorgesehen – der Filter ist lediglich Bestandteil des Systems, funktionsfähig und mit einigen rudimentären Konfigurationsdateien versehen.

Abbildung 17.25    Der Befehl »pfctl« wurde mit einer umfangreichen Man-Page dokumentiert.

Anders als die Application Level Firewall überprüft PF die ein- und ausgehenden Datenpakete und kann diese dann entsprechend filtern. Dazu gehört auch, einigen Paketen Vorzug zu gewähren, sie auf andere Netzwerkadressen umzuleiten und Netzwerk-Ports zu sperren. Die akkurate Konfiguration von PF ist eine etwas kompliziertere Angelegenheit, weil sie detaillierte Kenntnisse der Netzwerkprotokolle und der Funktionsweise von PF erfordert.

Wenn Sie sich für die Konfiguration interessieren, dann finden Sie im Verzeichnis /etc drei Dateien, die für die Konfiguration zuständig sind. Die Datei pf.conf enthält die grundlegende Konfiguration von PF. Im Verzeichnis /etc/pf.anchors findet sich die Datei com.apple, die lediglich zwei Regeln für AirDrop und die Application Level Firewall definiert. Ferner enthält die Datei pf.os eine Reihe von Definitionen von Betriebssystemen zur Identifikation von SYNPaketen. Die fachgerechte Konfiguration von PF setzt viel Fachwissen voraus. Mit dem Befehl pfctl, dessen sehr umfangreiche Man-Page (siehe Abbildung 17.25) Sie mit dem Befehl man pfctl aufrufen, steuern Sie PF. 17.3.3    Firewalls von Drittherstellern

Neben den beiden Firewalls von macOS finden Sie auf dem Markt eine Reihe weiterer Lösungen, die versprechen, die Sicherheit im Netzwerk zu erhöhen. Little Snitch[ 11 ] ist ein recht beliebtes Produkt. Diese Firewall ergänzt die Application Level Firewall dahingehend, dass nicht nur eingehende, sondern auch ausgehende Verbindungen überwacht und untersagt werden können. Möchte ein Programm oder ein Dienst Daten ins Internet schicken, dann registriert Little Snitch dies, und Sie haben die Möglichkeit, die Verbindung zu untersagen. Darüber hinaus gibt es eine Reihe weiterer Programme. Ob Sie ein weiteres Programm anschaffen sollten, kann nicht eindeutig entschieden werden. Das Thema ist dermaßen umfassend und auch komplex, dass einfache Lösungen in vielen Fällen kaum als redlich zu bezeichnen sind. Vielmehr kann es sein, dass Sie sich in falscher Sicherheit wiegen: Die Anschaffung eines kostengünstigen

Programms, das mit großen Versprechungen beworben wurde, ersetzt nämlich nicht die intensivere Beschäftigung mit dem Thema Firewalls. Bei den professionellen Lösungen handelt es sich jedoch entweder um Open-Source-Programme, deren Bedienung oft nicht sehr intuitiv ist, oder aber um teure Enterprise-Lösungen, die auch einer entsprechenden Einarbeitung bedürfen.

17.4    Weitere Maßnahmen Abschließend seien noch zwei Optionen genannt, mit denen Sie die Sicherheit bei den Programmen Mail und Safari etwas erhöhen können. 17.4.1    Mail konfigurieren

Wenn Sie eine E-Mail erhalten, in der sich Verweise auf Bilder und Dateien befinden, die nicht der E-Mail angehängt wurden, dann werden diese Bilder automatisch von Mail geladen. Dies kann ein Problem darstellen, weil beispielsweise eine spezielle Kennung in dem URL Sie als lesender Empfänger eindeutig identifizierbar macht. Auch wäre dies ein mögliches Angriffsszenario. Ein möglicherweise vorhandener Bug in der Funktionsbibliothek, die für die Darstellung von JPG-Grafiken zuständig ist, ließe sich auf diese Weise durch bloßes Öffnen einer Spam-Mail ausnutzen. Daher sollten Sie über Mail • Einstellungen die Voreinstellungen von Mail aufrufen (siehe Abbildung 17.26). Sie finden dort die Option Entfernte Inhalte in Nachrichten laden, die Sie deaktivieren sollten. Entfernte Bilder oder dergleichen werden dann nur geladen und angezeigt, wenn Sie die entsprechende Schaltfläche anklicken.

Abbildung 17.26    Entfernte Inhalte sollten in Mail nicht automatisch geladen werden.

17.4.2    Safari konfigurieren

In den Standardeinstellungen öffnet Safari automatisch einige Dateien, die Sie aus dem Internet herunterladen. Dazu gehören unter anderem ZIP-Archive sowie Disk-Images. Dieses Verhalten ist in Einzelfällen problematisch. Ein Angreifer könnte – vor einigen Jahren gab es schon entsprechende Ansätze – ein Disk-Image so präparieren, dass automatisch ein Skript ausgeführt wird, das dann weiteren Schadcode installiert. Daher sollten Sie über Safari • Einstellungen die Voreinstellungen von Safari aufrufen (siehe Abbildung 17.27) und dort die Option »Sichere“ Dateien nach dem Download öffnen deaktivieren.

Abbildung 17.27    Das automatische Öffnen »sicherer« Dateien sollte besser unterbleiben.

TEIL V

Automatisierung Wiederkehrende Routineaufgaben kosten Zeit und oft auch Nerven. Mit dem Automator erstellen Sie im Handumdrehen Abläufe, die Ihnen viel Arbeit abnehmen können. Mit JavaScript lösen Sie auch kompliziertere Aufgaben unter macOS. Und schließlich ermöglicht Ihnen der Dienst »launchd«, Programme und Befehle zeitgesteuert im Hintergrund auszuführen.

18    Der Automator und die Dienste Wiederkehrende Routineaufgaben lassen sich mit dem Automator in vielen Fällen automatisieren. Integrieren Sie die Abläufe als Dienste, dann lassen sie sich bequem über Kurzbefehle aufrufen oder als Ordneraktionen im Hintergrund ausführen. Der Automator, den Sie im Verzeichnis Programme finden, wirkt auf den ersten Blick eher unspektakulär. Dabei deutet das Icon mit dem Roboter, der von Apple Otto getauft wurde, schon auf seine Funktionsweise hin: Der Roboter hält ein Rohrstück in den Händen, ein Verweis auf die unter Unix-Systemen gebräuchliche Pipe (siehe Abschnitt 21.1.2) für die Durchleitung von Daten.

Abbildung 18.1    Das Icon des Automators weist auf seine Funktionsweise hin.

Der Automator funktioniert ähnlich. Er nimmt zunächst ein Objekt entgegen, bei dem es sich beispielsweise um eine Datei oder eine EMail handelt. Dieses wird dann durch den Ablauf durchgereicht und dabei von Aktionen bearbeitet, die es nach der Bearbeitung an die nächste Aktion weiterreichen. Dieser lineare Ablauf eignet sich etwa für die Umbenennung von Dateien und Ordnern, die Bearbeitung von Bildern oder PDFDateien oder die Erstellung von Ereignissen in einem Kalender. Bei komplexeren Aufgabenstellungen, die eine Entscheidung des Anwenders erfordern, stößt der Automator jedoch recht schnell an seine Grenzen. Nützlich ist er vor allem dann, wenn es sich um eine klar umrissene Aufgabe handelt, die ein ganz bestimmtes Ergebnis erfordert. In diesem Kapitel erkläre ich Ihnen zunächst die Funktionsweise des Automators, und Sie erfahren, wie Sie mithilfe einzelner Aktionen einen Arbeitsablauf erstellen. Dabei ist der Automator auch in der Lage, Variablen zu verwenden. Diese ermöglichen an einigen Stellen ein etwas flexibleres Vorgehen und werden im nächsten Schritt erklärt. Seine eigentliche Stärke spielt der Automator dann aus, wenn Sie die erstellten Abläufe als Dienste speichern und so zum Beispiel mit einer Tastenkombination aufrufen können. Auch stellen die Ordneraktionen, die Erweiterung des Druckmenüs sowie die zeitgesteuerte Ausführung als Kalenderaktionen in vielen Fällen eine enorme Arbeitserleichterung dar. Diese Integrationen stelle ich Ihnen im letzten Abschnitt vor.

18.1    Ein erster Arbeitsablauf

Wenn Sie den Automator starten, dann erscheint zunächst ein Fenster, in dem Sie eine Vorlage für Ihren Arbeitsablauf auswählen können (siehe Abbildung 18.2). Für den ersten Arbeitsablauf wählen Sie die Vorlage Arbeitsablauf aus. Die anderen Vorlagen (Programm, Dienst ...) erläutere ich in den folgenden Abschnitten. Mit der in diesem Kapitel nicht besprochenen Vorlage Diktierbefehl können Sie einen Ablauf über die Spracheingabe ausführen.

Abbildung 18.2    Für die ersten Schritte können Sie die Vorlage »Arbeitsablauf« auswählen.

18.1.1    Das Funktionsprinzip des Automators

Haben Sie einen neuen Arbeitsablauf unter Verwendung der gleichnamigen Vorlage erstellt, dann ist er zunächst leer. Über die Schaltflächen am rechten Rand der Symbolleiste können den Arbeitsablauf, den Sie jetzt erstellen, Ausführen und wieder Stoppen (siehe Abbildung 18.3). Auf der leeren Fläche in der Mitte des Fensters fügen Sie die Aktionen Ihrem Arbeitsablauf hinzu. Unten können Sie sich wahlweise während der Ausführung des

Arbeitsablaufs (siehe Abschnitt 18.1.2) ein Protokoll anzeigen oder eine Liste der Variablen einblenden (siehe Abschnitt 18.2.1) lassen.

Abbildung 18.3    Der erste Arbeitsablauf besteht aus drei Aktionen und erstellt ein Archiv der ausgewählten Dateien.

Im Fenster des Ablaufs finden Sie links eine Liste der verfügbaren Aktionen. Bei einer Aktion handelt es sich um ein Element, genauer gesagt ein kleines Programm, das gemäß den Vorgaben Apples programmiert wurde, um als Aktion im Automator zu fungieren. Diese Aktionen können auf drei Weisen installiert werden. Im Verzeichnis /System/Library/Automator finden Sie die Aktionen, die standardmäßig unter macOS installiert werden. Im Verzeichnis /Library/Automator können Sie weitere Aktionen installieren, die von Drittanbietern stammen. Es ist auch möglich, dass Applikationen innerhalb Ihres Bundles (siehe Abschnitt 1.6) Aktionen für den Automator enthalten. Unterhalb der Liste der Aktionen können Sie sich über das Icon mit dem Pfeil eine kurze Übersicht und Erklärung der ausgewählten Aktion anzeigen lassen. Von entscheidender Bedeutung sind hier die Angaben zur Eingabe und zum Ergebnis. Die Aktionen werden dahingehend programmiert, dass sie bestimmte Daten verarbeiten

können. Hierbei kann es sich um Dateien, Ordner, Kalenderereignisse, Kontakte, Bilder, PDF-Dateien und noch vieles andere handeln. Indes müssen Sie bei der Erstellung Ihres Arbeitsablaufs darauf achten, dass Sie einer Aktion Daten übergeben, die diese auch bearbeiten kann. Einer Aktion, die lediglich Dateien verarbeiten kann, eine Zeichenkette oder ein Kalenderereignis zu übergeben, wird nicht zum Erfolg führen. Für die Darstellung der Aktionen gibt es zwei Möglichkeiten: Sie können die Aktionen entweder nach Kategorie oder nach Programm sortieren lassen. Über den Menüpunkt Darstellung • Aktionen anordnen nach • Programm beziehungsweise Kategorie wechseln Sie zwischen diesen Darstellungen. Über die Schaltfläche Mediathek können Sie die Liste der Aktionen auch ausblenden. Der erste Arbeitsablauf hat die Aufgabe, ein ZIP-Archiv mit den im Finder aktuell ausgewählten Dateien und Ordnern zu erstellen. Dabei sollen Dateien, deren Dateiname auf .zip endet, ausgeklammert werden, weil es sich hierbei ja schon um Archive handelt. Der Anwender soll dabei die Möglichkeit haben, den Namen und den Speicherort des zu erstellenden Archivs vorzugeben.

Abbildung 18.4    Bei der letzten Aktion erhält der Anwender die Möglichkeit, den Namen und den Ordner vorzugeben.

Ziehen Sie hierfür aus der Rubrik Finder, sofern Sie die Anordnung nach Programmen vorgenommen haben, in der Liste der Aktionen nacheinander die Aktionen Ausgewählte Finder-Objekte abfragen, Finder-Objekte filtern sowie Archiv erstellen auf die Arbeitsfläche des Fensters. Sie können sie auch mit einem Doppelklick ans untere Ende des Ablaufs anfügen. Die Aktionen werden im Ablauf miteinander verbunden (siehe Abbildung 18.4). Dies besagt, dass die Objekte von der vorhergehenden an die nächste Aktion weitergegeben werden. Bei der ersten Aktion, Ausgewählte Finder-Objekte abfragen, können Sie keine weiteren Einstellungen tätigen. Sie hat lediglich die Aufgabe, die aktuell im Finder ausgewählten Objekte im Arbeitsablauf verfügbar zu machen und an die nächste Aktion zu übergeben. Die zweite Aktion, Finder-Objekte filtern, hat die Aufgabe, die ausgewählten Objekte entgegenzunehmen und nur diejenigen an die dritte Aktion weiterzuleiten, die den Vorgaben entsprechen. Sie können bei dieser Aktion eine Reihe von Kriterien definieren, indem Sie diese über das Pluszeichen rechts hinzufügen. Für diesen noch einfach gehaltenen Arbeitsablauf geben Sie lediglich vor, dass das Dateisuffix nicht der Endung zip entspricht. Mit dieser Konfiguration werden alle Archivdateien mit der Endung .zip nicht an die dritte Aktion übergeben. Die nun gefilterten Dateien und Ordner werden an die dritte Aktion, Archiv erstellen, übergeben. Hier könnten Sie im Feld Sichern unter einen Namen fest vorgeben und auch den Ort auswählen, an dem das Archiv gespeichert wird. Ferner könnten Sie Nicht lesbare Objekte ignorieren und auf diese Weise zum Beispiel Ordner, bei denen Sie

nicht über die erforderlichen Zugriffsrechte verfügen, von vornherein von der Archivierung ausschließen.

Abbildung 18.5    Der Anwender kann den Namen und den Ort bei der Ausführung des Ablaufs bestimmen.

In diesem Fall soll aber dem ausführenden Anwender die Entscheidung über den Namen und den Ort überlassen werden (siehe Abbildung 18.5). Klicken Sie auf die Schaltfläche Optionen innerhalb der Aktion, so erscheinen drei weitere Optionen. Mit ihnen beeinflussen Sie das Verhalten der Aktion während der Ausführung. Aktivieren Sie hier die Option Diese Aktion beim Ausführen des Arbeitsablaufs anzeigen. Sie hat zur Folge, dass der Anwender bei der Ausführung des Ablaufs einen Dialog angezeigt bekommt, in dem er die Eingaben tätigen kann, die sonst in der Aktion vorgegeben sind. Wählen Sie die Option Nur die ausgewählten Objekte anzeigen, dann erscheinen Checkboxen vor den einzelnen Parametern der Aktion. Sie können sie gezielt aktivieren, um nur die ausgewählten Parameter, etwa den Ort, zur Auswahl zu stellen. Nachdem Sie die drei Aktionen konfiguriert und damit den Arbeitsablauf fertiggestellt haben, können Sie zum Finder wechseln und dort einige Dateien und Ordner auswählen. Wechseln Sie dann zurück zum Automator, und klicken Sie auf die Schaltfläche Ausführen in der Symbolleiste rechts oben, oder nutzen Sie die Tastenkombination (š)+(R).

Der Arbeitsablauf wird nun ausgeführt, und die Aktionen, die erfolgreich ihre Arbeit verrichtet haben, werden mit einem grünen Häkchen markiert. Ist der Arbeitsablauf bei der dritten Aktion angelangt, dann erscheint der Dialog aus Abbildung 18.5, in dem der Anwender den Namen und den Ort des Archivs festlegen kann. Nach dieser Eingabe wird das Archiv mit den zuvor im Finder ausgewählten Dateien erstellt und der Arbeitsablauf beendet. 18.1.2    Abläufe protokollieren und schrittweise ausführen

Erstellen Sie umfangreichere Abläufe, die aus einer Reihe von Aktionen bestehen, dann können Ihnen das Protokoll, die Anzeige der Ergebnisse sowie die schrittweise Ausführung des Ablaufs bei der Fehlersuche nützlich sein. Führen Sie Ihren Arbeitsablauf aus, dann werden die erfolgreich verlaufenen Aktionen mit einem grünen Häkchen markiert. Ein gelbes Warnzeichen besagt, dass möglicherweise die Aktion nicht wie erwartet ausgeführt wurde. Finden Sie ein rotes Zeichen, dann konnte die Aktion nicht ausgeführt werden; möglicherweise wurde sie abgebrochen.

Abbildung 18.6    Über das Protokoll können Sie den Fortschritt eines Arbeitsablaufs während der Ausführung einsehen.

Das Protokoll können Sie sich über das Icon links unterhalb der Arbeitsfläche anzeigen lassen. Das in Abbildung 18.6 dargestellte Protokoll besagt, dass die erste Aktion zur Abfrage der ausgewählten Objekte im Finder erfolgreich ausgeführt wurde. Bei den beiden

folgenden Aktionen des Ablaufs wurden hingegen Warnungen verzeichnet, die besagen, dass die Aktionen jeweils nicht über die von ihnen erwarteten Daten verfügen konnten. Der Grund für die Warnungen ist eigentlich trivial, denn es waren zum Zeitpunkt der Ausführung keine Objekte im Finder ausgewählt. Daher wurde die erste Aktion erfolgreich ausgeführt, gab aber keine Objekte an die folgenden weiter. Die zweite Aktion versuchte dann, einen Filter auf eine nicht vorhandene Liste von Dateien und Ordnern anzuwenden, und der dritten Aktion wurden keine Dateien und Ordner zur Archivierung übergeben.

Abbildung 18.7    Die Ergebnisse einer Aktion können nach der Ausführung des Ablaufs eingeblendet werden.

Um solchen Problemen gezielt auf die Spur zu kommen, können Sie auch die Resultate der jeweiligen Aktion einblenden, indem Sie die Schaltfläche Ergebnisse anklicken (siehe Abbildung 18.7). Es erscheint ein Feld, das die Objekte auflistet, die an die nächste Aktion übergeben werden. Praktisch ist diese Anzeige der Ergebnisse, da Sie genau ersehen können, ob die Aktion Resultate erzielt hat und, wenn ja, welche. Über die drei Icons oberhalb des Felds wechseln Sie

zwischen der Icon-, Listen- und Textansicht. Letztere kann hilfreich sein, wenn Sie die Ergebnisse mithilfe eines JavaScripts in einer Aktion verwenden möchten, weil Sie hier den Typ der Variablen – beispielsweise Liste oder Zeichenkette – einsehen können. In Verbindung mit der Anzeige der Ergebnisse der Aktionen bietet sich die schrittweise Ausführung des Arbeitsablaufs an. Haben Sie die Anzeige der Ergebnisse für die erste Aktion aktiviert und klicken Sie oben rechts in der Symbolleiste auf die Schaltfläche Schritt, dann wird zunächst nur die erste Aktion ausgeführt. Der Ablauf pausiert dann, und die Ergebnisse der Aktion erscheinen in dem Feld. Sofern Sie im Finder zuvor Objekte ausgewählt haben, erscheinen sie im Feld Ergebnisse. Mit einem erneuten Klick auf die Schaltfläche Schritt werden diese Ergebnisse an die nächste Aktion übergeben, und nach deren Ausführung wird der Ablauf erneut pausiert. Über die Schaltfläche Stopp können Sie den pausierten Ablauf auch vorzeitig abbrechen.

18.2    Variablen und Interaktion in Abläufen Mit Variablen können Sie Ihre Arbeitsabläufe flexibler gestalten. Sie ermöglichen Ihnen sowohl die Speicherung von Ergebnissen einer Aktion, um sie zu einem späteren Zeitpunkt im Arbeitsablauf erneut abzurufen, als auch die dynamische Vergabe von Werten, etwa indem einem zu erstellenden Ordner automatisch das aktuelle Datum im Namen hinzugefügt wird. Der Automator ist in beschränktem Umfang auch in der Lage, mit dem Anwender zu interagieren, indem beispielsweise ein Dialog zur Eingabe von Text auffordert oder eine nachfolgende Aktion erst bestätigt werden muss. 18.2.1    Variablen in Abläufen setzen und nutzen

Die Variablen des Automators erfüllen zwei Funktionen: Zum einen dienen sie als Platzhalter, um einen bestimmten Wert – wie etwa das aktuelle Datum und die Uhrzeit – einzufügen. Zum anderen ist es über die Aktion Wert der Variablen festlegen möglich, die Ergebnisse der vorhergehenden Aktion zu speichern und später über die Variable wieder abzurufen. In diesem Abschnitt zeige ich an einem Beispiel-Arbeitsablauf die Arbeit mit den Variablen. Die Aufgabe des Arbeitsablaufs besteht darin, von den im Finder ausgewählten Bilddateien verkleinerte Vorschauen zu erzeugen und diese auf dem Schreibtisch in einem Ordner zu speichern. Der Ablauf hat dabei folgenden Aufbau: 1. Abfrage der ausgewählten Objekte

Zunächst werden die im Finder ausgewählten Dateien und Ordner abgefragt. Mit der Aktion Finder-Objekte filtern wird die

Auswahl auf Bilddateien beschränkt, und diese werden in der Variablen Bilddateien gespeichert (siehe Abbildung 18.8). 2. Ordner erstellen

Im zweiten Schritt wird ein Ordner auf dem Schreibtisch erstellt. Unter Zuhilfenahme von zwei Variablen werden dem Ordner das aktuelle Datum und die aktuelle Uhrzeit im Namen hinzugefügt. Nach der Erstellung wird der Ordner in der Variablen Zielordner gespeichert. 3. Bearbeitung der Bilder

Die in der Variablen Bilddateien gespeicherten Dateien werden abgefragt, in den Zielordner kopiert und abschließend skaliert. Aufgrund dieses Vorgehens bleiben die Originaldateien an ihrem Platz und werden nicht bearbeitet. In dem Ordner auf dem Schreibtisch finden Sie anschließend die skalierten Versionen, die sich beispielsweise für den Aufbau einer Bildgalerie auf Ihrer Website eignen.

Abbildung 18.8    Über die Aktion »Wert der Variablen festlegen« speichern Sie das Ergebnis einer Aktion in einer Variablen.

Um den Ablauf zu erstellen, rufen Sie im Automator über Ablage • Neu wieder die Auswahl der Vorlagen auf und wählen erneut

die Vorlage Arbeitsablauf. Im ersten Schritt fügen Sie dem Ablauf die schon besprochene Aktion Ausgewählte Finder-Objekte abfragen hinzu. Bei der zweiten Aktion, Finder-Objekte filtern, geben Sie für diesen Ablauf das Kriterium Art ist Bild vor. Als dritte Aktion fügen Sie aus der Rubrik Automator beziehungsweise Dienstprogramme die Aktion Wert der Variablen festlegen hinzu. Beim derzeitigen Stand des Ablaufs haben wir noch keine Variablen definiert. Erstellen Sie über das Ausklappmenü in der dritten Aktion eine Neue Variable. Wählen Sie den Menüpunkt aus, dann erscheint ein kleiner Dialog, in dem Sie die Bezeichnung der Variablen (»Bilddateien«) eingeben. Welche Variablen Sie in Ihrem Arbeitsablauf definiert haben, können Sie über die Liste unterhalb der Arbeitsfläche einsehen. Diese blenden Sie ein, indem Sie das zweite Icon unterhalb der Arbeitsfläche anklicken. Bevor Sie die nächsten Aktionen dem Ablauf hinzufügen, können Sie für etwas mehr Übersicht sorgen, indem Sie die schon vorhandenen Aktionen minimieren. Klicken Sie hierzu auf das nach unten deutende Dreieck neben dem Namen der Aktion. Die Aktion wird eingeklappt, sodass lediglich ihr Name angezeigt wird (siehe Abbildung 18.9). Mit einem erneuten Klick auf das Dreieck wird die Aktion wieder vollständig angezeigt.

Abbildung 18.9    Bei der Erstellung des neuen Ordners werden die Ergebnisse der vorhergehenden Aktion ignoriert.

Im nächsten Schritt fügen Sie dem Ablauf die Aktion Neuer Ordner hinzu. Da diese Aktion nicht mit den Ergebnissen der vorhergehenden Aktion arbeiten soll, rufen Sie das Kontextmenü über der Aktion auf und wählen hier den Eintrag Eingabe ignorieren. Die Verbindung zur vorhergehenden Aktion wird damit aufgehoben. Der Ordner soll einen Namen in der Form »Thumbnails_Datum_Uhrzeit« tragen, damit es nicht zu Konflikten mit eventuell schon auf dem Schreibtisch vorhandenen Ordnern kommt. Mit den Variablen, die der Automator von Haus aus mitbringt, lässt sich dieses Schema für die Namensgebung leicht realisieren. Klicken Sie die Schaltfläche Variablen im linken Bereich an, dann erscheinen anstelle der Aktionen die Variablen. Geben Sie im Feld Name der Aktion Neuer Ordner zunächst die Zeichenkette »Thumbnails_« ein (siehe Abbildung 18.10). Aus der Liste der Variablen ziehen Sie dann aus der Rubrik Datum & Uhrzeit die Variable Heutiges Datum in das Textfeld. Führen Sie anschließend einen Doppelklick auf die Variable im Textfeld aus, dann erscheint ein Dialog Variable Optionen. Hier können Sie zunächst eine andere

Bezeichnung für die Variable verwenden. Unter Format stehen Ihnen einige vorgefertigte Datumsformate zur Auswahl. Über den Menüpunkt Eigenes Format könnten Sie noch ein eigenes Format für das Datum definieren.

Abbildung 18.10    Das Format der Uhrzeit können Sie individuell konfigurieren.

Für diesen Arbeitsablauf reicht das Standardformat aus, bei dem Tag und Monat mit einem Punkt getrennt werden. Klicken Sie erneut in das Textfeld; dann fügen Sie nach der Variablen Heutiges Datum einen Unterstrich ein. Aus der Liste der Variablen ziehen Sie dann die Variable Aktuelle Uhrzeit in das Textfeld, sodass die Variable nach dem zuletzt eingegebenen Unterstrich eingefügt wird. In den Standardeinstellungen eignet sich die Uhrzeit aufgrund des Doppelpunkts zwischen den Stunden und den Minuten nicht für die Namensgebung des Ordners, weil Doppelpunkte an einigen Stellen des Systems noch für die Trennung von Pfadangaben genutzt werden. Klicken Sie daher zweimal auf die Variable, und wählen Sie dann unter Format den Eintrag Eigenes Format aus. In dem folgenden Dialog können Sie aus sechs Bestandteilen der Uhrzeit wählen und sie in das Textfeld unter Format ziehen. Ferner können Sie Zeichen

eingeben. In Abbildung 18.10 habe ich zwischen den Stunden und Minuten einen Unterstrich eingefügt. Mit einem Klick auf die Schaltfläche Fertig beenden Sie die Konfiguration des Formats.

Abbildung 18.11    Der Wert der Variablen »Zielordner« wird direkt in der Aktion »FinderObjekte kopieren« verwendet.

Nachdem der Ordner mit einem aktuellen Namen erstellt wurde, muss auch er in einer Variablen gespeichert werden, um zu einem späteren Zeitpunkt erneut verfügbar zu sein. Fügen Sie die Aktion Wert der Variablen festlegen zum zweiten Mal dem Arbeitsablauf hinzu, und wählen Sie als Bezeichnung für die Variable Zielordner (siehe Abbildung 18.11). Am Rande: Nach diesem Arbeitsschritt sollten in der Liste der Variablen unterhalb des Arbeitsbereichs vier Variablen aufgeführt werden. Nach diesen Vorarbeiten kann die eigentliche Arbeit in Form des Kopierens und Skalierens der ausgewählten Bilddateien beginnen. Hierfür müssen wir die eingangs in der Variablen Bilddateien gesicherten Dateien erneut abrufen und an die Aktion Finder-Objekte kopieren übergeben. Den Wert einer Variablen abfragen und an die folgende Aktion als Eingabe übergeben können Sie mit der Aktion Wert der Variablen

abfragen. Diese fügen Sie ans Ende des Ablaufs an und geben hier

wiederum vor, dass die Aktion die Eingabe der vorigen ignorieren soll. In dem Menü hinter Variable wählen Sie den Eintrag Bilddateien aus. Mit der folgenden Aktion, Finder-Objekte kopieren, sollen die Bilddateien zunächst in den zuvor erstellten Ordner kopiert werden. Damit der in dem Ablauf zuvor erstellte Ordner als Ziel des Kopiervorgangs gilt, ziehen Sie aus der Liste der Variablen unterhalb des Ablaufs die Variable Zielordner auf das Ausklappmenü in der Aktion Finder-Objekte kopieren. Abschließend sollen die kopierten Bilder noch skaliert werden. Für diese Aufgabe steht die Aktion Bilder skalieren aus der Rubrik Fotos beziehungsweise aus dem Programm Vorschau zur Verfügung. Diese Aktion fügen Sie als letzte Aktion dem Ablauf hinzu und geben unter Größe (Pixel) den Wert vor, den Sie als maximale Breite oder Höhe für die verkleinerten Bilder wünschen. Der Arbeitsablauf ist damit voll funktionsfähig. Um ihn zu testen, wählen Sie im Finder eine beliebige Anzahl von Objekten aus, bei denen es sich nicht ausschließlich um Bilddateien handeln muss, und führen anschließend den Ablauf im Automator aus. Auf dem Schreibtisch erscheint dann ein Ordner, in dem Sie die verkleinerten Bilder finden. 18.2.2    Entscheidungen und Eingaben vom Anwender anfordern

Zwar können Sie über die Option Diese Aktion beim Ausführen des Arbeitsablaufs anzeigen, die schon in Abschnitt 18.1.1 erwähnt wurde, den Benutzer zur Eingabe von Parametern für eine ausgewählte Option veranlassen, aber wenn der Anwender nicht weiß, was der

Arbeitsablauf gerade abarbeitet, dann kann dies zu Missverständnissen führen. Der Automator bietet einige Aktionen, mit denen sich die Benutzerführung freundlicher gestalten lässt. Wird der Ablauf automatisch ausgeführt, etwa über eine Ordneraktion (siehe Abschnitt 18.3.2), dann kann es sinnvoll sein, dass der Anwender dem Ablauf Aufmerksamkeit schenkt. Mit der Aktion Auf Benutzeraktion warten (siehe Abbildung 18.12) wird der Ablauf so lange angehalten, bis der Anwender auf die Schaltfläche Fortfahren klickt. Zusätzlich können Sie vorgeben, dass der Ablauf nach einer gewissen Frist automatisch abgebrochen wird. Um den Anwender vor die Wahl zu stellen, ob der Ablauf fortgesetzt oder abgebrochen werden soll, fügen Sie die Aktion Bestätigung verlangen ein (siehe Abbildung 18.13).

Abbildung 18.12    Der Ablauf kann während der Ausführung so lange angehalten werden, bis der Anwender auf »Fortfahren« geklickt hat.

Abbildung 18.13    Der Arbeitsablauf wird nur fortgesetzt, wenn der Anwender dies bestätigt hat.

Hier können Sie mit einem Klick auf das Icon auch ein gelbes Warnzeichen nutzen, eine Überschrift und einen Hinweistext eingeben. Ferner können Sie die Beschriftung der Schaltflächen anpassen. Sehr nützlich ist in einigen Situationen auch die Aktion Aus einer Liste auswählen. Wenn von der vorhergehenden Aktion mehrere Objekte, zum Beispiel Dateien, übergeben werden, dann kann der Anwender des Ablaufs über diese Aktion auswählen, welche der übergebenen Objekte im Ablauf weiterverwendet werden sollen. Es erscheint dann ein Dialog (siehe Abbildung 18.14), der eine Liste der übergebenen Objekte enthält. Hier können Objekte gezielt aus- und abgewählt werden.

Abbildung 18.14    Der Anwender kann wählen, welche Dateien er verwenden will.

Neben diesen für die Interaktion mit dem Anwender grundlegenden Aktionen können Sie mit der Aktion Nach Text fragen aus der Rubrik Text den Anwender auffordern, einen Text einzugeben, der an die nächste Aktion übergeben oder in einer Variablen gespeichert wird. Wenn Sie sich bei Ihrem Arbeitsablauf nicht auf die aktuelle Auswahl von Dateien und Ordnern im Finder verlassen möchten, dann können Sie stattdessen mit der Aktion Nach Finder-Objekten fragen den Anwender auffordern, Dateien und Ordner in einem Dialog auszuwählen.

18.3    Arbeitsabläufe in das System integrieren Der Wechsel zum Programm Automator, um einen Arbeitsablauf auszuführen, ist alles andere als praktisch. Mithilfe der Dienste integrieren Sie Ihre Abläufe an geeigneter Stelle in das System, rufen diese über Tastenkombinationen auf und können sie an Ordner anhängen, sodass sie ausgeführt werden, wenn Dateien in den betreffenden Ordner kopiert oder verschoben werden. 18.3.1    Abläufe als Dienste mit Kurzbefehlen ausführen

Um einen Dienst zu erstellen, der Ihnen in einem Programm wie dem Finder oder in Mail zur Verfügung steht, wählen Sie aus den Vorlagen den Eintrag Dienst aus. Bei diesem Typ von Arbeitsablauf finden Sie oberhalb der Arbeitsfläche die Vorgaben für den Dienst. Zunächst können Sie festlegen, welchen Typ Daten (Text, Dateien ...) der Dienst entgegennehmen soll. Dann geben Sie vor, in welchem Programm der Dienst verfügbar sein soll. Hier können Sie neben der Vorgabe in jedem Programm auch ein bestimmtes Programm auswählen.

Abbildung 18.15    Für einen Dienst können Sie die Datentypen und das Programm festlegen.

Für das erste Beispiel soll ein Dienst im Finder Dateien oder Ordner entgegennehmen (siehe Abbildung 18.16). Die Aufgabe des Dienstes besteht darin, die übergebenen Dateien und Ordner so umzubenennen, dass im Namen vorhandene Leerzeichen durch

Unterstriche ersetzt werden. Für diesen einfachen Dienst wird nur die Aktion Finder-Objekte umbenennen benötigt. Wenn Sie die Aktion Ihrem Arbeitsablauf hinzufügen, erhalten Sie vom Automator die Rückfrage, ob Sie die Objekte vorher kopieren möchten, da die Originaldateien verändert werden. Für dieses einfache Beispiel sollten Sie die Option Nicht anwenden auswählen.

Abbildung 18.16    Wenn Sie einen Dienst speichern, müssen Sie lediglich den Namen eingeben.

Ist die Aktion in Ihrem Arbeitsablauf verfügbar, dann wählen Sie in dem Menü links oben den Eintrag Text ersetzen aus. In dem Feld Suchen geben Sie einfach ein Leerzeichen ein und im Feld Ersetzen durch einen Unterstrich. Wenn Sie den Arbeitsablauf speichern, dann erscheint nicht der gewohnte Dialog zur Auswahl eines Ordners und Namens. Sie werden lediglich aufgefordert, den Namen für den Dienst einzugeben (siehe Abbildung 18.16). Gespeichert werden die Dienste in der Library Ihres Benutzerkontos im Verzeichnis Services. Möchten Sie den Dienst zu einem späteren Zeitpunkt überarbeiten, dann öffnen Sie die dort abgelegte Datei mit der Endung .workflow im Automator. Nachdem Sie den Dienst gespeichert haben, steht er Ihnen unmittelbar zur Verfügung. Wählen Sie im Finder ein oder mehrere

Objekte aus, deren Namen Leerzeichen enthalten, und Sie können den Dienst über den Menüpunkt Finder • Dienste aufrufen und ausführen. Alternativ können Sie den Dienst im Finder auch über den Eintrag Dienste im Menü Aktion der Symbolleiste des Fensters starten. Wenn der Dienst ausgeführt wird, erscheint oben rechts in der Symbolleiste ein sich drehendes Zahnrad. Dies weist Sie darauf hin, dass im Hintergrund gerade ein Ablauf ausgeführt wird.

Abbildung 18.17    Diensten können Sie in den Systemeinstellungen eine Tastenkombination zuweisen.

Welche Dienste aktiv sind und Ihnen im Menü Dienste zur Verfügung stehen, legen Sie in den Systemeinstellungen in der Ansicht Tastatur im Reiter Kurzbefehle fest (siehe Abbildung 18.17). In der Rubrik Dienste finden Sie dort alle Dienste, die Sie über Arbeitsabläufe im Automator realisiert haben, sowie diejenigen, die Ihnen über Programme zur Verfügung gestellt werden. Die Liste ist nach Datentypen sortiert, sodass Sie den zuvor erstellten Arbeitsablauf unter Dateien und Ordner finden.

Eine Tastenkombination weisen Sie einem Dienst zu, indem Sie ihn einmal anklicken. Es erscheint dann in heller Farbe die Schaltfläche Kurzbefehl hinzufügen. Klicken Sie diese einmal an, am besten am rechten Rand der Spalte, dann erscheint ein Textfeld, und Sie können die Tastenkombination eingeben, über die Sie den Dienst zukünftig automatisch starten möchten. Bei der in Abbildung 18.17 dargestellten Konfiguration wird über die Tastenkombination (š)+ (alt)+(ctrl)+ Leertaste der Dienst gestartet, also letztlich werden auf Tastendruck die Leerzeichen aus den Namen einer beliebigen Anzahl ausgewählter Dateien und Ordner entfernt.

Abbildung 18.18    Der zweite Dienst filtert die URLs aus einem Text und öffnet die Webseiten im Browser.

Der zweite Dienst (siehe Abbildung 18.18) hat die Aufgabe, aus einem Text alle URLs herauszufiltern und diese in Safari zu öffnen. Nützlich kann dies zum Beispiel sein, wenn Sie ein etwas umfangreicheres Textdokument erhalten haben und die darin genannten Links auf ihre Funktionsfähigkeit hin überprüfen möchten. Hierzu erstellen Sie im Automator einen neuen Arbeitsablauf unter Verwendung der Vorlage Dienst. In diesem Fall soll der Dienst in jedem Programm verfügbar sein und Text empfangen.

Fügen Sie zuerst die Aktion Daten und Text trennen hinzu, und wählen Sie hier die Option URLs aus. Die Aktion ändert ihren Namen in URLs aus Text extrahieren. Mit der zweiten Aktion, Aus einer Liste auswählen, erhält der Anwender bei der Ausführung des Dienstes die Möglichkeit, Webseiten gezielt vom Öffnen auszuschließen. Im Browser geöffnet werden die verbliebenen URLs dann über die dritte Aktion, Webseiten anzeigen aus der Rubrik Internet. Nachdem Sie diesen Dienst mit einem Namen versehen und gespeichert haben, können Sie in fast jedem Programm, das nach den Vorgaben Apples entwickelt wurde, einen Textbereich markieren und den Dienst aufrufen. Der Dienst extrahiert dann die URLs aus dem markierten Text, stellt sie Ihnen zur Auswahl und öffnet die ausgewählten URLs in Ihrem Standardbrowser. Es wäre auch möglich, den Ablauf mit der Aktion In die Zwischenablage kopieren dahingehend abzuändern, dass im dritten Schritt die URLs nicht im Browser geöffnet, sondern als Text in die Zwischenablage kopiert werden. Bei der Erstellung von Diensten lohnt es sich, mit den zur Auswahl stehenden Datentypen etwas zu experimentieren. Zwar sollten Sie vom Automator nicht zu viel erwarten, aber wenn Sie mit den verschiedenen Datentypen – zu denen auch Kalenderereignisse und Telefonnummern gehören – und zugehörigen Aktionen etwas arbeiten, kann es gut sein, dass Sie den einen oder anderen Arbeitsablauf erstellen, der Ihnen in Zukunft viel Zeit und Arbeit spart. 18.3.2    Abläufe an Ordner anhängen: Ordneraktionen

Nur zu oft wächst das Chaos in den Ordnern. Dateien müssten eigentlich schon seit Wochen wegsortiert werden, aber es fehlen die

Zeit und die Muße, sich den Aufräumarbeiten zu widmen, während der Inhalt vieler Ordner immer unübersichtlicher wird. In solchen Situationen kommen die Ordneraktionen von macOS ins Spiel. Sie überwachen den Inhalt von Ordnern. Wenn beispielsweise eine neue Datei dem Ordner hinzugefügt wird, dann registriert das System diese Änderung und führt die angehängten Aktionen aus. In diesem Beispiel soll eine beispielhafte Ordneraktion an den Ordner Downloads angehängt werden. Dieser Ordner, in dem sich die aus dem Web heruntergeladenen Dateien sammeln, neigt bei vielen Anwendern zur Überfüllung. Die Ordneraktion soll die Dateien nach Dateityp filtern und in einen entsprechenden Unterordner verschieben. Damit die Aktion ihre Aufgabe erfüllt, sollten Sie im Vorfeld im Ordner Downloads einen passenden Unterordner für den Dateityp erstellen, den Sie aus dem Web herunterladen. Der beispielhafte Ablauf verschiebt PDF-Dateien in einen Unterordner _PDF-Dateien. Möchten Sie weitere Dateitypen automatisch in passende Unterordner verschieben, dann können Sie einen weiteren Ablauf erstellen, der beispielsweise Dateien mit der Endung .zip in einen Ordner _ZIP-Archive verschiebt. Hängen Sie mehrere solche Abläufe an den Ordner Downloads an, dann übernehmen die Abläufe die Sortierung und Bereinigung des Ordners.

Abbildung 18.19    Bei einer Ordneraktion müssen Sie zunächst den zu überwachenden Ordner auswählen.

Nachdem Sie den Ordner _PDF-Dateien im Ordner Downloads angelegt haben, erstellen Sie im Automator einen neuen

Arbeitsablauf. Dazu verwenden Sie die Vorlage Ordneraktion (siehe Abbildung 18.19). Hier müssen Sie zunächst den Ordner auswählen, der von der Ordneraktion überwacht werden soll. In diesem Fall ist es der Ordner Downloads in Ihrem persönlichen Verzeichnis (siehe Abbildung 18.19).

Abbildung 18.20    Die Ordneraktion filtert die übergebenen Dateien und bewegt sie dann in einen entsprechenden Unterordner.

Der Aufbau des Arbeitsablaufs ist dann eigentlich recht simpel: Mit Hilfe der Aktion Finder-Objekte filtern werden zuerst die PDF-Dateien gefiltert und an die Aktion Finder-Objekte bewegen übergeben, die die Dateien in den Unterordner _PDFDateien verschiebt (siehe Abbildung 18.20). Wenn Sie diesen Arbeitsablauf speichern, dann werden Sie wie bei einem Dienst nur nach dem Namen gefragt. Der Arbeitsablauf könnte beispielsweise »PDFs sortieren« heißen. Gesichert wird der Arbeitsablauf automatisch im Verzeichnis ~/Library/Workflows/Applications/Folder Actions. Laden Sie nun aus dem Internet eine PDF-Datei herunter, dann wird die neue Datei im Verzeichnis Downloads von der Ordneraktion registriert. Der Arbeitsablauf wird anschließend ausgeführt und die heruntergeladene Datei automatisch in den Unterordner verschoben.

Abbildung 18.21    Ordneraktionen können Sie über das kleine Dienstprogramm »Ordneraktionen konfigurieren« zentral verwalten.

Für die Verwaltung der Ordneraktionen steht Ihnen das Programm Ordneraktionen konfigurieren im Verzeichnis /System/Library/CoreServices zur Verfügung (siehe Abbildung 18.21). Es listet Ihnen links die Verzeichnisse auf, für die Ordneraktionen konfiguriert wurden. Wählen Sie ein Verzeichnis aus, dann erscheint rechts die Liste der Arbeitsabläufe, die an das Verzeichnis angehängt wurden. Mit den Minuszeichen entfernen Sie entweder den ausgewählten Ablauf oder, sofern Sie die Icons unterhalb der Orderliste nutzen, alle Ordneraktionen eines Verzeichnisses. Über das Pluszeichen fügen Sie ein Verzeichnis der Liste hinzu und hängen an dieses eine Ordneraktion an. Nach der Auswahl des Verzeichnisses werden Sie automatisch aufgefordert, das Skript auszuwählen, das Sie anhängen wollen (siehe Abbildung 18.22). Die Liste, die Ihnen hierbei präsentiert wird, resultiert aus dem Inhalt der Verzeichnisse Workflows/Applications/Folder Actions und Scripts/Folder Actions in Ihrer persönlichen und der allgemeinen Library des Systems.

Abbildung 18.22    Wird eine neue Ordneraktion an ein Verzeichnis gehängt, dann werden die vorhandenen Skripten und Abläufe zur Auswahl gestellt.

Dass Sie hier auch Skripten neben den Arbeitsabläufen finden, hat den einfachen Grund, dass sich Ordneraktionen nicht nur mit dem Automator, sondern auch mit AppleScript und JavaScript programmieren lassen. 18.3.3    Mit PDF-Dateien arbeiten

macOS bietet von Haus aus eine hervorragende Unterstützung des Portable Document Formats (PDF). Im Automator stehen Ihnen einige Aktionen zur Verfügung, die Sie für die Bearbeitung von PDFDateien nutzen können. Ferner ist es möglich, das Menü PDF im Dialog zum Drucken um Arbeitsabläufe zu erweitern. Für ein erstes Beispiel soll die PDF-Datei in einzelne Dateien zerlegt werden. Erstellen Sie hierfür im Automator unter Verwendung der Vorlage Plug-In für Drucken einen neuen Arbeitsablauf. Fügen Sie diesem zunächst die Aktion PDF-Seiten als Bilder rendern hinzu (siehe

Abbildung 18.23). Die Auflösung und das Format können Sie entsprechend anpassen. Als zweite und abschließende Aktion fügen Sie aus der Rubrik Dateien & Ordner die Aktion Finder-Objekte zeigen hinzu. Speichern Sie den Arbeitsablauf, dann werden Sie erneut lediglich nach einem Namen gefragt. Gesichert wird der Ablauf im Verzeichnis PDF Services in Ihrer Library. Rufen Sie nun in einem Programm den Dialog zum Drucken auf, dann finden Sie in dessen Untermenü PDF auch den Arbeitsablauf (siehe Abbildung 18.24).

Abbildung 18.23    Die erstellten Bilddateien werden abschließend im Finder angezeigt.

Um einen Arbeitsablauf dem Menü PDF des Druckdialogs hinzuzufügen oder aus ihm zu entfernen, wählen Sie den Eintrag Menü bearbeiten aus. Hier finden Sie eine Liste der vorhandenen Abläufe und können über das Pluszeichen einen neuen Ablauf hinzufügen und über das Minuszeichen wieder entfernen.

Abbildung 18.24    Das Menü »PDF« stellt die Arbeitsabläufe zur Auswahl.

Wenn Sie den Ablauf über den Druckdialog ausführen, dann wird die PDF-Datei automatisch dem Ablauf übergeben und dieser wird ausgeführt. Im Finder öffnet sich dann aufgrund der Aktion FinderObjekte zeigen ein neues Fenster. Dieses stellt Ihnen den Inhalt eines sonst unsichtbaren Ordners unter /private/var/folders dar. Der Grund für dieses Verhalten besteht darin, dass die meisten Aktionen zur Bearbeitung von PDF-Dateien ihre Ergebnisse automatisch in diesem Verzeichnis speichern. Genutzt wird dieses Verzeichnis für temporäre Dateien, und sein Inhalt wird bei einem Neustart des Systems gelöscht.

Abbildung 18.25    Der Anwender bekommt beide Aktionen des Arbeitsablaufs angezeigt.

Sie könnten nun die Bilddateien aus dem Verzeichnis zum Beispiel auf Ihren Schreibtisch bewegen oder kopieren. Eine Alternative bestände darin, die Aktion FinderObjekte bewegen zu verwenden, um die erstellten Dateien zu verschieben. Nutzen Sie hierbei die Option Diese Aktion beim Ausführen des Arbeitsablaufs anzeigen, kann der Anwender den Ordner während der Ausführung des Ablaufs auswählen. In Abbildung 18.25 finden Sie einen einfachen Arbeitsablauf, der die PDF-Datei lediglich mit einem Passwort verschlüsselt. In der ersten Aktion wurde keine Vorgabe für das Passwort angegeben, sondern lediglich die Option Diese Aktion beim Ausführen des Arbeitsablaufs anzeigen aktiviert. Bei der Ausführung erscheint zunächst ein Dialog, der den Anwender zur Vergabe des Passworts auffordert. Auch die zweite Aktion wird bei der Ausführung angezeigt, sodass der Anwender den Ordner vorgeben kann, in dem die dann verschlüsselte PDF-Datei gespeichert wird.

18.3.4    Aktionen zeitgesteuert als Kalenderaktionen ausführen

Arbeitsabläufe lassen sich über die Vorlage Kalendererinnerung auch zeitgesteuert ausführen. Hierbei werden die Abläufe an ein Ereignis im Kalender angehängt und zum Zeitpunkt des Ereignisses ausgeführt.

Abbildung 18.26    Veraltete Dateien lassen sich automatisch in den Papierkorb bewegen.

Der auszuführende Arbeitsablauf (siehe Abbildung 18.26) hat die Aufgabe, den Inhalt von vorgegebenen Ordnern abzufragen. Anschließend erfolgt eine Prüfung, ob die Dateien innerhalb des letzten Jahres geöffnet wurden. Sofern dies nicht der Fall ist, sollen die Dateien in den Papierkorb verschoben werden. Vorher werden dem Anwender noch in einer Liste die Dateien zur Auswahl gestellt, die er verschieben kann. Mit diesem Ablauf soll vermieden werden, dass in einigen bestimmten Ordnern Dateien lagern, die nicht mehr benötigt werden. Erstellen Sie im Automator einen neuen Ablauf unter Verwendung der Vorlage Kalendererinnerung. Der ersten Aktion, Angegebene Finder-

Objekte abfragen, fügen Sie die Ordner hinzu, die regelmäßig überprüft werden sollen. Mit der zweiten Aktion, Ordnerinhalt abfragen, wird der Inhalt dieser Ordner an die dritte Aktion, FinderObjekte filtern, übergeben. Hier geben wir als Kriterium vor, dass die Datei nicht innerhalb des letzten Jahres geöffnet wurde. Die Liste der verbleibenden Dateien wird dem Anwender mit der Aktion Aus einer Liste auswählen zur Auswahl gestellt, und die dann ausgewählten Dateien werden über die Aktion Finder-Objekte in den Papierkorb legen in den Papierkorb verschoben. Speichern Sie den Ablauf, dann werden Sie nach einem Namen gefragt; anschließend wird sofort das Programm Kalender gestartet und ein neues Ereignis erstellt (siehe Abbildung 18.27). Diesem Ereignis wird ein Hinweis vom Typ Datei öffnen zugewiesen. Dabei wird als Datei der zuvor gesicherte Arbeitsablauf ausgewählt. Dieser wurde im Verzeichnis Workflows/Applications/Calender in Ihrer Library gespeichert. Wenn das Ereignis eintritt, dann wird automatisch der Arbeitsablauf ausgeführt, und die seit einem Jahr nicht mehr geöffneten Dateien werden gesucht und Ihnen zur Auswahl gestellt. Wenn Sie dieses Ereignis nebst Arbeitsablauf zum Beispiel wöchentlich Wiederholen lassen, dann wird regelmäßig der Ablauf ausgeführt, und die veralteten Dateien landen weitgehend automatisch im Papierkorb.

Abbildung 18.27    Der Arbeitsablauf wurde als »Hinweis« an ein Ereignis angehängt.

Anstatt die Dateien in den Papierkorb zu bewegen, könnten Sie auch ein Archiv erzeugen und für den Namen des Archivs die in Abschnitt 18.2.1 besprochenen Variablen nutzen. So könnten Sie ein wöchentliches Archiv der veralteten Dateien mit der Bezeichnung »Archiv_Datum.zip« erstellen und an geeigneter Stelle ablegen. 18.3.5    Aktionen als Programme speichern

Bei dem Arbeitsablauf, den wir im vorigen Abschnitt an ein Ereignis angehängt haben, handelt es sich streng genommen nicht mehr um einen normalen Arbeitsablauf, sondern um ein vollständiges Programm. Nutzen Sie die Vorlage Programm bei der Erstellung eines Ablaufs, dann wird dieser als reguläres Programm gespeichert. Mit einem Doppelklick im Finder können Sie den Ablauf ausführen, ohne dass der Automator gestartet wird.

Abbildung 18.28    Der als Programm gespeicherte Arbeitsablauf erstellt ein Disk-Image mit den Dateien, die ihm per Drag & Drop übergeben wurden.

Nützlich ist diese Form von Programmen, wenn Sie einen oder mehrere Arbeitsabläufe zum Beispiel direkt nach der Anmeldung ausführen möchten. Speichern Sie die Abläufe als Programme und fügen Sie diese den Anmeldeobjekten Ihres Benutzerkontos (siehe Abschnitt 6.2.6) hinzu, dann werden die Abläufe automatisch ausgeführt. Dabei unterstützen diese Programme auch die Übergabe von Dateien und Ordnern via Drag & Drop. In Abbildung 18.28 finden Sie ein einfaches Programm, das die übergebenen Dateien zunächst in einer Variablen speichert. Dann wird ein Disk-Image (siehe Abschnitt 3.2.5) erstellt, bei dem für die Namensgebung drei Variablen (Aktueller Tag, Aktueller Monat und Aktuelles Jahr) genutzt werden. In dieses DiskImage werden die Dateien und Ordner dann kopiert. Speichern Sie diesen Ablauf als Programm, dann können Sie Dateien auf dieses Programm ziehen, und es wird automatisch ein Disk-Image erstellt, dessen Name das aktuelle Datum enthält und in dem Kopien der Dateien liegen, die Sie zuvor auf das Programm gezogen haben.

19    JavaScript for Automation (JXA) Mit JavaScript programmieren Sie unter macOS eigene Lösungen für wiederkehrende Aufgaben. Mit OS X 10.11 wurde JavaScript tief in das System integriert und eignet sich für die Steuerung der meisten Programme. Die Steuerung von Programmen mithilfe eines Skripts war unter dem Apple-Betriebssystem schon seit vielen Jahren möglich. Zur Verfügung stand hier in erster LinieAppleScript, eine etwas eigenwillige Programmiersprache, deren Aufbau sich möglichst eng ans Englische anlehnen sollte. So weisen Sie in AppleScript mit der Anweisung tell application "Finder" to quit den Finder an, sich zu beenden. Die Nachahmung menschlichen Sprachverhaltens für die Programmierung von Computern erwies sich aber im Laufe der Zeit als wenig praktikabel, weil es bei komplexeren, in AppleScript geschriebenen Skripten unweigerlich dazu führte, dass die Übersicht verloren ging. Aus diesem Grund hat Apple nun JavaScript einen gleichberechtigten Platz neben AppleScript eingeräumt. In diesem Kapitel finden Sie eine Einführung in die Nutzung von JavaScript zur Steuerung von Programmen und Abläufen unter macOS. Eine Einführung in die Sprache JavaScript kann dieses Kapitel Ihnen nicht bieten, grundlegende Kenntnisse werden vorausgesetzt. Wenn Sie noch nicht mit JavaScript vertraut sind, dann finden Sie im Web und im Buchhandel eine große Auswahl an hervorragenden Einführungen in diese doch recht leicht zu lernende Sprache.

Die Beispiele sind alle recht einfach gehalten und weisen Sie gezielt auf die Methoden und Verfahren hin, bei denen es sich um Besonderheiten von macOS handelt. Haben Sie JavaScript in der Vergangenheit genutzt, um HTML-Dateien auf Webseiten zu manipulieren, dann müssen Sie bei der Verwendung von JavaScript für die Automatisierung ein wenig umdenken: Unter macOS bearbeiten Sie keine HTML-Knoten, sondern senden Anweisungen an Programme, die Ihnen ihre Objekte wie Fenster oder Dokumente zur Programmierung bereitstellen. Sie erhalten zunächst eine grundlegende Einführung in das Programm Skript-Editor und seine Bibliothek und lernen, wie Sie Objekte, Eigenschaften und Kommandos eines Programms mit JavaScript nutzen. Im zweiten Teil dieses Kapitels finden Sie einige kleinere Skripten, die Ihnen Möglichkeiten der Programmierung mit JavaScript aufzeigen und beispielhaft gängige Stolperstellen darstellen. Die Einbindung Ihrer Skripten in das Betriebssystem werde ich im dritten Teil beschreiben. Abschließend finden Sie ein paar Tipps zur Fehlersuche und zum Debugging.

19.1    Ein erstes JavaScript: »Hallo Welt« im Finder Das erste Beispiel soll Ihnen zeigen, wie Sie den Finder ansprechen und ihm zwei Anweisungen erteilen. Hierbei wird der Finder in den Vordergrund gebracht und dem Anwender im zweiten Schritt ein Dialog »Hallo Welt!« angezeigt. Dabei nutzen Sie das Programm Skript-Editor, das Sie im Ordner Dienstprogramme finden. Aufbauend auf diesem Beispiel lernen Sie die Bibliothek des SkriptEditors sowie die Bibliotheken StandardAdditions und System-Events kennen.

19.1.1    Der Skript-Editor

Wenn Sie den Skript-Editor gestartet haben, sollten Sie als ersten Schritt über Skript-Editor • Einstellungen die Voreinstellungen des Programms aufrufen. Sie finden dort in der Ansicht Allgemein die Option Standardsprache (siehe Abbildung 19.1). Hier sollten Sie den Eintrag JavaScript auswählen, damit im Folgenden sowohl die Bibliothek als auch der Editor im Modus für diese Sprache arbeiten.

Abbildung 19.1    In den Voreinstellungen des Skript-Editors legen Sie die »Standardsprache« fest.

Sofern beim Start kein neues Dokument erzeugt wurde, können Sie über Ablage • Neu ein neues Skript erstellen. In der Symbolleiste des Fensters finden Sie links vier Icons (siehe Abbildung 19.2). Mit der Schaltfläche Ausführen starten Sie Ihr Skript. Ist Ihr Skript aktiv, dann steht Ihnen mit Stopp die Möglichkeit eines vorzeitigen Abbruchs zur Verfügung. Die Schaltfläche Übersetzen prüft Ihre Eingaben auf syntaktische Korrektheit hin und sorgt für eine farbige Darstellung des Quellcodes. Die Funktion Übersetzen, die Sie auch mit dem Kurzbefehl (š)+(K) ausführen können, ist praktisch zur Kontrolle,

wenn Sie Ihre Eingaben überprüfen, aber das Skript selbst nicht ausführen möchten.

Abbildung 19.2    Über die Schaltflächen der Symbolleiste können Sie das Skript starten und übersetzen.

Die Schaltfläche Aufzeichnen steht Ihnen zur Verfügung, wenn Sie ein Skript mit der Sprache AppleScript programmieren. Sie führt dazu, dass der Skript-Editor sich Ihre Eingaben merkt und versucht, diese in ein Skript zu übersetzen. Unterhalb der Symbolleiste legen Sie die Sprache des Skripts fest. Hier sollten Sie wiederum JavaScript auswählen. 19.1.2    Den Finder ansprechen und einen Dialog anzeigen

In Listing 19.1 finden Sie ein einfaches JavaScript, das aus vier Anweisungen besteht. Kommentare können Sie auch unter macOS in der gewohnten Form eingeben, indem Sie den Kommentar mit /* beginnen und mit */ abschließen. Das Skript können Sie im Skript-Editor direkt eingeben. Nutzen Sie die Schaltfläche Übersetzen, dann wird der Quellcode grafisch hervorgehoben (siehe Abbildung 19.3). Die Kommentare erscheinen in grauer Schrift, die Anweisungen in schwarzer. Zeichenketten, die in Anführungszeichen stehen, werden in Rot dargestellt und Wörter wie true, die zum Sprachschatz von JavaScript gehören, in Blau.

/* Den Finder über 'derFinder' ansprechen */

derFinder = Application('Finder');

/* Die StandardAdditions hinzufügen */

derFinder.includeStandardAdditions = true;

/* Den Finder in den Vordergrund bringen */

derFinder.activate();

/* Den Dialog anzeigen */

derFinder.displayDialog('Hallo Welt!');

Listing 19.1    »HalloWelt«

Bei der Programmierung mit JavaScript unter macOS besteht der erste Schritt in der Regel darin, das Programm anzusprechen, das anschließend gesteuert werden soll. Hierfür steht die Anweisung Application zur Verfügung. Dieser übergeben Sie in Anführungsstrichen den Namen des Programms, das Sie steuern möchten. Über die Variable, in diesem Beispiel derFinder, ist das Programm anschließend ansprechbar.

Abbildung 19.3    Das erste JavaScript besteht aus vier Anweisungen.

Kommandos an das Programm geben Sie in der Form Name.Anweisung. Mit der Anweisung derFinder.activate() teilen Sie dem Finder mit, dass er sich in den Vordergrund bringen soll. Für die Interaktion mit dem Anwender wird die nachfolgend beschriebene Bibliothek StandardAdditions genutzt. Sie stellt unter anderem die Dialoge zur Verfügung. In den Standardeinstellungen

wird die Bibliothek nicht verwendet. Daher müssen Sie den Wert includeStandardAdditions auf true setzen. Dies geschieht mit der Anweisung derFinder.includeStandardAdditions = true. Ist dieser Wert gesetzt, dann können Sie die Funktionen der StandardAdditions nutzen. Jetzt steht Ihnen die Anweisung displayDialog zur Anzeige eines Dialogs zur Verfügung. Ihr übergeben Sie in Anführungszeichen als Parameter die Zeichenkette, die im Dialog anzeigt werden soll. Mit der Zeile derFinder.displayDialog('Hallo Welt!'); wird der Dialog vom Finder angezeigt, der inzwischen im Vordergrund angezeigt wird. Haben Sie das Skript eingegeben und übersetzt, dann springt bei der Ausführung der Finder in den Vordergrund und zeigt den Dialog aus Abbildung 19.4 an.

Abbildung 19.4    Der Dialog wurde über die Anweisung »displayDialog« aufgerufen.

19.1.3    Apple-Events, Objekte und die Bibliothek verstehen und nutzen

Für die Programmierung mit JavaScript ist das Verständnis der Apple-Events genannten Technologie, der Objekte sowie der Bibliothek des Skript-Editors unabdingbar. Wenn Sie dem Finder mit derFinder.activate() eine Anweisung von JavaScript aus erteilen, dann wird im Hintergrund eine Mitteilung an den Finder geschickt, er möge sich doch bitte in den Vordergrund bringen. Bei

dieser Mitteilung handelt es sich um ein sogenanntes Apple-Event. Umgekehrt sind der Finder und andere Programme in der Lage, solche Ereignisse auszulösen und selbst Benachrichtigungen zu verschicken. Das Konzept von JavaScript for Automation beruht darauf, dass Sie bei der Programmierung solche Apple-Events mittels JavaScript auslösen und auswerten.

Abbildung 19.5    Die Bibliothek listet die skriptfähigen Programme auf.

Welche Objekte und Kommandos zur Verfügung stehen, wird von den Entwicklern der jeweiligen Programme festgelegt, wenn sie ihre Programme skriptfähig aufbauen. Für die Orientierung ist die Bibliothek des Skript-Editors die erste Wahl. Sie rufen sie über den Menüpunkt Fenster • Bibliothek oder den Kurzbefehl (š)+(ª)+(L) auf; sie listet Ihnen zunächst die bereits bekannten und skriptfähigen Programme auf (siehe Abbildung 19.5). Über das Pluszeichen fügen Sie ein Programm dieser Liste hinzu, sofern es skriptfähig ist. Andernfalls erhalten Sie einen entsprechenden Hinweis.

Abbildung 19.6    Der Finder verfügt über eine umfangreiche Unterstützung für Skripten.

Um sich über die Skriptfähigkeiten eines Programms zu informieren, führen Sie einen Doppelklick auf seinen Eintrag in der Bibliothek aus. Es erscheint dann ein neues Fenster, in dem Ihnen die zur Verfügung stehenden Kommandos, Objekte und deren Eigenschaften angezeigt werden (siehe Abbildung 19.6). Dabei werden die Objekte und Kommandos in Themenbereiche untergliedert, die in diesem Zusammenhang als Suite bezeichnet werden. Sie finden diese in der linken Spalte mit einem führenden S. Die Suite Window classes des Finders enthält beispielsweise die Definitionen für die unterschiedlichen Typen von Fenstern, die im Finder verfügbar sind. Eine Suite enthält unter anderem sogenannte Klassen, bei denen es sich um Definitionen von Objekttypen handelt. Diese werden mit einem vorangestellten C aufgeführt. Die Klasse Window stellt die Definition der generischen Fenster dar, die im Finder dargestellt werden können. Wählen Sie die Klasse FinderWindow aus, dann werden Ihnen die Eigenschaften angezeigt, die zu einem Fenster gehören, das Sie im

Finder über den Menübefehl Ablage • Neues Fenster erstellen. Sie finden in der rechten Spalte die Liste der Eigenschaften, die mit P für »Property« gekennzeichnet werden. Eine kurze Erläuterung der jeweiligen Eigenschaften erhalten Sie im Text unterhalb der drei Spalten. Die Eigenschaft target eines Fensters enthält die Angabe des Ordners, der im Fenster dargestellt wird. Die Breite der Seitenleiste des Fensters wird in der Eigenschaft sidebarWidth gespeichert. Welcher Datentyp für die Eigenschaft genutzt wird, wird in Klammern hinter dem Namen angegeben. Mit integer wird eine Ganzzahl bezeichnet, point und rectangle verweisen auf benannte Listen in der Form { Bezeichnung: Wert, Bezeichnung2: Wert2}, boolean steht für einen Wahrheitswert – (true oder false) –, und text repräsentiert eine Zeichenkette. Objekte können die Eigenschaften von übergeordneten Objekten erben. In der Liste der Eigenschaften der Klasse FinderWindow finden Sie keinen Eintrag, der zum Beispiel die Position auf dem Bildschirm oder die Größe des Fensters definiert. Diese Eigenschaften erben Objekte vom Typ FinderWindow von ihrem übergeordneten Objekt. Welches Objekt übergeordnet ist, erkennen Sie an der Angabe [inh. Window]. In diesem Fall ist es die Klasse Window, und wenn Sie den Link hinter Window anklicken, dann werden Ihnen die Eigenschaften dieser eher generischen Klasse angezeigt, und Sie finden hier auch die zu erwartenden Eigenschaften wie name, position oder bounds für die Dimensionen des Fensters. Diese stehen Ihnen aufgrund der Vererbung auch bei einem Fenster des Typs FinderWindow zur Verfügung. Neben den Objekten und ihren Eigenschaften werden in der Bibliothek mit einem führenden C die Kommandos aufgelistet, die Sie einem Programm über JavaScript erteilen können. Diese Kommandos sind in der Regel spezielle Fähigkeiten des Programms,

wobei die StandardSuite die Kommandos enthält, die eigentlich zum Standard gehören. Hier finden Sie unter anderem das schon genutzte Kommando activate, mit dem Sie das Programm in den Vordergrund bringen. Die Programmierung mit JavaScript besteht in erster Linie aus der Erstellung und Manipulation von Objekten in den Programmen, oft unter Verwendung der durch das Programm zur Verfügung gestellten Kommandos. Hierbei ist zu beachten, dass Objekte weitere Objekte enthalten. Dies wird in der Bibliothek durch den Hinweis contained by oder contains angezeigt. So enthält die Applikation Fenster, die wiederum Dokumente enthalten, die dann zum Beispiel Absätze enthalten, die aus Elementen vom Typ Zeichen bestehen. Diese Hierarchie müssen Sie im Hinterkopf behalten, wenn Sie bestehende Objekte ansprechen und manipulieren möchten. Bei der Programmierung stellt sich diese Hierarchie in Form von Listen dar. In Abbildung 19.7 finden Sie ein einfaches Skript, das den Finder anspricht, über windows() die Liste der aktuell geöffneten Fenster abruft und diese in der Variablen dieFenster speichert. Die Eigenschaften des ersten Elements werden dann durch die Anweisung dieFenster[0].properties() abgefragt. Das Ergebnis der letzten Anweisung wird Ihnen im unteren Textfeld des Skript-Editors angezeigt, wenn Sie das Icon mit dem Pfeil anklicken.

Abbildung 19.7    Die aktuellen Eigenschaften eines Objekts fragen Sie über »properties()« ab.

Die Methode properties() ist ganz praktisch, wenn Sie sich nicht sicher sind, über welche Eigenschaften ein Objekt insgesamt verfügt. Sie erhalten hier eine vollständige Liste, zu der auch die geerbten Eigenschaften gehören. Um eine Eigenschaft abzufragen, können Sie sie als Methode aufrufen. Mit der Anweisung Position = dieFenster[0].position();

würde die aktuelle Position des ersten Fensters in der Variablen Position gespeichert. Hierbei handelt es sich um eine benannte Liste in der Form {"x": Wert, "y": Wert}, also um die X- und Y-Koordinate der linken oberen Ecke des Fensters. Mit der Anweisung Bezeichnung = dieFenster[0].name();

würden Sie der Variablen Bezeichnung den Titel des ersten Fensters zuweisen. Die Werte von Eigenschaften eines Objekts lassen sich ändern, indem Sie sie ohne Klammern, also nicht als Methode aufrufen. Die Anweisung

dieFenster[0].position = {"x": 10, "y": 10};

ändert die Koordinaten der oberen linken Ecke des ersten Fensters im Finder. Es befände sich dann links oben auf dem Bildschirm. Für die Erstellung neuer Objekte gibt es zwei Möglichkeiten: Die erste wäre, der Klasse die Anweisung make() zu erteilen, um ein neues Objekt zu erstellen. Die Anweisung neuesFenster = derFinder.FinderWindow().make();

würde direkt ein neues Fenster im Finder erzeugen, das Sie im weiteren Verlauf des Skripts über die Variable neuesFenster ansprechen könnten. Die zweite Möglichkeit besteht darin, zuerst das Objekt an sich zu erzeugen, mit Eigenschaften zu versehen und anschließend mit .push() an die Liste der bereits existierenden Objekte anzuhängen. Mit den Anweisungen neuesFenster = derFinder.FinderWindow();

neuesFenster.position = {"x": 100, "y":100};

derFinder.windows.push(neuesFenster);

würde zuerst ein neues Objekt neuesFenster erzeugt, dann seine Eigenschaft position angepasst und abschließend der Liste der schon vorhandenen Fenster hinzugefügt. Erst bei der Abarbeitung der dritten Anweisung würde das Fenster auf dem Bildschirm erscheinen. 19.1.4    Die »StandardAdditions« nutzen

Die StandardAdditions enthalten einige Funktionen, die Ihnen die Interaktion mit dem Anwender ermöglichen. Neben den in Abschnitt 19.2.1 beschriebenen Dialogen gehören dazu der Zugriff auf die Zwischenablage sowie die Sprachausgabe von macOS.

Einbinden müssen Sie die StandardAdditions in jedem Fall, indem Sie den Wert includeStandardAdditions des Programms auf true setzen. Dies erfolgt durch eine Anweisung in der schon bekannten Form: derFinder.includeStandardAdditions = true;

Ihnen stehen ab jetzt die Funktionen der StandardAdditions in dem entsprechenden Programm zur Verfügung. Zugriff auf die Zwischenablage erhalten Sie durch die Kommandos theClipboard und setTheClipboardTo. Das erste Kommando fragt den aktuellen Inhalt der Zwischenablage ab, sodass Sie mit einer Anweisung wie ausAblage = derFinder.theClipboard();

den aktuellen Inhalt der Zwischenablage in der Variablen ausAblage speichern. Bedenken Sie hierbei, dass Sie in den meisten Fällen nicht sicher wissen können, welche Daten sich in der Zwischenablage befinden und ob sie von Ihrem Skript verarbeitet werden können. Den Inhalt der Zwischenablage setzen Sie mit dem Kommando setTheClipboardTo, dem Sie als Parameter eine Variable übergeben. Mit den Zeilen einText = "Lorem ipsum";

derFinder.setTheClipboardTo(einText);

würde zunächst eine Variable mit einer Zeichenkette definiert und dann der Zwischenablage als Inhalt zugewiesen. Deren Inhalt können Sie beispielsweise im Finder über den Menüpunkt Bearbeiten • Zwischenablage einblenden einsehen.

Abbildung 19.8    Die »StandardAdditions« ermöglichen die Interaktion mit dem Anwender.

Um die Ausführung des Skripts kurzzeitig anzuhalten, nutzen Sie die Anweisung delay(). Diese gehört streng genommen eigentlich nicht zu den StandardAdditions, sodass der Aufruf nicht derFinder.delay(5);, sondern einfach nur delay(5); lautet. Als Parameter übergeben Sie ihr die Anzahl der Sekunden, die gewartet werden sollen. Ferner ist es möglich, über die Anweisungen say() und beep() die Tonausgabe von macOS zu nutzen. Hierbei müssen Sie allerdings beachten, dass der Aufruf nicht an ein Programm geschickt werden kann, das Sie über seinen Namen, etwa mit derFinder = Application("Finder");, angesprochen haben. Die Anweisungen funktionieren nur, wenn sie an die aktuelle Applikation geschickt werden. Diese sprechen Sie mit der Anweisung dasProgramm = Application.currentApplication(); an.

In Listing 19.2 finden Sie ein Beispielskript, das über die Variable dasProgramm auf die aktuelle Applikation, in diesem Fall den Skript-Editor, zugreift. Die StandardAdditions werden eingebunden, dann erklingt dreimal der Warnton des Systems, und abschließend erfolgt die Sprachausgabe. Dazwischen wird jeweils eine Sekunde gewartet.

dasProgramm = Application.currentApplication();

dasProgramm.includeStandardAdditions = true;

delay(1);

dasProgramm.beep(2);

delay(1);

dasProgramm.say("Hallo Welt");

Listing 19.2    Sprachausgabe

Neben diesen grundlegenden Funktionen bieten die StandardAdditions noch einige weitere Möglichkeiten, etwa den Umgang mit Zeichenketten und das Laden von extern gespeicherten Skriptdateien. 19.1.5    Benutzerkonten und die System-Events

In vielerlei Hinsicht nützlich sind neben den StandardAdditions auch die System-Events. Diese werden wie ein Programm angesprochen. Daher müssen Sie sie über eine Anweisung in der Form SystemEvents = Application("System Events");

aktivieren. Während der Eintrag in der Bibliothek System-Events lautet, werden sie im Quellcode ohne Bindestrich in der Form System Events aufgerufen. Der Funktionsumfang der System-Events ist recht umfangreich und reicht von der Konfiguration des Schreibtischhintergrunds bis hin

zur (rudimentären) Bearbeitung von XML-Dateien. Nützlich sind sie bei der Erstellung von Skripten im Alltag in erster Linie für das Einholen von Informationen über das aktuelle Benutzerkonto mithilfe der Account Suite. Wenn Sie ein Skript programmieren, das in einem Unterverzeichnis des persönlichen Ordners des ausführenden Anwenders Daten ablegt, dann können Sie Pfade nicht in der Form /Users/kai/Documents/Unterordner angeben, da das Skript aufgrund der Zugriffsrechte nur für diesen Benutzer funktionieren würde.

SystemEvents = Application("System Events");

SystemEvents.includeStandardAdditions = true;

Accountname = SystemEvents.currentUser.name();

Ordner = SystemEvents.currentUser.homeDirectory();

SystemEvents.displayDialog(Ordner, {"withTitle": Accountname});

Listing 19.3    Benutzerinformationen

Das Beispiel in Listing 19.3 zeigt, wie Sie diese Informationen einholen können. Mithilfe des Objekts currentUser erhalten Sie Informationen über das aktuelle Benutzerkonto. Mit .name() fragen Sie den Accountnamen des Benutzerkontos ab. Alternativ könnten Sie auch mit .fullname() den vollständigen Namen ermitteln. Den Pfad zum persönlichen Ordner ermitteln Sie über .homeDirectory(). Die beiden Variablen werden dann in einem einfachen Dialog verwendet (siehe Abbildung 19.9).

Abbildung 19.9    Der Accountname und der Pfad werden in einem Dialog ausgegeben.

19.2    JavaScript for Automation in der Praxis In diesem Abschnitt finden Sie fünf kleinere Skripten, die Ihnen die praktischen Möglichkeiten von JavaScript aufzeigen sollen. Die Beispiele sind bewusst einfach gehalten, demonstrieren aber einige grundsätzliche Verfahren und Methoden. 19.2.1    Dialoge und Eingaben auswerten und nutzen

Nicht immer soll ein Skript vollkommen unbeaufsichtigt ablaufen, und in vielen Situationen werden vom Anwender Eingaben erwartet. Die StandardAdditions bieten Ihnen die Möglichkeit, verschiedene Dialoge aufzurufen und die Eingaben des Anwenders auszuwerten.

dasProgramm = Application.currentApplication();

dasProgramm.includeStandardAdditions = true;

dasErgebnis = dasProgramm.displayDialog("Zweiten Dialog anzeigen?");

if (dasErgebnis.buttonReturned == "OK") {

dasProgramm.displayDialog ("Wie gewünscht, der zweite Dialog!");

}

Listing 19.4    Dialog 1

Listing 19.4 zeigt ein einfaches Beispiel für einen Dialog, der über die StandardAdditions aufgerufen wird. Der Anwender wird gefragt, ob er sich einen zweiten Dialog anzeigen lassen möchte. Wenn er eine der Schaltflächen (OK oder Abbrechen) anklickt, dann wird das Resultat in der Variablen dasErgebnis gespeichert. Hierbei handelt es sich um eine benannte Liste, und welche Schaltfläche angeklickt wurde, wird in dem Element buttonReturned gespeichert. Es erfolgt dann eine einfache Prüfung, ob der Wert dieses Elements OK

entspricht, und sofern dies der Fall ist, wird der zweite Dialog angezeigt. Die Dialoge lassen sich über verschiedene Eigenschaften konfigurieren, die Sie als benannte Liste übergeben. Dabei ist es auch möglich, den Anwender zur Eingabe von Text aufzufordern. Hierfür muss die Eigenschaft defaultAnswer vorhanden sein. Ferner können Sie mit withTitle einen Titel vergeben, bis zu drei Schaltflächen über die Eigenschaft buttons erzeugen und schließlich mit withIcon eines von drei Icons (stop, note und caution) vorgeben.

dasProgramm = Application.currentApplication();

dasProgramm.includeStandardAdditions = true;

dasErgebnis = dasProgramm.displayDialog("Wie heißen Sie?",

{defaultAnswer: "", withTitle : "Kurze Frage", withIcon: "note",

buttons : ["Abbrechen", "Wie bitte?", "OK"]});

if (dasErgebnis.buttonReturned == "OK") {

derName = dasErgebnis.textReturned;

dasProgramm.displayNotification ("Hallo " + derName);

};

Listing 19.5    Dialog 2

In Listing 19.5 finden Sie ein Beispiel für einen umfangreicheren Dialog (siehe Abbildung 19.10), dem verschiedene Eigenschaften über eine benannte Liste mitgegeben werden. Die Eigenschaft defaultAnswer wird mit einer leeren Zeichenkette versehen und die Liste der drei Schaltflächen wird in JavaScript als Zeichenliterale in eckigen Klammern übergeben. Welchen Text der Anwender eingegeben hat, ist in der Variablen dasErgebnis in der Eigenschaft textReturned gespeichert. Diese Variable wird dann, sofern der Anwender auf die Schaltfläche OK geklickt hat, genutzt, um mit der Anweisung displayNotification den Anwender in Form einer Mitteilung in der Mitteilungszentrale zu begrüßen.

Abbildung 19.10    Der Dialog enthält ein Textfeld und drei Schaltflächen.

19.2.2    Nummerierung von Titeln in iTunes korrigieren

Wenn Sie über eine umfangreiche Musiksammlung verfügen, dann ist die Pflege der ID-Tags der Dateien in iTunes für eine komfortable Verwaltung Ihrer Sammlung fast unabdingbar. Oft liegen die Dateien aber in einer Form vor, bei der die Eigenschaften wie Titelnummer, Anzahl oder Albumtitel fehlerhaft sind. In Abbildung 19.11 finden Sie ein Beispiel für eine unzureichende Konfiguration der Titel. Die Nummer des Titels ist keine Eigenschaft, etwa 1 von 14, sondern Bestandteil des Namens (01 Daredevil). Ferner wurde für die Titel kein Album und für das Album nicht die Gesamtzahl der Titel vergeben. Zwar ließe sich dies von Hand korrigieren, aber schon mit einem kleinen Skript sparen Sie sich hier viel Arbeit.

Abbildung 19.11    Die Eigenschaften der Titel sind fehlerhaft und müssen korrigiert werden.

Aufgrund der Nummer, die sich bereits im Namen befindet, haben die Titel eigentlich schon die richtige Reihenfolge. Das Skript hat nun folgende Aufgaben zu erledigen: Albumtitel

Es soll den Titel des Albums über einen Dialog erfragen und allen ausgewählten Titeln zuweisen. Name der Titel korrigieren

Die ersten drei Zeichen der Titel bestehen aus der Nummer, gefolgt von einem Leerzeichen. Daher sollen die ersten drei Zeichen gelöscht werden. Nummerierung korrigieren

Den Titeln sollen die aktuelle Nummer sowie die Gesamtzahl der Titel des Albums als Eigenschaft zugewiesen werden. Damit das Skript ausgeführt werden kann, muss der Anwender die entsprechenden Titel vorher in iTunes auswählen. Die Auswahl steht dann über die Methode .selection() zur Verfügung. In Listing 19.6 finden Sie ein Skript, das die Korrekturen vornimmt. Die notwendigen Informationen über die Eigenschaften der Titel, bei denen es sich um Objekte vom Typ Track handelt, finden Sie im Skript-Editor in der Bibliothek iTunes. Das Skript selbst fragt zunächst den Anwender nach dem Titel des Albums. Die Eingabe wird dann in der Variablen derAlbumtitel gespeichert. Anschließend werden die ausgewählten Titel, die allen Titeln des betreffenden Albums entsprechen müssen, mit .selection() abgefragt. Es wird dann eine für JavaScript normale Schleife durchlaufen, wobei die Anzahl der ausgewählten Titel (dieAuswahl.length) als maximale Anzahl der Durchläufe gilt.

iTunes = Application("iTunes");

iTunes.includeStandardAdditions = true;



dasErgebnis = iTunes.displayDialog("Wie soll das Album heißen?",

{defaultAnswer: ""});

if (dasErgebnis.buttonReturned == "OK") {

derAlbumtitel = dasErgebnis.textReturned;

};

dieAuswahl = iTunes.selection();

for (var i = 0; i < dieAuswahl.length; i++) {

aktuellerTitel = dieAuswahl[i];

aktuellerName = aktuellerTitel.name();

aktuellerName = aktuellerName.slice(3);

aktuellerTitel.name = aktuellerName;

aktuellerTitel.album = derAlbumtitel;

aktuellerTitel.trackNumber = i + 1;

aktuellerTitel.trackCount = dieAuswahl.length;

};

Listing 19.6    iTunes

In der Liste dieAuswahl stehen die ausgewählten Titel als einzelne Elemente zur Verfügung (aktuellerTitel = dieAuswahl[i];). Es wird dann der aktuelle Name abgefragt, und mit der JavaScript-Standardfunktion .slice() werden die ersten drei Zeichen entfernt. Die so korrigierten Zeichen werden der Eigenschaft .name des aktuellen Titels zugewiesen. Der Name lautet nun Daredevil anstatt 01 Daredevil.

Abbildung 19.12    Die Liste der Titel wurde per JavaScript automatisch korrigiert.

Dann wird die Eigenschaft .album unter Rückgriff auf die Eingabe des Benutzers gesetzt (aktuellerTitel.album = derAlbumtitel;). Da die Titel aufgrund ihres Namens ja schon die

eigentlich richtige Reihenfolge hatten, können wir für die Vergabe der Titelnummer auf den Wert der Variablen i zurückgreifen. Hier müssen wir, da die Listen von 0 beginnend nummeriert werden, noch 1 addieren. Die Gesamtanzahl (.trackCount) der Titel des Albums entspricht der Anzahl der ausgewählten Elemente. Abbildung 19.12 zeigt das Ergebnis. 19.2.3    Auf Dateien und Ordner zugreifen

Wenn Sie mit Dateien arbeiten, dann müssen Sie eine Besonderheit von JavaScript for Automation beachten: Sie können Pfadangaben nicht als einfache Zeichenkette in der Form (Pfad = "/Users/kai/Desktop") angeben. Vielmehr müssen Sie einen Typ vom Objekt Path erzeugen, und zwar in der Form Pfad = Path("/Users/kai/Desktop").Dies kann zu ein wenig Verwirrung führen, wenn der Überblick, ob man es gerade mit einer Zeichenkette oder einer Pfadangabe zu tun hat, verloren geht. In Listing 19.7 finden Sie ein kleines Skript, das den Anwender mit .chooseFolder() zunächst nach einem Ordner fragt. Über das zu den StandardAdditions gehörende Kommando .listFolder() wird der Inhalt des ausgewählten Ordners abgefragt und anschließend dem Anwender mittels .chooseFromList() in Form einer Liste zur Auswahl gestellt.

dasProgramm = Application.currentApplication();

dasProgramm.includeStandardAdditions = true;

derOrdner = dasProgramm.chooseFolder();

derInhalt = dasProgramm.listFolder(derOrdner);

dieAuswahl = dasProgramm.chooseFromList(derInhalt);

dieDatei = Path(derOrdner + "/" + dieAuswahl);

dasProgramm.infoFor(dieDatei);

Listing 19.7    Ordnerinhalt

Für welche Datei sich der Anwender entschieden hat, wird in der Variablen dieAuswahl gespeichert. Hierbei handelt es sich aber nicht mehr um eine Pfadangabe vom Typ Path, sondern um eine normale Zeichenkette, die nur aus dem Dateinamen besteht. Um die Eigenschaften der Datei abzufragen, muss zunächst ein vollständiges Path-Objekt dieDatei erzeugt werden. Dieses setzt sich aus dem zuvor ausgewählten Ordner sowie dem Dateinamen zusammen. Da die Pfadangabe des Ordners nicht mit einem Schrägstrich abgeschlossen wird, muss dieser noch dazwischen eingefügtwerden. Über die Funktion .infoFor() erhalten Sie weitere Informationen über die Eigenschaften der Datei, wie ihr Erstellungs- und Änderungsdatum sowie das Suffix (nameExtension). Letzteres könnten Sie zum Beispiel über Suffix = dasProgramm.infoFor(dieDatei).nameExtension;

abfragen und dann über eine Bedingung entscheiden, wie Sie mit Dateien dieses Typs umgehen möchten. 19.2.4    Kontaktdaten als CSV-Datei exportieren

Das nächste Beispiel hat die Aufgabe, die ausgewählten Kontakte im gleichnamigen Programm abzufragen und deren Namen und, sofern vorhanden, E-Mail-Adresse und Telefonnummer als CSVDatei zu exportieren. Das Programm Kontakte bietet nur eingeschränkte Möglichkeiten des Exports, und CSV-Dateien, bei denen die Werte durch Kommata oder Semikola getrennt werden, unterstützt es dabei leider nicht. Allerdings sind CSV-Dateien sehr

nützlich, da sie von den meisten Tabellenkalkulationen wie Numbers und Excel unterstützt werden.

appKontakte = Application("Contacts");

appKontakte.includeStandardAdditions = true;

appCurrent = Application.currentApplication();

appCurrent.includeStandardAdditions = true;

dieAuswahl = appKontakte.selection();

dasErgebnis = "Name;Email;Telefon\n";

for (var i = 0; i < dieAuswahl.length; i++){

dasErgebnis += dieAuswahl[i].name() + ";" ;

if (dieAuswahl[i].emails()[0]){

dasErgebnis += dieAuswahl[i].emails()[0].value();

};

dasErgebnis += ";";

if (dieAuswahl[i].phones()[0]){

dasErgebnis += dieAuswahl[i].phones()[0].value();

};

dasErgebnis += "\n";

};

derDateiname = appCurrent.chooseFileName();

dieDatei = appCurrent.openForAccess(derDateiname,

{"writePermission" : true});

appCurrent.write(dasErgebnis, {"to": dieDatei});

appCurrent.closeAccess(dieDatei);

Listing 19.8    Adressexport

Wenn Sie das Skript in Listing 19.8 studieren, werden Sie feststellen, dass zwei Applikationen (appKontakte und appCurrent) angesprochen werden. Der Grund besteht darin, dass die abschließenden Zugriffe auf das Dateisystem nicht von dem Programm Kontakte aus erfolgen können, wenn das Skript im Programm Skript-Editor ausgeführt wird. Würden Sie versuchen, dass das Programm Kontakte auf das Dateisystem zugreift, dann würden Sie eine Fehlermeldung erhalten.

Das Skript selbst fragt zunächst die ausgewählten Adressen im Programm Kontakte ab und speichert sie in der Variablen dieAuswahl. Anschließend wird eine Textvariable dasErgebnis erzeugt, bei der die Kopfzeilen der CSV-Datei vorgegeben werden. Mit den Zeichen \n erzeugen Sie einen Zeilenumbruch. Dann folgt eine Schleife, die über die ausgewählten Objekte iteriert. Hier wird zuerst der Name der Variablen dasErgebnis hinzugefügt. Da Kontakte auch über mehrere oder gar keine Telefonnummer und E-Mail-Adresse verfügen können, wird jeweils zuerst geprüft, ob überhaupt ein Element in der Liste phones beziehungsweise emails vorhanden ist. Über die Eigenschaften dieser Objekte können Sie sich wiederum in der Bibliothek des Skript-Editors informieren.

Abbildung 19.13    Die als CSV-Datei exportierten Kontakte können direkt in »Numbers« importiert werden.

Wenn eines oder mehrere Objekte vom Typ email oder phone vorhanden sind, dann wird der Wert des jeweils ersten an die Variable dasErgebnis angehängt. Andernfalls bleibt diese Spalte leer. Nach jedem Kontakt wird noch ein Zeilenumbruch zum Schluss eingefügt.

Abschließend müssen wir die Zeichenkette in einer Datei speichern. Hierzu müssen wir die Applikation ansprechen, in der das Skript ausgeführt wird. Das Kommando .chooseFileName() ermöglicht dem Anwender die Auswahl eines Dateinamens und eines Ordners. Diese Information wird in der Variablen derDateiname gespeichert. Um Daten in die Datei schreiben zu können, muss diese geöffnet werden, was mit dem Kommando .openForAccess() geschieht. Hierbei müssen wir zusätzlich für die Eigenschaft writePermission den Wert true setzen, damit der Schreibzugriff erfolgen kann. Anschließend wird über das Kommando .write der Inhalt der Variablen dasErgebnis in die Datei geschrieben, die diesem Kommando quasi als Eigenschaft übergeben wird. Abschließend wird die Datei mit .closeAccess() wieder geschlossen. Die erstellte Datei können Sie anschließend in Numbers öffnen (siehe Abbildung 19.13). 19.2.5    E-Mails mit Anreden erstellen

Das fünfte Beispiel hat die Aufgabe, die im Programm Kontakte ausgewählten Personen mit einer individualisierten E-Mail anzuschreiben. Dabei interagieren die Programme Mail und Kontakte. Zunächst wird in bekannter Form die Auswahl im Programm Kontakte abgefragt (dieZielgruppe), und die gewählten Kontakte werden dann in einer Schleife der Reihe nach abgearbeitet. Sofern ein Kontakt nicht über eine E-Mail-Adresse verfügt, wird die Schleife mit continue direkt fortgesetzt. Anschließend wird in Mail eine neue Nachricht vom Typ OutgoingMessage erzeugt. Da E-Mails mehrere Empfänger haben

können, handelt es sich bei der Eigenschaft .toRecipients() einer E-Mail um eine Liste. Da die Nachricht ganz neu erstellt wurde, wird der erste Eintrag der Liste mit der Adresse der Person aus dem Programm Kontakte gefüllt. Hierbei wird aber keine Zeichenkette angegeben, sondern ein eigenes Objekt vom Typ Recipient. Ihm wird die E-Mail-Adresse des Empfängers als Eigenschaft address übergeben. Danach wird eine Zeichenkette derText erstellt, die bei der Anrede auf den Wert der Eigenschaft .firstName() zurückgreift. Nachdem die Mitteilung, bei der Zeilenumbrüche mit \n erzeugt wurden, fertiggestellt ist, wird sie der Eigenschaft .content der Nachricht zugewiesen. Mit .subject wird ferner der Betreff der EMail vorgegeben. Mail = Application("Mail");

Kontakte = Application("Contacts");

dieZielgruppe = Kontakte.selection();

for (var i = 0; i < dieZielgruppe.length; i++){

derKontakt = dieZielgruppe[i];

if (!derKontakt.emails()[0]){

continue;

};

dieAdresse = derKontakt.emails()[0].value();

dieNachricht = Mail.OutgoingMessage().make();

dieNachricht.toRecipients[0] = Mail.Recipient({"address" : dieAdresse});

dieNachricht.subject = "Test mit JavaScript!";

derText = "Hallo " + derKontakt.firstName();

derText += ", \n\n";

derText += "Dies ist nur ein personalisierter Test mit JavaScript!\n\n";

derText += "Gruß,\n Kai";

dieNachricht.content = derText;

Mail.send(dieNachricht);

}

Listing 19.9    Personalisierte Mail

Abbildung 19.14    Die E-Mail wurde mithilfe von JavaScript automatisch personalisiert.

Abschließend erfolgt ein Aufruf des Kommandos .send(), dem die zuvor erstellte Nachricht als Parameter übergeben wird (siehe Abbildung 19.14). Die Nachrichten werden also bei der Ausführung des Skripts sofort verschickt. Wenn Sie das Skript testen und erweitern, möchten Sie möglicherweise diese Anweisung übergangsweise löschen oder auskommentieren.

19.3    JavaScript ins System integrieren Den Skript-Editor eigens zu starten, wenn Sie ein Skript ausführen möchten, ist eher unpraktisch. macOS bietet Ihnen einige Möglichkeiten, um Ihre Skripten direkt in das System zu integrieren. 19.3.1    Das Skriptmenü

Zunächst können Sie das Skriptmenü nutzen. Hierzu rufen Sie im Skript-Editor die Voreinstellungen über den Menüpunkt SkriptEditor • Einstellungen auf. Sie finden dort in der Ansicht Allgemein (siehe Abbildung 19.15) die Option Skriptmenü in Menüleiste zeigen. macOS bringt von Haus aus einige Skripten in AppleScript mit, die Sie über die Option Computerskripts einblenden direkt nutzen können.

Abbildung 19.15    Das Skriptmenü aktivieren Sie in den Einstellungen des Skript-Editors.

Haben Sie das Skriptmenü aktiviert, dann erscheint in der Menüleiste oben rechts ein neuer Eintrag. Neben den schon

vorhandenen, allgemeinen Skripten, die sich im Verzeichnis /Library/Scripts befinden, können Sie auch Skripten für die einzelnen Programme hinterlegen. Diese Programmskripten werden im Menü nur angezeigt, wenn sich das jeweilige Programm im Vordergrund befindet. In den Einstellungen des Skript-Editors können Sie festlegen, ob diese Skripten oben oder unten angezeigt werden sollen. Um ein JavaScript-Skript nur in einem bestimmten Programm anzeigen zu lassen, wählen Sie im Skriptmenü (siehe Abbildung 19.16) den Eintrag Skriptordner öffnen •  Skriptordner von Programm öffnen. Das betreffende Programm müssen Sie zuvor in den Vordergrund geholt haben. Nun öffnet sich ein neues Fenster, das Ihnen einen Ordner ~/Scripts/Applications/Name anzeigt. Skripten, die Sie in diesen Ordner bewegen oder kopieren, werden nur in dem jeweiligen Programm angezeigt. Am Rande: Nutzen Sie das Skriptmenü, dann handelt es sich bei dem ausführenden Programm immer auch um die Applikation, die Sie über .currentApplication ansprechen können. Daher ist das in Abschnitt 19.2.4 genutzte Verfahren, bei dem für den Zugriff auf die Datei das Programm Skript-Editor angesprochen werden muss, auch nicht mehr nötig. Sie müssten die in Listing 19.8 vorhandene Doppelung der Programmaufrufe nicht mehr nutzen und könnten ausschließlich mit der Variablen appCurrent arbeiten.

Abbildung 19.16    Über das Skriptmenü können Sie Skripten direkt ausführen.

19.3.2    JavaScript im Automator nutzen

Bei der Erstellung eines Arbeitsablaufs im Automator steht Ihnen die Aktion JavaScript ausführen zur Verfügung (siehe Abbildung 19.17). Diese enthält von Haus aus die Funktion run, der Sie als Parameter input die Ergebnisse der vorhergehenden Aktion übergeben.

Abbildung 19.17    Im Automator können Sie die Aktion »JavaScript ausführen« für kleine Skripten nutzen.

Bei der Funktion sollten Sie mit return eine Variable zurückgeben, damit eine nachfolgende Aktion ein Ergebnis erhält. Bei der Programmierung des Skripts müssen Sie bedenken, dass Ihnen die meisten Funktionen zur Interaktion nicht in gewohnter Form zur Verfügung stehen. 19.3.3    JavaScript-Programme als Apps speichern

JavaScript hat in den letzten Versionen für die Automatisierung von Aufgaben an Bedeutung gewonnen, und Sie könnten auch ganze Cocoa-Applikationen mit JavaScript entwickeln. Aber bei der Programmierung von Skripten für den Alltag müssen Sie sich nicht unbedingt mit dem mächtigen Cocoa-Framework im Detail auseinandersetzen. In vielen Fällen reicht es schon, wenn Sie Ihr Skript über Ablage • Sichern als eigenständiges Programm sichern. Hierzu wählen Sie unter Dateiformat die Option Programm aus (siehe Abbildung 19.18). Damit wird Ihr Skript als Programm gespeichert. Wenn Sie das Programm starten, dann wird sofort Ihr Skript ausgeführt und das Programm anschließend beendet.

Abbildung 19.18    Die Option »Nach run-Handler anzeigen« wird ausgewählt, damit das Programm dauerhaft aktiv bleibt.

Wenn Sie möchten, dass das Programm aktiv bleibt, dann wählen Sie zusätzlich die etwas missverständlich benannte Option Nach run-Handler anzeigen. Sie sorgt auch dafür, dass Sie Dateien und Ordner auf das Programm im Dock ziehen können, während es ausgeführt wird. Bei einem solchen Programm können Sie einige Funktionen nutzen. Die Funktion run() wird ausgeführt, wenn das Programm gestartet wurde, während idle() im Ruhezustand ausgeführt wird, also wenn das Programm nichts zu tun hat. Die Funktion quit() wird ausgeführt, wenn Sie das Programm über Name • Beenden schließen. Zugriff auf die Dateien, die auf das Icon gezogen wurden, erhalten Sie mithilfe der Funktion openDocuments(Dateien). Dieser Funktion übergeben Sie eine Liste der Dateien in Form von Objekten des Typs Path, die auf das Icon gezogen wurden. In Listing 19.10 werden neben openDocuments() zwei weitere Funktionen genutzt. Unmittelbar nach dem Start sieht der Anwender einen Dialog, der in der Funktion run() aufgerufen wird. Befindet sich das Programm im Wartezustand, dann wird die Funktion idle() ausgeführt. Werden Dateien auf das Programm gezogen, dann wird die Funktion openDocuments() ausgeführt. Hier wird von der ersten Datei mit dem Kommando .infoFor() (siehe Abschnitt 19.2.3) der Dateiname ermittelt und dann in einem Dialog ausgegeben.

currentApp = Application.currentApplication();

currentApp.includeStandardAdditions = true;

function run(){

currentApp.displayDialog("Es geht los");

}

function openDocuments(Dateien){

ersteDatei = Dateien[0];

Dateiname = currentApp.infoFor(ersteDatei).name;

currentApp.displayDialog(Dateiname);

}

function idle(){

currentApp.displayDialog("Jetzt passiert gerade nichts.");

}

Listing 19.10    Programm

19.3.4    Mit JavaScript auf die Shell zugreifen

Schließlich ist es auch möglich, mit JavaScript Befehle über die Shell auszuführen. Hierzu steht Ihnen in den StandardAdditions das Kommando doShellScript zur Verfügung. Ihm übergeben Sie als Zeichenkette den Befehl in einer Form, wie Sie ihn am Terminal direkt eingäben. Beim Aufruf müssen Sie bedenken, dass einige Umgebungsvariablen anders gesetzt werden, als dies bei der Arbeit am Terminal der Fall ist. So ist das aktuelle Arbeitsverzeichnis immer die oberste Ebene /, und weitere gesetzte Umgebungsvariablen werden wahrscheinlich nicht ausgewertet.

currentApp = Application.currentApplication();

currentApp.includeStandardAdditions = true;

dasErgebnis = currentApp.doShellScript("ls -l ~/Documents");

currentApp.displayDialog(dasErgebnis);

Listing 19.11    Shell-Skript

In Listing 19.11 wird lediglich der Inhalt des Ordners Dokumente mittels ls ermittelt. Das Kommando doShellScript() gibt die Ausgabe des Befehls in Form einer Zeichenkette zurück, die dann unmittelbar per .displayDialog() ausgegeben wird. Zeilenumbrüche werden auch hier durch \n gekennzeichnet. Möchten Sie den Befehl nicht unter Ihrem persönlichen Benutzerkonto, sondern als Administrator mit erweiterten Rechten

ausführen, dann geben Sie doShellScript die Eigenschaft administratorPrivileges in der Form dasErgebnis = currentApp.doShellScript("ls -l ~/Documents",

{" administratorPrivileges" : true});

[+] mit. Sie werden anschließend nach dem Passwort für den administrativen Benutzer gefragt. Diese Form des Aufrufs von doShellScript entspricht ungefähr dem Aufruf eines Befehls mit sudo (siehe Abschnitt 6.3.1). Achten Sie aber hierbei darauf, welche Befehle Sie ausführen und ob nicht durch eine Unachtsamkeit Datenverluste drohen.

19.4    Fehlern und Bugs auf der Spur Bei der Programmierung von Skripten werden sich unweigerlich Fehler und Bugs einschleichen. Zunächst stellt Ihnen der SkriptEditor ein paar Funktionen zur Verfügung, mit denen Sie den Ablauf Ihres Skripts verfolgen können. Aber auch Safari kann bei der Suche nach Fehlern eine große Rolle spielen. 19.4.1    Der Protokollverlauf im Skript-Editor

Am unteren Rand des Fensters im Skript-Editor finden Sie ein Icon mit drei Strichen. Wenn Sie es anklicken, erscheint im unteren Bereich des Fensters ein Textfeld, das Ihnen die Nachrichten (siehe Abbildung 19.19) und gegebenenfalls auch die Events Ihres Skripts während der Abarbeitung anzeigt.

Abbildung 19.19    Die Ausgaben von »console.log()« werden unter »Nachrichten« ausgegeben.

Mit der unter JavaScript üblichen Anweisung console.log() können Sie hier Nachrichten hinterlassen, etwa in der Form console.log("Kontakt hat eine Telefonnummer"). Auf diese Weise lässt sich der Fortschritt des Skripts an einigen entscheidenden Stellen protokollieren. Solche Einträge finden Sie unter Nachrichten.

Abbildung 19.20    Die »Events« geben detailliert Aufschluss über die Ereignisse des Programms.

In den Events (siehe Abbildung 19.20) finden Sie zusätzlich Informationen über die Objekte und Ereignisse, die von Ihrem Skript angesprochen und manipuliert wurden.

Abbildung 19.21    Der »Protokollverlauf« gibt detaillierten Einblick in die Ausführung der Skripten.

Möchten Sie nachträglich die Protokolle der Skripten einsehen, dann können Sie über den Menübefehl Fenster • Protokollverlauf auch das Protokoll einblenden (siehe Abbildung 19.21). Hier finden Sie im Detail die Events und Nachrichten, versehen mit dem Zeitpunkt der Ausführung des Skripts. 19.4.2    Den Debugger mit Safari nutzen

Programmieren Sie eine umfangreichere JavaScript-Anwendung, dann ist Safari eine nicht zu unterschätzende Hilfe. Sie müssen hierzu in den Voreinstellungen von Safari in der Ansicht Erweitert zunächst die Option Menü "Entwickler"  in der Menüleiste anzeigen einschalten. In Safari aktivieren Sie dann den Menübefehl Entwickler •  Name Ihres Rechners • Webinformationen für JSContext

automatisch einblenden. Nun lauscht Safari im Hintergrund auf

Ereignisse, die das Fenster Webinformationen beanspruchen.

Abbildung 19.22    Der Debugger von Safari leistet bei der Programmierung komplexerer Skripten wertvolle Dienste.

Sie können sich dies nun zunutze machen, indem Sie in Ihrem Skript die einfache Anweisung debugger an einer kritischen Stelle einfügen. Wird beim Ablauf Ihres Skripts diese Stelle erreicht und ist Safari im Hintergrund aktiv, dann wird Ihr Skript angehalten, und es erscheint das Fenster Webinformationen von Safari (siehe Abbildung 19.22). Hier finden Sie den Quellcode Ihres Skripts und können dieses zum Beispiel über die Icons in der linken Spalte schrittweise fortführen und auch auf die Konsole zugreifen und die dortigen Ausgaben einsehen. Mit einem Klick auf die kleine Schaltfläche Debugger angehalten setzen Sie die Ausführung Ihres Skripts bis zum nächsten Aufruf mittels debugger; fort.

20    Server und Dienste mit »launchd« steuern Der zentrale Dienst im Hintergrund ist »launchd«. Bei »launchd« handelt es sich um ein mächtiges Werkzeug, mit dem Sie Dienste im Hintergrund kontrollieren und Programme zeitgesteuert starten. Starten Sie das Dienstprogramm Aktivitätsanzeige, dann finden Sie dort immer einen Prozess launchd mit der PID 1. Bei diesem Prozess handelt es sich um die zentrale Instanz des Systems. Er kontrolliert den Start von Diensten und Daemons im Hintergrund, kann diese bei Bedarf auf Anforderung starten, überwacht ihre Ausführung und beendet sie spätestens dann, wenn das Betriebssystem heruntergefahren wird. Dabei verfügt launchd über einige Funktionen und Fähigkeiten, deren Kenntnis Ihnen auch im Arbeitsalltag nutzen kann. In diesem Kapitel stelle ich Ihnen die Funktionsweise von launchd vor. Neben den Grundlagen und Konzepten, auf denen launchd beruht, lernen Sie auch, wie Sie eigene LaunchDaemons und LaunchAgents erstellen und verwalten. Apple führte launchd mit Mac OS X 10.4 ein. Dabei ersetzte launchd eine ganze Reihe von althergebrachten Methoden und Verfahren, die unter Unix-Systemen genutzt wurden und werden, um Prozesse wie Serverdienste im Hintergrund zu starten und zu verwalten. Zum Beispiel ersetzt launchd die Funktionen der Programme cron und at, die Ihnen möglicherweise von bereits bekannt sind, wenn Sie sich mit Linux auskennen.

In den letzten Jahren hat launchd eine grundlegende Überarbeitung erfahren. Zwar sind die bisher genutzten Aktionen wie load und unload noch funktionsfähig, wurden aber zugunsten einer differenzierteren Unterscheidung der einzelnen Bereiche beziehungsweise Domänen aufgegeben. Die neueren Verfahren erläutere ich in diesem Kapitel. Diese sind jedoch nach wie vor nicht gut dokumentiert, sodass die Funktionsweise im Detail manchmal unklar ist. Ferner ist die Dokumentation derzeit leider nicht korrekt. So wird in der über man launchd.plist aufzurufenden Dokumentation nach wie vor die Eigenschaft EnableGlobbing aufgeführt und erklärt, die bis Version OS X 10.9 dazu führte, dass beim Aufruf eines Programms eine Pfadangabe in der Form von ~ ausgewertet und in einen vollständigen Pfad der Form /Users/kai umgewandelt wurde. Möchten Sie diese Eigenschaften jedoch nutzen, dann erhalten Sie auch unter macOS 10.13 als Ausgabe in den Protokollen folgenden Hinweis: The EnableGlobbing key is no longer respected. Please remove it. Auch gehört launchd nicht mehr zu den Komponenten, deren Quellcode Apple der Öffentlichkeit zugänglich macht. Daher ist es manchmal nicht mehr möglich, die genaue Funktionsweise nachzuvollziehen. Es scheint, dass diese Technologie nicht zuletzt aufgrund der Annäherung von macOS und iOS nach wie vor im Umbruch befindlich ist.

20.1    Grundlagen der Arbeit mit »launchd« Bei dem Daemon launchd lohnt sich ein eigener, etwas theoretisch gehaltener Abschnitt zum Einstieg. Wenn Sie die Begrifflichkeiten verstanden haben, also einen LaunchDaemon von einem

LaunchAgent unterscheiden können, dann fällt Ihnen der Einsatz von launchd für Ihre eigenen Zwecke umso leichter. 20.1.1    Aufgaben und Einsatzgebiete von »launchd«

Der Daemon launchd übernimmt unter macOS eine Reihe von Aufgaben. So ist er nach dem Kernel zunächst für den eigentlichen Start des Betriebssystems zuständig. launchd startet alle Hintergrunddienste, die in Summe dann das Betriebssystem darstellen. Ferner aktiviert launchd im Hintergrund Server, wie sie für den Datenaustausch über beispielsweise AFP notwendig sind. Nach dem Start werden diese Dienste von launchd überwacht, der einen abgestürzten Dienst auch automatisch neu starten kann, sofern der Dienst entsprechend konfiguriert wurde. Der Daemon launchd ist auch in der Lage, Programme zu einem festgelegten Zeitpunkt oder in Intervallen regelmäßig auszuführen. Nützlich ist dies zum Beispiel dann, wenn ein Verzeichnis zu einer bestimmten Uhrzeit mit einem Server synchronisiert werden soll. Ferner ist es möglich, dass launchd auf Anfragen aus dem Netzwerk reagiert und einen Dienst erst in dem Moment startet, in dem eine entsprechende Anfrage eingeht. Hinter launchd verbirgt sich das Bestreben, ein möglichst flexibles System zu schaffen, mit dem Dienste nur dann gestartet werden, wenn sie benötigt werden. Die Ressourcen eines Computers in Bezug auf Rechenzeit und Speicherkapazität sind auch heutzutage begrenzt. Ein möglichst ökonomisches Vorgehen bei der Verwaltung von Prozessen ist daher in jedem Fall sinnvoll. Sehr wichtig für die Arbeit von launchd ist die Kommunikation zwischen den einzelnen Prozessen. Wenn ein Dienst gestoppt werden soll, dann muss ihm dies mitgeteilt werden. Für diese

Kommunikation zwischen den Prozessen gibt es eine Vielzahl von Möglichkeiten. Apples mittlerweile bevorzugtes Verfahren nennt sich XPC. Bei der Lektüre der Dokumentation werden Sie öfter auf diese Bezeichnung stoßen. Damit ist ein Verfahren gemeint, das für die Kommunikation zwischen laufenden Programmen sorgt. Mit der Einführung von launchd kam es allerdings auch zu Bruch mit althergebrachten Verfahren der Unix-Welt. Mithilfe der sogenannten Init-Skripten ließen sich die Dienste, die im Hintergrund ausgeführt werden, in einer festgelegten Reihenfolge starten. Dies konnte notwendig sein, wenn ein Dienst vom erfolgreichen Start eines anderen abhängig war, ein Server also erst dann seinen Startvorgang beginnen sollte, wenn die grundlegenden Netzwerkdienste komplett verfügbar waren. Der Eingriff in das Betriebssystem, den Apple mit der Einführung von launchd vollzog, war also recht weitreichend. In der Linux-Welt gibt es in letzter Zeit mit dem Projekt systemd Bestrebungen, ein ähnliches Konzept unter Linux zu etablieren. Ob und inwiefern systemd von den Linux-Distributionen und -Projekten unterstützt werden soll, führt nach wie vor zu teilweise erbitterten Auseinandersetzungen in der Linux-Welt. 20.1.2    LaunchDaemons, LaunchAgents und Domänen

Die Arbeitsweise von launchd beruht auf sogenannten LaunchDaemons und LaunchAgents. Beide werden durch PropertyListen-Dateien (siehe Abschnitt 20.1.3) realisiert. LaunchDaemon

Ein LaunchDaemon ist ein Hintergrunddienst, der beim Start des Betriebssystems automatisch ausgeführt wird. Fast alle Prozesse, die in ihrer Summe die eigentliche Grundlage des

Betriebssystems darstellen, werden mit einem LaunchDaemon gestartet. Ausgeführt werden die LaunchDaemons außerhalb des vom Anwender genutzten Benutzerkontos. Sie sind entweder dem Super-User »root« (siehe Abschnitt 6.3.2) zugeordnet oder es wurden spezielle Benutzerkonten wie etwa »_spotlight« für Hintergrundprogramme der Suchfunktion Spotlight eingerichtet. LaunchAgent

Ein LaunchAgent wird dann gestartet, wenn sich ein Anwender angemeldet hat. LaunchAgents sind dem Benutzerkonto des jeweiligen Anwenders zugeordnet. Wenn sich dieser abmeldet, dann werden auch die LaunchAgents beendet. Etwas vereinfacht ausgedrückt, besteht der Unterschied zwischen einem LaunchDaemon und einem LaunchAgent darin, dass ein LaunchDaemon allgemein für das gesamte System gilt, LaunchAgents hingegen dem Anwender und seinem Benutzerkonto zugeordnet werden. Abgelegt werden können die Property-ListenDateien in bis zu fünf Verzeichnissen: /System/Library/LaunchDaemons

In diesem Verzeichnis (siehe Abbildung 20.1) werden die LaunchDaemons konfiguriert, die von Apple in das Betriebssystem integriert wurden. Änderungen von Hand sollten Sie an den Dateien in diesem Verzeichnis nicht vornehmen. /System/Library/LaunchAgents

Dieses Verzeichnis enthält LaunchAgents, die für alle Benutzerkonten auf Ihrem System gelten und von Apple installiert wurden. Auch hier sollten Sie keine Änderungen vornehmen. /Library/LaunchDaemons

In diesem Verzeichnis können Sie eigene LaunchDaemons

einrichten, die beim Start des Systems automatisch ausgeführt werden. Hier werden auch die LaunchDaemons installiert, die von Drittsoftware benötigt werden. /Library/LaunchAgents

Die in diesem Verzeichnis abgelegten LaunchAgents gelten für alle Benutzerkonten des Systems. Selbst definierte LaunchAgents oder LaunchAgents von anderen Softwareherstellern werden hier abgelegt. ~/Library/LaunchAgents

In Ihrer persönlichen Library können Sie LaunchAgents definieren, die nur für Ihr Benutzerkonto gelten sollen.

Abbildung 20.1    Über LaunchDaemons im Verzeichnis »/System/Library/LaunchDaemons« wird eine Reihe von Diensten des Systems realisiert.

LaunchDaemons und LaunchAgents starten und stoppen Sie mit dem Befehl launchctl. Er dient zur Administration von launchd. Sie übergeben launchctl mindestens eine Aktion und dann gegebenenfalls noch die Domäne und die Pfadangabe der PropertyListe. Bei den Domänen handelt es sich um eine etwas differenziertere Unterscheidung des aktuellen Kontexts, in dem der LaunchDaemon oder LaunchAgent ausgeführt werden soll.

»launchctl« – »launchd Control« launchctl Aktion [Domäne] [Datei]

Die Domäne system bezieht sich auf das gesamte Betriebssystem, während Sie der Domäne user die ID des Benutzerkontos übergeben müssen, mit dem Sie gerade angemeldet sind. Die Angabe würde beispielsweise user/501/org.kai.test lauten. Von größerer Bedeutung ist schließlich die Domäne gui. Ihr müssen Sie ebenfalls die ID des Benutzerkontos übergeben. Die Domäne gui findet dann Anwendung, wenn Sie einen LaunchAgent aktivieren möchten, während Sie sich über die grafische Oberfläche angemeldet haben. Das Konzept der Domänen soll für eine Trennung der unterschiedlichen Typen von Programmen sorgen. Immerhin verrichten die meisten Systemdienste still und leise im Hintergrund ihren Dienst, ohne dass sie eine grafische Oberfläche bieten. Um einen neuen LaunchDaemon oder LaunchAgent auszuführen, müssen Sie ihn zunächst aktivieren und dann explizit starten. Für die Aktivierung wird die Aktion enable genutzt. Ihr übergeben Sie die Domäne, in der der LaunchDaemon oder LaunchAgent ausgeführt werden soll. Nach einem Schrägstrich wird ferner die eindeutige Kennung des Dienstes aufgeführt, und zwar so, wie sie in der Property-Liste definiert wurde. Die Property-Liste wird anschließend erläutert. Die Eingabe könnte sudo launchctl enable system/org.kai.testdaemon

lauten. Damit gilt der LaunchDaemon mit der Kennung org.kai.testdaemon für die Domäne system als verfügbar. Er ist aber noch nicht gestartet. Dies erreichen Sie dann über die

Aktion bootstrap. Ihr übergeben Sie den Pfad zur Datei, die die Property-Liste des Dienstes enthält. Mit der Eingabe von sudo launchctl bootstrap system /Library/LaunchDaemons/org.kai.testdaemon.plist

würde der LaunchDaemon dann gestartet. Um einen aktiven LaunchDaemon oder LaunchAgent wieder zu deaktivieren, sodass er auch nach dem nächsten Start des Systems nicht mehr ausgeführt wird, können Sie ihn zunächst durch den Aufruf von launchctl mit der Aktion bootout stoppen. Dieser Aktion übergeben Sie wiederum den Pfad zur Property-Listen-Datei. Mit der Aktion disable, gefolgt von der Domäne und der Kennung, wird der LaunchAgent oder LaunchDaemon dauerhaft deaktiviert. Die Property-Listen-Datei kann dabei im Verzeichnis (beispielsweise /Library/LaunchDaemons) verbleiben. [+] Bei den Propery-Listen-Dateien, die Sie in den Verzeichnissen /Library/LaunchDaemons und /Library/LaunchAgents ablegen, müssen Sie auf die Zugriffsrechte achten. Diese müssen dem Benutzer »root« und der Gruppe »wheel« zugeordnet werden. Kopieren Sie also eine neue Datei in eines der Verzeichnisse, dann müssen Sie anschließend mit der Eingabe von sudo chown root:wheel Pfadangabe die Eigentumsverhältnisse aktualisieren. Ferner dürfen die Schreibrechte an der Datei nur für den Eigentümer »root« zur Verfügung stehen. Mit der Eingabe von sudo chmod 755 Pfadangabe korrigieren Sie auch die Zugriffsrechte. Wenn die Zugriffsrechte nicht diesen Vorgaben entsprechen, dann verweigert launchd die Verarbeitung der Dateien. 20.1.3    Der grundlegende Aufbau einer PLIST für »launchd«

Konfiguriert werden die LaunchDaemons und LaunchAgents über Property-Listen (siehe Abschnitt 7.2.1). Die zur Verfügung stehenden Eigenschaften und Werte werden in der entsprechenden Man-Page (siehe Abschnitt 21.2.1) dokumentiert, die Sie mit man launchd.plist aufrufen. In Abbildung 20.2 finden Sie die Datei com.apple.Finder.plist, die sich im Verzeichnis /System/Library/LaunchAgents befindet. Sie sorgt dafür, dass der Finder nach der Anmeldung des Anwenders automatisch gestartet wird. Die genaue Bedeutung und Funktionsweise der Eigenschaften POSIXSpawnType und CFBundleIdentifier wurden von Apple noch nicht eindeutig dokumentiert, wobei ihre Werte natürlich schon ein wenig Aufschluss über ihre Funktion geben. Die anderen Eigenschaften gehören zu den Standardwerten, und Sie können sie auch in Ihren eigenen LaunchDaemons und LaunchAgents nutzen. Die Eigenschaft Label enthält die Kennung, unter der der Dienst identifiziert wird. Hierbei wird das Konzept der umgekehrten Domain-Namen, wie Sie sie aus dem World Wide Web kennen, genutzt. In diesem Fall handelt es sich um das Programm Finder (finder) der kommerziellen Firma (com) Apple (apple). Die Eigenschaft Program enthält eine Zeichenkette mit dem absoluten Pfad der auszuführenden Datei. In diesem Fall deutet sie direkt in das Bundle (siehe Abschnitt 1.6) des Finders. Die Angabe entspricht im weiteren Sinne einem Doppelklick zum Start einer Applikation. Anstelle von Program können Sie auch die Eigenschaft ProgramArguments nutzen. Diese Eigenschaft von Typ Array enthält dann in Form einer Liste den Pfad zur ausführbaren Datei sowie etwaige Optionen und Parameter, die übergeben werden sollen. Dies wird in dem Beispiel in Abschnitt 20.2.1 genutzt.

Abbildung 20.2    Der Finder wird über einen LaunchAgent automatisch gestartet und aktiv gehalten.

Die Eigenschaft RunAtLoad hat zur Folge, dass der LaunchAgent sofort nach der Anmeldung ausgeführt wird. Der Finder wird also unmittelbar nach der Anmeldung des Anwenders gestartet. Ihnen ist sicherlich schon aufgefallen, dass der Finder nach einem Absturz automatisch neu gestartet wird. Verantwortlich für dieses Verhalten ist die Eigenschaft KeepAlive. Wird dieser Eigenschaft der Typ Dictionary zugewiesen, dann lassen sich die Bedingungen definieren, unter denen ein automatischer Neustart erfolgt. Die Eigenschaft AfterInitialDemand hat zur Folge, dass der Finder aktiv bleibt, wenn er einmal gestartet wurde. Ein Absturz des Finders führt zum Neustart. Mit der Eigenschaft SuccessfulExit, deren Wert in diesem Fall NO lautet, wird hier verhindert, dass eine regelgerechte Beendigung des Finders diesen zwangsweise neu startet. Geben Sie am Terminal killall Finder ein, dann wird dem Finder signalisiert, sich regelgerecht zu beenden. Anschließend wird der Finder nicht zwangsweise neu gestartet. Die Eigenschaft ThrottleInterval steht in Verbindung mit einem möglichen Neustart. Wenn ein Prozess, der über einen LaunchDaemon oder LaunchAgent gestartet wurde, abstürzt oder von launchd zwangsweise beendet wird, dann wartet launchd in der Regel zehn Sekunden, bis ein Neustart erfolgt. Damit soll

vermieden werden, dass defekte Programme, die aus dem Ruder laufen, zu viel Rechenkapazität beanspruchen und am Ende das System als Ganzes verlangsamen oder gar zum Stillstand bringen. Geben Sie die Eigenschaft ThrottleInterval in der Property-Liste an, dann können Sie eine Abweichung von diesem Verhalten vorgeben. Im Falle des LaunchAgents für den Finder wird ein Intervall von einer Sekunde angegeben. Diese Methode sollten Sie bei der Erstellung eigener LaunchAgents und LaunchDaemons nur in Ausnahmefällen nutzen, eben um die Performance Ihres Systems nicht zu beeinträchtigen. [+] Bei der Erstellung einer Property-Liste müssen Sie genau auf die Typen der einzelnen Eigenschaften achten. Für die Eigenschaft ThrottleInterval wird als Typ Number erwartet. Es wäre aber auch möglich, als Typ String auszuwählen und dann eine Zahl einzugeben. In diesem Fall wäre die Property-Liste als Datei korrekt aufgebaut, aber die Werte der Eigenschaft hätten ein Format, das launchd in dieser Form nicht akzeptiert. Folglich würde launchd die Verarbeitung der Property-Liste verweigern.

20.2    Zwei Beispielkonfigurationen Aufgrund der derzeit teilweise unvollständigen und auch nicht mehr ganz aktuellen Dokumentation brauchen Sie etwas Geduld und Beharrlichkeit, wenn Sie eigene LaunchAgents und LaunchDaemons erstellen wollen. In diesem Abschnitt werde ich zwei Beispielkonfigurationen beschreiben. Im ersten Beispiel werden wir einen einfachen LaunchAgent erstellen, der einen Ordner zeitgesteuert auf eine externe Festplatte kopiert. Das zweite Beispiel besteht in der Konfiguration eines LaunchDaemons, der einen Pseudoserver automatisch nach dem Start des Systems hochfährt. 20.2.1    Zeitgesteuerte Kopiervorgänge mit einem LaunchAgent

In Abbildung 20.3 finden Sie die Konfiguration für einen LaunchAgent. Seine Aufgabe besteht darin, direkt nach der Anmeldung und dann bis zu zweimal täglich eine Kopie des Ordners Dokumente auf einer externen Festplatte zu erzeugen. Um die Property-Liste (siehe Abschnitt 7.2.1) für den LaunchAgent zu erstellen, starten Sie zunächst Xcode und wählen dann den Menüpunkt File • New • File. Aus den Vorlagen wählen Sie anschließend in der Rubrik macOS den Eintrag Property List. Die neue Property-Liste besteht zunächst nur aus dem Haupteintrag root. Platzieren Sie den Mauspfeil über diesem Eintrag, dann erscheint ein Pluszeichen, über das Sie den ersten Eintrag erstellen können. Für den LaunchAgent werden folgende Eigenschaften definiert: Label

Diese Eigenschaft vom Typ String muss immer vorhanden sein

und den LaunchAgent eindeutig identifizieren. Sie sollten sich hier des Schemas der umgekehrten Domain-Namen in der Form org.kai.copyagent bedienen. RunAtLoad

Weisen Sie dieser Eigenschaft vom Typ Boolean den Wert YES zu, dann wird der LaunchAgent sofort nach der Anmeldung ausgeführt. ProgramArguments

Dieser Eintrag vom Typ Array stellt den eigentlichen Programmaufruf dar. Der erste Untereintrag, Item 0, gibt den absoluten Pfad zur ausführbaren Datei an. Der in diesem Fall aufzurufende Befehl cp befindet sich im Verzeichnis /usr. Daher lautet die Pfadangabe in der Property-Liste /bin/cp. Die folgenden Einträge stellen die Optionen und Parameter dar, die dem Befehl übergeben werden sollen. Die in Abbildung 20.3 dargestellte Liste entspräche der Eingabe von cp -r -v /Users/kai/Documents /Volumes/BackupHD/ManualBackup am Terminal. Möchten

Sie einen Befehl direkt ohne weitere Optionen und Parameter aufrufen, dann können Sie statt ProgramArguments auch die Eigenschaft Program vom Typ String nutzen. Hier ist als Wert der absolute Pfad zur ausführbaren Datei anzugeben.

Abbildung 20.3    Der LaunchAgent wird zu zwei Zeitpunkten ausgeführt.

StandardOutPath

Mit der Option -v gibt der Befehl cp die Liste der kopierten Dateien am Terminal aus. Bei einem LaunchAgent, der im Hintergrund ausgeführt wird, steht natürlich kein Fenster für die Ausgabe zur Verfügung. Stattdessen wird mit der Eigenschaft StandardOutPath vom Typ String der Pfad zu einer Datei angegeben, in die die Standardausgabe umgeleitet werden soll. Wurde der LaunchAgent ausgeführt, dann findet sich das Protokoll des letzten Kopiervorgangs in der Datei lastcopy.log im Verzeichnis ~/Library/Logs. StandardErrorPath

Fehlermeldungen werden über einen entsprechenden Kanal ausgegeben. Arbeiten Sie am Terminal, dann erscheinen auch die Fehlermeldungen auf dem Terminal. Bei einem LaunchAgent müssen Sie diese separat konfigurieren. Analog zu StandardOutPath werden mit der Eigenschaft StandardErrorPath die Fehlermeldungen ebenfalls in eine Datei im Verzeichnis ~/Library/Logs umgeleitet.

StartCalendarInterval

Über die Eigenschaft StartCalendarInterval geben Sie vor, wann der LaunchAgent ausgeführt werden soll. Sie können sich bei dieser Eigenschaft zwischen zwei Typen entscheiden: Wenn Sie als Typ Dictionary auswählen, können Sie einen Zeitpunkt definieren. Wählen Sie als Typ hingegen Array, dann ist es möglich, mehrere Zeitpunkte für die Ausführung vorzugeben. Den Untereinträgen weisen Sie dann als Typ Dictionary zu und geben innerhalb dieser benannten Listen die Zeitpunkte vor. Zur Definition eines Zeitpunkts innerhalb eines Array-Elements stehen Ihnen die Eigenschaften Minute, Hour, Day, Weekday sowie Month zur Verfügung. Setzen Sie eine Eigenschaft nicht – geben Sie also keinen Tag des Monats mittels Day vor –, dann wird der LaunchAgent jeden Tag oder auch jede Stunde ausgeführt. Den fünf Eigenschaften müssen als Typ Number zugewiesen werden. Der in Abbildung 20.3 dargestellte LaunchAgent würde um zehn nach drei nachmittags und um halb zehn vormittags ausgeführt. Möchten Sie einen LaunchAgent in einem festen Intervall ausführen, dann können Sie statt StartCalendarInterval die Eigenschaft StartInterval vom Typ Number nutzen. Die anzugebende Zahl entspricht der Wartezeit bis zur erneuten Ausführung in Sekunden. Nachdem Sie die Property-Liste in Xcode erstellt haben, können Sie sie auf Ihrem Schreibtisch speichern. Als Name sollten Sie die Zeichenkette der Eigenschaft Label verwenden und die Dateiendung .plist anhängen. Am Terminal erstellen Sie dann mit der Eingabe von mkdir ~/Library/LaunchAgents zunächst das Verzeichnis für die LaunchAgents Ihres Benutzerkontos. Anschließend kopieren Sie die Property-Listen-Datei mit cp

~/Desktop/org.kai.copyagent.plist ~/Library/LaunchAgents.

Nun gilt es, den LaunchAgent zuerst zu aktivieren und dann zu starten. Aktiviert werden muss er in der Domäne gui, da Sie sich über die grafische Oberfläche angemeldet haben. Der Domäne gui müssen Sie die eindeutige Kennung Ihres Benutzerkontos übergeben. Sollten Sie sich diese Kennung nicht gemerkt haben, dann können Sie sie sich auch mit der Eingabe von echo $UID am Terminal direkt ausgeben lassen. Die Eingabe von launchctl enable gui/501/org.kai.copyagent

aktiviert den LaunchAgent für das aktuelle Benutzerkonto, dessen ID 501 lautet. Im nächsten Schritt wird der LaunchAgent über die Aktion bootstrap gestartet. Die Eingabe würde in diesem Beispiel launchctl bootstrap gui/501 ~/Library/LaunchAgents/org.kai.copyagent.plist

lauten. Aufgrund der Eigenschaft RunAtLoad wird der Kopiervorgang sofort nach dem Start des LaunchAgents ausgeführt. Anschließend bleibt er aktiv und wird zu den festgelegten Zeitpunkten ausgeführt. Der LaunchAgent wird von jetzt an sofort nach der Anmeldung automatisch aktiviert. Um den LaunchAgent zu stoppen, nutzen Sie die Aktion bootout anstelle von bootstrap. Die Eingabe würde launchctl bootout gui/501 ~/Library/LaunchAgents/org.kai.copyagent.plist

lauten. Durch die Eingabe von launchctl disable gui/501/org.kai.copyagent wird der LaunchAgent bis auf

Weiteres deaktiviert und kann auch nicht mit bootstrap erneut aktiviert werden. Einen LaunchAgent für alle eingerichteten Benutzerkonten hinterlegen Sie im Verzeichnis /Library/LaunchAgents. Hier müssen Sie bei den Pfadangaben die Zugriffsrechte beachten. Der in diesem Abschnitt konfigurierte LaunchAgent wäre nicht funktionsfähig, würde er von einem anderen Benutzer ausgeführt, da der LaunchAgent unter dessen Benutzerkennung ausgeführt würde und folglich keinen Zugriff auf den persönlichen Ordner des Benutzers »kai« hätte. Auch müssen Sie nach dem Kopieren der Property-Listen-Datei in das Verzeichnis /Library/LaunchAgents den Eigentümer und die Zugriffsrechte der Datei anpassen. Das Vorgehen für einen LaunchAgent entspricht demjenigen, das für die nachfolgend beschriebene Einrichtung eines LaunchDaemons Anwendung findet. 20.2.2    Ein Prototyp für einen LaunchDaemon

In diesem Abschnitt erstellen wir einen Prototyp für einen LaunchDaemon. In diesem Fall ist das Beispiel in erster Linie ein didaktisches, das Ihnen unabhängig von einer konkreten Software die Arbeit eines LaunchDaemons demonstriert. [ ! ] Sie sollten, wenn Sie das Beispiel ausprobiert haben, in jedem Fall den erstellten LaunchDaemon stoppen, deaktivieren und die erstellte Property-Listen-Datei aus dem Verzeichnis /Library/LaunchDaemons entfernen. Die Entgegennahme von Daten ohne irgendeine Zugriffskontrolle stellt eine Sicherheitslücke dar!

Für den Pseudoserver wird der Befehl nc genutzt. Wird dieser mit der Option -l aufgerufen, dann wartet er auf eine eingehende Netzwerkverbindung. Ferner ist die Option -d notwendig, damit der Server nicht auf die Standardeingabe zurückgreift. Bei einem LaunchDaemon, der im Hintergrund ausgeführt wird, ist die Standardeingabe über die Tastatur naturgemäß nicht verfügbar. Der Server beendet sich automatisch, wenn die Verbindung wieder geschlossen wird. Starten Sie am Terminal durch die Eingabe von nc -l -d 8080 den Pseudoserver, dann wartet dieser auf Port 8080 auf eingehende Anfragen. In einem anderen Terminal-Fenster können Sie dann durch die Eingabe von nc localhost 8080 eine Verbindung zu diesem Server auf Ihrem eigenen System aufnehmen. Geben Sie in diesem Fenster jetzt Text ein und beenden Sie die Eingabe mit (¢), dann wird der Text übertragen und erscheint im ersten Fenster. Beenden Sie die Verbindung mit der Tastenkombination (š)+(.), dann wird auch der Pseudoserver in dem anderen Fenster beendet.

Abbildung 20.4    Der Server wird unter dem vorgegebenen Benutzerkonto ausgeführt.

In Abbildung 20.4 finden Sie die Konfiguration für diesen Pseudoserver. Auch hier wird zunächst ein Label definiert und mit RunAtLoad dafür Sorge getragen, dass der Dienst umgehend aktiviert wird. Damit die Eingaben, die an den Pseudoserver

geschickt werden, erhalten bleiben, wird wiederum die Standardausgabe mittels StandardOutPath umgeleitet. Der Aufruf mit ProgramArguments entspricht der Eingabe von nc -l -d 8080 am Terminal. In den Standardeinstellungen würde ein LaunchDaemon unter der Benutzerkennung »root« ausgeführt. Das ist bei diesem Daemon unerwünscht, und daher wird ihm mit der Eigenschaft UserName vom Typ String das Benutzerkonto »kai« zugewiesen. Da sich nc nach erfolgter Kommunikation selbst beendet, würde dies natürlich dazu führen, dass nur einmal eine Verbindung aufgenommen werden könnte. Aus diesem Grund wird mit der Eigenschaft KeepAlive dafür gesorgt, dass der Dienst dauerhaft aktiv bleibt. KeepAlive können Sie auf zwei Weisen nutzen: Weisen Sie den Typ Boolean und den Wert YES zu, dann wird der Daemon in jedem Fall aktiv gehalten. Dieses Verhalten ist nicht erwünscht, da es die Performance eines Systems beeinträchtigen kann. Daher wird KeepAlive der Typ Dictionary zugewiesen. Innerhalb der benannten Liste können Sie dann die Kriterien SuccessfulExit und Crashed nutzen. Ob das Kriterium Crashed eine gute Idee darstellt, sei dahingestellt. Immerhin wird der Daemon nach einem Absturz automatisch neu gestartet, was eigentlich bedeutet, dass er nicht einwandfrei programmiert wurde. In diesem Fall wird mit dem Kriterium SuccessfulExit sichergestellt, dass ein Neustart erfolgt, wenn der Daemon sich regelgerecht beendet hat. Zur Schonung von Ressourcen dient die Eigenschaft ThrottleInterval mit dem Typ Number. Hier geben Sie die Anzahl der Sekunden an, innerhalb deren der Dienst nicht neu gestartet werden soll. In den Standardeinstellungen wartet launchd zehn Sekunden. Damit der

Daemon nicht zu schnell hintereinander neu gestartet wird, habe ich die Wartezeit auf 30 Sekunden verlängert.

Abbildung 20.5    Der LaunchDaemon wird zuerst kopiert und nach der Korrektur der Zugriffsrechte aktiviert und gestartet.

Speichern Sie die Datei auf Ihrem Schreibtisch unter dem Namen org.kai.testdaemon.plist. Um den LaunchDaemon zu aktivieren, kopieren Sie sie zuerst mit sudo cp ~/Desktop/org.kai.testdaemon.plist /Library/LaunchDaemons/

in das Verzeichnis /Library/LaunchDaemons (siehe Abbildung 20.5). Dann korrigieren Sie mit sudo chown root:wheel /Library/LaunchDaemons/org.kai.testdaemon.plist

zuerst den Eigentümer und die Gruppe. Abschließend sind durch die Eingabe von sudo chmod 644 /Library/LaunchDaemons/org.kai.testdaemon.plist

die Zugriffsrechte zu korrigieren. Der Daemon, obwohl er unter dem Benutzerkonto »kai« arbeiten wird, muss dennoch in der Domäne system aktiviert werden. Die Eingabe zur Aktivierung lautet daher: sudo launchctl enable system/org.kai.testdaemon

Nach der Aktivierung kann der LaunchDaemon dann mit der Aktion bootstrap in der Form sudo launchctl bootstrap system /Library/LaunchDae mons/org.kai.testdaemon.plist

gestartet werden. In der Aktivitätsanzeige (siehe Abschnitt 27.2) finden Sie jetzt einen Prozess nc, dem das Benutzerkonto »kai« zugewiesen wurde. Eine Verbindung zu dem aktivierten Server wird mit nc localhost 8080 aufgenommen. Geben Sie nun Text ein (siehe Abbildung 20.5), dann wird er in der Datei Pseudoserver.log im Ordner Logs in der persönlichen Library des Benutzers »kai« gespeichert. Beenden Sie die Verbindung durch die Eingabe von (š)+(.), dann wird auch der Prozess nc beendet. Wenn Sie sehr schnell hintereinander eine Verbindung aufnehmen und wieder beenden, dann erscheint in den Protokollen ein Hinweis in der Form (org.kai.testdaemon) Service only ran for 9 seconds. Pushing respawn out by 21 seconds. Hiermit informiert Sie launchd, dass der Dienst wenigstens einmal zu schnell hintereinander gestartet wurde. Treten diese Vorgänge sehr oft auf, dann ist das ein Hinweis, dass der Dienst nicht korrekt programmiert wurde. Um den Pseudoserver zu stoppen, zu deaktivieren und schließlich ganz zu entfernen, beenden Sie ihn zuerst mit: sudo launchctl bootout system /Library/LaunchDaemons/org.kai.testdaemon.plist

Mit der Eingabe von sudo launchctl disable system/org.kai.testdaemon

deaktivieren Sie ihn dann. Sie können anschließend die PropertyListen-Datei aus dem Ordner /Library/LaunchDaemons in Ihren

Papierkorb verschieben. Dieses Beispiel hat Ihnen anhand eines Prototyps demonstriert, wie Sie einen LaunchDaemon für den Start eines Servers nutzen können. Möchten Sie eine Software produktiv einsetzen und über einen LaunchDaemon automatisch im Hintergrund starten, dann werden Sie sich mit ihrer Dokumentation im Detail befassen müssen. Es könnte zum Beispiel notwendig sein, einem Serverdienst mehr Zeit zum Beenden zu gewähren. In den Standardeinstellungen gewährt launchd Diensten beim Herunterfahren des Systems ungefähr 15 Sekunden Zeit, damit die Dienste Daten auf die Datenträger schreiben und sich korrekt beenden können. Ist der Dienst nach 15 Sekunden immer noch aktiv, dann wird er zwangsweise beendet. In Einzelfällen ist diese Frist zu kurz; dann geben Sie mit der Eigenschaft ExitTimeOut vom Typ Number einen längeren Zeitraum in Sekunden an. Ferner bietet launchd eine Reihe weiterer Eigenschaften, mit denen Server automatisch bei eingehenden Anfragen aus dem Netzwerk gestartet werden können. Dazu gehört zum Beispiel die Eigenschaft Sockets. In der mit man launchd.plist aufrufbaren Dokumentation finden Sie alle Eigenschaften, die launchd unterstützt. Hierbei sollten Sie beachten, dass die Dokumentation wie eingangs erwähnt unter macOS 10.13 in einigen Punkten nach wie vor nicht ganz korrekt und aktuell ist. 20.2.3    Die Arbeit von »launchd« mit den Protokollen überwachen

Bei der Erstellung und Aktivierung von LaunchAgents und LaunchDaemons sind die Protokolle ein unverzichtbares Werkzeug.

Im Dienstprogramm Konsole können Sie nach Auswahl des Protokolls system.log durch die Eingabe von beispielsweise »launchd« oder »globbing« im Textfeld oben rechts die Anzeige auf alle Einträge begrenzen, die in irgendeiner Form diese Zeichenkette enthalten. Dort wird unter dem Stichwort »throttle« auch verzeichnet, wenn ein Daemon nicht sofort neu gestartet wurde.

Abbildung 20.6    Das Protokoll »system.log« ist bei der Arbeit mit »launchd« ein wertvolles Hilfsmittel.

TEIL VI

Einstieg ins Terminal Das Terminal ist ein unverzichtbares Werkzeug im Arbeitsalltag. Die Arbeit mit dem Terminal ist dabei gar nicht so schwierig, wenn Sie die zugrunde liegenden Konzepte und Verfahren verstanden haben.

21    Befehle verstehen und ausführen Dieses Kapitel macht Sie mit der Eingabe von Befehlen vertraut, führt Sie in die Dokumentation der Befehle ein und zeigt Ihnen, wie Sie am Terminal Dateien verwalten und Texte bearbeiten. Die grafische Benutzeroberfläche mit einem (virtuellen) Schreibtisch, einem Papierkorb und verschiedenen Ordnern, in denen Sie Ihre Dateien ablegen, ist in der Geschichte der Informatik eine nach wie vor vergleichsweise junge Erscheinung. Der Komfort, der mit den ganzen Symbolen und Eingabegeräten wie einem Trackpad einhergeht, wird auf der anderen Seite aber auch von einem Machtverlust begleitet. Die Eingabe von Befehlen am Terminal wirkt zwar auf den ersten Blick abstrakt und wenig intuitiv. Haben Sie sich mit den Grundlagen jedoch vertraut gemacht, dann bietet Ihnen das Terminal weitgehende und flexible Möglichkeiten der Konfiguration und der Administration. Die Bezeichnung »Terminal« stammt noch aus der Anfangszeit der Unix-Betriebssysteme. Damals stand noch nicht auf jedem Schreibtisch ein leistungsfähiger Rechner. Vielmehr wurde für die Rechenvorgänge ein sehr großer (und teurer) Server genutzt, mit dem viele kleine Geräte verbunden wurden, die den Anwendern und Programmierern für die Eingabe von Befehlen und zur Ausgabe der Ergebnisse dienten. Diese Geräte wurden auch »Terminal« genannt.

21.1    Erste Schritte

Sie finden das Terminal im Ordner Dienstprogramme. Es handelt sich um ein ganz normales Programm, das Sie mit einem Doppelklick starten können. Wenn Sie intensiver mit diesem Buch arbeiten, ist es eine gute Idee, dem Terminal einen Platz in Ihrem Dock einzuräumen. 21.1.1    Der Prompt

Wenn Sie das Terminal das erste Mal gestartet haben, dann erscheint ein zunächst noch recht leeres Fenster mit zwei Zeilen Text, und ein Cursor wartet auf Ihre Eingaben. Die zwei Zeilen (siehe Abbildung 21.1) bieten Ihnen bereits auf den ersten Blick einige Informationen. In der ersten Zeile finden Sie den Zeitpunkt der letzten Anmeldung (Last login:). Diese Angabe bezieht sich nicht auf die Anmeldung, die Sie in dem Fenster nach dem Einschalten oder Neustart Ihres Rechners vollziehen. Vielmehr gilt auch das Öffnen eines Fensters als eine Anmeldung an dem System. Die Angabe ttys000 erinnert noch einmal an die Urzeit der UnixSysteme zurück: Das Kürzel ttys bezeichnete auf den damaligen Systemen ein rudimentäres Terminal. Unter macOS verweisen diese Nummern oft auf das zuvor geöffnete Terminal-Fenster. Die Angabe console bezieht sich auf das Anmeldefenster von macOS.

Abbildung 21.1    Der Prompt wartet auf die Eingabe der Befehle.

Die zweite Zeile enthält die eigentliche Eingabeaufforderung, den Prompt. In den Standardeinstellungen bietet er Ihnen folgende Informationen: Vor dem Doppelpunkt wird der Name Ihres Rechners angegeben, unter dem dieser im Netzwerk erreichbar ist.

Diese Information ist nützlich, wenn Sie sich später mittels SSH (siehe Abschnitt 12.2) über das Netzwerk an einem anderen Rechner anmelden. Die Angabe Macmini informiert Sie darüber, dass Ihre Befehle auf dem Rechner mit der Bezeichnung »Macmini« ausgeführt werden. Nach dem Doppelpunkt folgt das aktuelle Arbeitsverzeichnis. Die Tilde (~) verweist auf Ihr persönliches Verzeichnis, das sich in diesem Fall unter /Benutzer/kai befindet. Die Angabe des aktuellen Arbeitsverzeichnisses hilft Ihnen bei der Orientierung, wenn Sie anfangen, sich im Dateisystem zu bewegen (siehe Abschnitt 21.3.1). 21.1.2    Ein erster Befehl mit Optionen und Parametern

Für Ihren ersten Befehl können Sie am Terminal ls eingeben; schließen Sie die Eingabe mit einem Druck auf die Taste (¢) ab. Der Befehl wird umgehend ausgeführt, und Sie erhalten als Ausgabe den Inhalt Ihres persönlichen Ordners. Abhängig von dessen Inhalt wird sich die Ausgabe von der in Abbildung 21.2 dargestellten unterscheiden. Der Befehl ls hat die Aufgabe, Ihnen den Inhalt eines Verzeichnisses anzuzeigen. Am Rande: Dass Sie am Terminal die englischen Bezeichnungen (Documents) statt der deutschen (Dokumente) angezeigt bekommen, hat einen einfachen Grund: Die Verzeichnisse trugen immer schon die englischen Namen; die Übersetzung erfolgt durch den Finder und die grafische Benutzeroberfläche.

Abbildung 21.2    Einem Befehl können Sie Optionen und Parameter übergeben.

Wenn Sie ls ohne weitere Angaben ausführen, dann wird das Standardverhalten des Befehls genutzt. In diesem Fall ist es eine alphabetisch sortierte, mehrspaltige Liste des Inhalts eines Verzeichnisses. Das Verhalten eines Befehls können Sie durch eine oder mehrere Optionen beeinflussen. Geben Sie nun ls -l ein. Der Parameter -l bewirkt, dass eine detaillierte Liste des Verzeichnisinhalts mit weiteren Informationen ausgegeben wird. Hierzu gehören die Zugriffsrechte (rwx------), der Eigentümer (kai) und die Benutzergruppe (staff) sowie das Änderungsdatum (10 Sep 16:38). Im dritten Schritt soll dem Befehl ls nun ein Parameter übergeben werden, um nicht den Inhalt des aktuellen Verzeichnisses – in diesem Fall /Users/kai –, sondern des Verzeichnisses Dokumente auszugeben. Die Eingabe lautet in diesem Fall ls -l Documents. Ihnen wird in diesem Fall der Inhalt Ihres Ordners Dokumente am Terminal aufgelistet, wobei durch die Option -l die Darstellung in Form der Liste mit Details genutzt wird. [+] Befehle schließen Sie am Terminal immer mit einem Druck auf die Taste (¢) ab. Optionen und Parameter trennen Sie durch Leerzeichen voneinander.

In der Regel erfolgt die Ausgabe von Mitteilungen und Ergebnissen eines Befehls, wie zum Beispiel die Ausgabe des Verzeichnisinhalts, im Fenster des Terminals. Es ist aber auch möglich, die Ausgaben umzuleiten, statt die Darstellung im Fenster des Terminals zu nutzen. Geben Sie beispielsweise den Befehl ls -l Documents > ~ /Desktop/Inhalt.txt ein, dann erhalten Sie keine Ausgabe im Fenster. Stattdessen erscheint eine Datei Inhalt.txt auf Ihrem Schreibtisch. Sie enthält als Text die Ausgabe, die sonst im Fenster erfolgen würde. Mithilfe der spitzen Klammer > haben Sie die Anweisung erteilt, die Ausgabe nicht auf dem Bildschirm erfolgen zu lassen, sondern in die Datei Inhalt.txt umzuleiten. Die Umleitung von Ausgaben können Sie zum Beispiel nutzen, um die Dokumentation eines Befehls in eine PDF-Datei zu konvertieren (siehe Abschnitt 21.2.1). Ferner können Sie Ausgaben auch direkt an einen anderen Befehl zur Weiterverarbeitung übergeben. Dies erfolgt mit dem Zeichen |, das auch als Pipe bezeichnet und mit der Tastenkombination (alt)+ (7) eingegeben wird. Mit der Eingabe ls -l Documents | less wird erneut der Inhalt des Verzeichnisses Dokumente ausgegeben, aber der Befehl less (siehe Abschnitt 21.4.1) nimmt die Ausgabe entgegen und zeigt sie Ihnen am Bildschirm an. Mit einem Druck auf die Taste (Q) beenden Sie less und kehren zum Prompt zurück. Grundlegender Befehlsaufbau Befehl [Option] [Parameter] [Umleitung] [Ziel der Umleitung]

21.1.3    Hintergründe zum Terminal, zur Shell und zu den Befehlen

Geben Sie einen Befehl ein und erhalten Sie eine Ausgabe im Fenster des Terminals, dann sind an diesem Vorgang drei Komponenten beteiligt: 1. Terminal

Das Dienstprogramm Terminal stellt einen Ersatz für die Hardware der Terminals dar, die zu Beginn der Unix-Ära genutzt wurde. Es sorgt für die Darstellung auf dem Bildschirm und nimmt Ihre Eingaben an der Tastatur entgegen. 2. Shell

Die Eingaben werden an die sogenannte Shell weitergeleitet. Dieses Programm ist für die Interpretation Ihrer Eingaben zuständig. Es startet den aufgerufenen Befehl und übergibt ihm die Parameter und Optionen. Im Laufe der Zeit sind eine ganze Reihe von Shells entwickelt worden. Unter macOS wird standardmäßig die Shell Bash (Bourne-again shell, https://www.gnu.org/software/bash/) genutzt. Dabei beschränkt sich der Funktionsumfang nicht auf die einfache Weitergabe von Parametern und Optionen an einen Befehl, sondern Sie können die Shell auch für kleine Programmieraufgaben nutzen. 3. Befehl

Wenn Sie einen Befehl wie ls eingeben, dann wird ein gleichnamiges Programm ausgeführt. Bei den Befehlen handelt es sich um meistens kleine Programme, die durch die Shell gestartet werden und nach Beendigung ihrer Arbeit die Ausgabe an die Shell zurückgeben. Die Philosophie hinter den Unix-Betriebssystemen verfolgt das Ziel, möglichst einfache Programme zu nutzen, die für einen bestimmten, klar definierten Zweck programmiert wurden. So hat das Programm ls die ausschließliche Aufgabe, den Inhalt eines

Verzeichnisses auszugeben. Das nachfolgend besprochene Programm cp hat, wenn Sie es als Befehl aufrufen, keinen anderen Zweck, als Dateien und Verzeichnisse zu kopieren. Es ist nicht in der Lage, diese wieder zu löschen. Hierzu benötigen Sie die Befehle rm und rmdir. Mit diesem Gebot der Einfachheit unterscheidet sich der Unix-Ansatz etwa von einem Programm wie dem Finder, der die gesamte Handhabung von Dateien in einer Oberfläche zu vereinigen sucht. Der Vorteil des Unix-Ansatzes besteht darin, dass auf diese Weise die Systeme – und dies betrifft auch den Quellcode der jeweiligen Programme – nicht zu komplex werden. Theoretisch und auch praktisch lässt sich ein solches System leichter beherrschen und modifizieren, als dies etwa bei einem sehr monolithischen System wie Microsoft Windows der Fall ist.

Abbildung 21.3    Befehle sind ausführbare Programme, die von der Shell aus gestartet werden.

Bei den zunächst etwas kryptisch anmutenden Bezeichnungen wie cp, cd oder ls handelt es sich oft um Akronyme oder Abkürzungen, die den eigentlichen Zweck des Befehls beschreiben. So ist cp eine Abkürzung von copy und ls eine Abkürzung von list. Wenn Sie anfangen, sich mit der Arbeit am Terminal vertraut zu machen, dann sind diese Abkürzungen als Gedächtnisstützen ganz nützlich.

Ich werde sie, sofern vorhanden und sinnvoll, in diesem Buch zusammen mit dem grundlegenden Befehlsaufbau jeweils angeben. Ein weiterer wichtiger Aspekt bei der Arbeit mit dem Terminal, bei der Ihnen dieUnix-Konzepte fast überall begegnen werden, ist die Annahme, dass es sich bei allen Komponenten um eine Datei handelt. Wählen Sie im Finder den Menüpunkt Gehe zu • Gehe zum Ordner aus, und geben Sie im Dialog dann /usr/bin ein. In diesem Verzeichnis finden Sie mehr als tausend Dateien, bei denen es sich um Befehle handelt, die Sie am Terminal eingeben und ausführen können. Rufen Sie mit QuickLook die Vorschau einer solchen Datei auf (siehe Abbildung 21.3), dann finden Sie in deren Icon die Angabe exec. Es handelt sich also um eine als Programm ausführbare (executable) Datei. Welche Verzeichnisse die Shell durchsucht, wird durch die sogenannte PATH-Variable bestimmt. Hierbei handelt es sich um eine Umgebungsvariable, also einen Wert, der gesetzt wird, wenn die Shell gestartet wird. Geben Sie am Terminal den Befehl echo $PATH (siehe Abbildung 21.4) ein, dann werden durch Doppelpunkte getrennt die Verzeichnisse ausgegeben, die von der Shell durchsucht werden. Lautet die Eingabe nano, dann durchsucht die Shell diese Verzeichnisse von links nach rechts nach einer gleichnamigen Datei und führt diese dann aus. Wird die Shell nicht fündig, dann erhalten Sie als Ausgabe eine Mitteilung in der Form bash: Befehl: command not found.

Abbildung 21.4    Die »PATH«-Variable enthält die Verzeichnisse, die die Shell durchsuchen soll.

21.2    Die Dokumentation Da sich niemand die Optionen und Parameter von mehr als tausend Unix-Befehlen merken kann, wird eine umfangreiche Dokumentation zu fast allen Befehlen mitgeliefert, die sogenannten Man-Pages. Ferner bieten Ihnen die meisten Befehle eine kurze Hilfe, die quasi als Gedächtnisstütze dient. 21.2.1    Die Man-Pages

Bei den Man-Pages handelt es sich um die meist maßgebliche Dokumentation des jeweiligen Befehls. Übrigens werden nicht nur Befehle, sondern auch Konfigurationsdateien und Programmierbibliotheken in den Man-Pages dokumentiert. Die Man-Pages werden automatisch mit dem Betriebssystem installiert, und auch unter Linux und anderen Unix-Systemen erfolgt die Dokumentation meist über solche Man-Pages. »man« – »manual« man Befehl

Um die Dokumentation des Befehls ls einzusehen, geben Sie am Terminal einfach man ls ein. Der Prompt verschwindet, und das Programm less (siehe Abschnitt 21.4.1) übernimmt die Anzeige der Dokumentation (siehe Abbildung 21.5).

Abbildung 21.5    Die Man-Page des Befehls »ls« enthält die vollständige Dokumentation aller Optionen.

Die Navigation in der Man-Page erfolgt über Tastatureingaben. Mit den Tasten (ì) und (ë) blättern Sie eine Zeile in die jeweilige Richtung. Ein Druck auf die Leertaste blättert eine Seite vor, während ein Druck auf die Taste (B) eine Seite zurückspringt. Mit der Tastenkombination (ª)+(G) gelangen Sie ans Ende der Dokumentation und über (ª)+(P) wieder an den Anfang. Zum Beenden der Anzeige und zur Rückkehr an den Prompt nutzen Sie die Taste (Q). Eine Man-Page gliedert sich in mehrere Bereiche. Diese Gliederung wird bei den meisten, aber nicht allen Dokumentationen genutzt. Zu den im Alltag wesentlichen Bereichen zählen unter anderem: Name

Zu Beginn finden Sie den Namen des Befehls, oft verbunden mit einer kurzen Erklärung seiner Aufgabe. Synopsis

Die Zusammenfassung listet Ihnen alle Optionen sowie mögliche Parameter auf. Es ist möglich, dass Sie hier mehrere Angaben

finden. Dies ist der Fall, wenn eine Option die Funktionsweise eines Befehls dahingehend ändert, dass jeweils unterschiedliche Parameter notwendig werden. Description

Die eigentliche Beschreibung umreißt in der Regel zunächst die Aufgabe und die Funktionsweise des Befehls. Dann werden die einzelnen Optionen nacheinander erklärt. Achten Sie hierbei auf die Groß- und Kleinschreibung. Die Optionen -A und -a sind bei dem Befehl ls nicht gleichbedeutend. Examples

In diesem Bereich finden Sie oftmals ein paar Beispiele, die mit einer kurzen Erklärung versehen wurden. Environment

Wenn der Befehl durch Umgebungsvariablen (siehe Abschnitt 7.2.2) beeinflusst werden kann oder auf diese zurückgreift, dann werden sie hier aufgeführt. Eine Umgebungsvariable ist zum Beispiel die schon besprochene Variable PATH, die definiert, in welchen Verzeichnissen die Shell nach Befehlen suchen soll. See also

In diesem Bereich werden die Befehle und weiteren Dokumentationen aufgeführt, die mit dem aktuellen Befehl in Verbindung stehen und ihn entweder ergänzen oder aber von ihm abhängig sind. Bugs

Sollten Fehler bekannt sein, die noch nicht behoben wurden, dann werden sie hier aufgeführt.

Die Man-Pages sind in bis zu neun nummerierte Rubriken unterteilt. Die Befehle wie ls, cp oder cd, die im normalen Arbeitsalltag genutzt werden, sind in Rubrik 1 zusammengefasst. Zu welcher Rubrik die Dokumentation gehört, wird oben links in Klammern angegeben. Die Angabe LS (1) weist Sie darauf hin, dass die Man-Page des Befehls ls in die erste Rubrik gehört und es sich somit um einen normalen Befehl handelt. Befehle für administrative Aufgaben oder Befehle, die im Hintergrund arbeiten, werden in der achten Rubrik zusammengefasst. Die Dokumentation von Dateien zur Konfiguration, beispielsweise der Aufbau der XMLDateien zur Steuerung von launchd (siehe Abschnitt 20.1.3), findet sich in der fünften Rubrik. Die dritte Rubrik enthält Erläuterungen von Bibliotheken, die Entwickler nutzen können. In Einzelfällen kann es auch als Anwender und Administrator notwendig sein, die Dokumentation einer Bibliothek zu konsultieren. Wenn Sie sich Themen und Verfahren am Terminal neu aneignen, dann werden Sie häufig auf die Man-Pages zurückgreifen. Da Sie mehrere Terminal-Fenster öffnen können, ist es möglich, in einem Fenster die Dokumentation einzusehen und in einem anderen die Befehle auszuführen. Dieses Verfahren stößt an seine Grenzen, wenn Sie sich die Man-Page ausdrucken oder als PDF-Datei auf Ihr iPad kopieren möchten. In diesem Fall können Sie sich die zuvor beschriebene Umleitung der Ausgaben mit > zunutze machen und die Man-Page in eine PostScript-Datei konvertieren. Die Eingabe hat die Form: man -t Befehl > ~/Desktop/Befehl.ps

Ersetzen Sie jeweils Befehl durch den Namen des Befehls, dessen Dokumentation Sie konvertieren möchten. Die Eingabe von man t ls > ~/Desktop/ls.ps erstellt eine PostScript-Datei der Dokumentation von ls. Die PostScript-Datei können Sie mit dem

Programm Vorschau öffnen. Sie wird dabei automatisch in eine PDF-Datei konvertiert (siehe Abbildung 21.6). Diese lässt sich nun bequem ausdrucken, oder Sie nutzen den Menübefehl Ablage • Als PDF exportieren.

Abbildung 21.6    Die Man-Page des Befehls »ls« wurde in eine PDF-Datei konvertiert.

21.2.2    Weitere Informationsquellen

Neben den Man-Pages als umfangreiche Dokumentation bieten Ihnen viele Befehle mit der Option -h oder manchmal auch --help eine kleine Gedächtnisstütze (siehe Abbildung 21.7) der zur Verfügung stehenden Optionen und Parameter. Diese Möglichkeit steht Ihnen jedoch nicht bei allen Befehlen zur Verfügung. Um sich schnell die Aufgabe eines Befehls in Erinnerung zu rufen, können Sie den Befehl whatis verwenden. Übergeben Sie ihm als Parameter den Befehl, dessen Zweck Sie in Erfahrung bringen möchten, und Sie erhalten einen kleinen Hinweis. Die Eingabe von whatis cp führt zu der Antwort cp(1) - copy files. Sind Sie sich nicht sicher, welches Programm ausgeführt wird, wenn Sie es als Befehl eingeben, dann können Sie mit which eine Prüfung veranlassen. Geben Sie which cp ein, so lautet die Ausgabe sehr

wahrscheinlich /bin/cp. Dies bedeutet, dass das im Verzeichnis bin abgelegte Programm cp ausgeführt würde.

Abbildung 21.7    Über die Option »-h« werden kurze Erläuterungen der Optionen und Parameter angezeigt.

Um Zusammenhänge besser überblicken zu können, ist der Befehl apropos hilfreich. Er durchsucht eine Datenbank der Man-Pages nach Dokumentationen, die mit dem als Parameter übergebenen Begriff zu tun haben. Mit der Eingabe apropos launchd (siehe Abbildung 21.8) erhalten Sie eine kurze Liste aller Man-Pages, die mit dem Systemdienst launchd (siehe Abschnitt 20.1.1) in Verbindung stehen. Bei der Verwendung von apropos müssen Sie bedenken, dass dessen Suche auch die dritte Sektion der Man-Pages umfasst. Suchen Sie beispielsweise mit apropos cp nach Befehlen zum Kopieren, dann erhalten Sie eine längere Liste der Programmierbibliotheken, die irgendwie mit Kopiervorgängen in Verbindung stehen. Bei einer längeren Liste wird die Darstellung von less übernommen; Sie beenden diesen Befehl durch einen Druck auf die Taste (Q).

Abbildung 21.8    Mit dem Befehl »apropos« lassen Sie eine Liste thematisch verwandter Man-Pages ausgeben.

21.3    Mit Dateien und Verzeichnissen arbeiten Das Kopieren, Verschieben und Löschen von Dateien und Verzeichnissen führen Sie am Terminal durch entsprechende Befehle (beispielsweise cp zum Kopieren) aus. Dabei bietet das Terminal auf den ersten Blick nicht den Bedienkomfort des Finders, aber wenn Sie sich die in diesem Abschnitt beschriebenen Befehle angeeignet haben, werden Sie feststellen, dass die Verwaltung von Dateien am Terminal schnell und effektiv von der Hand geht. 21.3.1    Mit »cd«, »pwd« und »ls« im Dateisystem navigieren

Bevor Sie jedoch Dateien erstellen, löschen und verschieben können, müssen Sie sich mit den Befehlen cd und pwd sowie dem Konzept der Pfadangaben vertraut machen. Wenn Sie ein neues Terminal-Fenster öffnen, dann befinden Sie sich automatisch in Ihrem persönlichen Ordner. Dieser Ordner gilt als aktuelles Arbeitsverzeichnis. Wenn Sie den Befehl ls ohne weitere Parameter eingeben, dann zeigt ls Ihnen den Inhalt des Arbeitsverzeichnisses an. Das aktuelle Verzeichnis wechseln Sie mit dem Befehl cd. Mit der Eingabe von cd Documents gilt der Ordner Dokumente als Arbeitsverzeichnis, und die erneute Eingabe von ls zeigt den Inhalt dieses Ordners an. »cd« – »change directory« cd Verzeichnis

Dateien und Verzeichnisse unterliegen einer hierarchischen Struktur, da Verzeichnisse weitere Verzeichnisse und Dateien

enthalten können. Geben Sie einen Pfad zu einem Verzeichnis oder einer Datei am Terminal an, dann trennen Sie die einzelnen Elemente mit einem Schrägstrich. Die oberste Ebene des Dateisystems, die im Finder ungefähr der über Gehe zu • Computer erreichbaren Ansicht entspricht, sprechen Sie mit der Angabe / an. Geben Sie cd / ein, um in die oberste Ebene des Dateisystems zu wechseln. Insofern könnte der Pfad zu dem Ordner Briefe in dem Verzeichnis Dokumente in Ihrem persönlichen Ordner beispielsweise /Users/kai/Documents/Briefe lauten. Aufgrund des Schrägstrichs zu Beginn geht diese Pfadangabe von der obersten Ebene des Dateisystems aus. Mit der Eingabe von cd /Users/kai/Documents/Briefe wechseln Sie immer in diesen Ordner, unabhängig von Ihrem aktuellen Arbeitsverzeichnis. Es handelt sich also um eine absolute Pfadangabe.

Abbildung 21.9    Mit dem Befehl »cd« wechseln Sie das Arbeitsverzeichnis.

Eine relative Pfadangabe, die nicht mit einem Schrägstrich beginnt, wird ausgehend vom aktuellen Arbeitsverzeichnis interpretiert. Befinden Sie sich in Ihrem persönlichen Verzeichnis, etwa /Users/kai, und geben Sie am Terminal den Befehl cd Documents ein, dann erfolgt ein Wechsel in den Ordner Dokumente.

Bei der Arbeit mit relativen Pfadangaben wechseln Sie durch die Angabe von zwei Punkten in der Form cd .. in das übergeordnete Verzeichnis (siehe Abbildung 21.9). Würden Sie sich in dem Ordner Dokumente in Ihrem persönlichen Verzeichnis befinden und mit cd .. das Arbeitsverzeichnis wechseln, befänden Sie sich wieder in Ihrem persönlichen Ordner. Sie können auch mehrere übergeordnete Verzeichnisse angeben, ohne ihren Namen eingeben zu müssen. Eine Pfadangabe in der Form cd ../../Briefe ist beispielsweise problemlos möglich. Hiermit würden Sie zwei Ebenen der Verzeichnishierarchie nach oben wechseln und direkt in den dort vorhandenen Ordner Briefe gelangen. Das aktuelle Arbeitsverzeichnis geben Sie mit einem Punkt . an. Die Eingaben cd Documents und cd ./Documents sind insofern zunächst äquivalent. Die explizite Angabe des aktuellen Arbeitsverzeichnisses kann unter anderem dann notwendig werden, wenn in dem Verzeichnis eine ausführbare Datei – etwa ein Skript oder ein Programm – liegt und Sie dieses starten möchten. In diesem Fall würde die Eingabe von Skript.sh das Skript nicht starten. Vielmehr müssten Sie für diesen Aufruf den Punkt voranstellen, also ./Skript.sh eingeben. Schließlich gibt es noch die Tilde (~). Sie ist ein Kürzel für Ihr persönliches Verzeichnis. Sie geben dieses Zeichen mit der Tastenkombination (alt)+(N), gefolgt von der Leertaste ein. Die Eingabe von cd ~ führt dazu, dass Sie direkt in Ihren persönlichen Ordner wechseln. Um direkt in das Verzeichnis Desktop zu wechseln, das die auf Ihrem Schreibtisch abgelegten Ordner und Dateien enthält, geben Sie einfach cd ~ /Desktop ein. In diesem Fall würden Sie sowohl mit cd .. als auch mit cd ~ in Ihren persönlichen Ordner wechseln.

Neben der Tilde können Sie auch cd ohne irgendeinen Parameter eingeben, um direkt in Ihr persönliches Verzeichnis zu wechseln. »pwd« – »present working directory« pwd

Um in Erfahrung zu bringen, in welchem Verzeichnis Sie sich aktuell befinden, nutzen Sie den Befehl pwd. Er hat lediglich die Aufgabe, Ihnen den absoluten Pfad des aktuellen Arbeitsverzeichnisses auszugeben (siehe Abbildung 21.9).

Abbildung 21.10    Sonderzeichen, zu denen auch das Leerzeichen gehört, müssen Sie mit einem Backslash maskieren.

[+] Wenn Sie Dateien und Verzeichnisse den Befehlen als Parameter übergeben, dann müssen Sie auf Sonderzeichen achten. Einige Zeichen erfüllen für die Shell bei der Auswertung Ihrer Eingaben eine besondere Funktion. So dient das Leerzeichen dazu, Befehle, Optionen und Parameter zu unterscheiden. Damit ein solches Sonderzeichen als normales Zeichen interpretiert wird, müssen Sie ihm einen Backslash ((alt)+(ª)+(7)) voranstellen. Zu den Sonderzeichen, die Sie bei Datei- und Verzeichnisnamen einzeln mit \ maskieren müssen, gehören neben dem Leerzeichen folgende: $ ; "  ! # * ?. Einen Backslash als Zeichen geben Sie ein, indem Sie ihn zweimal in der Form \\ angeben. Haben Sie im Finder einen neuen Ordner erstellt und diesen nicht umbenannt, dann können Sie ihn mit Neuer\ Ordner als

Parameter übergeben. Die Eingabe von cd Neuer\ Ordner (siehe Abbildung 21.10) führte zum Ziel. Haben Sie Text in die Zwischenablage von macOS kopiert, den Sie am Terminal einfügen möchten, dann können Sie den Menübefehl Bearbeiten • Text mit Steuerzeichen einsetzen nutzen, um die Zeichenkette aus der Zwischenablage in maskierter Form einzufügen. »ls« – »list« ls [Optionen] [Verzeichnis]

Der Befehl ls, den ich zu Beginn des Kapitels als Beispiel herangezogen habe, gibt den Inhalts eines Verzeichnisses aus. Geben Sie ls ohne weitere Optionen und Parameter ein, dann erhalten Sie eine einfache, alphabetisch sortierte Liste des Inhalts. Hierbei ist es zunächst nicht möglich, Dateien und Verzeichnisse voneinander zu unterscheiden. Mit der Option -l ist die Liste des Verzeichnisinhalts detaillierter (siehe Abbildung 21.11).

Abbildung 21.11    Die Option »-l« gibt eine detaillierte Liste des Inhalts eines Verzeichnisses aus.

Die erste Spalte enthält eine Zeichenfolge in der Form drwx-----@. Das erste Zeicheninformiert Sie über den Typ des Eintrags. Lautet das Zeichen d, dann handelt es sich um ein Verzeichnis (englisch directory). Ein einfaches Minuszeichen weist auf eine Datei hin. Wird an dieser Stelle l angegeben, dann handelt es sich um einen

symbolischen Link (siehe Abschnitt 1.5). Die folgenden sechs Zeichen geben an, welche Zugriffsrechte (siehe Abschnitt 6.1) für den Besitzer, die Gruppe sowie alle anderen Benutzerkonten vergeben wurden. Finden Sie hier zusätzlich die Angabe +, dann wurden für den Ordner oder die Datei erweiterte Zugriffsrechte (siehe Abschnitt 6.1.2) definiert. Das Zeichen @ bedeutet, dass der Datei oder dem Verzeichnis erweiterte Attribute (siehe Abschnitt 1.3) zugewiesen wurden. Die folgende Zahl gibt die Anzahl der harten Links (siehe Abschnitt 1.5) auf diesen Eintrag wieder. Darauf folgen der Kurzname (kai) des Benutzerkontos, dem die Datei gehört, sowie die dazugehörige Benutzergruppe (staff). Die Zahl in der nächsten Spalte gibt die Größe der Datei in Bytes an. Da auch Verzeichnisse als Dateien betrachtet werden, haben sie auch eine Dateigröße, die allerdings nicht der Summe der enthaltenen Dateien und Unterverzeichnisse entspricht. Darauf folgen schließlich das Datum und die Uhrzeit der letzten Änderung sowie der eigentliche Name.

Abbildung 21.12    Der Finder lässt Namen mit einem führenden Punkt nicht zu.

Mit der Option -a gibt ls auch die sonst nicht sichtbaren Dateien und Verzeichnisse aus. Dateien und Verzeichnisse, deren Namen mit einem Punkt beginnen, werden Ihnen im Finder nicht, am Terminal bei Aufruf von ls nur mit der Option -a angezeigt. Aus diesem Grund können Sie im Finder den Namen einer Datei oder eines Ordners nicht mit einem Punkt beginnen. Der Hinweis des

Finders (siehe Abbildung 21.12) ist etwas missverständlich, da der führende Punkt nicht zwingend besagt, dass die Datei oder das Verzeichnis vom Betriebssystem verwendet wird.

Abbildung 21.13    Mit der Option »-a« werden auch die unsichtbaren Dateien und Verzeichnisse ausgegeben.

In Ihrem persönlichen Verzeichnis befindet sich bereits eine Reihe von unsichtbaren Dateien und Verzeichnissen. Der Inhalt Ihres Verzeichnisses wird von dem in Abbildung 21.13 dargestellten Inhalt abweichen. Bei dem Verzeichnis .Trash handelt es sich schlicht um den Papierkorb. Lassen Sie sich mit ls -l .Trash seinen Inhalt ausgeben, dann wird demjenigen entsprechen, den Sie auch über das Icon im Dock einsehen können. Die mit .bash_ beginnenden Dateien enthalten Voreinstellungen der Shell. Lassen Sie sich durch die Eingabe von ls -al Documents den Inhalt Ihres Ordners Dokumente ausgeben, dann werden Sie dort auch eine Datei .localized finden. Ist eine solche Datei vorhanden, dann prüft das Betriebssystem, ob es für die Zeichenkette, die dem Namen entspricht, eine Übersetzung gibt. Aus diesem Grund wird Ihnen das Verzeichnis Documents im Finder mit der Bezeichnung Dokumente angezeigt. 21.3.2    Dateien und Ordner kopieren, verschieben und löschen

Für die Verwaltung von Dateien und Ordnern bietet der Finder eine alles umfassende Lösung. Am Terminal verhält es sich etwas anders, da für jede Aufgabe, wie das Kopieren von Dateien, ein spezieller Befehl zur Verfügung steht. Abhängig davon, ob es sich um ein Verzeichnis oder eine Datei handelt, müssen Sie die Befehle mithilfe der passenden Optionen entsprechend steuern. [ ! ] Beachten Sie bei der Arbeit mit Dateien und Verzeichnissen am Terminal, dass Ihnen unter anderem sowohl der Papierkorb als auch der Menüpunkt Bearbeiten • Widerrufen im Finder nicht zur Verfügung stehen. Die Änderungen wirken sich sofort aus! Gelöschte oder überschriebene Dateien und Verzeichnisse sind in der Regel nicht rekonstruierbar. Überprüfen Sie daher, wenn Sie mit der Eingabe von Befehlen noch nicht so vertraut sind, diese vor der Ausführung. »cp« – »copy« cp [Optionen] Quelle Ziel

Eine Datei kopieren Sie mit dem Befehl cp. Ihm übergeben Sie den Namen oder Pfad der Ausgangsdatei und der Zieldatei. Angenommen, in Ihrem Ordner Dokumente befindet sich die Datei Text.txt. Mit der Eingabe von cd Documents wechseln Sie zunächst in den Ordner und rufen dann cp in der Form cp Text.txt Text2.txt

auf. Es wird nun eine neue Datei Text2.txt erstellt, bei der es sich um eine Kopie von Text.txt handelt. Es ist auch möglich, cp Pfadangaben zu übergeben. Wenn Sie sich in Ihrem persönlichen Ordner befinden, dann erstellen Sie mit der Eingabe von

cp Documents/Text.txt Desktop/Text.txt

von der Datei Text.txt in Ihrem Ordner Dokumente eine gleichnamige Kopie auf Ihrem Schreibtisch. Gäben Sie als letzten Parameter Desktop/Neuer_Name.txt an, dann würden Sie die Datei beim Kopieren auch umbenennen. Alternativ ist es möglich, als Ziel ein Verzeichnis vorzugeben. Die Eingabe von cp Documents/Text.txt Desktop/ würde die Datei ebenfalls auf den Schreibtisch kopieren, hierbei aber den ursprünglichen Namen beibehalten. Bei den Pfadangaben für die Ausgangs- und Zieldateien können Sie auf die absoluten und relativen Pfadangaben zurückgreifen (siehe Abschnitt 21.3.1). Rufen Sie cp ohne weitere Optionen auf, dann wird eine bereits existierende Datei gleichen Namens ohne Rückfrage überschrieben. Befände sich auf dem Schreibtisch schon eine Datei Text.txt, dann wäre der vormalige Inhalt verloren. Übergeben Sie cp die Option -n in der Form cp -n Documents/Text.txt Desktop/Text.txt, dann verhindern Sie dadurch das Überschreiben der schon vorhandenen Datei. Der Kopiervorgang wird nicht ausgeführt. Allerdings erhalten Sie in diesem Fall keine Rückmeldung von cp, dass keine Kopie erstellt wurde. Mit der Option -v (verbose) veranlassen Sie cp, Sie über den Fortschritt des Kopiervorgangs zu informieren (siehe Abbildung 21.14). Existiert bereits eine gleichlautende Datei und nutzen Sie die Option -v in Verbindung mit der Option -n in der Form cp -nv Documents/Text.txt Desktop/, dann erhalten Sie den Hinweis Text.txt not overwritten. Sind Sie sich nicht sicher, ob im Zielverzeichnis bereits eine gleichlautende Datei existiert, dann können Sie auch die Option -i (inquire) nutzen. Sie erhalten dann eine Rückfrage overwrite

Text.txt? (y/n [n]). Drücken Sie einfach (¢) oder geben Sie n

ein, dann wird der Kopiervorgang nicht ausgeführt. Lautet Ihre Eingabe y, dann wird die Datei überschrieben.

Abbildung 21.14    Mit der Option »-v« informiert der Befehl »cp« Sie über den Fortschritt des Kopiervorgangs.

Ohne weitere Optionen können Sie mit cp keine Verzeichnisse kopieren. Lautet Ihre Eingabe etwa cp Documents Desktop/, um eine Kopie Ihres Ordners Dokumente auf dem Schreibtisch zu erstellen, dann erhalten Sie als Antwort cp: Documents is a directory (not copied). Mit der Option -r (recursive) kopieren Sie ein Verzeichnis samt seines Inhalts, einschließlich seiner Unterverzeichnisse. Wenn sich in Ihrem Ordner Dokumente ein Unterordner Briefe befindet, dann würden Sie mit der Eingabe cp -r Documents/Briefe Desktop/ eine Kopie des Verzeichnisses auf dem Schreibtisch erstellen. Aufgrund des abschließenden Schrägstrichs wird Desktop/ als Zielverzeichnis interpretiert. Gäben Sie einen weiteren Namen ohne abschließenden Schrägstrich in der Form cp -r Documents/Briefe Desktop/Briefe_Kopie an, dann würde der Name des Ordners Briefe_Kopie lauten. Sie würden das Ausgangsverzeichnis kopieren und umbenennen. Kombinieren Sie die Optionen -v und -r, dann informiert cp Sie über den Kopiervorgang. Bei dem in Abbildung 21.14 dargestellten Kopiervorgang habe ich das Verzeichnis Manuskript auf den Schreibtisch kopiert. Geben Sie links die Ausgangsdatei und rechts durch -> getrennt die Zieldatei an.

»mv« – »move« mv Quelle Ziel

Um eine Datei oder ein Verzeichnis zu verschieben oder umzubenennen, verwenden Sie den Befehl mv. Geben Sie kein anderes Zielverzeichnis vor, dann erfolgt eine Umbenennung. Die Eingabe von mv Text.txt Text2.txt würde die Datei Text.txt in Text2.txt umbenennen. Die Quelldatei verbliebe in ihrem ursprünglichen Ordner. Mit der Eingabe von mv Documents/Text.txt Desktop/Text2.txt würde die Datei auf den Schreibtisch verschoben und in Text2.txt umbenannt. Anders als cp unterscheidet mv nicht zwischen Dateien und Verzeichnissen. Sie können auch bei mv mit der Option -n das Überschreiben schon vorhandener Dateien und Verzeichnisse unterbinden oder alternativ mit -i eine Rückfrage vor dem Überschreiben veranlassen. »mkdir« – »make directory« mkdir Verzeichnisname

Ein neues Verzeichnis erstellen Sie mit dem Befehl mkdir, dem Sie als Parameter den Namen des neuen Verzeichnisses übergeben. Die Eingabe von mkdir Neu erzeugt in Ihrem aktuellen Arbeitsverzeichnis ein neues Verzeichnis mit der Bezeichnung Neu. Auch eine Angabe in der Form mkdir ~/Documents/Briefe ist möglich, um direkt in Ihrem Ordner Dokumente einen Unterordner Briefe anzulegen. Der Befehl mkdir setzt voraus, dass das übergeordnete Verzeichnis bereits existiert.Nutzen Sie die Option -p (path), dann erstellt

mkdir kein Verzeichnis, sondern eine Verzeichnishierarchie. Die Eingabe von mkdir -p ~/Documents/Briefe/Finanzamt/2017/August würde in

Ihrem Ordner Dokumente die Ordner Briefe, Finanzamt, 2017 und August erstellen. Sofern die einzelnen Ordner noch nicht existieren, würde mkdir sie automatisch erstellen. Gäben Sie nun den Befehl mkdir -p ~/Documents/Briefe/Finanzamt/2017/September ein, dann

würde ein weiterer Ordner (siehe Abbildung 21.15) erstellt.

Abbildung 21.15    Eine Ordnerhierarchie können Sie mit dem Befehl »mkdir« schnell erstellen.

»rm« – »remove« rm [Optionen] Datei(en)

Zum Löschen von Dateien und Verzeichnissen stehen Ihnen die Befehle rm und rmdir zur Verfügung. Der Befehl rm löscht die angegebene Datei ohne Rückfrage. Sie können, wenn Sie sich nicht sicher sind, auch bei rm die Option -i nutzen und eine Rückfrage vor dem Löschen veranlassen. Ebenso steht Ihnen die Option -v zur Verfügung, die Sie über den Fortschritt des Löschvorgangs informiert. Die Eingabe von rm -v Documents/Text.txt würde

die Datei Text.txt aus Ihrem Ordner Dokumente entfernen. Sie würden am Terminal die Ausgabe Documents/Text.txt erhalten. »rmdir« – »remove directory« rmdir Verzeichnis

Wenn Sie rm ohne weitere Option ein Verzeichnis als Parameter übergeben, dann erhalten Sie die Meldung rm: Verzeichnis: is a directory. Zum Löschen von Verzeichnissen stehen Ihnen zwei Möglichkeiten zur Verfügung. Zunächst können Sie den Befehl rmdir nutzen, um ein leeres Verzeichnis zu löschen. Wenn Sie beim Löschen eines im Finder leer erscheinenden Ordners mit rmdir die Meldung rmdir: Verzeichnis: Directory not empty erhalten, dann befinden sich darin wahrscheinlich unsichtbare Dateien, deren Namen mit einem Punkt beginnen. Sie können sich dann mit ls -al Verzeichnis auch die unsichtbaren Dateien anzeigen lassen, diese mit rm einzeln löschen und anschließend das Verzeichnis mit rmdir entfernen (siehe Abbildung 21.16).

Abbildung 21.16    Mit »rmdir« können Sie nur ein vollständig entleertes Verzeichnis löschen.

[ ! ] Eine Alternative zu rmdir stellt der Befehl rm in Verbindung mit der Option -r dar. Mit dieser Option löscht der Befehl rm die angegebene Verzeichnishierarchie. Dies ist vergleichbar mit dem Befehl cp, der mit der Option -r eine Verzeichnishierarchie kopiert.

Bei diesem Verfahren ist höchste Vorsicht geboten, denn ein Tippfehler in der Pfadangabe kann insbesondere dann, wenn Sie den Befehl in Verbindung mit sudo (siehe Abschnitt 6.3.1) nutzen, katastrophale Auswirkungen haben. Dies wäre zum Beispiel der Fall, wenn Sie einen absoluten Pfad anzugeben versuchen und nach dem ersten Schrägstrich versehentlich ein Leerzeichen einfügen. Bei dieser Kombination würde rm das gesamte Dateisystem von unten her – eben rekursiv – löschen, und alle Dateien wären verloren!

Abbildung 21.17    Mit der Option »-r« können Sie eine Verzeichnishierarchie komplett entfernen.

Achten Sie daher bei der Verwendung von rm in Verbindung mit -r unbedingt auf die korrekte Pfadangabe. Wenn Sie sich nicht sicher sind, dann können Sie rm zusätzlich mit der Option -i aufrufen. Sie erhalten dann für die einzelnen Dateien und Verzeichnisse jeweils eine Rückfrage. Ebenso ist die Verwendung der Option -v möglich, um sich zeilenweise über den Fortschritt des Löschvorgangs informieren zu lassen. Der in Abbildung 21.17 dargestellte Löschvorgang entfernt die zuvor mit dem Befehl mkdir erzeugte Verzeichnishierarchie Briefe wieder aus dem Ordner Dokumente. Löschen Sie eine Datei mit rm, dann werden die Daten auf dem Datenträger nicht gelöscht. Streng genommen wird lediglich der Eintrag im Dateisystem entfernt, der auf die Daten verweist. Mit speziellen Programmen, die zum Beispiel Forensiker nutzen, ließe sich die Datei rekonstruieren. Der Befehl srm überschreibt die Daten, aus denen die Datei besteht, vor dem Löschen mit zufälligen

Zeichensequenzen. Damit wird die Rekonstruktion der Daten nahezu unmöglich gemacht. Der Befehl srm unterstützt dieselben Optionen wie rm. »srm« – »secure remove« srm [Optionen] Datei(en)

Beachten Sie, dass das mehrfache Überschreiben von Dateien mit zufälligen Daten Zeit in Anspruch nimmt. Mit der Option -s weisen Sie srm an, die Daten nur einmal zu überschreiben. Nutzen Sie die Option -z, dann werden die Daten lediglich mit Nullen überschrieben. Diese beiden Optionen werden schneller ausgeführt, aber die Rekonstruktion der gelöschten Dateien wird damit nicht maximal erschwert. Schließlich können Sie die Option -n nutzen, um die Datei selbst zu behalten, aber ihren Inhalt mit Datenmüll zu überschreiben. »touch« touch Ziel

Abschließend sei noch der Befehl touch erwähnt. Er dient nicht zum Kopieren, Löschen oder Verschieben von Dateien und Verzeichnissen, sondern hat die Aufgabe, das Änderungsdatum der Datei oder des Verzeichnisses auf den Zeitpunkt der Befehlsausführung zu setzen. Die Datei wird schlichtweg kurz touchiert, ohne sie zu ändern. Neben der Manipulation des Änderungsdatums können Sie touch aber auch nutzen, um eine leere Datei in einem Verzeichnis zu erstellen. Mit der Eingabe von touch Leer würde die Datei Leer im

aktuellen Arbeitsverzeichnis erzeugt, die aber keinen Speicherplatz auf dem Datenträger belegt. Solche leeren Dateien werden von einigen Programmen und Systemdiensten verschiedentlich genutzt, um das Verhalten der Programme oder Dienste zu konfigurieren. Bei der zuvor erwähnten Datei .localized handelt es sich um eine solche Datei. Lediglich Ihre bloße Existenz sorgt für die Übersetzung des Verzeichnisses Documents in die deutsche Bezeichnung Dokumente. Würden Sie sich mit less Documents/.localized den Inhalt der Datei anzeigen lassen, dann würden Sie feststellen, dass sie komplett leer ist. 21.3.3    Zeit und Arbeit sparen mit Jokerzeichen

Nutzen Sie bei der Eingabe der zuvor beschriebenen Befehle Jokerzeichen, dann werden Sie sich viel Zeit und Arbeit sparen. Die Jokerzeichen kann man auch als Platzhalter bezeichnen, denn sie stehen für ein oder beliebig viele Zeichen. Dass das Fragezeichen, wenn es als normales Zeichen interpretiert werden soll, mit dem Backslash \ maskiert werden muss, rührt daher, dass es sonst von der Shell als Platzhalter interpretiert wird. Es steht für genau ein einzelnes beliebiges Zeichen. Nehmen Sie an, in Ihrem aktuellen Arbeitsverzeichnis befinden sich drei Dateien – Grafik1.png, Grafik2.png sowie Grafik_Neu.png – und Sie möchten lediglich die ersten beiden Dateien löschen, Grafik_Neu.png jedoch behalten. Selbstverständlich könnten Sie den Befehl rm zweimal hintereinander mit zwei verschiedenen Parametern aufrufen. Einfacher und schneller geht es, wenn Sie das Fragezeichen als Jokerzeichen nutzen und rm Grafik?.png eingeben. Da das Fragezeichen für ein beliebiges Zeichen steht, trifft der Parameter auf die Dateien Grafik1.png und Grafik2.png zu. Die Datei Grafik_Neu.png wird hingegen nicht gelöscht, da nach der

Zeichenkette Grafik mehr als ein Zeichen bis zum Suffix .png folgt. Das Sternchen * steht für beliebig viele Zeichen. Sollten sich in Ihrem Arbeitsverzeichnis neben vierhundert willkürlich benannten Bilddateien, die jedoch alle mit der Dateiendung .png versehen wurden, noch weitere Dateien befinden, dann ist das Sternchen eine große Hilfe. Wenn Sie alle vierhundert Bilddateien in ein Unterverzeichnis verschieben möchten, dann müssen Sie nicht den Befehl rm mehrere Hundert Mal aufrufen, sondern Sie können einfach den Befehl mv mit einem Jokerzeichen nutzen. Die Eingabe von mv *.png Bilder/ verschiebt alle Bilddateien in den Unterordner Bilder. Hier lautet die Bedingung, dass der Dateiname zunächst mit einer beliebigen Zeichenkette beginnt und mit .png endet. Es wäre auch möglich, mit der Eingabe von mv Berlin*.png BerlinerBilder/ alle Bilddateien, deren Name mit Berlin beginnt und mit .png endet, in den angegebenen Ordner zu verschieben. Bei der Nutzung von Jokerzeichen müssen Sie beachten, dass einige Parameter eines Befehls eindeutig sein müssen. Die Eingabe von cp *.png Bilder*/ wird zu Problemen führen, da der Zielordner des Kopiervorgangs nicht eindeutig identifiziert werden kann. Nützlich sind die Jokerzeichen immer dann, wenn Sie eine größere Anzahl an Dateien in einem Durchgang bearbeiten oder Ordnung und Sortierung in einen überfüllten Ordner bringen möchten.

21.4    Mit Texten arbeiten Möchten Sie Ihr System im Detail konfigurieren, dann werden Sie recht bald am Terminal Texte bearbeiten müssen. Die meisten UnixDienste nutzen einfache Textdateien, um Voreinstellungen und Konfigurationen zu speichern. In diesem Abschnitt stelle ich Ihnen zwei im Alltag nützliche Befehle vor. Das Programm less habe ich schon im Zusammenhang mit den Man-Pages angesprochen; es dient ausschließlich zur Anzeige von Texten. Mit nano steht ein einfacher, aber leicht zu bedienender Editor zur Bearbeitung von Texten zur Verfügung. Zwei weitere bekannte, aber für Anfänger eher umständlich zu bedienende Editoren sind emacs und vi. 21.4.1    Texte mit »less« anzeigen

Sie werden recht schnell in die Situation kommen, dass Sie eine Textdatei einsehen möchten, ohne sie zu bearbeiten. In diesem Fall ist das Programm less sehr nützlich. Der Vorteil von less im Vergleich zu einem Editor mit grafischer Oberfläche besteht unter anderem darin, dass less in der Lage ist, auch sehr große Textdateien anzuzeigen. »less« less Datei

Mit der Eingabe von less, gefolgt vom Namen einer Textdatei, können Sie das Programm starten. Anschließend übernimmt less das gesamte Fenster des Terminals, der Prompt verschwindet. Mit der Eingabe von less /etc/apache2/httpd.conf öffnen Sie

die Konfigurationsdatei httpd.conf des Apache Webservers, die sich im Verzeichnis /etc/apache2 befindet. Direkt nach dem Start zeigt Ihnen less in der untersten Zeile den Namen und das Verzeichnis der aktuell dargestellten Datei an. Mit (ì) und (ë) bewegen Sie sich zeilenweise durch die Datei. Ein Druck auf die Leertaste blättert eine Seite nach unten, während Sie mit (B) eine Seite zurückblättern. Mit (D) und (U) blättern Sie jeweils eine halbe Seite vor und zurück. Um die Datei zu durchsuchen, geben Sie zuerst mit (ª)+(7) einen Schrägstrich ein. Dieser erscheint nun in der untersten Zeile des Fensters. Anschließend geben Sie die Zeichenkette ein, nach der Sie im Dokument suchen möchten, und schließen die Eingabe mit (¢) ab. Nach der Eingabe durchsucht less die Textdatei und springt ausgehend von der aktuellen Anzeige zur ersten Fundstelle. Die Fundstellen hebt less invers hervor (siehe Abbildung 21.18). Ein Druck auf (N) führt Sie zur nächsten Fundstelle, während die Tastenkombination (ª)+(N) zur vorhergehenden springt. Möchten Sie den Text rückwärts durchsuchen, dann geben Sie anstelle von / das Fragezeichen ? gefolgt vom Suchbegriff ein.

Abbildung 21.18    »less« hebt die Fundstellen des Suchbegriffs hervor.

In einigen Fällen ist es praktisch, die Anzeige ausschließlich auf die Zeilen zu beschränken, in denen die gesuchte Zeichenkette vorkommt. Hierzu geben Sie anstelle von / das Und-Zeichen & gefolgt vom Suchbegriff ein. Mit der Taste (Q) beenden Sie less und kehren zum Prompt zurück. 21.4.2    Texte mit »nano« bearbeiten

An Texteditoren herrscht nun wahrlich kein Mangel, und für jede Arbeitsweise und Anforderung ist ein entsprechendes Programm verfügbar. Auch am Terminal steht eine ganze Reihe von zum Teil äußerst mächtigen Werkzeugen zur Textbearbeitung zur Verfügung. Der Funktionsumfang des Programms nano ist recht überschaubar. Damit eignet sich nano gut zum Einstieg. Auch ist nano auf anderen Unix- und Linux-Systemen meistens schon vorinstalliert. »nano« nano Datei

Sie starten den Editor durch die einfache Eingabe von nano. Als Parameter können Sie eine Datei übergeben, die schon existiert und die Sie bearbeiten möchten. Wenn Sie den Namen einer Datei übergeben, die noch nicht existiert, dann merkt sich nano den Namen und bietet ihn beim späteren Speichern automatisch an. Bis zu diesem Punkt erfolgt zunächst noch keine Speicherung auf dem Datenträger.

Abbildung 21.19    Den Editor »nano« können Sie durch Tastenkürzel steuern.

Text eingeben, bearbeiten und löschen können Sie in nano wie in jedem anderen Editor auch. Hier unterscheidet sich nano nicht von anderen Programmen. Gesteuert wird der Editor durch eine Reihe von Tastenkürzeln, von denen Ihnen die aktuell nützlichen in den unteren zwei Zeilen des Fensters angezeigt werden. Die Tastenkürzel basieren auf der Taste (ctrl), kombiniert mit einer weiteren. Mit der Tastenkombination (ctrl)+(X) beenden Sie den Editor. Wenn ungespeicherte Änderungen vorhanden sind, dann erhalten Sie eine Rückfrage und können mit der Taste (N) die Änderungen verwerfen. Drücken Sie die Taste (Y), dann werden die Änderungen gespeichert. Um das Verzeichnis zu ändern, in dem nano die Datei speichert, geben Sie einen anderen Pfad (siehe Abschnitt 21.3.1) direkt ein. Ändern Sie den Dateinamen also von Textdatei.txt in /Users/kai/Documents/Textdatei.txt, dann wird die Datei im Verzeichnis Dokumente im persönlichen Ordner des Benutzers mit dem Kurznamen »kai« gespeichert. Um die vorgenommenen Änderungen zu speichern, ohne nano zu beenden, verwenden Sie die Tastenkombination (ctrl)+(O). Um den Inhalt einer anderen Datei an der aktuellen Position des Cursors einzufügen, nutzen Sie zunächst die Tastenkombination (ctrl)+ (R). Geben Sie dann entweder den Pfad einer Datei an, oder öffnen Sie mit der Tastenkombination (ctrl)+(T) den eingebauten

Dateibrowser (siehe Abbildung 21.20). In dem Dateibrowser bewegen Sie die Auswahl mit den Pfeiltasten. Haben Sie ein Verzeichnis ausgewählt und drücken Sie (¢), dann wechseln Sie in dieses Verzeichnis. Ist eine Datei ausgewählt und drücken Sie (¢), dann wird diese geöffnet und in Ihr aktuelles Dokument eingefügt.

Abbildung 21.20    Wenn Sie die Datei in einem anderen Verzeichnis speichern möchten, können Sie in »nano« den Dateibrowser aufrufen.

Es ist auch möglich, nano zunächst ohne die Vorgabe einer Datei durch die einfache Eingabe von nano zu starten. Nutzen Sie dann die Tastenkombination zum Einfügen einer Datei ((ctrl)+(R)), und rufen Sie den Dateibrowser auf ((ctrl)+(T)), um die zu öffnende Datei auszuwählen. Obwohl Sie Text aus der normalen Zwischenablage von macOS durchaus in nano einfügen können, ist die integrierte Zwischenablage des Editors oft nützlicher. Diese arbeitet zeilenbasiert. Sie können den Inhalt der Zeile, in der sich der Cursor befindet, mit der Tastenkombination (ctrl)+(K) ausschneiden. Bewegen Sie den Cursor an die Stelle, an der Sie die Zeile einfügen möchten, und nutzen Sie die Tastenkombination (ctrl)+(U). Um schneller durch einen Text zu navigieren, können Sie mit (ctrl)+(V) eine Seite weiterblättern. Mit (ctrl)+(Y) blättern Sie eine Seite zurück.

Der Editor verfügt auch über eine Suchfunktion. Die Tastenkombination (ctrl)+(W) ergänzt das kleine Menü unten um eine dritte Zeile mit dem Hinweis Search:. Geben Sie dann den Suchbegriff ein, und starten Sie mit (¢) die Suche. Haben Sie bereits eine Suche ausgeführt und möchten Sie zur nächsten Fundstelle springen, dann rufen Sie mit (ctrl)+(W) die Suchfunktion erneut auf. Ihr zuvor eingegebener Begriff erscheint in eckigen Klammern, und wenn Sie nun keinen anderen Begriff eingeben, sondern einfach (¢) drücken, dann gelangen Sie zur nächsten Fundstelle. Wenn Sie sich mit weiteren Funktionen von nano vertraut machen möchten, dann können Sie die Hilfe mit der Tastenkombination (ctrl)+(G) aufrufen. Das Programm verfügt noch über ein paar weitere Funktionen, die beispielsweise den Cursor an den Anfang oder das Ende eines Wortes bewegen.

21.5    Ein paar Tipps und Tricks für den Alltag Die Shell bash bietet eine Vielzahl von Möglichkeiten, die Ihnen bei der Eingabe von Befehlen und bei der Navigation im Dateisystem viel Zeit sparen. Und in der Tat gibt es ganze Bücher, die sich nur der Shell und ihren vielen kleinen Details widmen. In diesem Abschnitt stelle ich Ihnen lediglich ein paar unverzichtbare Tipps und Tricks für die Arbeit am Terminal und mit der Shell vor. Die weitere Beschäftigung mit der bash und ihren Funktionen kann sich, wenn Sie intensiver am Terminal arbeiten möchten, als sehr gewinnbringend erweisen. 21.5.1    Befehlshistorie und automatisches Vervollständigen

Die Shell führt im Hintergrund Buch über Ihre Eingaben und speichert diese in der Datei .bash_history in Ihrem persönlichen Verzeichnis. Sie können die Datei durch die Eingabe von beispielsweise less ~/.bash_history einsehen. Nutzen lässt sich die Historie Ihrer Eingaben mit den Pfeiltasten. Drücken Sie die Taste (ì), dann erscheint der zuvor eingegebene Befehl am Prompt, und Sie müssen lediglich (¢) drücken, um ihn erneut auszuführen. Drücken Sie (ì) mehrfach hintereinander, dann rufen Sie nach und nach die von Ihnen zuvor eingegebenen Befehle wieder auf. Mit der Taste (ë) gehen Sie wieder einen Schritt vorwärts. Haben Sie den gesuchten Befehl schon vor einiger Zeit eingegeben und möchten Sie nicht dreißigmal (ì) drücken, dann können Sie mit der Tastenkombination (ctrl)+(R) den Verlauf durchsuchen. Wenn sich der Prompt in (reverse-i-search)`': geändert hat,

geben Sie einfach den Befehl oder eine Zeichenkette ein, die Bestandteil des gesuchten Aufrufs ist, und die Shell stellt Ihnen die zuletzt eingegebene und übereinstimmende Befehlsfolge zur Auswahl. Mit (¢) führen Sie den Befehl mit den zuvor verwendeten Parametern und Optionen erneut aus. Nutzen Sie statt (¢) erneut die Tastenkombination (ctrl)+(R), dann stellt Ihnen die Shell die vorhergehende Fundstelle zur Auswahl. Drücken Sie anstelle von (¢) eine andere Taste, dann wird der Befehl nebst Optionen und Parametern am Prompt eingefügt, aber nicht unmittelbar ausgeführt, sodass Sie Parameter und Optionen anpassen können. Viel Tipparbeit sparen Sie sich mit der automatischen Vervollständigung durch die Shell. Geben Sie zum Beispiel zunächst cd Doc ein und drücken Sie dann (ê), so vervollständigt die Shell Ihre Eingabe zu cd Documents. Die Vervollständigung funktioniert nur, wenn sie eindeutig ist. Würden Sie lediglich cd Do eingeben und (ê) drücken, dann würde der Warnton erklingen, da sich in Ihrem persönlichen Ordner die Verzeichnisse Documents und Downloads befinden. Drücken Sie die Taste (ê) zweimal hintereinander, dann präsentiert Ihnen die Shell die zur Verfügung stehenden Möglichkeiten, etwa Documents und Downloads. 21.5.2    Den Cursor positionieren

Möchten Sie mit der Tastenkombination (š)+(í) den Cursor an den Anfang der Eingabeaufforderung platzieren, dann werden Sie feststellen, dass dies anders als in einem Programm wie TextEdit nicht funktioniert. Am Terminal müssen Sie die Tastenkombinationen der Shell nutzen, um den Cursor schnell zu positionieren. Mit der Tastenkombination (ctrl)+(A) platzieren Sie den Cursor an den Anfang der Eingabeaufforderung. Die

Tastenkombination (ctrl)+(D) löscht das Zeichen rechts vom Cursor, während (ctrl)+(K) alle Zeichen ausgehend vom Cursor bis zum Ende der Zeile entfernt. Das Wort vor dem Cursor löschen Sie mit der Tastenkombination (ctrl)+(W). Mit (ctrl)+(E) bewegen Sie den Cursor an das Ende der Zeile. 21.5.3    Drag & Drop ins Terminalfenster

Aus dem Finder können Sie Dateien und Ordner direkt in ein Fenster des Terminals ziehen. Der absolute Pfad der Datei wird eingefügt, und das Terminal maskiert dabei eventuell vorhandene Sonderzeichen, die sich im Pfad befinden. In Abbildung 21.21 wurde das Leerzeichen in der Bezeichnung Neuer Ordner automatisch mit einem Backslash maskiert.

Abbildung 21.21    Dateien und Ordner können Sie direkt in ein Fenster des Terminals ziehen.

21.5.4    Das Terminal und die Zwischenablage

Das Terminal unterstützt natürlich auch die Arbeit mit der Zwischenablage. Sie können Text aus dem Fenster des Terminals sowohl in die Zwischenablage kopieren als auch Text aus der Zwischenablage am Prompt einfügen.

Abbildung 21.22    Der (unsichtbare) Zeilenumbruch wird ebenfalls in die Zwischenablage kopiert.

Wenn Sie Text aus der Zwischenablage am Prompt einfügen, dann müssen Sie auf einen eventuell vorhandenen Zeilenumbruch am Ende achten. Wird dieser mitkopiert, dann wird der Befehl direkt nach dem Einfügen ausgeführt. Bei der in Abbildung 21.22 dargestellten Auswahl ist der Zeilenumbruch am Ende inbegriffen, der Befehl würde sofort ausgeführt werden. Würde die Auswahl nur bis zum Buchstaben »s« reichen und nicht bis zum rechten Rand des Fensters, dann wäre der Zeilenumbruch nicht inbegriffen. Fügten Sie diese Auswahl am Prompt des Terminalfensters ein, dann könnten Sie den Befehl und seine Parameter vor der Ausführung noch bearbeiten.

Abbildung 21.23    Mit dem Kurzbefehl »cmd« + »alt« + »A« wird die Ausgabe des zuvor ausgeführten Befehls ausgewählt.

Möchten Sie Text aus einem Terminalfenster in die Zwischenablage kopieren, dann ist der Kurzbefehl (cmd)+(alt)+ (A) sehr nützlich. Er selektiert nur den Text, der zwischen dem letzten Befehl und dem aktuellen Prompt ausgegeben wurde (siehe Abbildung 21.23).

Über den Menübefehl Bearbeiten • Kopieren wird der markierte Text als RTF-Text inklusive eventuell enthaltener Formatierungen kopiert. Dies ist, wenn es um die Ausgaben im Fenster des Terminals geht, oft nicht erwünscht. Über den Menübefehl Bearbeiten • Sonderzeichen kopieren • Reinen Text kopieren wird der ausgewählte Text ohne jegliche Formatierungen in die Zwischenablage kopiert. Erfolgt die Ausgabe eines Befehls in mehreren Spalten, dann möchten Sie vielleicht lediglich die Inhalte einer Spalte in die Zwischenablage kopieren. Halten Sie die Taste (alt) gedrückt, dann wird aus dem Mauspfeil ein Kreuz. Nun können Sie einen rechteckigen Bereich aufziehen, innerhalb dessen der Text ausgewählt wird (siehe Abbildung 21.24).

Abbildung 21.24    Mit gedrückt gehaltener Taste »alt« kann ein Bereich ausgewählt werden.

21.5.5    Das Dienstprogramm Terminal konfigurieren

Das Terminal als Dienstprogramm bietet an sich eigentlich relativ wenige Möglichkeiten der Konfiguration. Eine sehr praktische Funktion ist die Speicherung von Fenstergruppen: Arrangieren Sie zunächst die Fenster für sich passend. Positionieren Sie beispielsweise zwei Fenster nebeneinander, und lassen Sie sich in dem rechten Fenster die Man-Page anzeigen, zu der Sie im linken Fenster den Befehl ausführen. Wählen Sie dann den Menübefehl

Fenster • Fenster als Gruppe sichern. In dem folgenden Dialog (siehe Abbildung 21.25) können Sie auch vorgeben, dass Sie diese Fenstergruppe beim Start von »Terminal“ verwenden möchten. Wenn Sie das Terminal nun starten, werden automatisch die in dieser Gruppe gespeicherten Fenster geöffnet. Die Option Alle Befehle wiederherstellen führt dazu, dass die in den Fenstern zuletzt ausgeführten Befehle erneut ausgeführt werden, wenn das Fenster nach einen Neustart des Terminals geöffnet wird. Für die meisten Anwender erweist sich diese Funktion als unpraktisch – es sei denn, sie haben bereits eine genaue Vorstellung ihrer Arbeitsumgebung entwickelt.

Abbildung 21.25    Fenster können Sie als Gruppe sichern und automatisch öffnen lassen.

Die gespeicherten Fenstergruppen finden Sie in den Voreinstellungen des Terminals, die Sie über den Menüpunkt Terminal • Einstellungen aufrufen, in der Ansicht Fenstergruppen. Sie löschen eine Gruppe, indem Sie das kleine Minuszeichen unterhalb der Liste anklicken. Für die Darstellung der Fenster nutzt das Terminal sogenannte Profile, die Sie in der gleichnamigen Liste finden. Die Profile definieren in erster Linie das Aussehen des Textes (Farben,

Transparenz, Art des Cursors ...). In der Ansicht Fenster (siehe Abbildung 21.26) sollten Sie die Option Tastaturbefehl aktivieren. Damit wird Ihnen in der Titelleiste das Tastenkürzel – etwa (š)+ (alt)+(1) – angezeigt, über das Sie das Fenster aktivieren. Hilfreich ist auch die Anzeige von Arbeitsverzeichnis oder Dokument mit der Unteroption Pfad. Damit wird Ihnen in der Titelleiste des Fensters das aktuelle Arbeitsverzeichnis angezeigt. Ihr persönlicher Ordner wird zum Beispiel durch die Tilde sowie das Icon mit dem Haus symbolisiert. Wenn Sie einem bereits geöffneten Fenster ein anderes Profil zuweisen möchten, dann wählen Sie den Menübefehl Shell • Informationen einblenden aus. In der Palette Informationen stehen Ihnen im Reiter Einstellungen die in den Einstellungen angelegten Profile zur Auswahl.

Abbildung 21.26    Die Option »Tastaturbefehl« ist aktiviert und bewirkt, dass das passende Tastaturkürzel in der Titelleiste des Fensters angezeigt wirkt.

22    Spezielle Befehle von macOS macOS verfügt über einige spezielle Befehle am Terminal, die Sie bei keinem anderen Unix-Derivat finden werden. In diesem Kapitel stelle ich Ihnen einige dieser im Alltag manchmal sehr nützlichen Befehle vor. Bei macOS handelt es sich um ein vollwertiges und auch entsprechend zertifiziertes Unix-System. Das bedeutet, dass es einen bestimmten Befehlsschatz besitzt, den Sie als Administrator voraussetzen können. Dazu gehören Befehle wie cp und mv zum Kopieren und Verschieben von Dateien und Verzeichnissen. Auch geht mit der Standardisierung eine bestimmte Verzeichnisstruktur einher, innerhalb derer für das System relevante Dateien und Ordner abgelegt werden. Sind Sie mit der Arbeit am Terminal schon vertraut, weil Sie sich intensiver mit einem anderen Unix-Derivat oder einer LinuxDistribution auseinandergesetzt haben, dann können Sie die meisten Befehle und Tools wie grep, sed und awk zur Textbearbeitung wie gewohnt nutzen. Auch funktionieren Befehle wie scp und rsync aller Wahrscheinlichkeit nach genau so, wie Sie es kennen. Dieses Kapitel setzt bei den Differenzen an, und ich möchte Ihnen Befehle vorstellen, die auf anderen Betriebssystemen nicht vorhanden sind, und zwar solche Befehle, die Ihnen im Arbeitsalltag von Nutzen sein können. Dazu gehört zum Beispiel der Befehl textutil, der es Ihnen ermöglicht, am Terminal mit einer einzigen Eingabe eine beliebige Anzahl von Textdateien in ein anderes

Format zu konvertieren. Praktisch ist auch sips zur Bearbeitung von Bilddateien. Mit afconvert und afplay können Sie Audiodateien konvertieren und abspielen, während Ihnen avconvert bei der Konvertierung von einigen Videoformaten zur Seite steht. Erstellen Sie selbst Shell-Skripten, dann können Sie mit logger komfortabel Einträge in den Protokolldateien des Systems erzeugen. Zugriff auf die Zwischenablage von macOS erhalten Sie am Terminal mit den Befehlen pbcopy und pbpaste, während Sie mit dem Befehl say die Sprachausgabe vom Terminal aus steuern. Gedacht ist dieses Kapitel in erster Linie für etwas erfahrenere UnixAnwender, die ihren Befehlsschatz unter macOS vervollständigen möchten. Aber auch wenn Sie gerade erst die Arbeit mit dem Terminal entdeckt haben, kann Ihnen beispielsweise textutil manchmal schon Arbeit ersparen.

22.1    Produktives Arbeiten Unter produktivem Arbeiten wird in diesem Abschnitt ein Vorgang verstanden, an dessen Ende eine wie auch immer bearbeitete Datei steht. Zunächst stelle ich Ihnen die Bearbeitung von Bilddateien mittels sips vor. Word-, LibreOffice-, RTF- und Textdateien können Sie mithilfe von textutil konvertieren und dabei auch HTMLDateien erzeugen. Für die Konvertierung von Audiodateien am Terminal steht Ihnen afconvert zur Verfügung, mit afplay lassen sich Audiodateien auch am Terminal abspielen. Schließlich können Sie einige Videoformate mithilfe von avconvert und qtmodernizer umwandeln. Richtig nützlich werden diese Befehle, wenn Sie sie in Verbindung mit den Jokerzeichen (siehe Abschnitt 21.3.3) verwenden. Auf diese Weise wäre es theoretisch und praktisch möglich, mit einer einzigen

Eingabe am Terminal mehrere Tausend Word-Dokumente in HTMLDateien zu konvertieren. 22.1.1    Bildbearbeitung mit »sips«

Auch wenn man kein Grafikdesigner ist, so findet man sich doch recht schnell in einer Situation wieder, in der eine Reihe von Bilddateien konvertiert werden müssen. Vielleicht handelt es sich um die Urlaubsfotos vom letzten Jahr, die für die Darstellung auf der privaten Website verkleinert und in ein anderes Dateiformat gebracht werden sollen. Der Befehl sips hilft Ihnen hierbei. Er beruht auf dem Scriptable Image Processing System, einer auch mit den Skriptsprachen AppleScript und JavaScript nutzbaren Funktionsbibliothek. »sips« – »scriptable image processing system« sips [Aktion] Datei

Die Funktionsweise von sips besteht darin, die Eigenschaften einer Bilddatei anzuzeigen und zu ändern. Sowohl die Höhe und Breite als auch der Urheber und das Dateiformat werden hierbei als Eigenschaften betrachtet. Die Option -g dient zur Anzeige, die Option -s zur Änderung einer Eigenschaft. Wenn Sie am Terminal mit cd (siehe Abschnitt 21.3.1) in ein Verzeichnis gewechselt sind, in dem sich die Grafikdateien befinden, die Sie bearbeiten wollen, dann können Sie sips zum Beispiel mit der Option -g pixelWidth Datei.png aufrufen. Sie erhalten am Terminal dann die Information, wie viele Bildpunkte die Grafik in der Breite beansprucht (siehe Abbildung 22.1).

Welche Eigenschaften Sie mit sips einsehen und ändern können, wird Ihnen durch die Eingabe von sips -H angezeigt, und zwar in der Rubrik Image property keys. Die Eingabe von sips -g copyright Bild.png würde Ihnen die in der Datei eingebetteten Informationen zu den Urheberrechten anzeigen.

Abbildung 22.1    Eigenschaften von Bilddateien können Sie mit »sips« einsehen und ändern.

Möchten Sie in den Metadaten einer Datei etwas ändern, dann nutzen Sie die Option -s. Mit der Eingabe von sips -s copyright "Kai Surendorf" Bild.png würden Sie der Datei Bild.png die Copyrightinformation hinzufügen. Um die Bilddatei selbst zu drehen, zu spiegeln und zu beschneiden, stellt Ihnen sips einige weitere Optionen zur Verfügung (siehe Tabelle 22.1). Die Größe des Bildes ändern Sie mit den Optionen -z und -Z. Während Sie mit -z eine fixe Größe angeben, definieren Sie mit -Z die maximale Breite und Höhe. An die Option schließen sich die Angabe der Höhe und der Breite an. Die Eingabe von sips -z 100 200 Bild.png würde die Maße des Bildes auf 200 Pixel Breite und 100 Pixel Höhe festlegen. Mit sips -Z 200 Bild.png wäre das Bild maximal 200 Pixel breit oder hoch, wobei die Proportionen erhalten bleiben.

Wenn Sie Bildränder entfernen, aber auf jeden Fall die Mitte erhalten wollen, verwenden Sie die Option -c. Auch hier müssen Sie die Werte für die Höhe und die Breite angeben. Mit der Eingabe von sips -c 200 500 Bild.png wird das Bild auf eine Höhe von 200 und eine Breite von 500 Pixeln beschnitten. Zum Drehen und Spiegeln eines Bildes nutzen Sie die Optionen -r und -f. Bei der Drehung mit -r müssen Sie den Winkel angeben. Bei der Spiegelung mit -f veranlassen Sie durch horizontal eine horizontale und durch vertical eine vertikale Spiegelung. Beide Optionen lassen sich kombinieren, und die Eingabe von sips -r 90 -f vertical Bild.png würde das Bild um 90 Grad drehen und zugleich vertikal spiegeln. Schließlich können Sie mit sips Bilddateien in ein anderes Format konvertieren, indem Sie mit der Option -s die Eigenschaft format ändern. Die zur Verfügung stehenden Formate werden Ihnen nach der Eingabe von sips -H unter format aufgeführt. Mit dem Kürzel jpeg konvertieren Sie die Datei in das JPG-Format, mit tiff in das TIFF-Format. Neben dem Format geben Sie zusätzlich mit der Option --out noch den Namen der konvertierten Datei an. Die Eingabe sips -s format jpeg Bild.png --out Bild.jpg würde die Datei Bild.jpg erzeugen. Sie können der Option --out anstelle eines Dateinamens auch ein Verzeichnis übergeben. Dies ist praktisch, wenn Sie mehrere Dateien mit einer Eingabe bearbeiten. Möchten Sie, dass die konvertierte Datei mit der korrekten Endung im aktuellen Verzeichnis gespeichert wird, dann geben Sie es mit ./ (siehe Abschnitt 21.3.1) als Ziel an. Die Eingabe könnte sips -s format jpg *.png -out ./ lauten.

Option

Funktion

-g Der Wert der Eigenschaft wird ausgegeben. Eigenschaft -s Der Wert der Eigenschaft wird neu gesetzt. Eigenschaft Wert -z Höhe Breite

Die Größe des Bildes wird auf die angegebenenDimensionen geändert.

-Z Wert

Die Größe des Bildes wird geändert, wobei der Wert die maximale Breite oder Höhe definiert.

-c Höhe Breite

Das Bild wird ausgehend von der Mitte beschnitten.

-r Winkel

Das Bild wird um den angegebenen Winkel im Uhrzeigersinn gedreht.

-f Richtung Das Bild wird horizontal (horizontal) oder vertikal (vertical) gespiegelt. Tabelle 22.1    Optionen von »sips«

Die Optionen von sips lassen sich problemlos kombinieren und mit den Jokerzeichen nutzen. Ein Aufruf wie sips -Z 800 -s format png -r 90 -s copyright "Kai Surendorf" *.tiff --out PNG-konvertiert/

würde alle Dateien mit der Endung .tiff in das Format PNG konvertieren, dabei den Copyright-Vermerk hinzufügen und en passant die Bilder um 90 Grad drehen und an eine maximale Höhe

oder Breite von 800 Pixeln anpassen. Die neuen Dateien würden im Verzeichnis PNG-konvertiert gespeichert. 22.1.2    Texte konvertieren mit »textutil«

Textdokumente konvertieren Sie mit textutil in ein anderes Format. Dabei ist text-util nicht nur in der Lage, das Dateiformat zu ändern, sondern auch ein paar Formatierungen vorzunehmen. Praktisch ist textutil vor allem dann, wenn Sie eine ganze Reihe von Textdokumenten konvertieren müssen, dabei aber auf einige Feinheiten in der Formatierung verzichten können. »textutil« – »text utility« textutil Aktion Datei

Zunächst können Sie über -info ein paar Informationen über die Textdateien einholen. Damit werden Ihnen das Dateiformat, die Dateigröße, die Anzahl der Zeichen sowie ein Ausschnitt des Inhalts ausgegeben. Die Konvertierung in ein anderes Dateiformat nehmen Sie mit der Aktion -convert vor, wobei Sie das Kürzel des Zielformats ergänzen. Hierbei stehen Ihnen die Kürzel txt, html, rtf, rtfd, doc, docx, wordml, odt und webarchive zur Verfügung. Mit rtfd erzeugen Sie ein Bundle (siehe Abschnitt 1.6), das neben dem RTFText auch die Bilder enthält. Bei odt handelt es sich um das OpenDocument-Format, das von Apache OpenOffice und LibreOffice genutzt wird. Die Angabe von wordml erzeugt eine XMLDatei, die von Microsoft Word in den aktuelleren Versionen gelesen werden kann. Mit doc und docx generieren Sie die allgemein bekannten Word-Dateien. Während Sie mit html einen einfachen

Hypertext erstellen, wird mit webarchive ein Archiv erzeugt, das auch die Bilder enthält. Dieses Format entspricht demjenigen, das Ihnen Safari beim Speichern einer Webseite zur Verfügung stellt. Das Format von Pages wird von textutil leider nicht unterstützt. Um nun eine oder mehrere RTF-Dateien in das Word-Format zu konvertieren, geben Sie textutil -convert docx Datei.rtf ein. Wenn Sie alle im aktuellen Arbeitsverzeichnis befindlichen RTFDateien in Word-Dateien konvertieren wollen, nehmen Sie ein Jokerzeichens zu Hilfe und geben textutil -convert docx *.rtf ein. Mit textutil ist es auch möglich, die Eigenschaften oder auch Metadaten einer Datei wie den Autor, das Erstellungs- und Änderungsdatum vorzugeben. Hierzu stehen Ihnen unter anderem die Optionen -author, -title, -subject, -comment sowie creation-time und -modificationtime zur Verfügung. Bei den beiden Zeitangaben müssen Sie das Format Jahr-MonatTagTStunden:Minuten:SekundenZ beachten. Mit der Angabe 2017-09-17T13:30:00Z würde der 17. September 2017 als Datum und 13:00:00 Uhr als Uhrzeit vorgegeben. Wenn Sie eine Word-Datei in das Format RTF konvertieren und dabei auch die Metadaten der Zieldatei vorgeben wollen, tätigen Sie beispielsweise folgende Eingabe: textutil -convert rtf -author "Kai Surendorf" title "Nur ein Titel" -creationtime 2017-0917T13:30:00Z -comment "Nur ein Kommentar" Text.docx

Öffnen Sie die Datei im Programm TextEdit, können Sie über den Menüpunkt Ablage • Eigenschaften einblenden die Attribute der Datei

anzeigen lassen. Hier fänden Sie die zuvor am Terminal eingegebenen Werte wieder (siehe Abbildung 22.2). Das Erstellungsund Änderungsdatum wird nicht von allen Dateitypen unterstützt beziehungsweise angezeigt.

Abbildung 22.2    Die Eigenschaften wurden mittels »textutil« vergeben.

Neben der Konvertierung ist textutil auch in der Lage, Dateien zusammenzuführen. Hierfür dient die Option -cat, der Sie das Format der Zieldatei vorgeben müssen. Durch die Eingabe von textutil -cat rtf *.doc würden alle Dateien mit der Endung .doc in einer RTF-Datei zusammengefasst. Neben den hier beschriebenen Grundlagen bietet Ihnen textutil ein paar weitere Optionen, die in erster Linie die Konvertierung in Hypertext betreffen. In der Dokumentation, die als Man-Page (siehe Abschnitt 21.2.1) vorliegt und am Terminal mit mantextutil aufgerufen werden kann, werden die Angaben aufgeführt.

22.1.3    Audiodateien mit »afconvert«, »afinfo« und »afplay« konvertieren

macOS stellt Ihnen am Terminal drei Befehle zur Verfügung, mit denen Sie Tondateien abspielen, konvertieren und deren Informationen einsehen können. »afplay« – »audio file play« afplay [Option] Datei

Zum Abspielen einer Tondatei übergeben Sie sie dem Befehl afplay einfach als Parameter. Dementsprechend würde die Eingabe von afplay Sound.mp3 die Datei erklingen lassen. Dabei wird der Prompt am Terminal so lange blockiert, wie die Datei abgespielt wird. Mit der Option -t können Sie die Spielzeit festlegen, und die Eingabe von afplay -t 30 Sound.mp3 würde die ersten dreißig Sekunden der Datei abspielen. »afinfo« – »audio file info« afinfo Datei

Abbildung 22.3    Mit »afinfo« sehen Sie die technischen Details einer Sounddatei ein.

Detaillierte Informationen über das Format einer Sounddatei erhalten Sie mithilfe des Befehls afinfo. Die Ausgabe von afinfo Sound.mp3 bezieht sich dabei nicht auf irgendwelche Metadaten wie den Interpreten, sondern beschränkt sich ausschließlich auf die technischen Aspekte wie die Codierung und die Datenrate (siehe Abbildung 22.3). Um eine Sounddatei in ein anderes Format zu konvertieren, können Sie den Befehl afconvert nutzen. Hierbei müssen Sie beachten, dass dieser Befehl die Konvertierung in das beliebte Dateiformat MP3 nicht beherrscht, da Apple diese Codierung nicht in das Betriebssystem integriert hat. Auch unterstützt afconvert das unter Linux-Systemen sehr beliebte Format FLAC nicht. Aber eine WAV-Datei, die Sie noch unter Windows in den 90er-Jahren erstellt haben, wandelt afconvert Ihnen zuverlässig in ein modernes Dateiformat wie MP4 um. »afconvert« – »audio file convert« afconvert Dateiformat Datenformat Ausgangsdatei Zieldatei

Um mit afconvert eine Datei zu konvertieren, müssen Sie zuvor sowohl das Datei- als auch das Datenformat identifizieren, in das konvertiert werden soll. Auf den ersten Blick mag das wie eine Doppelung aussehen, aber Sie müssen bedenken, dass bei der Erstellung einer Tondatei unterschiedliche Algorithmen und Methoden, auch Codierungen genannt, zum Einsatz kommen können. Ein Dateiformat kann also durch leicht unterschiedliche Verfahren erzeugt werden. Die Option -f bestimmt das Dateiformat und mit der Option -d geben Sie das Datenformat vor.

Abbildung 22.4    Die Eingabe von »afconvert -hf« listet die Datei- und Datenformate auf.

Mit der Eingabe von afconvert -hf lassen Sie sich die Liste der unterstützten Datei- und Datenformate anzeigen (siehe Abbildung 22.4). Hier finden Sie links das Kürzel für das Dateiformat, beispielsweise m4af, und rechts daneben die Angabe data_formats, hinter der die möglichen Datenformate aufgeführt sind. Um genau identifizieren zu können, welches Datenformat für Ihre Zwecke am sinnvollsten ist, benötigen Sie etwas weitergehende Kenntnisse dieser Datenformate für die Erstellung von Audiodateien. Möchten Sie eine Datei in das Format Apple MPEG-4 Audio konvertieren, dann lautet die Angabe für das Dateiformat mit der Option -f gemäß der Ausgabe von afconvert -hf m4af, und als Datenformat für die Option -d soll in diesem Beispiel aac für das Advanced Audio Coding genutzt werden. Mit der Eingabe von afconvert -f "m4af"  -d "aac"  Sound.mp3 würde die MP3-Datei in eine MP4-Datei konvertiert.

22.1.4    Videodateien mit »avconvert« und »qtmodernizer« konvertieren

Für die Konvertierung einiger Videoformate können Sie den Befehl avconvert nutzen. An und für sich handelt es sich bei diesem Befehl um das Pendant zur Exportfunktion des QuickTime Players. Das heißt, avconvert unterstützt für die Konvertierung genau die Formate, die auch der QuickTime Player unterstützt. Sie können mit avconvert also keine Dateien konvertieren, die die Endungen .wmv und .avi haben. »avconvert« – Audio/Video Converter avconvert -p Preset -s Ausgangsdatei -o Zieldatei

Abbildung 22.5    Die Liste der verfügbaren Presets rufen Sie durch die Eingabe von »avconvert --listPresets« ab.

Um das Format der Zieldatei zu bestimmen, müssen Sie ein sogenanntes Preset vorgeben. Hierbei handelt es sich um Voreinstellungen, die die resultierende Datei für die Wiedergabe auf einem bestimmten Gerät (iPhone, iPad, AppleTV ...) optimieren. Durch die Eingabe von avconvert --listPresets rufen Sie die Liste der unterstützten Presets auf (siehe Abbildung 22.5).

Zur Konvertierung einer Videodatei wechseln Sie zunächst in deren Verzeichnis, entscheiden sich für ein mit der Option -p anzugebendes Preset und geben die Namen der Ausgangs- und der Zieldatei an. Die Eingabe könnte avconvert -p PresetAppleM4VCellular -s Film.mov -o iPhoneFilm.mov

lauten (siehe Abbildung 22.6). Die bereits vorliegende Datei Film.mov wird daraufhin in eine für das iPhone optimale Version konvertiert. Diese trägt nach der Konvertierung den Namen iPhoneFilm.mov.

Abbildung 22.6    Unter Angabe eines Presets wird eine Filmdatei konvertiert.

Wenn Sie sich mit Videoformaten etwas besser auskennen, dann finden Sie in der Man-Page (siehe Abschnitt 21.2.1) des Befehls avconvert eine Reihe von Optionen und Parametern, mit denen Sie die Ausgabe noch weiter an Ihre Vorstellungen anpassen können. »qtmodernizer« – QuickTime Modernizer qtmodernizer Ausgangsdatei Zieldatei

Besitzen Sie noch Videodateien älteren Datums mit der Dateiendung .mov, die Sie vielleicht schon auf dem klassischen Mac OS erstellt haben, dann kann Ihnen der Befehl qtmodernizer dabei helfen, diese Dateien auf den aktuellen Stand der Technik zu bringen. Die Eingabe für eine Modernisierung der Datenstruktur lautet beispielsweise qtmodernizer AlteFilmdatei.mov NeueFilmdatei.mov. Der Befehl ist in erster Linie dafür gedacht, ältere Filmbestände in neuere Formate zu überführen.

22.2    Ein paar Tools für den Arbeitsalltag In diesem Abschnitt stelle ich Ihnen mit logger, open, say sowie pbcopy und pbpaste fünf Befehle vor, die Ihnen in vielen Situationen nützlich sein werden. 22.2.1    Protokollierung mit »logger«

Von einem Unix-System wie macOS werden Ereignisse, die während der Laufzeit des Systems auftreten, detailliert und intensiv protokolliert. Das Dienstprogramm Konsole (siehe Abschnitt 28.1.2) ist für die Fehlersuche sicherlich die erste Anlaufstelle. »logger« logger [Optionen] Nachricht

Mit dem Befehl logger erzeugen Sie einen Eintrag in den Systemprotokollen. Beispielsweise ließe sich logger nutzen, um schnell eine Bemerkung in den Protokollen zu hinterlassen, wenn Sie einen Systemdienst neu konfiguriert oder einen Server installiert haben. Wenn Sie selbst Skripten an der Shell erstellen, dann ist logger sicherlich ein sehr nützliches Werkzeug, um den Ablauf eines möglicherweise mit launchd automatisch ausgeführten Skripts zu dokumentieren. Auch könnten Sie logger im Automator in Verbindung mit der Aktion Shell-Skript ausführen nutzen, um Ergebnisse eines Arbeitsablaufs in den Systemprotokollen festzuhalten.

Abbildung 22.7    Der Befehl »logger« erlaubt die eigenhändige Protokollierung von Ereignissen.

Zunächst können Sie logger in Anführungszeichen einfach die Nachricht übergeben, die in den Protokollen eingetragen werden soll. Der Aufruf könnte beispielsweise logger "Dies ist ein Eintrag via logger" lauten (siehe Abbildung 22.8). Darüber hinaus ist eventuell die Option -t nützlich, weil sie es Ihnen erlaubt, Ihrem Eintrag noch eine Markierung hinzuzufügen. Der Option -t übergeben Sie eine möglichst prägnante Zeichenkette, möglicherweise den Namen Ihres Skripts oder Arbeitsablaufs. Nutzen Sie die Option -t nicht, dann wird der Kurzname Ihres Benutzerkontos für die Markierung genutzt.

Abbildung 22.8    Die mit »logger« gesetzte Markierung wird im Dienstprogramm Konsole als Absender angezeigt.

Im Dienstprogramm Konsole werden die mit logger vorgenommenen Einträge in der Ansicht Alle Mitteilungen gleichberechtigt neben den anderen Ereignissen aufgeführt. Hierbei wird jedoch auf die Angabe der Markierung verzichtet. Diese finden Sie, indem Sie sich die Protolldatei system.log direkt anzeigen

lassen. Wählen Sie unter Berichte den Eintrag system.log aus, dann finden Sie die Markierung anstelle des Kurznamens (siehe Abbildung 22.8). 22.2.2    Dateien und anderes mit »open« öffnen

Der Befehl open ist am Terminal das Pendant zum Doppelklick im Finder. Er dient zum Öffnen von Dateien und Verzeichnissen, und Sie können ihn auch für den gezielten Start von Programmen nutzen. »open« open [Option] [Datei]

Die einfachste Nutzung besteht darin, dem Befehl open einfach den Namen oder Pfad zu einer Datei zu übergeben. Diese Datei wird dann in dem Programm geöffnet, das in den Launch Services (siehe Abschnitt 1.7.1) dem Dateityp zugeordnet wurde. Mit open Datei.pdf würde die PDF-Datei in dem Programm geöffnet, mit dem Sie standardmäßig diese Dateien betrachten. Sie können aber auch explizit ein Programm mit der Option -a angeben, und zwar in Form des absoluten Pfads zum Bundle (siehe Abschnitt 21.3.1) oder des ausgeschriebenen Namens des Bundles. Sofern Sie den Acrobat Reader von Adobe installiert haben, ließe sich durch die Eingabe von open -e "/Applications/Adobe Acrobat Reader DC" Datei.pdf die Datei in diesem Programm aufrufen. Alternativ könnten Sie auch open -e "Adobe Acrobat Reader DC" Datei.pdf eingeben. Praktisch ist open aber nicht nur beim Öffnen von Dateien, sondern auch bei Verzeichnissen. Mit der Eingabe von open /etc würde

das sonst im Finder nicht sichtbare Verzeichnis etc im Finder in einem neuen Fenster geöffnet. Haben Sie sich mittels cd etwas tiefer in die Verzeichnisstruktur des Systems vorgewagt, dann öffnen Sie durch die Eingabe von open . das aktuelle Arbeitsverzeichnis in einem neuen Fenster. Praktisch ist auch die direkte Anzeige und Auswahl einer Datei, nämlich mit der Option R in der Form open -R Datei.pdf. Stört Sie die Tatsache, dass sich bei diesen Öffnungsvorgängen das jeweilige Programm wie der Finder in den Vordergrund drängelt, dann können Sie die Datei mit der zusätzlichen Option -g – beispielsweise open -g -R Datei.pdf – auch im Hintergrund öffnen. 22.2.3    Sprachausgabe mit »say«

Die Sprachausgabe von macOS nutzen Sie am Terminal durch den Befehl say. Ihm übergeben Sie in Anführungszeichen als Parameter die Nachricht, die von der Sprachausgabe wiedergegeben werden soll. Zusätzlich können Sie say mit der Option -v vorgeben, welche Stimme für die Sprachausgabe genutzt werden soll. Das Kommando für die Sprachausgabe könnte beispielsweise say -v Petra "Herzlich willkommen" lauten. Um sich den Inhalt einer Textdatei vorlesen zu lassen, geben Sie sie in Verbindung mit der Option -f zusätzlich an. »say« say [Optionen] Nachricht

Welche Stimmen auf Ihrem System installiert sind, können Sie in den Systemeinstellungen in der Ansicht Bedienungshilfen im Menü

Sprachausgabe nachsehen. Klappen Sie hier das Menü Systemstimme aus, dann finden Sie dort neben den bereits installierten Stimmen auch den Eintrag Anpassen, mit dem Sie weitere Stimmen von Apple herunterladen. 22.2.4    Mit »pbpaste« und »pbcopy« auf die Zwischenablage zugreifen

Auch am Terminal steht Ihnen die Zwischenablage von macOS über die Befehle pbcopy und pbpaste zur Verfügung. Während Sie mit pbcopy etwas in die Zwischenablage kopieren, fügen Sie den Inhalt der Zwischenablage mit pbpaste ein. In erster Linie eignen sich die beiden Befehle für reine Zeichenketten in Verbindung mit der Umleitung der Ein- und Ausgabe (siehe Abschnitt 21.1.2). »pbcopy« – »pasteboard copy« pbcopy

»pbpaste« – »pasteboard paste« pbpaste

Abbildung 22.9    Mit den Befehlen »pbpaste« und »pbcopy« greifen Sie auf die Zwischenablage zu.

Haben Sie einen Text in die Zwischenablage kopiert, dann können Sie ihn am Terminal durch die einfache Eingabe von pbpaste

ausgeben (siehe Abbildung 22.9). Alternativ können Sie auch die Umleitung der Ausgabe nutzen und mit der Eingabe pbpaste > Textdatei.txt eine neue Datei erstellen, deren Inhalt dem der Zwischenablage entspricht. Mit pbcopy kopieren Sie Text in die Zwischenablage. Geben Sie lediglich pbcopy ein, dann übernimmt der Befehl den Prompt, und alle weiteren Eingaben werden in die Zwischenablage kopiert. Sie beenden die Texteingabe, indem Sie eine leere Zeile am Ende einfügen und die Tastenkombination (ctrl)+(D) drücken. Auch hier können Sie die Umleitung der Eingabe nutzen, um den Inhalt einer Textdatei in die Zwischenablage zu kopieren. Der Aufruf des Befehls würde dann pbcopy < Textdatei.txt lauten.

22.3    Werkzeuge zur Administration Bei der Administration des Systems können die in diesem Abschnitt vorgestellten Befehle in einigen Situationen ganz nützlich sein. Mit systemsetup und networkset-up nehmen Sie Einstellungen vor, die Sie sonst nur über die Systemeinstellungen vornehmen können. Den Energieverbrauch Ihres Rechners steuern Sie mit pmset und caffeinate. 22.3.1    Einstellungen mit »systemsetup« und »networksetup«

Mit systemsetup lassen sich einige Einstellungen vornehmen, für die Sie sonst die Systemeinstellungen bemühen müssten. In erster Linie ist dieser Befehl nützlich, wenn Sie mittels SSH (siehe Abschnitt 12.2) den Rechner über das Netzwerk administrieren. »systemsetup« – System-Setup systemsetup Aktion [Parameter]

Das Funktionsprinzip von systemsetup besteht darin, dass verschiedene Aktionen zum Auslesen und Setzen von Werten für Eigenschaften genutzt werden. In der Man-Page des Befehls werden die Eigenschaften mit recht sprechenden Bezeichnungen wie getdisablekeyboardwhenenclosurelockisengaged dokumentiert. Da es sich bei systemsetup um einen

administrativen Befehl handelt, müssen Sie ihn als Super-User ausführen und ihm sudo (siehe Abschnitt 6.3.1) voranstellen sowie anschließend Ihr Passwort eingeben.

Durch die Eingabe von sudo systemsetup -getstartupdisk wird Ihnen das aktuelle Startvolume angezeigt. Hierbei erfolgt die absolute Pfadangabe zu einem Verzeichnis, in dem sich eine Datei boot.efi befindet. Diese Datei initiiert den Startvorgang des Systems. Welche Partitionen als Startvolume infrage kommen, bringen Sie durch die Eingabe von sudo systemsetup liststartupdisks in Erfahrung. Und schließlich lässt sich mit der Aktion -setstartupdisk kombiniert mit der Angabe des Pfades ein anderes Startvolume vorgeben. Die Eingabe könnte hier sudo systemsetup -setstartupdisk /Volumes/MacBuchHD/System/Library/CoreServices

lauten. Dieses Vorgehen entspricht in den Systemeinstellungen dem Wechsel zur Ansicht Startvolume, dem Entsperren der Ansicht durch einen Klick auf das Schlosssymbol sowie der Auswahl eines anderen Volumes. Möchten Sie das aktuell genutzte Startvolume festlegen, dann lautet die Eingabe sudo systemsetup -s /System/Library/CoreServices/. Beachten Sie ferner, dass der Befehl systemsetup bisweilen nicht in der Lage ist, alle für den Start validen Betriebssysteme zu erkennen. Haben Sie ein Wiederherstellungssystem auf einen USBStick geschrieben und diesen an den Rechner angeschlossen, dann wird dieses System von der Option -getstartupdisks nicht erkannt. Während sich systemsetup auf die generellen Einstellungen des Systems bezieht, konfigurieren Sie mit networksetup das Netzwerk. Auch dieser Befehl ist entsprechend dokumentiert, und er muss wiederum als Super-User ausgeführt werden, indem Sie ihm sudo voranstellen. Er eignet sich ebenfalls sehr gut für die Verwaltung über das Netzwerk mittels SSH, wobei Sie hier darauf

achten müssen, dass Sie sich nicht durch eine Fehlkonfiguration der Netzwerkeinstellungen aus dem entfernten Rechner aussperren. »networksetup« – Network-Setup networksetup Aktion [Parameter]

Mit der einfachen Eingabe von networksetup getcomputername bringen Sie den Namen in Erfahrung, unter dem sich Ihr Rechner im Netzwerk ankündigt. Vergeben wurde dieser Name in der Ansicht Freigaben der Systemeinstellungen. Wenn Sie die mit man networksetup aufrufbare Dokumentation studieren, werden Sie wahrscheinlich auf die Angaben hardwareport und device stoßen, die bei einigen Aktionen wie etwa -getmacaddress angegeben werden müssen. Bei diesem Port handelt es sich um die Bezeichnung, die in den Systemeinstellungen für diesen Anschluss vergeben wurden. Wenn Sie sich durch sudo networksetup -listallhardwareports die vorhandenen Netzwerkanschlüsse anzeigen lassen, dann entsprechen die aufgeführten Schnittstellen denen, die in den Systemeinstellungen unter Netzwerk konfiguriert wurden. Ein Sternchen zeigt an, dass die Schnittstelle inaktiv ist. Um nun die MAC-Adresse (siehe Abschnitt 10.2.1) über networksetup in Erfahrung zu bringen, geben Sie die Bezeichnung der Schnittstelle in Anführungszeichen an. Die Eingabe könnte, abhängig von Ihrer Konfiguration, zum Beispiel networksetup -getmacaddress "Thunderbolt Ethernet" lauten. Die Konfiguration einer Schnittstelle, zu der auch die aktuelle IPAdresse gehört, bringen Sie durch die Eingabe von networksetup -getinfo, gefolgt vom hardwareport der Schnittstelle, in

Erfahrung. Mit der Eingabe von networksetup -getinfo Wi-Fi würde die aktuelle IP-Adresse im drahtlosen Netzwerk angezeigt. 22.3.2    Energie (nicht) sparen mit »pmset« und »caffeinate«

Mit dem Befehl pmsetkönnen Sie den Energieverbrauch Ihres Rechners konfigurieren. Dabei wird unterschieden, ob Ihr Gerät mit dem Stromnetz verbunden ist oder ob es seinen Strom aus dem Akku bezieht. Durch die Eingabe von pmset -g lassen Sie sich die aktuelle Konfiguration anzeigen. Die meisten Werte sind mit selbsterklärenden englischen Bezeichnungen versehen. »pmset« – »power management settings« pmset [Option] [Parameter]

Abbildung 22.10    Die Eingabe von »pmset -g« zeigt die aktuelle Konfiguration des Energieverbrauchs an.

An und für sich sind die Einstellungen, die Sie über die Systemeinstellungen in der Ansicht Energie sparen vornehmen könnten, im Arbeitsalltag optimal. Insofern sind weitergehende Experimente mit pmset nicht wirklich sinnvoll.

Nützlich kann pmset aber in einem anderen Zusammenhang sein: Sollte sich Ihr Rechner weigern, in den Ruhezustand zu gehen, dann liefert Ihnen pmset -g einen Hinweis. In der mit sleep beginnenden Zeile finden Sie möglicherweise die Angabe sleep prevented by. Hier werden die Programme und Systemdienste aufgeführt, die Ihren Rechner am Schlafen hindern. Bei der in Abbildung 22.10 dargestellten Situation wäre das Beenden von iTunes sicherlich ein erster Schritt in Richtung Ruhezustand. Den Ruhezustand verhindern können Sie mit dem Befehl caffeinate. Das Funktionsprinzip von caffeinate beruht darauf, dass der Ruhezustand so lange verhindert wird, wie der Befehl aktiv ist. Aus diesem Grund übernimmt er auch die Eingabeaufforderung im Terminal-Fenster. Solange Sie den Befehl nicht abbrechen, geht Ihr Rechner nicht schlafen. Mit der Tastenkombination (š)+(.) brechen Sie den Befehl ab, der Prompt erscheint wieder am Terminal, und Ihr Rechner wird zum festgelegten Zeitpunkt in den Ruhezustand gehen. »caffeinate« – Koffein caffeinate [Optionen] Befehl

Es können einige Situationen auftreten, in denen Sie den Ruhezustand so lange verhindern möchten, bis ein bestimmtes Programm beendet wurde. Das kann zum Beispiel bei einem sehr umfangreichen Download mittels curl (siehe Abschnitt 13.3.3) oder beim Update eines Onlinespiels der Fall sein. Abhängig von der Programmierung ist es bei Programmen von Drittherstellern unwahrscheinlich, dass sie automatisch den Ruhezustand des Rechners unterbinden. In diesem Fall können Sie caffeinate mit der Option -t aufrufen. Dieser Option müssen Sie ferner die

Prozess-ID (siehe Abschnitt 27.2) des Prozesses übergeben, auf dessen Beendigung gewartet werden soll. Haben Sie in einem Terminal-Fenster mit curl also einen umfangreichen Download von mehreren Stunden gestartet, dann können Sie im zweiten Schritt in der Aktivitätsanzeige die ProzessID des Aufrufs von curl (beispielsweise 17641) in Erfahrung bringen. Anschließend öffnen Sie ein zweites Terminal-Fenster und geben darin caffeinate -t 17641 ein. Auch hier übernimmt caffeinate die Eingabeaufforderung und unterbindet den Ruhezustand so lange, wie der Prozess und damit auch der Download aktiv ist. Nach erfolgtem Download können Sie caffeinate mit (š)+(.) beenden.

23    Open-Source-Software installieren und nutzen Der App Store von Apple ist ohne Zweifel umfangreich. Aber nicht jede Software wird von Apple zugelassen, nicht jedes Programm vom Entwickler für den App Store aufbereitet. Die Paketmanager MacPorts und Homebrew stehen Ihnen bei der Installation von Open-SourceSoftware zur Seite. Nicht jedes Programm wird von den Programmierern mit dem Ziel entwickelt, es später zu vermarkten und zu verkaufen. Neben dem App Store und Giganten wie Microsoft und Adobe gibt es eine Vielzahl von Open-Source-Projekten für die unterschiedlichsten Einsatzgebiete. Auch unter macOS können Sie von dem großen Fundus von Open-Source-Projekten profitieren. Die Gründe dafür, ein Programm oder eine Funktionsbibliothek als quelloffene Software zu veröffentlichen, sind ganz unterschiedlicher Natur. Dahinter steckt oft ein altruistisches Motiv, die eigene Arbeit und Kreativität anderen Menschen zur Verfügung zu stellen. Aber auch philosophische und kommerzielle Gründe können dazu führen, dass ein Projekt als quelloffene Software jedermann zur Nutzung und auch Weiterentwicklung zugänglich gemacht wird. Die philosophische Überlegung beruht oft darauf, dass Quellcode als solcher nicht als schützenswert angesehen wird. Die kommerzielle Motivation hinter einem Open-Source-Projekt kann darin bestehen, nicht mit der eigentlichen Software, sondern mit Beratungsleistungen und Expertise Geld zu verdienen.

So unterschiedlich die Gründe jeweils sind, so heterogen sind auch die Projekte und Programme. Es ist gut möglich, dass Sie sich für ein Spezialgebiet interessieren, für das kommerzielle Software kaum entwickelt wird, weil es sich um eine akademische Nische handelt. Möglicherweise schließt ein quelloffenes Projekt diese Lücke. Aber auch darüber hinaus reicht die Spannbreite der zur Verfügung stehenden Projekte von kleinen und ausgefeilten Tools bis hin zu großen Projekten wie dem Apache Webserver oder LibreOffice. Allen Projekten ist gemeinsam, dass der Quellcode von jedem eingesehen und auch nach eigenen Vorstellungen geändert werden kann. Verwaltet werden die meisten dieser Projekte über sogenannte Code Repositories. Dabei handelt es sich um Dateiserver, die verschiedene Versionen des Quellcodes vorrätig halten und auf diese Weise die effektive Zusammenarbeit von verschiedenen Entwicklern weltweit ermöglichen. Der Dienst Sourceforge (http://sf.net) war lange Zeit sehr populär, mittlerweile hat ihm GitHub (http://github.com) den Rang abgelaufen. Den Quellcode vieler Open-Source-Projekte, die Apple betreut, finden Sie unter https://github.com/apple.

Abbildung 23.1    Die Webseite »macOS forge« bündelte einige Zeit die Open-SourceProjekte Apples.

Apple selbst ist auch im Open-Source-Bereich engagiert. So beruhen eine Reihe von Komponenten des Kernels auf Open-SourceSoftware, zu denen Apple selbst aktiv beiträgt. Ebenso sind der Kern des Browser Safari, WebKit, und das Drucksystem CUPS OpenSource-Software, die von Apple entwickelt und gepflegt wird. Die Webseite http://www.macosforge.org (siehe Abbildung 23.1) galt einige Zeit als Anlaufstelle für diese Projekte und bietet nach wie vor eine Übersicht der wichtigsten Projekte. Allerdings ist die Installation quelloffener Software für den Endanwender, der sich mit Softwareentwicklung nicht auskennt, oft mit großen Hürden verbunden. Zwar bieten einige Projekte wie LibreOffice die Software als direkt ausführbare Programme an, aber nur zu oft muss der Quellcode heruntergeladen und selbst in ein ausführbares Programm übersetzt werden. Hierbei handelt es sich selten um einen linearen Vorgang, denn die meisten Programme nutzen Bibliotheken genannte Sammlungen von Funktionen, die sie zur Ausführung benötigen. Die Programme sind im weitesten Sinne abhängig von anderen Programmen und Softwarebibliotheken, bei denen zusätzlich auf die richtige Version geachtet werden muss. Das Management solcher Abhängigkeiten und Querbeziehungen kann auch für erfahrene Administratoren bei einem komplexen Projekt zu einem zeitraubenden Unterfangen werden. An diesem Punkt setzen die MacPorts und Homebrew an. Beide Projekte verfolgen das Ziel, die Installation und Verwaltung von Open-Source-Projekten zu vereinfachen. Das Verfahren beider Projekte besteht darin, dass sowohl die gewünschte Software als auch die von ihr benötigten weiteren Programme und Bibliotheken automatisch in einer aufeinander abgestimmten Form installiert werden. Möglich wird diese Automatisierung durch Port-Dateien bei den MacPorts und Homebrew-Formeln beiHomebrew. Hierbei handelt es sich um Definitionen, die die Voraussetzungen und

Abhängigkeiten für die zu installierende Software enthalten. Erstellt und gewartet werden sie zumeist von freiwilligen Entwicklern in ihrer Freizeit. In diesem Kapitel vermittele ich Ihnen zunächst einige rudimentäre, aber für das erste Verständnis ausreichende Grundlagen. Auch müssen im Vorfeld einige Programme wie Xcode und die Xcode Command Line Tools installiert werden. Im zweiten Abschnitt zeige ich Ihnen die Arbeit mit den MacPorts und mit Homebrew. Schließlich geht es im dritten Abschnitt um den X11Server, der für einige Open-Source-Programme die Grundlage einer grafischen Oberfläche darstellt.

23.1    Grundlagen und erste Schritte Bevor Sie mit den MacPorts oder Homebrew arbeiten, müssen Sie ein paar Installationen vornehmen. Ferner ist ein grundlegendes Verständnis eines Installationsvorgangs in vielen Fällen hilfreich. Die drei Befehle configure, make und make install werden Ihnen bei diesem Thema häufiger begegnen. 23.1.1    Xcode und Tools installieren

Bevor Sie die Paketverwaltung mit MacPorts oder Homebrew beginnen, müssen Sie zunächst Xcode und die Xcode Command Line Tools installieren. Die Installation von Xcode erfolgt über den App Store. Sie finden darin, gegebenenfalls über den Suchbegriff »Xcode«, ein kostenloses Programm, das Sie wie eine normale App herunterladen und installieren können. Sie finden Xcode anschließend im Verzeichnis /Programme. Nach dem Download sollten Sie Xcode mindestens einmal starten und die Lizenzbedingungen akzeptieren.

Abbildung 23.2    Das Programm »Xcode« können Sie kostenlos über den App Store beziehen.

Neben Xcode (siehe Abbildung 23.2) selbst müssen Sie die Tools installieren, die für Entwicklungsarbeiten am Terminal genutzt werden. Hierzu geben Sie am Terminal xcode-select -install ein. Sofern die Tools noch nicht installiert wurden, erscheint die Softwareaktualisierung (siehe Abbildung 23.3) und lädt sie über die Schaltfläche Installieren automatisch von den Servern Apples herunter.

Abbildung 23.3    Sind die Xcode Command Line Tools nicht installiert, dann fordert die Softwareaktualisierung zur Installation auf.

Neben Xcode und den zugehörigen Tools kann es sinnvoll sein, Java (siehe Abschnitt 7.3) und X11 (siehe Abschnitt 23.3.1) zu installieren.

Dies ist auch dann der Fall, wenn Sie nicht beabsichtigen, mit JavaProgrammen und unter X11 zu arbeiten, denn es kann einige Pakete geben, die entweder auf gewisse Java-Funktionalitäten und Bibliotheken oder auf einige Komponenten von X11 zurückgreifen. 23.1.2    Der Dreiklang »configure«, »make«, »make install«

In einigen wenigen Fällen kann es durchaus noch vorkommen, dass Sie ein Programm benötigen und installieren möchten, das noch nicht über die MacPorts oder Homebrew installiert werden kann. In vielen solcher Fälle wird die Installation über configure, make und make install vorgenommen. Hierbei hat das Skript configure die Aufgabe, Ihr Betriebssystem zu analysieren und zu prüfen, welche Entwicklerwerkzeuge zur Verfügung stehen und welche Optionen zu nutzen sind. Mit make wird der eigentliche Übersetzungsvorgang gestartet, das heißt, aus dem Quellcode wird ein ausführbares Programm geformt. Dieses befindet sich zunächst noch in dem Verzeichnis, in dem auch der Quellcode liegt. Der Aufruf von make install beziehungsweise sudo make install kopiert dann das Programm sowie die möglicherweise mitgelieferte Man-Page in das Zielverzeichnis im System. Ab jetzt können Sie das Programm nutzen. Sofern es sich um einen Befehl handelt, den Sie am Terminal aufrufen, können Sie einfach seinen Namen eingeben.

Abbildung 23.4    Mithilfe des Skripts »configure« werden die Einstellungen festgelegt.

Abbildung 23.5    Der Befehl »make« sorgt für die Erstellung eines lauffähigen Programms.

Bei dem in Abbildung 23.4 dargestellten Vorgang wurde mit cd zuerst in das Verzeichnis gewechselt, das den zu übersetzenden Quellcode enthält. Hierbei handelt es sich um das Programm ncftp (http://ncftp.com), das im Quelltext vorliegt und bei der Dateiübertragung mittels FTP gute Dienste leistet. Anschließend wurde mit ./configure das Skript gestartet, das die Konfiguration übernimmt. Sie finden in seiner Ausgabe unter anderem die Zeile checking whether we are using GNU C... yes. Sie besagt, dass der GNU-C-Compiler gcc gefunden wurde und für die Übersetzung dieses in der Sprache C geschriebenen Programms genutzt werden kann.

Abbildung 23.6    Die Eingabe von »sudo make install« verschiebt die erzeugten Programme und Dateien in die Verzeichnisse.

Nachdem Sie mit configure die notwendigen Voreinstellungen gesichert haben, können Sie mit der einfachen Eingabe von make das eigentliche Programm erstellen (siehe Abbildung 23.5). Die Aufgabe von make besteht darin, nacheinander alle Tools aufzurufen und auszuführen. Als Ergebnis dieses Vorgangs wurde im Unterverzeichnis bin eine Reihe nun ausführbarer Programme erstellt. Um diese an die Stellen im System zu kopieren, an denen sie für die spätere Nutzung vorgesehen sind, können Sie sudo make install eingeben (siehe Abbildung 23.6). In welche Verzeichnisse die Programme und Dateien kopiert werden, hängt von dem Programm ab, das Sie installieren wollen.

23.2    Open-Source-Software managen Die Arbeit mit configure, make und make install kann sich als problematisch erweisen, wenn Sie Software installieren und nutzen möchten, die etwas komplexer ist als das doch recht kleine Programm ncftp. Die MacPorts und Homebrew bieten Ihnen einen reichen Fundus an bereits fertig konfigurierten Einstellungen und Optionen, um die Installation und auch die Aktualisierung von Open-Source-Software zentral zu verwalten. Darüber hinaus sind die MacPorts und Homebrew deutlich angenehmer in der Anwendung, da beide darüber Buch führen, welche Programme in welchen Versionen installiert wurden. Dies sorgt für eine enorme Erleichterung im Arbeitsalltag und beugt Konflikten und Unverträglichkeiten durch inkompatible Software vor. Ob Sie lieber die MacPorts oder Homebrew nutzen sollten, ist nicht eindeutig zu entscheiden. Beide Projekte verfolgen das gleiche Ziel, unterscheiden sich aber in der Umsetzung und zum Teil auch in der Projektphilosophie. Die MacPorts sind das deutlich ältere Projekt. Die Arbeit begann 2002 noch unter der damaligen Bezeichnung DarwinPorts. Die MacPorts installieren die gesamte Software im Verzeichnis /opt und verfolgen eine recht strikte Trennung zwischen dem Betriebssystem macOS und den Dateien und Programmen, die über die MacPorts installiert wurden. Lediglich ein paar LaunchDaemons und andere Konfigurationsdateien werden, sofern benötigt, in den entsprechenden Verzeichnissen des Systems abgelegt. Durch diese Trennung sind die MacPorts gezwungen, immer alle benötigten Programme und Bibliotheken selbst zu installieren. Dies führt zu Doppelungen, da macOS als Betriebssystem ja bereits eine

ganze Reihe von grundlegenden Bibliotheken mit sich bringt. Das kann durchaus ein Vorteil sein, wenn die Standardinstallation von Apple, was nur zu oft der Fall ist, nicht den aktuellsten Stand enthält. Aber es hat ohne Zweifel auch den Nachteil, dass nach einigen Installationsvorgängen viele Bibliotheken und Programme in mehreren Versionen installiert wurden. An dieser Stelle setzt das Projekt Homebrew an. Es installiert Programme und Tools im Verzeichnis /usr/local. Dieses Verzeichnis wurde von Apple für Drittanbieter freigegeben und kann für die nachträgliche Installation von Software genutzt werden. Ferner wird bei Homebrew konsequent versucht, in erster Linie die Programme und Bibliotheken zu nutzen, die von Apple bereits mitgeliefert wurden. Darüber hinaus macht Homebrew stark Gebrauch von dem Versionsmanagementsystem git und dem Webprojekt http://github.com. 23.2.1    Paketverwaltung mit den MacPorts

Für die Installation der MacPorts finden Sie auf der Website des Projekts unter http://macports.org ein Installationspaket für macOS 10.13 High Sierra. Dieses Paket können Sie nach dem Download mit einem Doppelklick im Finder öffnen und über das Installationsprogramm installieren. Wundern Sie sich nicht, wenn die Installation längere Zeit bei der Nachricht Paketskripte ausführen stehen bleibt. In diesem Zeitraum wird über das Installationsprogramm das Grundsystem der MacPorts in der aktuellsten Version aus dem Internet geladen. Sie können sich über den Menüpunkt Fenster • Installationsprotokoll das Protokoll der Installation anzeigen lassen und durch die Auswahl des Eintrags Alle Meldungen anzeigen den Fortschritt des Downloads verfolgen (siehe Abbildung 23.7).

Abbildung 23.7    Das Grundsystem der MacPorts wird während der Erstinstallation aus dem Internet heruntergeladen.

Nach der Installation sollten Sie jedoch eine Änderung wieder zurücknehmen: Diese betrifft die Konfiguration der Umgebungsvariablen PATH (siehe Abschnitt 21.1.2), die um das Verzeichnis /opt/local/bin erweitert wurde. Zunächst wurde dieses Verzeichnis an den Beginn der PATH-Variablen gestellt. Dies kann ein Problem darstellen, weil die in der PATH-Variablen aufgeführten Verzeichnisse von links nach rechts abgesucht werden. Dies kann dazu führen, dass bei namensgleichen Befehlen die Variante der MacPorts ausgeführt wird und nicht die Variante, die eigentlich zum Betriebssystem gehört. Dieses Verhalten ist in fast allen Fällen unerwünscht.

Abbildung 23.8    In der Standardinstallation installieren sich die MacPorts zu Beginn der »PATH«-Variablen.

Nach der Installation der MacPorts sollten Sie das Dienstprogramm Terminal neu starten und sich durch die Eingabe von echo $PATH die Pfadangaben anzeigen lassen. Befinden sich die zwei Verzeichnisse /opt/local/bin und /opt/local/sbin am Anfang (siehe

Abbildung 23.8), dann müssen Sie die Änderungen rückgängig machen, die die MacPorts-Installation vorgenommen hat.

Abbildung 23.9    Die Variable »PATH« wird in der Datei ».profile« konfiguriert.

Aus diesem Grund sollten Sie nach der Installation am Terminal mit ls -a ~ prüfen, ob eine Konfigurationsdatei der Shell geändert wurde. Haben Sie Ihre Shell mit einer Datei .bash_profile oder .profile konfiguriert, wurde eine zuvor existierende Datei .bash_profile vom Installationsprogramm in .bash_profile.macportssaved_2017-10-02_at_12:49:00 umbenannt und eine geänderte Version unter .bash_profile gespeichert. Mit rm .bash_profile können Sie die manipulierte Datei löschen. Der alten Datei weisen Sie durch mv .bash_profile.mac- ports-saved _2017-1002_at_12:49:00 .bash_profile wieder ihren ursprünglichen Namen zu. Sofern Sie noch keine Konfigurationsdatei erstellt haben, erstellt das Installationsprogramm eine neue Datei .profile, in der die PATHVariable konfiguriert wird (siehe Abbildung 23.9). In diesem Fall können Sie die Datei mit rm ~/.profile direkt löschen oder die Zeile mit der Anweisung export durch ein vorangestelltes Doppelkreuz (#) auskommentieren. Konfigurieren lässt sich die Variable PATH unter macOS besser durch eine Ergänzung der Einstellungen für das Tool path_helper. Hierzu können Sie durch die Eingabe von sudo nano /etc/paths.d/MacPorts eine neue Konfigurationsdatei für die

MacPorts mit dem Editor nano (siehe Abschnitt 21.4.2) erstellen, in der Sie in zwei Zeilen einfach nur die Pfadangaben /opt/local/bin und /opt/local/sbin eintragen (siehe Abbildung 23.10). Nachdem Sie die Datei in nano gespeichert und das Terminal neu gestartet haben, sollten sich die beiden Verzeichnisse der MacPorts nun am Ende der Variablen PATH befinden.

Abbildung 23.10    Über eine Einstellungsdatei im Verzeichnis »/etc/paths.d« können Sie die »PATH«-Variable besser konfigurieren.

»port« – Portierung port Aktion Software

Nach diesen Vorarbeiten können Sie die Arbeit mit dem zentralen Werkzeug der MacPorts beginnen, dem Befehl port. Zunächst können Sie mit der Aktion search nach einem Stichwort suchen. Bei den MacPorts werden die Umsetzungen von Programmen und Bibliotheken Ports genannt. Geben Sie beispielsweise port search image ein, dann präsentiert Ihnen port alle Programme und Bibliotheken, die in irgendeiner Form image im Namen, in der Rubrik oder in der Beschreibung enthalten. Als Ausgabe erhalten Sie zunächst den Namen und die Versionsnummer, und dahinter werden in Klammern die Rubriken angegeben, denen der Port zugeordnet wurde. In der folgenden Zeile wird eine Beschreibung des Ports angezeigt.

Weitere Details über den Port erhalten Sie durch die Aktion info. Mit der Eingabe von port info GraphicsMagick bekommen Sie weitere Informationen über den Port. Sie finden hier auch unter Dependencies die Angabe, welche Software zusätzlich installiert werden muss, um diesen Port zu installieren. Eine Installation veranlassen Sie über die Aktion install, gefolgt vom Namen des Ports. Aufgrund der Zugriffsrechte müssen Sie bei der Verwendung der Aktion install den Befehl sudo voranstellen. Mit der Eingabe von sudo port install GraphicsMagick werden die in GraphicsMagick enthaltenen Werkzeuge zur Bildbearbeitung am Terminal installiert. Beachten Sie, dass dieser Vorgang bei einigen Paketen gegebenenfalls einige Zeit in Anspruch nimmt, da nicht nur die eigentliche Software, sondern auch die von ihr benötigten Programme und Bibliotheken installiert werden. Um sich vor der Installation über die Abhängigkeiten zu informieren, nutzen Sie die Aktion deps in Verbindung mit dem Namen des Ports, etwa in der Form port deps apache2. Neben den Abhängigkeiten sollten Sie auch mögliche Konflikte im Blick behalten. Lassen Sie sich beispielsweise über port info apache2 die Informationen für die Version 2 des Apache Webservers anzeigen, die Sie über die MacPorts installieren wollen, dann finden Sie dort auch die Angabe Conflicts with, gefolgt von den Namen zweier Ports. Diese Konflikte können auftreten, wenn die Programme die gleichen Netzwerk-Ports oder Voreinstellungsdateien oder sogar gleichlautende Befehle für das Terminal nutzen. Es kann die Situation eintreten, dass Sie die zu installierende Software in einer bestimmten Form benötigen. Das kann zum Beispiel eine Verschlüsselungsmethode sein, die nicht zum Standardumfang gehört. Oder es handelt sich um eine spezielle

Schnittstelle für eine bestimmte Programmiersprache oder schnittstelle, die nur auf Wunsch zur Verfügung gestellt wird. Sie können zunächst über die Aktion variants herausfinden, welche Varianten überhaupt zur Verfügung stehen. Um eine dieser Varianten zu nutzen, geben Sie sie nach dem Namen mit einem vorangestellten Pluszeichen in der Form sudo port install docker +bash_completion an. In einigen Situationen müssen Sie einen bestimmten Port deaktivieren, weil eine Unverträglichkeit mit einem anderen Programm aufgetreten ist. In diesem Fall müssen Sie den Port nicht deinstallieren, sondern können ihn über die Aktion deactivate quasi abschalten. Die ausführbaren Dateien werden dann in ein anderes Verzeichnis verschoben und befinden sich nicht mehr unter /opt/local/bin. Die Eingabe würde in diesem Fall beispielsweise sudo port deactivate ncftp lauten. Mit activate aktivieren Sie einen Port und die enthaltenen Programme wieder. Ein installierter Port wird mit der Aktion uninstall aus dem System der MacPorts entfernt. In diesem Fall werden auch die Dateien des Ports gelöscht und müssen bei einer erneuten Installation erneut aus dem Internet heruntergeladen werden. Beachten Sie, dass bei dieser Deinstallation die mit dem Port installierten Abhängigkeiten nicht gleichzeitig deinstalliert werden, weil es durchaus möglich ist, das noch andere Ports auf sie angewiesen sind, die zu einem späteren Zeitpunkt installiert wurden. Nach zwei Wochen betrachtet sich das System der MacPorts als veraltet und weist Sie bei der Eingabe darauf hin: Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'. In diesem

Fall aktualisieren Sie das Grundsystem der MacPorts durch die Eingabe von sudo port -d selfup-date. Anschließend wird die aktuellste Version des Befehls port heruntergeladen und installiert. Ferner werden die aktuellsten Port-Definitionen heruntergeladen. Nicht aktualisiert werden hierbei die installierten Programme selbst. Mit der Aktion outdated (port outdated) lassen Sie sich die installierten Ports anzeigen, die als veraltet gelten. Die Ausgabe enthält die installierte und die aktuelle Versionsnummer. Die Aktion upgrade aktualisiert den angegebenen Port. Die Eingabe von sudo port upgrade ncftp würde die aktuellste Version des FTP-Programms einspielen. Mit dem Schlüsselwort all in der Form sudo port upgrade all bringen Sie alle veralteten Ports auf den aktuellsten Stand. Beachten Sie hierbei, dass dieser Vorgang bei vielen vorgenommenen Installationen ein wenig Zeit in Anspruch nehmen kann. Vollständig löschen können Sie die MacPorts, indem Sie im Finder das Verzeichnis /opt in den Papierkorb verschieben. Anschließend sollten Sie gegebenenfalls noch die Verzeichnisse /Library/LaunchDaemons und /Library/LaunchAgents (siehe Abschnitt 20.1) nach Konfigurationsdateien durchsuchen, die von den MacPorts installiertwurden. 23.2.2    Paketverwaltung mit Homebrew

Homebrew wurde in der Programmiersprache Ruby entwickelt. Um ein Programm zu installieren, wird eine sogenannte Formel genutzt. Die Formeln, bei denen ebenfalls die Programmiersprache Ruby zum Einsatz kommt, enthalten die Informationen bezüglich der Quelle des Programms, welche Pakete es benötigt und wo und wie

es installiert wird. Eine Übersicht der aktuell verfügbaren Formeln finden Sie im Web unter http://braumeister.org. Vor der Installation müssen Sie prüfen, ob das Installationsverzeichnis /usr/local schon existiert. Dies bringen Sie am Terminal durch die Eingabe von ls /usr in Erfahrung. Sollten Sie in der Ausgabe von ls nicht das Verzeichnis local finden, dann müssen Sie das Verzeichnis erstellen und ihm die entsprechenden Zugriffsrechte zuweisen. Mit sudo mkdir /usr/local erstellen Sie zunächst das Verzeichnis. Die Eingabe von sudo chflags norestricted /usr/local hebt das File-Flag (siehe Abschnitt 1.4) restricted auf. Es kann sein, dass diese Änderungen durch die Funktion System Integrity Protection (siehe Abschnitt 16.2.2) verhindert wird. In diesem Fall müssen Sie den Schutz wie in Abschnitt 16.2.2 beschrieben zeitweise aufheben, um die Änderungen vornehmen zu können. Zur Installation von Homebrew wird ein Ruby-Skript ausgeführt, das Sie direkt aus dem Repository von Homebrew herunterladen und ausführen können. Bei der Abfassung des Buches lautete der Aufruf ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install /master/install)"

Bevor Sie den Befehl eingeben, sollten Sie auf der Website des Projekts unter http://brew.sh prüfen, ob der Aufruf in dieser Form noch aktuell ist. Geben Sie ihn am Terminal in einer Zeile ein, dann wird mit curl (siehe Abschnitt 13.3.3) das Skript zur Installation heruntergeladen und sofort an den Ruby-Interpreter zur Ausführung übergeben (siehe Abbildung 23.11).

Nach der Eingabe lädt das Skript das Homebrew-System herunter und installiert die Komponenten in den korrekten Verzeichnissen. Das Installationsskript wird Sie schließlich zur Eingabe Ihres Passwortes auffordern, um abschließend einige Zugriffsrechte zu korrigieren und anzupassen. Nach der Eingabe des Passwortes und der Anpassung der Zugriffsrechte können Sie mit Homebrew arbeiten. Die Arbeit mit Homebrew erfolgt über den Befehl brew. Er dient zur Installation und Aktualisierung von Software sowie zum Update des Homebrew-Systems.

Abbildung 23.11    Das Homebrew-Grundsystem wird über ein Ruby-Skript installiert.

Aufgrund der durch das Installationsskript angepassten Zugriffsrechte können Sie brew ohne vorhergehendes sudo nutzen. Der Befehl verfügt auch über eine Dokumentation, die Sie mit man brew (siehe Abschnitt 21.2.1) aufrufen können. »brew« – brauen brew Aktion Paket

Der Befehl brew versteht eine Reihe von Aktionen. Suchen Sie nach einem bestimmten Softwarepaket, dann können Sie mit brew search Begriff die vorhandenen Formeln durchsuchen. Die Eingabe von brew search nginx würde Ihnen alle Formeln auflisten, die in Verbindung mit dem Webserver nginx stehen.

Abbildung 23.12    Mit der Aktion »install« installieren Sie ein Paket.

Details über den Inhalt der Formel erhalten Sie mit brew info Formel. Sie finden in dieser Übersicht eine kurze Beschreibung, die zur Verfügung stehenden Optionen und ferner unter Caveats ein paar Hinweise auf bekannte Stolperstellen. Diese Angabe erfolgt nicht immer. Hierbei kann es sich um weitere, nach der eigentlichen Installation notwendige Konfigurationsschritte handeln. Die Caveats sollten Sie aufmerksam lesen, sofern sie angegeben wurden. Oft funktioniert die eigentliche Installation reibungslos, aber bei der Konfiguration wurde ein wichtiger Hinweis, beispielsweise eine Pfadangabe, übersehen. Zur Installation nutzen Sie die Aktion install in Verbindung mit dem Namen des Pakets. Der Aufruf von brew install ncftp (siehe Abbildung 23.13) würde das FTP-Programm ncftp über Homebrew installieren. Zur Deinstallation dient die Aktion uninstall, der Sie den Namen der Software in der Form brew uninstall ncftp übergeben müssen. Welche Software Sie bereits installiert haben, bringen Sie über brew list in Erfahrung.

Das FTP-Programm ncftp ist recht einfach gehalten und benötigt keine weiteren Programme und Bibliotheken. Bei einem komplexeren Projekt wie einem Webserver können Sie sich mit der Aktion deps anzeigen lassen, welche Programme und Bibliotheken ebenfalls installiert werden müssen. Homebrew beschränkt Sie nicht auf die standardmäßig verfügbaren Programme und Bibliotheken. Es ist möglich, ein anderes Repository zu nutzen, das die Formeln für Homebrew enthält. Da Homebrew in seinen Grundfunktionen auf die Versionsverwaltung git aufsetzt, finden Sie unter http://github.com über den Suchbegriff »Homebrew« eine Reihe von Sammlungen von Formeln. Um eine solche Sammlung zu nutzen, müssen Sie sie zunächst über die Aktion tap aktivieren. Hierzu identifizieren Sie zunächst den Namen des Repositorys über http://github.com, der beispielsweiseHomebrew/php lautet. Mit der Eingabe von brew tap Homebrew/php (siehe Abbildung 23.13) wird das Repository Ihrem Homebrew-System hinzugefügt und Sie können die darin definierten Formeln durchsuchen und die Software installieren. Mit brew untap Homebrew/php löschen Sie dieses Repository.

Abbildung 23.13    Über die Aktion »tap« binden Sie ein anderes Repository ein.

Möchten Sie eine aktuellere Version als die derzeitige installieren, dann sollten Sie zunächst mit brew update Ihr Homebrew-System aktualisieren. Anschließend können Sie mit brew upgrade die installierten Programme aktualisieren. In Einzelfällen ist

möglicherweise eine Aktualisierung einer Software nicht erwünscht. Die Aktion pin hat zur Folge, dass das Programm beim Aufruf von brew upgrade nicht aktualisiert wird. Die Eingabe von brew pin ncftp führt dementsprechend dazu, dass die bereits installierte Version von ncftp nicht angetastet wird. Rückgängig können Sie diese Entscheidung durch die Eingabe von brew unpin ncftp machen.

Abbildung 23.14    Mit »Cakebrew« steht eine grafische Oberfläche für Homebrew zur Verfügung.

Bevorzugen Sie anstelle des Terminals eine grafische Oberfläche, dann können Sie Cakebrew (https://www.cakebrew.com) ausprobieren. Cakebrew (siehe Abbildung 23.14) erlaubt Ihnen die Installation und Deinstallation von Programmen sowie die Aktualisierung des Homebrew-Systems. Um Homebrew wieder von Ihrem System zu entfernen, können Sie sich erneut eines Ruby-Skripts bedienen. Der Aufruf des Skripts lautete zur Drucklegung: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install /master/uninstall)"

Sie erhalten nach der Eingabe eine Liste der Dateien, die von dem Skript entfernt werden, und müssen den Löschvorgang durch die

Eingabe von y bestätigen. Beachten Sie, dass das Skript lediglich das Homebrew-System entfernt, jedoch die bereits installierte Software an Ort und Stelle belässt. Die installierten Programme können Sie sich vor der Deinstallation des Homebrew-Systems mit brew list anzeigen lassen und anschließend mit brew uninstall entfernen.

23.3    Der X11-Server XQuartz Während unter macOS ein Quartz genanntes System für die Darstellung der Fenster und der gesamten grafischen Oberfläche auf dem Bildschirm sorgt, wird unter Linux und den meisten UnixDerivaten das X11-System genutzt. Seine Aufgabe besteht unter anderem in der Verwaltung der Fenster sowie in der Auswertung der mit Maus und Tastatur vorgenommenen Benutzereingaben. Wenn Sie sich etwas intensiver mit dem Einsatz von Open-SourceSoftware unter macOS beschäftigen, dann werden Sie unweigerlich auf X11 stoßen. Es kommt fast immer dann zum Einsatz, wenn Programme eine grafische Oberfläche nutzen. Dabei muss es sich keinesfalls um Tools für eine kleine Nische handeln. Projekte wie Scribus (http://www.scribus.net) und FontForge (http://fontforge.github.io/en-US/), um nur zwei Beispiele zu nennen, können durchaus mit kommerziellen Programmen konkurrieren. Allerdings ist die Anpassung der Programme für die grafische Oberfläche von macOS ein sehr zeitraubendes Unterfangen, da hier eine sehr große Anzahl von Funktionsbibliotheken geändert werden müssen. In vielen Fällen würde es bedeuten, dass die Entwickler mindestens zwei Codebasen pflegen müssten: eine Version für den Einsatz mittels X11 unter Linux sowie eine weitere Version für den Einsatz unter macOS, bei der die Darstellung auf dem Bildschirm mittels Quartz erfolgt. An dieser Stelle setzt das Projekt XQuartz an. Es ist das Nachfolgeprojekt des X11-Servers, der in früheren Versionen von macOS von Apple direkt ausgeliefert wurde. XQuartz stellt einen vollständigen X11-Server zur Verfügung, der von Programmen für die grafische Oberfläche genutzt werden kann. Der Vorteil besteht

hierbei darin, dass die Programme nicht für die Programmierschnittstellen umgeschrieben werden müssen, die Apple in macOS zur Verfügung stellt. Ein (kleiner) Nachteil aus Sicht des Anwenders kann darin bestehen, dass diese Programme sich in der Handhabung und im Aussehen von dem unter macOS üblichen Standard unterscheiden. Dieser Abschnitt versucht nicht, ein vollständiges Kompendium für die detaillierte Konfiguration eines X11-Servers zu bieten. Vielmehr geht es um die Installation und die grundlegende Konfiguration. Die mit XQuartz vorliegende Umsetzung von X11 unterscheidet sich in der Funktionsweise ein wenig von den unter Linux gängigen Varianten. Diese Unterschiede können von Bedeutung sein, wenn Sie zum Beispiel auf die Umgebungsvariable DISPLAY (siehe Abschnitt 7.2.2) zurückgreifen müssen. Die Bezeichnung X11-Server wurde bewusst gewählt. Bei X11 handelt es sich um eine Softwarearchitektur, die auf der Trennung zwischen einem Server, der die eigentlichen Berechnungen beispielsweise der Fenster vornimmt, und einem Client, der die berechneten Fenster entgegennimmt und darstellt, beruht. Nutzen Sie X11 nur auf Ihrem eigenen Rechner, dann wird Ihnen dies wahrscheinlich nicht auffallen. Aber Sie können X11 auch im Netzwerk einsetzen. Dies werde ich abschließend in Abschnitt 23.3.2 beschreiben. 23.3.1    X11 installieren und konfigurieren

Auf der Website http://www.xquartz.org des Projekts können Sie ein Installationspaket herunterladen. Bei XQuartz handelt es sich um ein normales Installationspaket, das Sie wie gewohnt installieren. Damit Sie den X11-Server abschließend nutzen können, müssen Sie sich nach der Installation ab- und wieder anmelden. Nach der

Installation finden Sie im Verzeichnis Dienstprogramme das installierte Programm XQuartz.

Abbildung 23.15    Das X11-System wird im Verzeichnis »/opt/X11/« installiert.

Installiert wird das X11-System im Verzeichnis /opt/X11. Dieses wird auch der Umgebungsvariablen PATH hinzugefügt, sodass Sie die im Verzeichnis /opt/X11/bin vorliegenden Befehle direkt am Terminal nutzen können. Letzteres geschieht durch eine Konfigurationsdatei im Verzeichnis /etc/paths.d/X11, die die Pfadangaben zu den ausführbaren Dateien enthält. Die Datei entspricht der in Abbildung 23.10 dargestellten Lösung für die MacPorts. Geben Sie am Terminal den Befehl echo $PATH ein, dann sollte das Verzeichnis /opt/X11/bin in der Auflistung erscheinen (siehe Abbildung 23.15). Ein wesentlicher Unterschied von XQuartz im Vergleich zu den unter Linux genutzten X11-Systemen besteht in der engen Integration mit launchd. Wenn am Terminal ein Befehl eingegeben wird, der ein X11-basiertes Programm startet, dann wird dies von launchd registriert. Daraufhin wird das X11-System automatisch gestartet, das Icon des Dienstprogramms X11 erscheint im Dock, und

das Programm greift für die Bildschirmdarstellung auf X11 zurück. Durch die einfache Eingabe xeyes am Terminal können Sie nach der Installation dieses Verhalten testen. Sie führt zum Start eines kleinen Programms, das zwei animierte Augen darstellt (siehe Abbildung 23.16).

Abbildung 23.16    Das Programm »xeyes« wird vom X11-Server dargestellt.

Damit Programme das X11-System korrekt ansprechen können, wird auf den meisten Systemen die Umgebungsvariable DISPLAY gesetzt. Diese Variable legt fest, welcher X11-Server für die Darstellung genutzt wird. Damit die Interaktion zwischen launchd und dem X11-Server funktioniert, wird diese Variable unter macOS automatisch gesetzt. Geben Sie am Terminal echo $DISPLAY ein, dann erhalten Sie eine Pfadangabe in der Form /private/tmp/com.apple.launchd.N2NH8ssHNB/org.macosforge.xqua rtz:0. Die Aufgabe der hier angegebenen Socket-Datei könnte man sehr vereinfachend damit beschreiben, dass durch sie hindurch die Kommunikation zwischen den Programmen, launchd und dem X11-Server erfolgt. Letztlich bedeutet dies, dass Sie anders als bei der Konfiguration unter Linux die Variable DISPLAY unter macOS nicht setzen müssen.

Abbildung 23.17    Im Vollbildmodus können Sie über einen Kurzbefehl zwischen XQuartz und der normalen Darstellung von macOS wechseln.

Die Voreinstellungen von XQuartz stehen Ihnen nach dem Start über den Menüpunkt XQuartz • Einstellungen zur Verfügung. Beachtenswert ist hier im Reiter Ausgabe der Vollbildmodus (siehe Abbildung 23.17). Dieser verhält sich etwas anders als die Darstellung eines Fensters, das den gesamten Bildschirm einnimmt: XQuartz integriert sich im Vollbildmodus nicht in die Verwaltungsstruktur von Mission Control. Vielmehr wird zwischen dem Vollbildmodus von XQuartz und der normalen grafischen Oberfläche von macOS mit der Tastenkombination (š)+(alt)+(d) umgeschaltet. Das bedeutet, dass bei Verwendung des Vollbildmodus entweder XQuartz und seine Fenster auf dem Bildschirm dargestellt werden oder aber die normale Oberfläche von macOS. 23.3.2    X11 im Netzwerk nutzen

Sie können aufgrund der Client-Server-Architektur des X11-Systems dieses auch im Netzwerk nutzen. Wenn Sie eine Verbindung zu einem System aufnehmen, dann können Sie sich dessen Programme in einem Fenster auf Ihrem Rechner darstellen lassen.

Genau genommen kommuniziert Ihr System mit dem entfernten, das die Fenster berechnet und die Programme ausführt. Für die Verbindung wird das Protokoll SSH genutzt (siehe Abschnitt 12.2). Damit diese Weiterleitung der Fenster funktioniert, muss auf dem entfernten Rechner der SSH-Dienst entsprechend konfiguriert werden. Hierzu muss bei den meisten Implementierungen in der Konfigurationsdatei sshd_config im Verzeichnis /etc/ssh eine Zeile X11Forwarding yes eingetragen werden. Hiermit wird die Weiterleitung des X11-Datenverkehrs über SSH aktiviert. Gegebenenfalls muss der SSH-Dienst auf dem Rechner, zu dem Sie eine Verbindung aufbauen möchten, neu gestartet werden.

Abbildung 23.18    Sowohl Firefox als auch LibreOffice werden auf dem Linux-System ausgeführt.

Bei der Verbindungsaufnahme mittels SSH müssen Sie zusätzlich die Option -X in der Form ssh -X Benutzer@Rechner nutzen, damit ssh die X11-Kommunikation weiterleitet. Wenn Sie nach der Anmeldung nun auf dem entfernten Rechner ein Programm wie Firefox starten, indem Sie firefox als Befehl eingeben, dann erscheint das Fenster von Firefox auf Ihrem Bildschirm (siehe Abbildung 23.18). XQuartz wird durch launchd automatisch gestartet, da die Umgebungsvariable DISPLAY bereits korrekt

gesetzt wurde. Am Rande: Sie können durch ein abschließendes Ampersand & ein Programm im Hintergrund ausführen. Somit ist es möglich, mehrere Programme gleichzeitig auszuführen, da das zuerst gestartete Programm nicht die Eingabeaufforderung blockiert.

TEIL VII

Workshops Mit der Nextcloud steht Ihnen ein Projekt zur Verfügung, mit dem Sie recht einfach Ihre eigene Cloud aufbauen können. Für die Web-Entwicklung stellt macOS Ihnen einige nützliche Funktionen zur Verfügung. Und nicht zu vergessen ist in diesem Zusammenhang der MiniRechner Raspberry Pi, der Ihnen als Medienserver für macOS gute Dienste leisten kann.

24    macOS für Webworker Egal ob Sie als professioneller Webdesigner oder -entwickler arbeiten oder lediglich in Ihrer Freizeit Webseiten gestalten und programmieren: macOS bietet Ihnen eine Reihe von nützlichen Hilfsmitteln und Tools. Wenn Sie sich etwas intensiver mit der Gestaltung und Programmierung von Websites befassen, dann hat Ihnen macOS einiges zu bieten. Die in Safari enthaltenen Werkzeuge für Entwickler ersetzen sicherlich keine professionelle Entwicklungsumgebung wie WebStorm der Firma JetBrains. Aber ihre Kenntnis ist im Arbeitsalltag sehr nützlich, insbesondere wenn Sie an kleineren Projekten arbeiten, für die ein Programm wie WebStorm überdimensioniert wäre. Außerdem beanspruchen solche Entwicklungsumgebungen einiges an Einarbeitungszeit. Die eher versteckten Fähigkeiten von Safari werde ich in Abschnitt 24.1 beschreiben. Der in Abschnitt 24.2 beschriebene Network Link Conditioner ermöglicht es Ihnen, unterschiedliche Verbindungsgeschwindigkeiten zu simulieren und so die Performance Ihrer Webprojekte zu testen. macOS bringt von Haus aus eine Installation des Apache Webservers mit. Diese ist in den Standardeinstellungen nicht aktiv, und auch die Programmiersprache PHP ist noch nicht aktiviert. Konfigurieren Sie den Apache und installieren Sie zusätzlich den MySQLDatenbankserver, dann verfügen Sie über ein vollwertiges Entwicklungssystem für die Programmierung von PHP-Skripten

und anderen Webanwendungen. Die notwendigen Schritte werde ich in Abschnitt 24.3 erläutern. Arbeiten Sie an mehreren Projekten gleichzeitig, dann werden Sie ab einem gewissen Zeitpunkt auch mehrere Entwicklungssysteme benötigen. Diese ließen sich natürlich über virtuelle Maschinen in einem Programm wie VMware Fusion oder Parallels realisieren. In letzter Zeit hat sich jedoch Docker für das schnelle Deployment von Entwicklungs- und Testsystemen einen Namen gemacht. Wie Sie Docker-Container installieren und nutzen, erfahren Sie in Abschnitt 24.4.

24.1    Mehr als ein Browser: Safari Als Apple mit Safari einen eigenen Browser vorstellte, waren die ersten Reaktionen noch eher verhalten. Marc Andreessen, der Gründer der inzwischen fast vergessenen Firma Netscape, lästerte und fragte sich, wo Apple denn die letzten sechs Jahre gewesen sei. In der Zwischenzeit hat sich Safari unter macOS und iOS fest etabliert. Ursprünglich basierte Safari auf der Engine des Browsers Konqueror. Mittlerweile hat sich daraus das WebKit-Projekt entwickelt. Unter http://webkit.org finden Sie das Weblog der Entwickler mit aktuellen Neuigkeiten zu geplanten und bereits realisierten Funktionen. In den Standardeinstellungen ist das Menü Entwickler deaktiviert. Sie können es aktivieren, indem Sie über Safari • Einstellungen die Voreinstellungen von Safari öffnen. Dort finden Sie in der Ansicht Erweitert die Option Menü »Entwickler“ in der Menüleiste anzeigen. 24.1.1    Kleine Helfer im Menü »Entwickler«

Im Menü Entwickler finden Sie einige Optionen und Funktionen, die Ihnen bei der Entwicklung einer Website helfen. Um schnell einen HTML-Schnipsel zu erstellen, bedienen Sie sich des kleinen Fensters, das Sie über Entwickler • Snippet-Editor einblenden aufrufen. Das Fenster (siehe Abbildung 24.1) teilt sich in zwei Bereiche. Oben geben Sie den HTML-Code ein, unten finden Sie eine rudimentäre Vorschau des Ergebnisses. Für komplizierteren Code ist der Editor sicher nicht geeignet, aber für die schnelle Erstellung eines fehlerfreien Code-Blocks ist er manchmal doch recht nützlich.

Abbildung 24.1    Der Snippet-Editor zeigt eine automatisch aktualisierte Vorschau des Quellcodes an.

Darüber hinaus finden Sie im Menü Entwickler den Eintrag User Agent. In diesem Untermenü wird eine Reihe von Browsern aufgeführt. Wählen Sie einen der Einträge aus, dann wird die aktuell geöffnete Webseite neu geladen. Safari gibt sich gegenüber dem Webserver dann jedoch nicht als Safari, sondern beispielsweise als Internet Explorer aus. Diese Änderung des User-Agents, der bei der Anfrage als sogenannter HTTP-Header mitgeschickt wird, kann notwendig sein, wenn Sie eine Webseite abrufen, die vorgibt, für einen bestimmen Browser optimiert zu sein, und die Zeichenkette des User-Agents abfragt. Sie können diese Funktion auch zum Testen nutzen, wenn Sie beispielsweise mit JavaScript auf der Webseite, die Sie gerade programmieren, abfragen wollen, welchen Browser der Besucher verwendet.

Während die Zwischenspeicher, die der Browser anlegt, um Dateien nicht mehrfach übertragen zu müssen, Zeit sparen, können sie sich bei der Entwicklung als lästig erweisen. Möglicherweise befindet sich eine zwischenzeitlich geänderte Datei noch im Cache des Browsers und führt zu einer fehlerhaften Darstellung. Über den Menüpunkt Entwickler • Cache-Speicher leeren können Sie die Löschung veranlassen, mit dem Menüpunkt Caches deaktivieren unterbinden Sie die Zwischenspeicherung gänzlich.

Abbildung 24.2    Safari hilft bei der Erstellung eines »Responsive Designs« durch entsprechend angepasste Vorschauen.

Entwickeln Sie eine Website, die auch auf unterschiedlichen mobilen Geräten gut dargestellt werden soll, dann werden Sie mit dem Ansatz des responsiven Webdesigns schon in Kontakt gekommen sein. Safari unterstützt Sie hierbei durch eine entsprechende Ansicht (siehe Abbildung 24.2), die Sie über den Menüpunkt Entwickler • In Modus ''Responsive Design'' wechseln aufrufen. Im Fenster des Browsers finden Sie dann oben eine Auswahl an Geräten und Bildschirmauflösungen, die Sie für die Darstellung der Website nutzen können. Auf diese Weise identifizieren Sie leichter Probleme bei der Darstellung.

Schließlich steht Ihnen hier auch die Option Safari Technology Preview downloaden zur Verfügung. Während die in macOS enthaltene Version des Browsers den aktuellen stabilen Entwicklungsstand widerspiegelt, wird seine Programmierung natürlich weiter vorangetrieben. Mit den Vorabversionen, der Technology Preview, können Sie sich einen Eindruck von neuen Funktionen und unterstützten Webstandards verschaffen. 24.1.2    Das Fenster »Webinformationen«

Die zentrale Komponente, die Ihnen bei der Programmierung von Websites zur Verfügung steht, ist das Fenster Webinformationen (siehe Abbildung 24.3). Das Fenster rufen Sie unter anderem über den Menüpunkt Entwickler • Webinformationen einblenden auf.

Abbildung 24.3    Die Elemente des HTML-Quelltextes werden hierarchisch dargestellt.

Das Fenster unterteilt sich in sieben Ansichten. Unter Elemente wird Ihnen der Quelltext der Webseite in einer hierarchischen Form angezeigt. Sie können hier Elemente ausklappen, um sich die darin enthaltenen Unterelemente anzeigen zu lassen. Wählen Sie ein HTML-Tag aus, dann erscheinen in der rechten Spalte der Ansicht

die Hierarchie der Knoten sowie die aktuell wirkenden Stile, die mit Cascading Stylesheets definiert wurden.

Abbildung 24.4    Die Ladezeit der enthaltenen Dateien kann gemessen werden.

In der Ansicht Netzwerk (siehe Abbildung 24.4) finden Sie eine Liste der Dateien, die mit der Webseite heruntergeladen wurden. Gegebenenfalls müssen Sie die Webseite neu laden ((š)+(R)), damit alle Elemente aufgeführt werden. Für die Analyse der Performance können hier wertvolle Informationen enthalten sein, weil Sie nicht nur über die Größe der Datei, sondern auch über die Dauer des Ladevorgangs informiert werden.

Abbildung 24.5    Unter »Ressourcen« werden alle Dateien aufgeführt, aus denen die Webseite besteht.

Eine Website besteht heutzutage nicht mehr nur aus HTML-Text, sondern enthält neben Bildern oft auch eine Menge an Stylesheets, Schriftarten, JavaScript-Skripten, Abfragen anderer Server sowie

Film- und Musikdateien. In der Ansicht Ressourcen (siehe Abbildung 24.5) werden Ihnen alle diese Elemente aufgelistet. Wählen Sie in der linken Spalte ein Element aus, dann sehen Sie in der Mitte eine Vorschau. Bei HTML-, CSS- und JavaScript-Dateien erhalten Sie Einblick in den Quellcode. Wählen Sie eine Bilddatei in der Liste aus, dann erhalten Sie eine Vorschau. Rechts finden Sie weitere Details der Datei, zu denen auch der absolute URL gehört.

Abbildung 24.6    Unter »Speicher« werden die Cookies einer Webseite sowie ihr Inhalt aufgeführt.

Webseiten können auf Ihrem Rechner Daten speichern. Dazu gehören kleine Textdateien, die auch Cookies genannt werden, sowie in begrenztem Umfang Datenbanken und weitere Daten. In der Ansicht Speicher (siehe Abbildung 24.6) können Sie kontrollieren, welche Daten eine Webseite auf Ihrem Rechner abgelegt hat. Sie finden dort auch den Inhalt der Dateien.

Abbildung 24.7    Der Debugger lässt sich aufrufen, wenn das Skript angehalten wurde.

Für JavaScript-Entwickler interessant sind die Ansichten Debugger, Konsole undTimeline. Unter Konsole finden Sie Warnungen, Fehlermeldungen und die Ausgaben von Skripten. Diese Ausgaben können zum Beispiel durch einen Aufruf von console.log() erzeugt werden. In der Ansicht Debugger (siehe Abbildung 24.7) finden Sie die Breakpoints, die mit der Anweisung debugger gesetzt wurden. Lassen Sie sich dort ein Skript anzeigen, dann können Sie auch mit einem Doppelklick auf die Seitenleiste einen Breakpoint erzeugen.

Abbildung 24.8    Die »Timeline« informiert über die Performance der Skripten während der Ausführung.

Safari bietet Ihnen auch die Möglichkeit, die Performance Ihrer Skripten mithilfe der Timeline aufzuzeichnen und zu analysieren. Hierzu starten Sie zunächst die Timeline über den Menüpunkt Entwickler • Timeline-Aufnahme starten . In der Ansicht Timeline der Webinformationen (siehe Abbildung 24.8) finden Sie dann eine grafische Aufzeichnung Ihrer Skripten und die Information, wie viel Rechenzeit sie beanspruchen. Mit der Schaltfläche in der linken Spalte können Sie die Aufzeichnung stoppen und starten. Die Aufnahme wird in Rahmen unterteilt, die die einzelnen Zeitpunkte der Ereignisse wiedergeben. In der linken Spalte finden Sie drei Einträge (Netzwerkanfragen, Layout & Rendern, JavaScript & Ereignisse). Wählen Sie einen der Einträge aus, dann erscheint eine

Liste der jeweiligen Elemente und die Zeit, die sie für die Ausführung oder das Laden benötigt haben. Schließlich können Sie sich in der Ansicht Konsole (siehe Abbildung 24.9) alle Fehlermeldungen und Ausgaben von JavaScript anzeigen lassen. Abhängig von der besuchten Webseite, kann sich hier recht schnell eine große Anzahl von Meldungen anhäufen.

Abbildung 24.9    Die »Konsole« informiert detailliert über Ereignisse und Fehlermeldungen.

24.1.3    Tests mit Selenium und safaridriver

Für das Qualitätsmanagement von Webseiten und deren Programmierung erfreut sich das Selenium-Projekt (http://seleniumhq.org/) großer Beliebtheit. Hierbei werden mithilfe von Skripten automatische Tests durchgeführt, die das Benutzerverhalten simulieren und Ereignisse auf der Webseite auslösen. Safari unterstützt die Programmierung solcher Tests über eine entsprechende Schnittstelle.

Abbildung 24.10    Mit dem Befehl »safaridriver« können Selenium-Tests durchgeführt werden.

Mit dem Befehl safaridriver, gefolgt von der Angabe eines Netzwerk-Ports mit der Option -p (beispielsweise safaridriver -p 8080), können Sie einen kleinen Server starten, der auf Befehle wartet und diese in Safari ausführt. Es handelt sich hierbei genau genommen um eine Implementierung der WebDriver-Schnittstelle. Die Arbeit mit Selenium und das Erstellen entsprechender Testläufe ist eine recht komplexe Thematik. Sofern Sie mit der Materie vertraut sind, finden Sie in der über man safaridriver abrufbaren Dokumentation des Befehls die notwendigen Erläuterungen (siehe Abbildung 24.10).

24.2    Der Network Link Conditioner Die Programmierung von Websites hat sich zu einer komplexen Angelegenheit entwickelt, und eine Reihe von Frameworks (wie Angular.js, Ember.js oder Bootstrap von Twitter) buhlen um die Gunst der Entwickler. Mit der Verwendung solcher Frameworks steigt jedoch auch die Anzahl und vor allem die Größe der Dateien, die ein Besucher von einer Webseite herunterladen muss, um die Webseite überhaupt angezeigt zu bekommen. Auf einem Computer mit einer DSL-Verbindung fällt dies selten auf, bei einem mobilen Gerät mit einer schlechten Verbindung wartet der Besucher dann aber recht lange, bis er einen Text zu Gesicht bekommt.

Abbildung 24.11    Der »Network Link Conditioner« kann kostenlos von Apple heruntergeladen werden.

Der Network Link Conditioner von Apple hat die Aufgabe, die Bandbreite der Verbindung Ihres Rechners künstlich zu beschränken. Damit können Sie überprüfen, wie lange der Download Ihrer Webseite dauern würde, wenn sie von einem mobilen Gerät unterwegs aufgerufen würde. Diese Erweiterung der Systemeinstellungen steht Ihnen auf den Entwicklerseiten von Apple nach einer kostenlosen Registrierung im Paket Additional Tools for Xcode 9 kostenlos zur Verfügung (siehe Abbildung 24.11). Haben Sie Xcode bereits installiert, dann können Sie in Xcode den

Menüpunkt Xcode • Open Developer Tool • More Developer Tools aufrufen und gelangen damit direkt zur passenden Website von Apple. Bei dem Network Link Conditioner handelt es sich um eine Ansicht der Systemeinstellungen, deren Installation Sie über einen einfachen Doppelklick im Finder beginnen können, nachdem Sie zuvor das Disk-Image aktiviert haben. Beachten Sie, dass der Network Link Conditioner für Ihr gesamtes System gilt. Wenn Sie ihn also auf On stellen (siehe Abbildung 24.12), dann wird die Bandbreite für Ihr gesamtes System limitiert. Dann können Sie unter Profile eine Situation auswählen, für die Sie die Geschwindigkeit und Performance der Website oder auch allgemein des Abrufs von Daten testen möchten. Über die Schaltfläche Manage Profiles gelangen Sie zur Verwaltung der vorhandenen Profile. Es ist auch möglich, dass Sie selbst Profile definieren, um eine bestimmte Situation eines Netzwerks zu simulieren.

Abbildung 24.12    Der »Network Link Conditioner« verfügt bereits über eine Reihe von Profilen.

24.3    Ein MAMP-System konfigurieren Nach wie vor ist die Kombination des Apache Webservers mit dem Datenbankserver MySQL und der Programmiersprache PHP eine der gängigsten Architekturen für das Gestalten von Websites und beispielsweise das Programmieren eines Content-ManagementSystems oder eines Webshops. macOS verfügt bereits über eine Installation des Apache Webservers, die aber heutzutage in den Standardeinstellungen nicht mehr aktiviert wird. In diesem Abschnitt erläutere ich die grundlegende Konfiguration des Apache Webservers nebst der Aktivierung der Programmiersprache PHP in der Version 7. Ferner werden wir den MySQL-Server installieren. Sie erhalten damit ein grundlegendes System, das Sie für eigene Entwicklungen oder auch die Nutzung im lokalen Netzwerk einsetzen können. Dabei werde ich Sie auch mit den grundlegenden Konfigurationsschritten vertraut machen. Benötigen Sie eine schnell einsatzfähige Installation, dann ist das Projekt MAMP[ 12 ] einen Blick wert. Es enthält einen fertig konfigurierten Web- und MySQL-Server. 24.3.1    Den Apache Webserver aktivieren und konfigurieren

Der in macOS enthaltene Webserver muss zunächst aktiviert und dann geladen werden. Apple hat für den Webserver bereits einen LaunchDaemon in der Datei org.apache.httpd.plist im Verzeichnis /System/Library/LaunchDaemons mitgeliefert. Der erste Schritt besteht in der Aktivierung des LaunchDaemons durch die Eingabe von: sudo launchctl enable system/org.apache.httpd

Der LaunchDaemon ist nun aktiviert und wird auch nach einem Neustart ausgeführt. Durch die Eingabe von sudo launchctl bootstrap system /System/Library/LaunchDaemons/org.apache.httpd.pli st

starten Sie den Server. Kontrollieren können Sie seine Funktion, indem Sie im Browser die Adresse http://127.0.0.1 aufrufen. Sie sollten dann eine einfache Webseite mit dem Text It works! sehen. Zur weiteren Kontrolle des Servers, zu der auch ein Neustart zum Einlesen einer geänderten Konfigurationsdatei gehört, dient der Befehl apachectl. Diesen müssen Sie mit sudo ausführen und ihm eine Aktion übergeben. Die Eingabe von sudo apachectl restart führt zu einem Neustart des Servers, Änderungen an der Konfiguration werden wirksam. Mit sudo apachectl stop würden Sie den Server vorerst beenden. »apachectl« – Apache Control apachectl Aktion

Den Apache Webserver konfigurieren Sie über eine Reihe von Textdateien im Verzeichnis /etc/apache2 und dessen Unterverzeichnissen. Die zentrale Konfigurationsdatei ist httpd.conf. Hierbei handelt es sich um eine reine Textdatei, die zeilenweise Anweisungen für den Server enthält. Kommentare werden mit einem Doppelkreuz # eingeleitet. Zunächst soll die enthaltene Dokumentation angezeigt werden. Starten Sie durch die Eingabe von sudo nano

/etc/apache2/httpd.con den Editor nano, suchen Sie in der

Datei httpd.conf nach der Zeile

#Include /private/etc/apache2/extra/httpdmanual.conf

und löschen Sie das Doppelkreuz zu Beginn. Nachdem Sie die Änderung gesichert haben, starten Sie durch die Eingabe von sudo apachectl restart den Webserver neu. Nach dieser Änderung wird die Datei httpd-manual.conf durch die Include-Anweisung bei der Konfiguration berücksichtigt. Ihre Aufgabe besteht darin, die Dateien im Verzeichnis /Library/Webserver/share/httpd/manual über den URL http://localhost/manual verfügbar zu machen. Geben Sie den URL im Browser ein, dann erscheint die vollständige und umfangreiche Dokumentation des Webservers (siehe Abbildung 24.13).

Abbildung 24.13    Die enthaltene Dokumentation des Webservers kann nach einer Änderung der Konfiguration direkt eingesehen werden.

Die Dateien, die vom Webserver heruntergeladen werden können, befinden sich im Verzeichnis /Library/Webserver/Documents. Kopieren Sie eine Datei oder einen Ordner in dieses Verzeichnis,

dann steht sie bzw. er auch über den entsprechenden URL im Browser zur Verfügung. Hierbei müssen Sie allerdings auf die Zugriffsrechte achten, da der Prozess httpd, der den Webserver darstellt, unter dem Benutzer »_www« ausgeführt wird. Dateien müssen für dieses Benutzerkonto les- und schreibbar sein, wenn der Webserver sie ausliefern und gegebenenfalls verändern soll. Der nächste Schritt besteht in der Aktivierung der Programmiersprache PHP. Auch sie ist Teil des Standardumfangs von macOS. Möchten Sie sie zu einem späteren Zeitpunkt im Detail konfigurieren, dann können Sie den mitgelieferten Prototyp der Konfigurationsdatei php.ini.default im Verzeichnis /etc durch die Eingabe von sudo cp /etc/php.ini.default /etc/php.ini kopieren und entsprechend anpassen. Zunächst müssen Sie jedoch die Unterstützung für PHP im Apache Webserver aktivieren. Rufen Sie zunächst mit sudo nano /etc/apache2/httpd.conf erneut den Editor nano auf, und suchen Sie in der Datei nach folgender Zeile: #LoadModule php7_module libexec/apache2/libphp7.so

Auch hier müssen Sie das Doppelkreuz # zu Beginn löschen und dann durch die Eingabe von sudo apachectl restart einen Neustart durchführen. Ob die Aktivierung funktioniert hat, können Sie durch eine kleine Testdatei kontrollieren. Eine leere Datei im Editor nano erzeugen Sie zunächst durch die Eingabe von sudo nano /Library/WebServer/Documents/test.php. Diese Datei soll lediglich aus den drei in Listing 24.1 aufgeführten Zeilen bestehen:



Listing 24.1    test.php

Abbildung 24.14    Die Anweisung »phpinfo();« gibt die aktuelle Konfiguration von PHP aus.

Nachdem Sie die Datei gespeichert haben, ändern Sie noch durch die Eingabe von sudo chown _www /Library/WebServer/Documents/test.php den Eigentümer der Datei in »_www«. Rufen Sie nun im Browser den URL http://localhost/test.php auf, dann wird das einzeilige Skript ausgeführt und Sie erhalten eine Übersicht der aktuellen Konfiguration von PHP (siehe Abbildung 24.14). Damit ist die rudimentäre Erstkonfiguration des Apache Webservers abgeschlossen. Dateien, die mit der Endung .php versehen wurden, werden vom Webserver als PHP-Skripten interpretiert. Möchten Sie ein aus dem Internet heruntergeladenes Content-ManagementSystem oder eine andere Webapplikation testen, dann können Sie den entsprechenden Ordner in das Verzeichnis /Library/Webserver/Documents kopieren und anschließend durch die Eingabe von sudo chown -R _www /Library/Webserver/Documents/Neuer_Ordner die Zugriffsrechte anpassen. Den Apache Webserver deaktivieren Sie dauerhaft, indem Sie ihn zunächst durch die Eingabe von

sudo launchctl bootout system /System/Library/LaunchDaemons/org.apache.httpd.pli st

abschalten. Damit er beim nächsten Start des Betriebssystems nicht erneut gestartet wird, deaktivieren Sie ihn dauerhaft durch die Eingabe von: sudo launchctl disable system/org.apache.httpd

Anschließend wird er nicht mehr ausgeführt. Die von Ihnen vorgenommenen Änderungen der Konfigurationsdateien werden von dieser Abschaltung jedoch nicht berührt. 24.3.2    Den MySQL-Datenbankserver installieren

Für den Datenbankserver MySQL stellt Oracle Ihnen ein Installationspaket zur Verfügung. Unter http://www.mysql.com finden Sie in der Rubrik Downloads die MySQL Community Edition und sollten dort den MySQL Community Server herunterladen. Dieser steht in mehreren Versionen zur Verfügung; in diesem Abschnitt beschreibe ich, wie Sie das DMG Archive installieren. Dieses Paket war bei der Abfassung dieses Kapitels in einer Version für macOS 10.12 verfügbar, die jedoch auch unter macOS 10.13 problemlos funktionierte. Haben Sie das Disk-Image heruntergeladen, dann können Sie das Installationspaket im Installationsprogramm von macOS öffnen (siehe Abbildung 24.15). Die Installation umfasst neben dem eigentlichen Datenbankserver, der im Verzeichnis /usr/local/mysql installiert wird, auch einen LaunchDaemon, der für den automatischen Start des Servers sorgt, sowie eine Ansicht der

Systemeinstellungen, über die Sie den Server von Hand starten und stoppen können.

Abbildung 24.15    Für die Installation von MySQL ist ein Paket verfügbar.

Am Ende der Installation erscheint ein Dialog, der Sie über das Passwort des »root«-Benutzers des Datenbankservers informiert (siehe Abbildung 24.16). Sie sollten sich das Passwort auf jeden Fall notieren, um es anschließend schnell ändern zu können.

Abbildung 24.16    Das Passwort für »root« wird automatisch erstellt.

Direkt nach der Installation können Sie über die neue Ansicht MySQL der Systemeinstellungen den Server starten (siehe

Abbildung 24.17). Ferner sollten Sie die Umgebungsvariable PATH ergänzen, sodass die im Verzeichnis /usr/local/mysql/bin befindlichen Befehle direkt eingegeben werden können. Hierzu erstellen Sie mit sudo nano /etc/paths.d/MySQL eine zunächst leere Datei, in der Sie einfach den Pfad /usr/local/mysql/bin eingeben. Speichern Sie die Datei und öffnen Sie ein neues Terminal-Fenster, dann können Sie die zu MySQL gehörigen Befehle wie mysql und mysqladmin direkt eingeben.

Abbildung 24.17    MySQL starten und stoppen Sie über die Systemeinstellungen.

Im nächsten Schritt sollten Sie das Passwort des Benutzers »root« des Datenbankservers ändern. Mit der Eingabe von mysql -u root -p (siehe Abbildung 24.17) starten Sie das Verwaltungsprogramm von MySQL und müssen anschließend das zuvor angezeigte Passwort eingeben. Mit der Eingabe von ALTER USER 'root'@'localhost' IDENTIFIED BY 'geheim';

ändern Sie das Passwort für das Benutzerkonto »root« in »geheim«. Hier sollten Sie natürlich ein weniger leicht zu erratendes Passwort auswählen. Nun können Sie durch die Eingabe von CREATE USER 'phpzugang'@'localhost' IDENTIFIED BY 'secret';

ein neues Benutzerkonto »phpzugang« auf dem Datenbankserver anlegen, dem das Passwort »secret« zugewiesen wurde. Dieses Konto soll für die Verbindung mittels PHP genutzt werden. Mit der Eingabe von quit beenden Sie das Verwaltungsprogramm von MySQL. Der nächste Schritt besteht in der Konfiguration von PHP, sodass eine Verbindung von PHP zum MySQL-Datenbankserver hergestellt werden kann. Dies ist notwendig, weil in den Standardeinstellungen von PHP die Verbindung nicht über die Datei /tmp/mysql.sock aufgenommen wird. Bei dieser Datei handelt es sich um eine Socket-Datei, deren Aufgabe darin besteht, Daten an den Server weiterzuleiten. Für die Konfiguration müssen Sie zunächst den Prototyp der Datei php.ini im Verzeichnis /etc durch Eingabe von sudo cp /etc/php.ini.default /etc/php.ini kopieren. Öffnen Sie diese Datei anschließend mit sudo nano /etc/php.ini im Editor, und suchen Sie dann nach der Zeile mysqli.default_socket = . Diese müssen Sie dann in mysqli.default_socket = /tmp/mysql.sock

ändern, damit PHP über die Socket-Datei die Verbindung zum Server aufnimmt. Nachdem Sie die Datei gespeichert haben, starten Sie den Apache Webserver durch die Eingabe von sudo apachectl restart. Ob die Konfiguration funktioniert, lässt sich durch eine Änderung der Datei test.php testen, die wir in Abschnitt 24.3.1 erstellt haben.

Abbildung 24.18    Für den Zugriff über PHP wird ein eigenes Benutzerkonto angelegt.