Debian Swirl

Debian geht das Y2k38 Problem an

Wer erinnert sich noch an den Y2K-Bug? Die Prophezeiungen der möglichen Auswirkungen für den 1. Januar 2000 machten nur knapp vor dem Weltuntergang halt. Das Problem entstand in den 1960er und 70er Jahren durch einen Mangel an Speicherplatz. Programmierer nutzten bei der Angabe von Jahreszahlen nur Jahr und Jahrzehnt und ließen das Jahrhundert aus. Den Rest könnt ihr euch bestimmt denken.

Das Jahr-2038-Problem

Zum 19. Januar 2038 steht erneut ein Problem an, dass mit dem Zeitstandard zu tun hat. Betroffen werden Systeme sein, die mit 32-Bit laufen und den Unixzeit-Standard nutzen. Das Problem entsteht dadurch, dass viele Computersysteme ein Zeitformat verwenden, das die Anzahl der Sekunden seit der Unix-Epoche (00:00:00 UTC am 1. Januar 1970) zählt und diesen Wert als 32-Bit-Ganzzahl mit Vorzeichen speichert. Der maximale Wert, den eine 32-Bit-Ganzzahl fassen kann, liegt bei 2.147.483.647 (2^31 – 1). Dieser Zähler wird am Januar 2038 um 04:14 überlaufen. Systeme, die auf Kalkulationen basierend auf Zeit und Datum angewiesen sind, wie etwa Datenbanken, kritische Infrastruktur oder Finanzapplikationen, könnten hier weitreichende Probleme haben. Eine potenzielle Folge bei ungepatchten Systemen ist das Zurücksetzen der Zeit auf das Jahr 1900 mit allen Folgeproblemen.

Debian reagiert frühzeitig

Um die Zeiterfassung mit Unixzeit auf 64-Bit umzustellen, hat bei Debian in dieser Woche eine großangelegte 64-bit time_t transition begonnen. Die meisten Systeme laufen heute mit 64-Bit, aber es gibt da draußen auch noch eine Vielzahl an Systemen, die auf 32-Bit setzen, für bestimmte Bereiche der IT wie unter anderem Router, IoT oder Automotive werden diese auch heute noch verkauft. Diese Geräte entstammen überwiegend dem Embedded-Bereich und laufen oft viele Jahre unangetastet. Somit besteht die Gefahr, dass solche Systeme auch 2038 noch in Betrieb sind.

Größte ABI-Transition der Debian-Geschichte

Da viele Distributionen 32-Bit nicht mehr bedienen, laufen solche Systeme oft mit Debian oder einem seiner Derivate. Debian ist in erster Linie besorgt um die Armhf-Architektur, da diese 32-Bit-Architektur am ehesten auch noch in der nächsten Dekade in neuen Systemen zum Einsatz kommen wird. Bei Debian haben 6429 von 35960 Paketen time_t in ihrem Quellcode. Alle diese Bibliotheken müssen gemeinsam migriert werden, da notwendige ABI-Änderungen dies erfordern. Die Umsetzung dieses Plans, der die größte ABI-Transition darstellt, die Debian je durchgeführt hat, erfordert zudem die Massenumbenennung von mehr als 1200 Bibliothekspaketen per NMU. Das Hochladen all dieser gepatchten Pakete in den Experimental-Zweig soll am Wochenende abgeschlossen sein.

Achtung bei Unstable und Testing!

Wenn dann alle unerwünschten Wechselwirkungen erkannt und behandelt sind, erfolgt der Upload nach Unstable und in der Folge nach Testing, denn die 64-bit time_t transition ist eines der Release-Ziele der nächsten Debian Version 13 »Trixie«. Da experimentelle Versionen von GCC 13 und GCC 14 bereits in den Unstable-Zweig hochgeladen wurden, ist dort in den kommenden Tagen und Wochen besondere Vorsicht bei Aktualisierungen angebracht. Gleiches gilt mit zwei Wochen Versatz für Testing. Ich empfehle Füße stillhalten, denn Apt kann in diesem Fall nicht auf alle Probleme hinweisen.

Teilt den Beitrag, falls ihr mögt

6 Kommentare

  1. Hallo Ferdinand,
    wie immer ein klasse Artikel. Mir als reiner User war nicht einmal bewusst, dass es ein solches Problem gibt. 2000 war klar, aber von 2038 las ich bei Dir zum ersten Mal. Vielen Dank und viele Grüße, Der Andi

    11

Kommentar hinterlassen