Як я можу тримати синхронізацію свого системного годинника під Mavericks?


22

У мене в середині 2011 року 27 "iMac запускає Mavericks (10.9.1). Я оновлював цю гірську леді цієї осені, коли Mavericks був випущений. У мене ніколи не було проблем із системним годинником.

З моменту встановлення Mavericks мій годинник постійно отримує близько 20 секунд на день. У мене правильно встановлений часовий пояс, і "Встановити дату та час автоматично" в моїх налаштуваннях "Дата та час". Він встановлений для використання "Apple / Америка / США (time.apple.com)"

Коли я відкриваю панель системних налаштувань дати та часу, мої годинники негайно підлаштовуються під потрібний час, але, не відкриваючи панель, вона досить швидко виходить з колії.

Я перезавантажив, поставив прапорець і зняв прапорець, щоб автоматично встановити дату та час, і, здається, не допомогло.

Якісь рішення чи ідеї?


ОНОВЛЕННЯ:

Я зробив те, що відчуває прогрес. Питання: Як я можу дізнатися, чи мій комп'ютер регулярно оновлює годинник? і його прийнята відповідь grgarside надала багато корисної допомоги щодо усунення несправностей. Мій дрейф - колосальні 499,988 (набирає 43,19 секунди на день)!

Найголовніше, що кардіостимулятор працює кожні 5 - 15 секунд, про що свідчить мій журнал стволів, однак щоразу, коли він запускається, він отримує помилку:

Feb  1 11:53:29 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:53:39 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:53:51 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:53:59 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:54:09 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb  1 11:54:19 jsw.local pacemaker[19928]: adjtime: Operation not permitted

Здається, у мене проблема з дозволом, але я не можу цього розібратися. Я вивантажив і перезавантажив кардіостимулятор plsit через startctl

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.pacemaker.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.pacemaker.plist

ось експорт тексту мого com.apple.pacemaker.plist

{
    Label = "com.apple.pacemaker";
    ProgramArguments = (
        "/usr/libexec/pacemaker",
        "-b",
        "-e",
        "0.0001",
        "-a",
        10,
    );
    KeepAlive = {
        PathState = {
            "/private/var/db/ntp.drift" = YES;
        };
    };
}

мій /private/var/db/ntp.drift файл належить корінь: колесо та його дозволи 644, /System/Library/LaunchDaemons/com.apple.pacemaker.plist має точно такі ж права власності та дозволи.

Я сподіваюсь, що це оновлення надає достатньо додаткової інформації, щоб хтось міг передати мені цю проблему.


2
У мене ніколи не було роботи системи, як ви описуєте, але тут потрібна інша людина, щоб вибрати інший сервер часу (азіатський, якщо ви зараз використовуєте США), а потім переключитися назад, щоб отримати налаштування.
bmike

Я б здогадався, що з вашим DNS або файлом хосту щось не так. Чи будь-яким чином ви змінили налаштування та налаштування мережі? Не менше ніж 10,9, але 10,8? Я б спробував змінити з time.apple.com на один з URL-адрес pool.ntp.org/en .
Ендрю У.

1
@AndrewU. Ваш коментар не враховує той факт, що час, мабуть, синхронізується належним чином, коли я відкриваю панель попередніх налаштувань
Скотт

1
@bmike Я намагаюся це зробити, просто не повернувся до цього iMac, щоб перевірити речі. Спасибі, Скотт
Скотт

1
У мене є та сама проблема - годинник переміщується по хвилинах на тиждень, але відразу синхронізується належним чином, коли я відкриваю панель налаштувань годинника. Я помітив помилку "adjtime: Операція не дозволена", її можна усунути, якщо ви запускаєте кардіостимулятор у командному рядку через sudo: sudo / usr / libexec / pacemaker -v Але це насправді не рішення, просто, можливо, натяк на те, що може йти неправильно за лаштунками.
Брайан Стормонт

Відповіді:


22

вони, здається, працюють на моєму iMac, запускаючи Mountain Lion:

0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org time.apple.com

просто скопіюйте / вставте розділений пробілом рядок у полі "Встановити дату та час автоматично" у налаштуваннях Дата та час. не забудьте натиснути Enter після введення імен серверів ntp, щоб ntp.conf оновлювався.


Я не розумію, чому це працювало, але воно працювало!
Скотт

У Йосеміті це стало
спадною програмою,

Ви все ще можете редагувати в Йосеміті (я щойно зробив!). Якщо ви виберете спадне меню і натисніть клавішу Видалити, ви побачите, що текст зник. Ви не можете використовувати cmd + v для вставки, але вторинним клацанням надайте опцію вставки в меню.
Райан Длугош

3

Ntpd Maverisks зламаний, розбитий, зіпсований. Apple знає про це: я проводив години по телефону до них, надаючи їм зразки та файли. Це може бути перенесення з iOS ("Назад до Mac", чи це насправді працює). Винуватець, здається, є новим з демоном Maverisks під назвою "кардіостимулятор", який у класичній моді Apple є задокументованим і, схоже, не веде себе відповідно до того, що там мало документації.


Про це є тривала дискусія тут: обговорення.apple.com
thread/5604114

Перевірте ChronyControl Брайана Крістіансона (Брайан також стоїть за WhatRoute). Це повертає деяку розумність до ntp хронометражу за допомогою Mojave v10.14.4.
зовнішній

2

Перш ніж здійснити нову установку, настійно рекомендую спробувати скинути NVRAM (енергонезалежну оперативну пам’ять).

NVRAM (або PRAM на старих, на основі PowerPC Macs) зберігає певні налаштування. Це така пам'ять, як звичайна оперативна пам'ять на вашому Mac, але з однією основною відмінністю є те, що NVRAM зберігає те, що на ній, навіть якщо ваш Mac вимкнеться.

Зокрема, інформація, що зберігається в NVRAM / PRAM, включає:

  • Гучність динаміка
  • Налаштування часового поясу
  • Розширення екрану
  • Вибір пускового диска
  • Останні ядра паніку, якщо такі є

Можливо, те, що зберігається у вашому NVRAM про ваш час, якось зіпсувалося, і тепер спричиняє вашу проблему.

Тепер ви можете запитати, як щодо синхронізації часу з серверами? Для чого мені це потрібно? Ну, це лише для того, щоб встановити свій час, а не робити це вручну. Просто невеликий жест; нічого більше. Після встановлення він зберігається у вашій NVRAM як завжди.

І ваш час виправляється щоразу, коли ви відкриваєте свої налаштування дати та часу, тому що, ймовірно, відкриття там ініціює ручну синхронізацію вашого часу з сервером. Але після цього справи знову переходять у сірий провід.

У будь-якому випадку для скидання NVRAM:

  • Вимкніть ваш Mac.
  • Знайдіть такі клавіші на клавіатурі: Command (⌘) , Option , P і R . На кроці 4 потрібно буде одночасно утримувати ці клавіші.
  • Увімкніть комп’ютер.
  • Натисніть і утримуйте клавіші Command-Option-PR, перш ніж з'явиться сірий екран.
  • Утримуйте клавіші, поки комп'ютер не перезавантажиться, і ви почуєте звук запуску вдруге.
  • Відпустіть ключі.

Джерело: Apple


1
Я міг бачити, як скидання NVRAM очистить неправильний часовий пояс, але наскільки це впливає на затримку часу та здатність ntpd не захищати годинник від інтернет-джерел - існує багато відсутніх зв’язків між тим, що зберігається в NVRAM, і тим, як встановлюється час. Тим більше, що система вимикається та самокорегується під час роботи, відкриваючи панель налаштувань системи. Ви думаєте, що це може заплутатися під час завантаження?
bmike

2

Можна ntpdateчерез запуск.

Я зібрав фрагменти разом на https://github.com/tjluoma/ntp-fix-time, але сюди я включу відповідні біти:

  1. launchdPLIST , який входить в / Library / LaunchDaemons / (бо він повинен бути запущений , rootколи він працює)

  2. Сценарій оболонки, який викликає ntpdate -u $NTPHOSTі записує в свій результат.

Чомусь спроба зателефонувати ntpdateбезпосередньо через launchdмене не працювала, але зателефонувати за допомогою сценарію, здавалося, працює.

plistВикористовує це:

    <key>RunAtLoad</key>
    <true/>

щоб переконатися, що він працює під час перезавантаження Mac.

Це:

    <key>StartInterval</key>
    <integer>14400</integer>

гарантує, що він працює кожні 4 години, що здавалося, що "досить часто".

Сценарій буде використовувати сервери, перелічені в /etc/ntp.conf, якщо таких немає, і в цьому випадку він буде використовуватись time.apple.com.

( manСторінка ntpdateнаводить на думку, що вона з часом вийде з Mac OS X, але вона все ще є в 10.9.1, тому мені цього достатньо.)


Схоже, це спрацює - хоча я спантеличений, чому це потрібно і якщо є інші системні проблеми, про які я не знаю.
Скотт

1
FYI - Я не прихильник покладатися на змінну PATH в роботі LaunchDaemons або cron. Я занадто багато разів був спалений, я вважаю, що набагато краща практика використовувати повний шлях. У випадку з LaunchDaemons ви можете вказати WorkingDirectory, який, якщо використовується, усуває необхідність вказувати повний шлях.
Скотт

1

Я поки що не був успішним у усуненні переміщення годин. Оскільки мій годинник повільно рухається (менше хвилини на день), щоб переконатися, що спроба рішення працює, потрібно якийсь час.

Я щойно спробував варіацію відповіді Патрікса з цього поста . Відлуння не працювало в командному рядку, я отримав "дозвіл відхилений" (його відповідь стосувався встановлення Lion). Але я видалив старий файл і замінив його на новий, який я відредагував нано.

sudo rm /etc/ntp.conf
sudo touch /etc/ntp.conf
sudo nano /etc/ntp.conf

у файл, який я просто розмістив

server time.apple.com

ніяких затяжних. або новий рядок. Потім я вийшов з нано (ctrl-X) і відповів "так", щоб зберегти зміни.

Мені не потрібно було міняти власників, оскільки він вже був власником root: wheel.

Я оновлю, коли знаю, чи спрацювало це.


1
Це не спрацювало
Скотт

2
Чому ви торкаєтесь її, перш ніж змінювати?
Макс Рід

0

Я хотів надати свої два центи на цю проблему. У мене була схожа проблема. Мій годинник відстав на годину, і для мене спрацювало те, щоб зняти прапорець Встановити часовий пояс автоматично, використовуючи поточне місце розташування, і просто вручну обрати найближче місто. Не завадить спробувати і побачити, чи має це значення.


0

Як було обговорено в інших місцях, переміщення тактових годин відбувається через те, що ntpd не працює, і те, що називається / usr / libexec / кардіостимулятор, також не працює. Якщо вимкнути кардіостимулятор і запустити ntpdate, щоб перетворити годинник, він став досить стійким у моїй системі, з мінімальними системними змінами.

З Терміналу запустіть ці команди в порядку.

cd /System/Library/LaunchDaemons/
mv com.apple.pacemaker.plist com.apple.pacemaker.plist.OFF
sudo crontab -l > /tmp/foo
echo '*/5 * * * * /usr/sbin/ntpdate -s -B -u time.apple.com' >> /tmp/foo
sudo crontab /tmp/foo

Потім перезавантажте систему.

Перші дві команди відключають кардіостимулятор, переміщуючи його запущений конфігураційний файл із шляху. Останні три команди говорять системному демону cron запускати ntpdate кожні п’ять хвилин, уповільнюючи або прискорюючи годинник у міру необхідності, і реєструвати, що він робить для /var/log/system.log.


-2

Якщо ви зателефонуєте в Apple, вони запропонують вам перевстановити збереження операційної системи.

Я здогадуюсь, що у вас є пошкоджені переваги. Ви можете спробувати змінити кожне налаштування на панелі налаштувань дати та часу на щось інше, перезавантажте його, а потім встановіть його на потрібне. Якщо це не працює, перейдіть у каталог налаштувань та видаліть список бажаних налаштувань, що має щось спільне з налаштуваннями дати та часу.


Перевстановити? ХОРОРИ! Тому я покинув Windows років тому. Безумовно, розумні люди розумні можуть знайти краще рішення, ніж перевстановлення ОС.
Скотт

А що стосується дирекції "Налаштування" та видалення списків, пов’язаних із датою та часом. Я вважаю цю рекомендацію неповною та небезпечною. Якщо це серйозно, то вам належить: A) вкажіть місце розташування папки. І B) порадити користувачу перемістити файли в інше місце (можливо, на робочому столі), а не видаляти їх. Багато людей різного рівня досвіду прочитають це питання.
Скотт

Я вважаю, що ви останнім часом не закликали технічну підтримку Apple. Перевстановлення OSX - досить безболісна операція. Усі ваші програми залишаються встановленими, усі ваші користувачі залишаються присутніми.
vy32

Телефонував Apple вчора. 3 години по телефону. Потім 4 години перевстановлення ОС (через швидкий Інтернет на SSD). Потім дві години налаштування файлів конфігурації (apache тощо), які були клобовані повторною установкою ОС. І зрештою, що - МОЙ ЧАС ВІДБУЧАЄ ДРИФТИ. Навіть не близький до безболісного і проблема не виправлена.
Скотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.