Почему не переводятся часы
Mar. 31st, 2015 12:43 pmС утра обнаружилось, что мой рабочий Мак ночью отдал Богу свою мятежную яблочную душу.
Подключая и настраивая с чистого листа новый комп, я, наконец, понял, что нам в воскресенье рассказывали в новостях про «перевод часов» (который в России в очередной раз отменён, а в гаджетах, нечутких к решениям Государственной Думы VI созыва, он, тем не менее, в ночь на 29 апреля случился — по указке вашингтонского обкома, не иначе). Я внимательно проверил все свои устройства, карманные и настольные, но все они показывали правильное московское время, и совершенно не пытались сбиться на час. Так что я решил, что коллеги попались на очередную утку, подброшенную знакомыми эникейщиками.
А когда стал настраивать новый Мак — обнаружилось, что он-таки довольно упрямо тянет с яблосерверов московское время на час позже фактического. При разысканиях выяснилось, что проблема реально существует, и неплохо описана в документации. Заодно я понял (не прошло и 30 лет за компом) как именно разные операционные системы решают проблему с переходами на зимнее/летнее время в разных часовых поясах, где этот вопрос отдан на откуп законодателям с bipolar disorder, как в России.
Оказывается, сервер синхронизации часов отдаёт подключённым устройствам одно и то же время на весь шарик — видимо, UTC. А вот информация о том, как соотносится с UTC время каждого отдельно взятого часового пояса, в операционной системе зашита локально, в соответствии с известными на момент программирования местными законами о летнем/зимнем времени. И если вы регулярно обновляете ОС (по крайней мере, в яблочной экосистеме), то текущие версии OS X и iOS давно учли новые решения Госдумы. Если же вы давно не обновляли ось, или она в принципе не подлежит обновлению (как какая-нибудь снятая с поддержки Винда, типа XP), то эта система просто не в курсе того, как в России менялось смещение относительно UTC за последние годы. Как не знает этого, к примеру, OS X 10.8.5, на которой я и отследил ошибку. Эта система по-прежнему ориентируется на медведевский завет, что московский пояс — это UTC+4, зона постоянно действующего летнего времени, как в Индии.
Решений у проблемы принципиально два. Радикальное состоит в том, чтобы взять и обновить систему (например, до Yosemite). В новой версии Москва будет считаться UTC+3, царством вечной зимы, где солнца всё равно не видно, так что и электричества на нём не сэкономишь.
Паллиативное решение — для тех, кому лень переставлять систему, или не хватает для этого административных полномочий — состоит в переназначении своего часового пояса. Москвичам и питерцам надлежит установить зону Калининграда/Минска, свердловчанам — Ашхабад или Ташкент. Новосибирцам, наоборот, нужно выставить время Ебурга, красноярцам — Новосибирска, иркутянам — Красноярска, и так до самого Магадана (которому предписывается назначить своим поясом Якутск). Полный список «кому куда переезжать» доступен в очень вдумчивом пошаговом хелпе Яндекса.
Тут напрашивается вопрос: а какая, в сущности, разница. Ну, будет на компьютере неправильное время, есть же часы наручные, дисплей телефонный, да мало ли гаджетов с часами, включая ту же микроволновку. В принципе, замечание верное, но опыт подсказывает, что правильное время на компьютере (особенно — подключённом к Интернету) иногда используется системой для нужд, о которых сами мы не задумываемся. Например, для сортировки файлов по времени создания и писем по времени отправки/получения, для маркировки сообщений в чатах и постов в блогах, а также иногда для сверки при синхронизации с внешними устройствами. Серьёзно сбившиеся системные часы могут стать помехой для подключения к сетям WiFi. По всем этим причинам проще один раз настроить часы корректно, чем жить в ожидании сбоев, причину которых зачастую много проще устранить заранее, чем впоследствии угадать.
Подключая и настраивая с чистого листа новый комп, я, наконец, понял, что нам в воскресенье рассказывали в новостях про «перевод часов» (который в России в очередной раз отменён, а в гаджетах, нечутких к решениям Государственной Думы VI созыва, он, тем не менее, в ночь на 29 апреля случился — по указке вашингтонского обкома, не иначе). Я внимательно проверил все свои устройства, карманные и настольные, но все они показывали правильное московское время, и совершенно не пытались сбиться на час. Так что я решил, что коллеги попались на очередную утку, подброшенную знакомыми эникейщиками.
А когда стал настраивать новый Мак — обнаружилось, что он-таки довольно упрямо тянет с яблосерверов московское время на час позже фактического. При разысканиях выяснилось, что проблема реально существует, и неплохо описана в документации. Заодно я понял (не прошло и 30 лет за компом) как именно разные операционные системы решают проблему с переходами на зимнее/летнее время в разных часовых поясах, где этот вопрос отдан на откуп законодателям с bipolar disorder, как в России.
Оказывается, сервер синхронизации часов отдаёт подключённым устройствам одно и то же время на весь шарик — видимо, UTC. А вот информация о том, как соотносится с UTC время каждого отдельно взятого часового пояса, в операционной системе зашита локально, в соответствии с известными на момент программирования местными законами о летнем/зимнем времени. И если вы регулярно обновляете ОС (по крайней мере, в яблочной экосистеме), то текущие версии OS X и iOS давно учли новые решения Госдумы. Если же вы давно не обновляли ось, или она в принципе не подлежит обновлению (как какая-нибудь снятая с поддержки Винда, типа XP), то эта система просто не в курсе того, как в России менялось смещение относительно UTC за последние годы. Как не знает этого, к примеру, OS X 10.8.5, на которой я и отследил ошибку. Эта система по-прежнему ориентируется на медведевский завет, что московский пояс — это UTC+4, зона постоянно действующего летнего времени, как в Индии.
Решений у проблемы принципиально два. Радикальное состоит в том, чтобы взять и обновить систему (например, до Yosemite). В новой версии Москва будет считаться UTC+3, царством вечной зимы, где солнца всё равно не видно, так что и электричества на нём не сэкономишь.
Паллиативное решение — для тех, кому лень переставлять систему, или не хватает для этого административных полномочий — состоит в переназначении своего часового пояса. Москвичам и питерцам надлежит установить зону Калининграда/Минска, свердловчанам — Ашхабад или Ташкент. Новосибирцам, наоборот, нужно выставить время Ебурга, красноярцам — Новосибирска, иркутянам — Красноярска, и так до самого Магадана (которому предписывается назначить своим поясом Якутск). Полный список «кому куда переезжать» доступен в очень вдумчивом пошаговом хелпе Яндекса.
Тут напрашивается вопрос: а какая, в сущности, разница. Ну, будет на компьютере неправильное время, есть же часы наручные, дисплей телефонный, да мало ли гаджетов с часами, включая ту же микроволновку. В принципе, замечание верное, но опыт подсказывает, что правильное время на компьютере (особенно — подключённом к Интернету) иногда используется системой для нужд, о которых сами мы не задумываемся. Например, для сортировки файлов по времени создания и писем по времени отправки/получения, для маркировки сообщений в чатах и постов в блогах, а также иногда для сверки при синхронизации с внешними устройствами. Серьёзно сбившиеся системные часы могут стать помехой для подключения к сетям WiFi. По всем этим причинам проще один раз настроить часы корректно, чем жить в ожидании сбоев, причину которых зачастую много проще устранить заранее, чем впоследствии угадать.
no subject
Date: 2015-03-31 09:47 am (UTC)Потому, что дует ветер перемен и силы больше не?
no subject
Date: 2015-03-31 09:49 am (UTC)Блин, тогда винда касячила все в дубай переезжали, обратно мак косячит...
Для кого глобальную tzdata держат...
no subject
Date: 2015-03-31 09:50 am (UTC)Последний уже давно выключил свет в аэропорту:)
no subject
Date: 2015-03-31 09:53 am (UTC)no subject
Date: 2015-03-31 10:06 am (UTC)no subject
Date: 2015-03-31 10:10 am (UTC)на самом серваке ок, а вот похапе дает +4.
пришлось сделать:
date_default_timezone_set("Asia/Baghdad");
no subject
Date: 2015-03-31 10:11 am (UTC)no subject
Date: 2015-03-31 10:13 am (UTC)no subject
Date: 2015-03-31 10:13 am (UTC)Почитал новости, посмотрел по сторонам и переставил часовой пояс на Найроби.
И время теперь соответствует, да и всё остальное ближе к реальности.
no subject
Date: 2015-03-31 10:15 am (UTC)no subject
Date: 2015-03-31 10:20 am (UTC)no subject
Date: 2015-03-31 10:26 am (UTC)а то бывают нюансы.
Например, если сервер живет по Москве, а комп юзера по Калининграду, то по afp шара может не подключаться.
Хотя для одиночного домашнего компа, возможно таких засад нет и можно жить по Калининграду.
no subject
Date: 2015-03-31 10:33 am (UTC)no subject
Date: 2015-03-31 10:34 am (UTC)no subject
Date: 2015-03-31 10:39 am (UTC)no subject
Date: 2015-03-31 10:40 am (UTC)no subject
Date: 2015-03-31 10:45 am (UTC)А мак старый, Антон Борисович, можем запаять. Будете рядом с метро ленинский проспект, заезжайте в офис, - оживим.
no subject
Date: 2015-03-31 10:51 am (UTC)no subject
Date: 2015-03-31 11:11 am (UTC)Время наше!
Время, добро пожаловать домой!
Времени нет, есть только Путин. Даже небо, даже Аллах знают это.
no subject
Date: 2015-03-31 11:12 am (UTC)no subject
Date: 2015-03-31 11:13 am (UTC)no subject
Date: 2015-03-31 11:15 am (UTC)no subject
Date: 2015-03-31 11:50 am (UTC)no subject
Date: 2015-03-31 11:52 am (UTC)no subject
Date: 2015-03-31 11:56 am (UTC)А то я с этими "переводить - не переводить" на календаре 42-е февраля ищу.