- Переход на зимнее время и настройка часового пояса Gentoo, CentOS и Debian
- Добавить комментарий Отменить ответ
- Правильная синхронизация аппаратных часов в Gentoo?
- System time
- Contents
- Preface
- Software clock vs Hardware clock
- UTC time vs localtime
- Configuration
- Time zone
- OpenRC
- systemd
- LC_TIME
- System clock
- Time server
- systemd
- Hardware clock
- Syncing the hardware clock and system time
- In-kernel method
- OpenRC
- systemd
- Troubleshooting
- Dual booting with Windows
- Системное время
- Contents
- Предисловие
- Программные или аппаратные часы
- UTC или местное время
- Конфигурация
- Часовой пояс
- OpenRC
- systemd
- LC_TIME
- Системные часы
- Сервер времени
- systemd
- Аппаратные часы
- Синхронизация аппаратных часов и системного времени
- Синхронизация с помощью ядра
- OpenRC
- systemd
- Устранение проблем
- Двойная загрузка с Windows
Переход на зимнее время и настройка часового пояса Gentoo, CentOS и Debian
30 октября не будет перехода на зимнее время, а знают ли он этом мои сервера? Как его перенастроить что бы время автоматические не перешло на зимнее? В данный момент у меня стоят операционные системы Gentoo, CentOS и Debian
Попробую рассказать под 3 ОС.
Отмена перехода на зимнее время. Проверка для всех ОС.
Проверяем есть ли переход вообще.
# zdump -v /etc/localtime | grep 2011
На экране должно быть что-то вроде:
Если у вас есть последние две жирные строчки, значит время будет переведено. Если их нету и стоит переход только 27 марта, значит всё хорошо и ничего делать не нужно.
Ладно, теперь если всё плохо: Отмена перехода на зимнее время для CentOS.Качаем новый пакет tzdata.
Для CentOS 5, архитектура i386:
# rpm -Uvh http://mirror.secured.md/centos/5/updates/i386/RPMS/tzdata-2011h-1.el5.i386.rpm
Для CentOS 5, архитектуры x86_64:
# rpm -Uvh http://mirror.secured.md/centos/5/updates/x86_64/RPMS/tzdata-2011h-1.el5.x86_64.rpm
Всё скачалось и установилось. Теперь у нас наверняка слетел часовой пояс. Про часовые пояса смотрим ниже.
Отмена перехода на зимнее время для Gentoo.
Тут чуть сложнее:
Обновляем дерево portage
# emerge --sync
Смотрим какие версии timezone-data доступны:
# eix timezone-data
Качаем самую последнюю. Вроде это 2011d. B выглядеть это должно как-то так.
# emerge -av /usr/portage/sys-libs/timezone-data/timezone-data-2011d.ebuild
Далее у нас наверно опять слетела временная зона. Скоро мы её выставим, смотрим ниже.
Отмена перехода на зимнее время для Debian.
Тут вообще всё просто. Опять же качаем последний пакет tzdata
# dpkg -i tzdata_2011i-2_all.deb
И теперь настраиваем время.
Настройка часового пояса, временной зоны на CentOS
Тут всё не сложно. Требуется установить символическую ссылку файла с зоной на /etc/localtime.
# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Тут мы выставляем для Москвы, если у вас другая зона, то смотрим в папке /usr/share/zoneinfo/ нужную.
Можете ещё установить синхронизацию.
# ntpdate time.nist.gov
Если пакета ntp нет, то делаем следующие:
# yum install ntpv
# ntpdate time.nist.gov
Добавляем в автозагрузку
# chkconfig ntpd on
Запускаем:
# service ntpd start
Настройка часового пояса, временной зоны на Gentoo
Если меня не подводит память, то так же как в CentOS
# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Настройка часового пояса, временной зоны на Debian
Тут опять всё очень просто:
Появляется всевдо GUI, где нужно просто выбрать регион и город.
Проверяем время:
# date
Проверяем переход на зимнее время:
# zdump -v /etc/localtime | grep 2011
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник
Правильная синхронизация аппаратных часов в Gentoo?
это демонстрирует, что аппаратные часы установлены не правильно. При установке будильника на «через 5 минут» ничего не происходит. А при установке на «через 3 часа и 5 минут» устанавливается.
Подскажите, что надо изменить, чтобы нормально задвать время включения ноута?
не помогло. время у меня уже установлено, а `timedatectl` и `adjtimex` команды не найдены.
Проверь часовой пояс. Если неправильный, то выставить и сделать hwclock —systohc .
В биосе должно стоять время по UTC+0. А в Генте ты ставишь свой часовой пояс.
Как в биос сменить часовой пояс? было проставлено руками 15.29, но гента показывает +3 часа в биосе. что делать?
To set the hardware clock to the current system clock (UTC time standard):
`root #timedatectl set-local-rtc 0`
но как без установки systemd изменить часовой пояс аппаратных часов?
Аппаратным часам по барабану до systemd, UTC, linux, windows и прочего! Они на то и аппаратны! Это ты владелец своего компа, и ты и только ты должен найти разницу между твоим часовым поясом и UTC, исходя из твоих вычислений найти текущее время в UTC и вбить его в BIOS/UEFI своего компа! А в /etc/localtime указать свой часовой пояс!
Никак. Ты просто ставишь время по UTC+0(Лондон), а в Генте ставишь свой часовой пояс( Handbook )
должно быть 19:20. как исправить, что читать, если вики не помогло?
Похоже ты в /etc/conf.d/hwclock выставил clock=«local» Если так, то верни clock=«UTC»
да. исправлено в /etc/conf.d/hwclock.
ставлю rtc wakealarm:
но не включается через две минуты.
ничего непонятно. как ставить wakeup на через две минуты, если локалтайм — москва, а аппаратное время — утс.
в любом случае не работает. хотя на другом ноуте аппаратное время = локал, и все работает.
Источник
System time
The system time, backed by the system clock, is used in Unix systems to keep track of time. It can be set by an onboard hardware clock or by an external time server.
Contents
Preface
Software clock vs Hardware clock
The system clock, provided by the kernel, is implemented as a simple count of the number of ticks that have transpired since the 1 January 1970 00:00:00 UTC. This is called Unix time.
The hardware clock (also known as real-time clock or RTC) is typically a component on the mainboard. It runs independent of the state of the operating system all the time, also when the computer is shutdown.
UTC time vs localtime
The time for hardware clock can be modified to represent two standards: localtime or UTC time. The localtime is the real time of the time zone including DST. Preferred is UTC time because the system time gets computed by adding the time zone difference and DST. So daylight saving changes get automatically applied and changing the time zone are possible without changing the hardware clock. Exceptions can be made when using a dual-boot system; this is when the other operating system does not support or is not configured for an UTC hardware clock (by default, Windows uses localtime).
Configuration
Time zone
In order to keep time properly, select the proper time zone so the system knows where it is located.
OpenRC
systemd
systemd comes with the timedatectl command to manage the time zone:
To check the current zone:
To list available zones:
To change the time zone, e.g. for Germany:
LC_TIME
This environment variable defines formatting of dates and times. For more details see The GNU C Library
System clock
Typically the system clock time is set up by the hardware clock on boot. Alternatively it is possible to manually set the system clock or use a network time server.
The date command can be used to manage the system clock time:
To check the current software clock time:
To set the system clock, e.g. 12:34, May 6, 2016:
Time server
See the NTP or Chrony article for information concerning the use of time servers.
systemd
systemd comes with the timedatectl command to manage the system clock time:
To check the current software clock time:
To set the system clock:
Hardware clock
To have a hardware clock, the following kernel options must be activated:
At runtime, to check the current hardware clock time:
To set the hardware clock to the current system clock:
Syncing the hardware clock and system time
Typically the hardware clock is used to setup the system clock on boot. This can be done by the kernel itself or by a boot service (init script). Also on shutdown the kernel or a service can write the software clock to the hardware clock. This aids the system in having the correct time on boot.
In-kernel method
On a sufficiently modern kernel (3.9 or newer), Linux can be configured to handle setting the system time automatically. To do so, enable the Set system time from RTC on startup and resume ( CONFIG_RTC_HCTOSYS ) and Set the RTC time based on NTP synchronization ( CONFIG_RTC_SYSTOHC ) kernel options:
The Set the RTC time based on NTP synchronization kernel option is currently supported by chrony [1] , NTP and OpenNTPD since version 5.9p1 [2] .
To check if the hardware time is updated, install net-misc/adjtimex and run:
The 64 bit of the reported number should be unset (0). More information in hwclock man pages (search ’11 minute mode’).
OpenRC
When using OpenRC the hwclock init script can set the system clock on boot and sync system time to the hardware clock on shutdown. The service is enabled by default and should be disabled in favor of the above mentioned in-kernel method. The hwclock script should not be run when using the kernel’s real time clock.
If however there is a need for using the OpenRC, set both clock_hctosys and clock_systohc to YES in /etc/conf.d/hwclock . By default the service is configured for UTC time standard. To change to localtime add clock=»local» .
Restart the hwclock service and have the hardware clock init script run on system boot:
systemd
systemd can be used to set the system clock on boot. Use timedatectl to manage the hardware clock:
To check the current hardware clock time:
To set the hardware clock to the current system clock (UTC time standard):
To set the hardware clock to the current system clock (localtime time standard):
Troubleshooting
Dual booting with Windows
Systems that dual boot with another operating system, such as Windows, generally have a struggle over the hardware clock. To make Windows not adjust the hardware clock back to local time, add the following registry entry.
For 64-bit Windows, open regedit then browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation . Create a new QWORD entry called RealTimeIsUniversal , then set its value to 1 . Reboot the system. The clock should now be in UTC time. For 32-bit Windows, follow the 64-bit instructions except use DWORD instead of QWORD.
Источник
Системное время
Системное время использует системные часы и используется в Unix системах для слежения за временем. Его можно установить с помощью аппаратных часов или с помощью внешнего сервера времени.
Contents
Предисловие
Программные или аппаратные часы
Системные часы, предоставляемые ядром, реализуются простым подсчетом числа секунд, прошедших с 1 января 1970 года 00:00:00 UTC по настоящее время. Это число называется Unix-время.
Аппаратные часы, также известные как часы реального времени (real-time clock или RTC), обычно представляют из себя элемент материнской платы. Они работают все время, независимо от состояния операционной системы, даже когда компьютер выключен.
UTC или местное время
Настройка времени аппаратных часов может быть осуществлена исходя из двух стандартов: локальное время или время UTC. Локальное время — это реальное время часового пояса, учитывающее переход на DST. Предпочтительно использовать UTC, поскольку системное время вычисляется посредством прибавления к нему разницы времени часового пояса с учётом летнего времени. Благодаря этому перевод часов на летнее время учитывается автоматически, а изменение часового пояса возможно без изменения значения аппаратных часов. Исключение может быть сделано при использовании систем с двойной загрузкой, когда одна операционная система не поддерживает или не настроена для аппаратных часов с UTC (по умолчанию Windows настроена на использование локального времени).
Конфигурация
Часовой пояс
Для поддержания правильного исчисления времени необходимо выбрать соответствующий часовой пояс, чтобы системе было известно её текущее местоположение.
OpenRC
systemd
В systemd существует команда timedatectl для настройки часового пояса:
Проверка текущего часового пояса:
Вывод доступных часовых поясов:
Чтобы изменить часовой пояс, пример для Германии:
LC_TIME
Эта переменная окружения определяет форматирование даты и времени. Для более детальной информации смотрите The GNU C Library
Системные часы
Обычно время системных часов устанавливается аппаратными часами во время загрузки системы. Также системные часы возможно установить вручную либо с помощью сервера сетевого времени.
Для изменения системного времени можно воспользоваться командой date :
Вывод текущего времени программных часов:
Установка нового системного времени, например на 6 мая 2016 года в 12:34:
Сервер времени
Смотрите статью NTP, чтобы получить информацию по использованию сервера времени.
systemd
systemd существует команда timedatectl для управления системным временем:
Вывод текущего времени программных часов:
Установка системного времени:
Аппаратные часы
Чтобы получить доступ к аппаратным часам, нужно собрать ядро со следующими включенными параметрами:
Следующая команда выводит текущее на данный момент время аппаратных часов:
Следующая команда устанавливает время аппаратных часов в соответствии с системным временем:
Синхронизация аппаратных часов и системного времени
Обычно аппаратные часы используются при загрузке для установки системного времени. Это может быть осуществлено ядром самостоятельно, либо с помощью загрузочного сервиса init-скрипта при загрузке. Завершение работы ядра или сервиса также может вызвать сохранение времени системных часов в аппаратные часы. Благодаря этому у системы будет правильное время при следующей загрузке.
Синхронизация с помощью ядра
В свежих версиях (3.9 и выше) ядро Linux можно сконфигурировать таким образом, чтобы оно устанавливало системное время автоматически. Чтобы добиться этого, необходимо включить в ядре параметры Set system time from RTC on startup and resume ( CONFIG_RTC_HCTOSYS ) и Set the RTC time based on NTP synchronization ( CONFIG_RTC_SYSTOHC ):
Параметр ядра Set the RTC time based on NTP synchronization на данный момент поддерживается chrony [1] , NTP и OpenNTPD начиная с версии 5.9p1 [2] .
Чтобы убедиться, что время аппаратных часов обновилось, установите пакет net-misc/adjtimex и запустите следующую команду:
Выведенное число 64 бит должно быть не задано (0). Более подробная информация в man-странице hwclock (ищите ’11 minute mode’).
OpenRC
При использовании OpenRC для установки системного времени во время загрузки и синхронизации аппаратных часов во время завершения работы можно воспользоваться init-скриптом hwclock . Данная сервис включен по умолчанию и должен быть отключен при использовании вышеуказанного способа синхронизации ядром. Скрипт hwclock не следует запускать при использовании часов реального времени ядра.
Однако, если необходимо синхронизировать время с помощью OpenRC, в файле /etc/conf.d/hwclock для clock_hctosys и clock_systohc следует установить значение в YES . По умолчанию сервис настроена на стандарт UTC. Чтобы изменить это на использование стандарта местного времени (localtime) необходимо добавить clock=»local» .
Перезапустите сервис hwclock и добавьте его init-скрипт в уровень запуска boot:
systemd
Для установки системного времени во время загрузки можно использовать systemd. Для управления аппаратными часами используйте команду timedatectl :
Вывод текущего времени аппаратных часов:
Следующая команда устанавливает аппаратные часы в соответствии с системным временем (в стандарте времени UTC):
Следующая команда устанавливает аппаратные часы в соответствии с системным временем в стандарте времени localtime (местное время):
Устранение проблем
Двойная загрузка с Windows
Системы с возможностью загрузки другой операционной системы, например Windows, обычно будут испытывать проблемы с переназначением аппаратных часов. Чтобы сделать так, чтобы Windows не меняла аппаратные часы назад в локальное время, добавьте в реестр следующую запись.
В 64-битной версии Windows откройте regedit и перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation . Создайте запись RealTimeIsUniversal с типом QWORD и установить её значение в 1 . После этого перезагрузите систему. Теперь системные часы будут в формате UTC.
Источник