POSIX

Im Zusammenhang mit Linux ist öfter der Begriff POSIX (ausgesprochen pahz-icks) zu hören. Doch was ist dieses ominöse POSIX? Zuerst einmal ist es die Abkürzung für „Portable Operating System Interface“ (das X soll die Zugehörigkeit zu UniX verdeutlichen) und stellt einen Standard dar, an den sich die meisten Unix-Derivate mehr oder weniger halten. Zum anderen ist es eine registrierte Marke (registered trademark) des IEEE (Institute of Electrical and Electronics Engineers). Vorgeschlagen wurde der Name POSIX von Richard Stallman (Gründer des GNU-Projektes), veröffentlicht wurde POSIX.1 1988.

Der POSIX-Standard (oder vielmehr die Standard-Familie) definiert, grob gesagt, wie ein Betriebssystem intern auszusehen hat, wie seine Komponenten zusammenzuarbeiten haben und welche Programme unbedingt enthalten sein müssen. Programme wie die Korn-Shell (ksh) oder der Editor vi (und über hundert weitere) gehören z.B. zum POSIX-Standard. Linux-Distributionen, die ohne vi (oder einen Ableger wie vim) zur Verfügung gestellt werden, entsprechen nicht dem POSIX-Standard.

Und warum das ganze? Die POSIX-Standards soll(t)en dem unkontrollierten Unix-Wildwuchs entgegenwirken, denn jeder Distributor kocht/e sein eigenes Süppchen..

Praxis-Beispiel

„Kontakt“ zum POSIX-Standard bekommt man z.B. bei der Sortierung von Dateien. In den aktuellen Distributionen werden die Dateien allerdings leider nicht mehr nach dem POSIX Standard sortiert, sondern uneinheitlich und z.T. sehr unübersichtlich nach landes- bzw. sprachspezifischen Besonderheiten. Während der POSIX Standard klar eine Trennung zwischen Groß- und Kleinbuchstaben vorsieht (zuerst die Kleinbuchstaben), Sonderzeichen vor die Buchstaben einordnet und die Dateiendung extra sortiert, sortiert z.B. die deutsche Sprachanpassung völlig verwirrend bis zum Ende des Dateinamens inkl. Endung durch.

Wer nun die gute alte POSIX Sortierung wieder haben möchte, sollte unter auf Debian basierenden Systemen „localeconf“ nachinstallieren bzw. es neu konfigurieren mit „dpkg-reconfigure localeconf“.

Einstellungen:

  • alles debconf überlassen
  • setze Standard-locale auf de de euro irgendwas
  • wähle für LC_COLLATE überschreiben
  • wähle für LC_COLLATE C (entspricht der Posix-Sortierung)

SuSE-Benutzer sollten die Datei /etc/sysconfig/language editieren (RC_LC_COLLATE=„POSIX“).