[recovery mode] Леонард Поттеринг из RedHat спасает все человечество

8ba4f18c830269e47204e7822d454d02.jpg

Наткнулся тут на странную новую фичу в changelog-е systemd:

        * On boot-up, when PID 1 detects that the system clock is behind the
          release date of the systemd version in use, the clock is now set
          to the latter. Previously, this was already done in timesyncd, in order
          to avoid running with clocks set to the various clock epochs such as
          1902, 1938 or 1970. With this change the logic is now done in PID 1
          in addition to timesyncd during early boot-up, so that it is enforced
          before the first process is spawned by systemd. Note that the logic
          in timesyncd remains, as it is more comprehensive and ensures
          montonic clocks by maintaining a persistant timestamp file in
          /var. Since /var is generally not available in earliest boot or the
          initrd, this part of the logic remains in timesyncd, and is not done
          by PID 1.

То есть systemd теперь при загрузке меняет время системы, если оно было установлено на более раннее, чем время релиза самого systemd. Казалось бы — наглая попытка Поттеринга навязать свои собственные понятия о том как linux должен вести себя? Но давайте подумаем…


В каком же случае требуется переводить часы? Отбрасываем всякие глупости вроде обхода защиты от копирования или тестирования программ. Нет, самый востребованный случай такого перевода стрелок назад — путешествия во времени. Но зачем Поттерингу с редхатом вставлять путешественникам такие дурацкие палки в колеса (тем более что люди, в общем-то, легко это обойдут, немного почертыхавшись)? А затем, что путешественниками могут быть не только люди!

Помните вывод консоли терминатора с «linux 4.xxx»? Сложилась мозаика в голове?… Да, именно так, это закладка против злобного скайнета. Закладка, которая никак не помешает людям, но превратит терминатора в безобидного робота, при первой же перезагрузке. Его часы переведутся на много лет вперед (на дату релиза его версии systemd) и программа убийства Джона Коннора просто перестанет работать — в это время Джон Коннор уже был взрослым и ребенка, которого надо убить — уже нет!

Вот так работают настоящие спасители человечества, без громких слов, без заслуженной славы!

P.S. Интересно, что timesyncd уже имел подобный алгоритм, и подобное изменение кажется избыточной функциональностью. Но, очевидно, что Поттеринг как-то узнал, что изменение времени в timesyncd не помогло спасти человечество. Видимо, будущий timesyncd просто не стал работать в условиях, когда в прошлом не оказалось серверов для синхронизации часов. Поэтому пришлось добавить подкрутку времени еще и в сам systemd… Это, кстати, наводит на мысль, что Поттеринг, возможно — и сам из будущего.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

© Geektimes