OpenBSD 5.5 freigegeben: Jahr-2038-Problem behoben

Anders als aktuelle Linux-Versionen liefert OpenBSD auch in 25 Jahren noch die richtige Zeit - was aber Kompatibilitätsprobleme mit sich bringt. Bei 5.5 gab es zudem Verbesserungen bei Signierung, Installer und Hardware-Unterstützung.

In Pocket speichern vorlesen Druckansicht 161 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Thorsten Leemhuis

Release-Poster zum "Wrap in Time" genannten OpenBSD 5.5.

(Bild: BSD-Projekt )

Das OpenBSD-Projekt hat die Version 5.5 seines BSD-basierten Betriebssystems freigegeben. Es behebt das Jahr-2038-Problem, das auch Linux und einige BSD-Derivate betrifft. Diese unixoiden Betriebssysteme speichern die Systemzeit typischerweise in Sekunden seit dem 1.1.1970 und stellen den Wert über eine vorzeichenbehaftete 32-Bit-Ganzzahl-Variable vom Typ time_t bereit; die erreicht am 19.1.2038 den höchsten positiven Wert, den solch eine Variable aufnehmen kann.

Die OpenBSD-Entwickler haben time_t daher jetzt eine 64-Bit-Ganzzahl-Variable spendiert, damit OpenBSD 5.5 und seine Nachfolger auch nach Anfang Januar 2038 noch eine korrekte Systemzeit anzeigen; das vermeidet fehlerhafte Berechnungen, die zu Bugs führen könnten, wie sie zum 1.1.2000 befürchtet wurden und teilweise auch auftraten (Y2K Problem).

Userspace-Programme interagieren allerdings mit der im OpenBSD-Kernel verwalteten Zeitangabe. Eine Kompatibilitätsschicht fehlt; die Anpassung kann sogar Auswirkungen auf Dateiformate von Programmen haben. Für ältere OpenBSD-Versionen kompilierter Code läuft daher nicht zuverlässig auf dem neuen OpenBSD; auch andersherum gibt es Probleme. Die Dokumentation zum Update empfiehlt daher nachdrücklich einige Sicherheitsmaßnahmen; so soll man unbedingt alle Programme entfernen, die nicht zu OpenBSD selbst gehören, denn die wurden bei 5.5 angepasst, damit sie mit der breiteren time_t klarkommen. Weitere Hintergründe zur Umstellung liefert Präsentationsfolien von OpenBSD-Gründer Theo de Raadt und die Freigabeankündigung

Die Linux-Welt denkt noch über Lösungen für das Jahr-2038-Problem nach. Dort sind Kompatibilitätsschicht oder Tricksereien als Lösung wahrscheinlich, damit bestehende Programme problemlos weiterarbeiten – inkompatible Änderungen beim Userspace-ABI (Application Binary Interface) sind bei den Entwicklern des Linux-Kernels nämlich verpönt. [Update 20140502 ] Bei Linux betrifft das Problem nur 32-Bit-Systeme. Bei NetBSD wurde das Problem bei der im Oktober 2012 veröffentlichten Version 6.0 mit einer Kompatibilitätsschicht behoben. [/Update]

Die neue OpenBSD-Version und ihre Pakete sind mit einem neuen Tool signiert, das die Unversehrtheit besser sicherstellen soll. Der Installer erlaubt jetzt auch die skriptgesteuerte Installation, um OpenBSD unbeaufsichtigt einzurichten oder zu aktualisieren. Zahlreiche neue und verbesserte Treiber bauen die Hardware-Unterstützung aus.

Details zu diesen und anderen Neuerungen liefert die Freigabeankündigung; zum "Wrap in Time" genannten OpenBSD 5.5 gibt es wie gewohnt auch Release-Song und -Poster.

OpenBSD ist eines der freien BSD-Derivate, die auf der freien Unix-Version 4.4BSDLite2 beruhen; es zählt neben FreeBSD zu den bekanntesten BSD-Ablegern. Siehe dazu auch:

(thl)