[–] in Manpages

Manpages sind eine der praktischen Dinge auf einem Linux und Mac OS X System. Mit Hilfe des Kommandos man ist es möglich für ein Shellkommando sich die entsprechende Handbuchseite anzuzeigen. In einer solchen Manpage werden unter anderem die Parameter für ein Kommando erklärt. Dies kann dann z.B. so aussehen:

git submodule [--quiet] status [--cached] [--recursive] [--] [<path>…]

Eine Kleinigkeit irritierte mich bis vor kurzem immer an der Syntax zur Beschreibung der Parameter. Es taucht immer der Parameter:

[--]

auf. Wenn man sich in einem entsprechenden Dokument der IEEE zu dieser Syntax umschaut, so wird diese Unklarheit beseitigt. Dort wird unter Guideline 10 erklärt:

The argument — should be accepted as a delimiter indicating the end of options. Any following arguments should be treated as operands, even if they begin with the ‚-‚ character. The — argument should not be used as an option or as an operand.

Damit wird klar das die Syntax zur Trennung der Option von den folgenden Operanden dient. Sie findet bei der Nutzung eines Kommandos keine Anwendung, sondern ist nur für den Leser der Beschreibung gedacht.

System Integrity Protection unter Mac OS X 10.11

Unter der neuen Mac OS X 10.11 (El Capitan) gibt es ein neues Feature welches auf den Namen System Integrity Protection hört und auch als rootless bekannt ist. Die System Integrity Protection kurz SIP sorgt dabei dafür das selbst mit root-Zugangsrechten bestimmte Verzeichnisse nicht mehr ohne weiteres beschrieben werden können.

Dies betrifft die Verzeichnisse /bin, /sbin, /usr und /System. Eine kleine Ausnahme besteht beim /usr Verzeichniss, hier kann immer noch /usr/local beschrieben werden. Eine weitere Einschränkung ist das man sich nicht mehr an Systemprozesse anhängen kann. Daneben können nun nur noch von Apple bzw. von einem zertifizierten Entwickler signierte Kernel-Erweiterungen geladen werden – das gleiche gilt auch für Installer, welche auf obige Verzeichnisse schreibend zugreifen wollen. Unsignierte Erweiterungen werden vom Betriebssystem abgelehnt.

Der Grund für die Einführung der SIP ist die Erhöhung der Systemsicherheit. So ist es für eine Software relativ einfach root-Rechte zu erhalten und wenn es über die Frage an den Anwender nach dem Passwort ist. Mit Hilfe der SIP können root-Rechte nun nicht mehr so übergreifend zur Infiltrierung des Systems genutzt werden. Den Status der SIP kann man auf dem Terminal mittels:

csrutil status

erfragen. Möchte man die System Integrity Protection deaktivieren, so muss das Recovery-System gestartet werden und dort im Terminal:

csrutil disable

eingegeben werden. Nach einem Neustart ist die SIP dann deaktiviert.

Das „leave“-Kommando

Durch einen Zufall entdeckte ich heute das Kommando leave unter Mac OS X. Dabei handelt es um ein BSD-Kommando welches unter anderem unter Linux, Mac OS X und natürlich unter BSD zur Verfügung steht. Witzig wird es beim Zweck des Kommandos – es dient dazu dem Terminal-Nutzer rechtzeitig Bescheid zu geben, wann er die Sitzung verlassen (und den Feierabend genießen) soll. Gibt man:

leave 1835

ein so wird eine Erinnerung für 18:35 Uhr erstellt – was durch die Meldung:

Alarm set for Mo 28 Sep 2015 18:35:00 CEST. (pid 700)

angezeigt wird. Eine Minute vor der Zeit fängt leave dann an zu arbeiten:

Just one more minute!

Danach erinnert leave regelmäßig das es nun Zeit ist zu gehen:

Time to leave!

Nach ein paar Erinnerungen kommt abschließend die Meldung:

That was the last time I'll tell you.  Bye.

Damit stellt leave seine Arbeit für die eingestelete Zeit ein und der Nutzer von leave genießt hoffentlich seinen Feierabend.

Wayback Machine Downloader

Das Internet Archive betreibt mit der Wayback Machine ein Archiv des Web. In diesem Archiv kann man sich frühere Version einer Webseite ansehen. Problematisch wird es, wenn man einen Snapshot einer bestimmten Version einer Webseite benötigt. Bei größeren Webseiten ist der manuelle Download zeitaufwendig. Mit dem Wayback Machine Downloader – einem in Ruby geschriebenen Tool – ist es möglich einen solchen Snapshot automatisiert herunterzuladen. Dazu muss das Tool im ersten Schritt über das Terminal installiert werden:

gem install wayback_machine_downloader

Lauffähig ist der Downloader dabei unter Linux, Mac OS X und Windows. Nach der Installation kann ein Snapshot mittels:

wayback_machine_downloader http://example.com -t 20060716231334

heruntergeladen werden. Je nach Größe der Webseite kann der Vorgang dabei einige Stunden dauern. Der Quelltext ist auf GitHub zu finden. Lizenziert ist der Wayback Machine Downloader unter der MIT-Lizenz und damit freie Software.

PDF-Dateien unter Mac OS X zusammenführen

Die Vorschau-Applikation unter Mac OS X dient nicht nur der Anzeige von Dokumenten – mit ihr können unter anderem Bilder beschnitten oder PDFs verkleinert werden. Auch das Zusammenfügen von PDFs lässt sich in der Vorschau problemlos erledigen.

Über der Trennlinie muss die neue PDF hinzugefügt werden

Über der Trennlinie muss die neue PDF hinzugefügt werden

Dazu muss im ersten Schritt die Ansicht auf Miniaturen gestellt werden. Nun kann die PDF-Datei welche hinzugefügt werden soll, in die Miniaturen-Ansicht hineingezogen werden – sie wird dann an der entsprechenden Stelle eingefügt. Wichtig ist es dabei das die PDF über dem Trennstrich, welcher sich am Ende der Miniaturen befindet, hinzugefügt wird. Nun kann die PDF über das Ablage-Menü exportiert werden und damit erhält man die gewünschte PDF in welcher die unterschiedlichen PDF-Dateien zusammengefügt sind.