Проблему, которую можно было ожидать 19 января 2038 года во вторник в 03:14:07 по Всемирному времени (UTC), исправили разработчики Linux в новой версии ядра 5.6. Одним из основных разработчиков, занимающихся этой проблемой является Арнд Бергманн, который и сообщил об исправлении в ядре Linux за восемьнадцать лет до возможного временного апокалипсиса из-за использования способа хранения даты, согласно стандарту POSIX (UNIX timestamp, Unix epoch).
Над решением этой проблемы разработчики Linux трудились несколько лет — y2038-endgame.
И вот, 29 января 2020 года стало известно, что разработчики не только решили эту проблему 2038 для ядра Linux 5.6, а также собираются портировать патчи для ее решения в ранние версии ядра Linux — 5.4 и 5.5.
Правда, пока что решение сделано с несколькими оставшимися оговорками, например, пользовательское пространство и приложения, работающие в нем, должны быть построены на базе 64-битного формата time_t, а не 32-битного. Поддержка 64-битного формата time_t существует в библиотеках GNU C Library 2.32 и Musl libc 1.2. Также со стороны приложений пользовательского пространства, чтобы избежать проблемы 2038 года, они должны использовать все современные системные вызовы ядра Linux.
26 января 2020 года стало известно, что Линус Торвальдс представил первый стабильный релиз ядра Linux 5.5 под кодовым названием Kleptomaniac Octopus. Выпуск новой версии ядра Linux вышел в соответствии с графиком, спустя два месяца после выхода предыдущей стабильной версии. Исходный код Linux 5.5 доступен для загрузки с портала kernel.org.
Автор: denis-19