«Временной апокалипсис» Linux не за горами, но серьезного плана по решению проблемы еще нет.
2038 год наступит через два десятилетия, но давний летописец Linux, Джон Корбет полагает, что разработчики ПО, использующие Linux должны подумать о нем уже сегодня.
Корбет поднял этот вопрос в своем ежегодном отчёте на Collaboration Summit Linux Foundation в Санта-Роза в Калифорнии. «Время, чтобы начать беспокоиться«, — сказал он.
Проблема связана с «time_t» временными кодами, используемыми Linux и другими Unix-совместимыми ОС. Еще в начале создания Unix, они были определены как 32-битные.
Но в 2038 году произойдет сбой часов, точнее это случится ровно в 3:14:07 по Гринвичу 19 января 2038. Так зачем беспокоиться сейчас, когда у нас еще есть десятилетия, чтобы исправить эту проблему?
Джон Корбет полагает, что время для поиска решения настало именно сейчас.
Системы внедряются именно сейчас. И через 23 года они будут по-прежнему находиться в эксплуатации.
Системы, основанные на Linux, внедряются в автомобили, электростанции, используются для систем управления и во многих других местах, где они будут работать, пока не закончатся биты. И тогда они перестанут работать.
В будущем будет очень сложно обнаружить все места, где установлены Linux-системы. Более того, во многих из них будет трудно или невозможно исправить ошибку.
Поэтому разработчики должны устранить эту проблему, как можно скорее.
Но переход к более длинным временным значениям не так прост. Такие изменения неизменно ломают код.
В случае с Linux обновление основного кода, отвечающего за хронометраж, вызвало ошибки во многих процедурах наружного ядра.
«Например, ломается файловая система ext3» — поясняет Корбет. Он не знает можно ли устранить эту ошибку или остается надеяться, что никто не будет использовать ext3 к тому времени. «Надеюсь, не слишком много людей используют ее, и сейчас», — добавляет он.
Многие системные вызовы, механизмы, с помощью которых приложения взаимодействуют с Linux, также должны быть исправлены. К примеру, известный хостинг в Украине s-host.com.ua уже самостоятельно занялся этим вопросом.
Кроме самого Linux, в обновлении нуждаются различные библиотеки C, такие, как библиотека GNU C (glibc), которая обычно поставляется с системами Linux.
Разработчики уже ищут решение проблемы, но у них пока еще нет серьезного плана.
Хотя еще не слишком поздно, чтобы решить эти вопросы. Но разработчики все еще производят ПО без учета 2038 года, и это усугубляет проблему.