macOS Sierra

Vor nunmehr fünf Wochen hat Apple sein aktuelles Computerbetriebssystem macOS Sierra veröffentlicht. Neben Neuerungen wurden aber auch einige Änderungen unter der Haube durchgeführt.
Eine wesentliche was die Kompatibilität mit älteren Programmen betrifft, ist der Wegfall der Garbage Collection für das Handling des Arbeitsspeichers der Programme. Hat ein Programm auf dieses gesetzt, so wird es nach dem Upgrade leider nicht mehr ausführbar sein, da Apple die Unterstützung für den Garbage Collector in Sierra entfernt hat. Um also vor dem Upgrade prüfen zu können, ob Programme mit Sierra kompatibel sind oder nicht, kann man mit folgenden Befehl im Terminal dies überprüfen, um hinterher keinen Reinfall zu erleben. Allerdings muss für die Prüfung Xcode installiert sein.:

Befehl:

otool -oV /Applications/PROGRAMMNAME.app/Contents/MacOS/PROGRAMMNAME | tail -3

Ausgabe:

Contents of (__DATA,__objc_imageinfo) section
  version 0
    flags 0x6 OBJC_IMAGE_SUPPORTS_GC

Sollte in der Terminalausgabe nun „OBJC_IMAGE_SUPPORTS_GC“ erscheinen, so kommt noch der Garbage Collector zum Einsatz und das Programm ist unter macOS Sierra nicht mehr lauffähig.

Außerdem ist Apple beim Einsatz von OpenSSH von Version 6.x auf 7.x gewechselt. Die Entwickler von OpenSSH haben aber in der Major-Version 7.0 eine wesentliche Änderung vorgenommen, was das automatische Laden von SSH-Schlüsseln in den ssh-agent betrifft. Hat man sich früher mit dem lokalen Mac via SSH auf einen anderen Rechner eingeloggt und sich dann wiederum von diesem mittels Public-Key-Verfahren auf einen weiteren Rechner verbunden, so hat der lokale SSH-Client sowohl Privat-Key als auch die Passphrase in den ssh-agent hinein geladen. Dies funktioniert seit Version 7 nicht mehr. Um sich dennoch Schlüssel und Passphrase des Man-in-the-middle-Computers wieder in den Agent seines lokalen Computers dauerhaft laden zu können, reicht es, wenn man in die benutzereigene Client-Konfiguration folgende Option hinzufügt.

echo "AddKeysToAgent yes" >> ~/.ssh/config

Des weiteren lässt sich wie gewohnt der macOS-Installer auf einem GPT-vorformatierten USB-Stick mit folgendem Konsolenbefehl kopieren, so dass dieser auch für künftige Installationen ohne Internetverbindungen ein Rettungssystem beinhaltet.

sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Stick --applicationpath /Applications/Install\ macOS\ Sierra.app/ --nointeraction

HandBrake und El Capitan

Mit El Capitan hat Apple im OS X die System Integrity Protection (SIP) eingeführt, welche bestimmte Ordner im Root-Dateisystem noch einmal zusätzlich vor unberechtigten Zugriff schützen soll. Da HandBrake bisher zum Rippen von DVD’s seine libdvdcss in /usr/lib speicherte, wird diese von der SIP mit OS X 10.11 nun unter Quarantäne gestellt, um den Kernel zu schützen. Dadurch ist es leider nicht mehr möglich DVD’s zu rippen, oder verschlüsselte ISO-Dateien mit der normalen DVD-Applikation wiederzugeben. Abhilfe wird dadurch geschafft, dass man sich mit einem Paket-Manager das libdvdcss-Paket nachinstalliert und die Bibliothek in einem Unterordner des /usr – Verzeichnis kopiert, welches von SIP standardmäßig nicht zusätzlich geschützt wird.
In meinem Fall habe ich die Bibliothek mit Hilfe MacPorts nachinstalliert und die Datei libdvdcss.2.dylib aus dem Verzeichnis /opt/local/lib nach /usr/local/lib kopiert. Somit ist HandBrake wieder versorgt. DVD-ISO’s lassen sich alternativ mit dem VLC-Player wiedergeben, da er seine eigene Codec-Bibliothek mitbringt.

Speichermedien grundieren mit f3write / f3read

Das Thema ist zwar schon älter, aber es kommt wohl immer noch vor, dass USB-Sticks oder SD-Karten mit gefälschten Kapazitätsangaben in Umlauf gebracht werden. Auch wenn diese aus seriösen Quellen stammen, sollte man sie auf die korrekte Kapazität und Funktionsfähigkeit prüfen, bevor man darauf unwiederherstellbare Daten aufzeichnet. So schreibt beispielsweise eine Kamera fröhlich 32 GB auf eine Karte, die tatsächlich nur 8 GB fasst. Die Daten sind dann hinüber. Außerdem kann die Karte auch einfach nur defekt sein, oder die versprochene Schreibgeschwindigkeit nicht halten.

Für die gängigen Unixoiden Betriebssysteme kann man f3write / f3read benutzen. Dabei wird der Datenträger mit einem verifizierbaren Muster beschrieben und dieses wird im Anschluss wieder gelesen.

Vorher muss der Source-Code aber an einem Ort der Wahl innerhalb des Dateisystems entpackt und mit ‚make‚ kompiliert werden.

sommteck:f3-6.0 franky$ ./f3write /Volumes/USB-Stick/
Free space: 3.78 GB
Creating file 1.h2w ... OK!
Creating file 2.h2w ... OK! 
Creating file 3.h2w ... OK!
Creating file 4.h2w ... OK!
Free space: 0.00 Byte
Average writing speed: 4.40 MB/s
sommteck:f3-6.0 franky$ ./f3read /Volumes/USB-Stick/
                  SECTORS      ok/corrupted/changed/overwritten
Validating file 1.h2w ... 2097152/        0/      0/      0
Validating file 2.h2w ... 2097152/        0/      0/      0
Validating file 3.h2w ... 2097152/        0/      0/      0
Validating file 4.h2w ... 1631936/        0/      0/      0
 
  Data OK: 3.78 GB (7923392 sectors)
Data LOST: 0.00 Byte (0 sectors)
	       Corrupted: 0.00 Byte (0 sectors)
	Slightly changed: 0.00 Byte (0 sectors)
	     Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 20.70 MB/s

Idealerweise kann man vielleicht noch Aliases in der .profile erstellen, um die Tipperei auf der Konsole zu reduzieren.

Außerdem gibt es das Programm als native Cocoa-GUI-Variante. Aber diese gefällt mir persönlich nicht so gut, weil sie keine so detaillierten Statusinformationen liefert.

Update

Inzwischen kann man f3write/f3read auch mittels MacPorts und HomeBrew automatisiert installieren. Zudem ist der Quellcode auf GitHub verfügbar.

Link: https://github.com/AltraMayor/f3

Mittels Nullmodem auf eine Alix mit OpenBSD

Ich habe mir ja vor einer Ewigkeit diesen hübschen Embeddded-Computer zugelegt. Gegenüber damals bin ich aber irgendwann von Net- auf OpenBSD umgestiegen. Weil ich aber inzwischen der Auffassung bin, möglichst wenig Ballast anzusammeln und herum zuschleppen, habe ich mich weitestgehend von unnötiger Peripherie-Hardware wie Ein- und Ausgabegeräte und anderem Zeug getrennt. Nun betreibe ich diese Box in einer Umgebung, wo es weder Monitor oder Tastatur gibt. Da sie aber noch über eine hinausgeführte serielle RS-232-Schnittstelle verfügt, sollte man den Kram eigentlich auch nicht benötigen. Wenn der Rechner gerade aus Gründen nicht über ein Netzwerk erreichbar ist, so hat man dennoch die Möglichkeit via USB-Seriell-Adapter und Nullmodemkabel sich auf dem Gerät einzuloggen. Folgende Einstellungen müssen Betriebssystemseitig unter OpenBSD gemacht werden.

In der Datei /etc/ttys die Zeile:

tty00   "/usr/libexec/getty std.9600"   unknown off

nach

tty00   "/usr/libexec/getty std.9600"   vt220   on  secure

abändern.

Die Datei /etc/boot.conf erstellen oder bearbeiten und folgende Zeile hinzufügen:

set tty com0

Damit wird auch der Boot-Prozess über die serielle Leitung übertragen. Leider funktioniert das bei mir noch nicht, weil die Boot-Loader Input-/Output-Fehler wirft, denen ich bisher nicht auf den Grund gekommen bin.

Was ich aber ziemlich advanced finde, dass selbst die Initialisierung der Hardware und auch der Zugriff auf das BIOS-Setup über die Serielle Konsole erfolgen kann. Dafür muss lediglich im „BIOS Advanced Features“-Menü die Option „Console Redirection“ auf Enabled gestellt werden. Die Baudrate sollte natürlich identisch mit der des Betriebssystems und dem Terminal-Emulators sein.

Serial-Boot_BIOS_0

Serial-Boot_BIOS_1

Serial-Boot_BIOS_2

Serial-Boot_BIOS_3

Anders als hier aufgeführt, kann man die Baudrate natürlich auch bis auf 115200 Baud herauf setzen, da auf Dauer die 9600 sehr langsam erscheinen – auch wenn es einen gewissen Nerd-Faktor und fast einen meditativen Charakter besitzt, dem Bildschirm beim zeilenweisen Aufbau zu zusehen.

Ob das Ganze auch mit den moderneren UEFI’s geht, weiß ich jetzt nicht. Cool wäre es!

Quelle im OpenBSD FAQ:
http://www.openbsd.org/faq/faq7.html#SerCon

Erstellen eines S/MIME-Zertifikats unter Mac OS X

Nicht immer lässt sich GnuPG als e-Mail-Verschlüsselungslösung auf allen Geräten benutzen, da dafür Plug-Ins nötig sind, die nicht für alle Plattformen verfügbar sind. Im Gegensatz zu GnuPG ist S/MIME in den Mail-Programmen bereits integriert. Es funktioniert aber genauso mit Schlüsselpaaren.

Damit man auf dem Mac S/MIME benutzen kann, braucht man zuerst einmal ein Zertifikat. Es gibt einige Stellen, die einem auch kostenlos ein solches Zertifikat ausstellen, doch reicht es eigentlich schon, selber ein Zertifikat zu erstellen. Der Unterschied dabei ist, dass ein selbsterstelltes Zertifikat per se als “nicht überprüfbar” ausgewiesen wird. Es geht also in erster Linie um das Vertrauen.

S-MIME-Zertifikat_erstellen_0

Um ein Zertifikat auf dem Mac zu erstellen, benutzt man das Programm “Schlüsselbundverwaltung”, welches sich im “Dienstprogramme”-Ordner befindet. Im Menü “Schlüsselbundverwaltung” wählt man unter “Zertifikatassistent” den Eintrag “Zertifikat erstellen”. Im sich nun erscheinenden Fenster müssen Schrittweise Einstellungen vorgenommen werden. Hier die einzelnen Schritte in Bildern:

Schritt 1:

S-MIME-Zertifikat_erstellen_1

Hier ist es wichtig, die Option “Standardwerte überschreiben” zu wählen, sofern man mehr als eine e-Mail Adresse im System eingetragen hat. Ansonsten nimmt der Assistent einfach die Adresse, welche als “Hauptadresse” eingestellt ist.

Schritt 2:

S-MIME-Zertifikat_erstellen_2

In diesem Schritt wird die Dauer der Gültigkeit festgelegt. Voreingestellt ist 1 Jahr.

Schritt 3:

S-MIME-Zertifikat_erstellen_3

Nun folgen allgemeine Angaben zur Person bzw. Firma, für welche das Zertifikat erstellt wurde. Bei e-Mail Adresse muss man nun die e-Mail Adresse wählen, für welche das Zertifikat erstellt werden soll.

Schritt 4:

S-MIME-Zertifikat_erstellen_4

Diese Einstellungen können getrost so belassen werden.

Schritt 5:

S-MIME-Zertifikat_erstellen_5

In diesem Schritt wird ausgewählt, wofür das Zertifikat verwendet werden soll. Am besten einfach genau so einstellen, wie im Bild.

Schritt 6:

S-MIME-Zertifikat_erstellen_6

Für welche Dienste das Zertifikat verwendet wird, wird in diesem Schritt angegeben. Für uns reicht die Option “e-Mail-Schutz”.

Die restlichen Schritte können so belassen werden, wie sie voreingestellt sind. Beim letzten Schritt klickt man auf “Erstellen” und dann hat man sein selbsigniertes Zertifikat erstellt und erscheint in der Liste der Zertifikate in der Schlüsselbundverwaltung.

Da wir unserem Zertifikat ja bestimmt selber vertrauen, sollten wir dies auch angeben. Dazu auf das neu erstellte Zertifikat doppelklicken, um das Informationsfenster dazu zu öffnen. Unter dem Eintrag “Vertrauen” können wir nun diese Einstellung vornehmen:

S-MIME-Zertifikat_erstellen_7

Ein weiterer Vorteil von S/MIME gegenüber von GPGMail ist, dass dieses auch unter iOS funktioniert (seit iOS 5). Somit braucht man nicht auf ein eher umständliches Drittanbieter-Programm umzustellen. Um S/MIME unter iOS verwenden zu können, müssen die Zertifikate zuerst auf die iDevices gebracht werden. Am einfachsten geschieht dies, indem man sich selbst eine e-Mail schickt, an welche die Zertifikate angehängt sind. Die Zertifikate können aus der Schlüsselbundverwaltung zu diesem Zweck exportiert werden.

Nun die E-Mail auf dem iPhone bzw. iPad öffnen und auf das angehängte Zertifikat klicken. So wird man nun schrittweise durch die Installation geführt.