Linux не переводить время

Устанавливаем в системе Linux время, дату и часовой пояс из командной строки или из Gnome | Используем ntp

В системе Linux очень важно иметь правильное время и дату, поскольку от этого зависит многое. Причем неважно, используете ли вы систему Linux на своем персональном компьютере или у вас Linux-сервер. Серверные и системные часы должны указывать правильное время.

Аппаратные часы — это те часы, которые работают на вашем компьютере даже тогда, как питание компьютера отключено. Это возможно благодаря наличию в современных компьютерах литиевой батареи или батареи другого типа в более старых компьютерах.

Мы можем увидеть различие между аппаратными и системными часами

Вы увидите что-то вроде следующего:

Теперь проверьте системные часы

Вы увидите что-то вроде следующего:

Давайте установим аппаратные часы по местному времени:

Если вы хотите установить их на использование времени по Гринвичу (UTC):

Установка часового пояса

Чтобы в ваших системных часах установить часовой пояс, выполните следующее:

Правильно укажите ваш часовой пояс.

Автоматическая регулировка часов

Для того, чтобы ваша система могла автоматический регулировать время, вам нужно установить программу ntp . Получите ее из репозитария. После того, как она будет установлена, вы можете настроить ее следующим образом:

Отредактируйте файл /etc/ntpd.conf . Он будет выглядеть следующим образом:

Удостоверьтесь, что вы запустили демон, и сделайте так, чтобы он автоматически запускался при загрузке системы.

Для Arch Linux это: /etc/rc.d/ntpd start ; для Debian и производных систем: /etc/init.d/ntpd start

Обновление из командной строки времени по значению, получаемому с сервера времени

Вы можете обновлять время вручную без использования демона ntpdate

Вы получите что-то вроде следующего:

Бонус: Установка времени и даты в Gnome

Если вы используете Gnome, щелкните правой кнопкой мыши по изображению часов и выберите пункт настройки adjust, или в меню выберите пункт System > Administration > Time and Date (Система > Администрирование > Время и дата). Вам, возможно, будет предложено ввести пароль.

Источник

Linux не переводить время

Многие наверняка в курсе, что в этом году в России отменен переход на летнее время. Что это нам дает? Что 30 октября этого года время не изменится.

За часовые пояса в Linux отвечает так называемая tz database — пакет tzdata. Для большинства дистрибутивов возможно будет достаточно обновить этот пакет (соответсующие исправления внесены в версию 2011i). Если же такого обновления для вашего дистрибутива не вышло, самый простой способ использовать Etс/GMT+4 или, если вы не ищете легких путей, перекомпилировать файл зоны. Об этом варианте и пойдет речь далее.

Для начала убедимся что наш файл зоны не актуален и система переведет время:

Итак, 30 октября все пройдет по старому расписанию.

Для начала сделаем резервную копию:

Получаем последнюю версию tz database отсюда:

Ну а теперь собственно компиляция:

Не забудьте проверить файл /etc/localtime, если это ссылка на файл Moscow, то всё нормально, а если это просто файл, то нужно его заменить новым файлом:

Далее нужно выставить хранение аппаратного времени в системе UTC. Для этого откроем файл любым простым текстовым редактором:

. и выставим указанный параметр UTC:

Если часы системные выставлены так как надо, то выполняем следующую команду, которая запишет в аппаратные часы (BIOS) время в UTC:

После произведённых действий компьютер можно перегрузить и удостовериться, что время никуда не убегает.

Если часы сместятся на 4 часа вперёд. Далее просто выставим нужное время командой date -s hh:mm:ss.

Читайте также:  Мониторинг оперативной памяти linux

Источник

Время в linux. UTC или localtime?

Сразу после установки линукса необходимо выполнить кое-какие начальные настройки: локаль, сеть, время… Так вот о времени.

В линукс есть два времени: аппаратное и системное. Аппаратное — это время на часах материнской платы компьютера, а системное — это время в самой операционной системе.

В файле /etc/adjtime хранится величина отклонения аппаратных часов и какое время они показывают, локальное или UTC .

Команда hwclock показывает, устанавливает аппаратное время, синхронизирует системное с аппаратным временем и наоборот, а также задает какое время показывают часы на материнке: местное или по Гринвичу.

Команда date показывает и устанавливает системное время.

Исходя из этого время в линукс можно настроить руководствуясь двумя принципами:

  1. Аппаратное время настроено по Гринвичу, а системное время определяется согласно настроенного часового пояса в системе путем прибавления разницы к аппаратному времени;
  2. Аппаратное и системное совпадают и равны текущему местному времени.

Первый вариант очень удобен при частой смене часовых поясов или переводе часов на зимнее/летнее время. Достаточно просто сменить часовой пояс в настройках.

Текущий часовой пояс хранится в файле /etc/localtime. А задается путем создания символической ссылки, вот так:

Теперь остается сгенерировать /etc/adjtime:

Все, “железные” часики должны быть настроены на UTC , а системное время будет определяться согласно /etc/localtime. Если куда-то переезжаем, просто меняем часовой пояс.

Для второго варианта действия аналогичные. Указываем часовой пояс и генерируем /etc/adjtime. Только при генерации hwclock запускаем с другим параметром:

Второй вариант удобен для тех, кто одновременно использует на одной машине линукс и виндовс. В виндовсе по-умолчанию настроено так, что системное время совпадает с аппаратным. И если у вас в линуксе будет настроено по UTC , то в линукс и виндовс время будет постоянно отличаться. Виндовс тоже можно перенастроить на первый вариант, но эта статья про линукс.

ноя 28, 02:21 Дмитрий в рубрике мучаем UNIX .

Добавить в Twitter

Добавить в Telegram

Большое спасибо _

И теперь понятно, что в установщике Debian означает галочка, что системные часы показывают время в UTC . А ведь даже нет подсказки, которая сделала бы этот момент интуитивно понятным (время + select <это время по UTC | это локальное время>), жаль.

один умный напишет, а остальные просто бездумно переписывают одно и тож сочинение с сайта на сайт, а вот необходимо отключить синхронизацию времени с интернетом в linux, и не на одном сайте ни слова…. если уж пишите что-то так давайте описание в двух хотяб вариантах,

Оставить комментарий

Привет, читатель! Здесь пишут о веб-разработке и немного на другие темы, так или иначе связанные с компьютером. Используй страницу поиска и архива для поиска нужной тебе информации.

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

Отмена перевода часов и Linux (Настройка системы на отсуствие перевода часов)

Модератор: SLEDopit

Отмена перевода часов и Linux

Сообщение midn » 30.08.2011 11:11

Слава богу, отменили у них декретное время (зимнее\летнее).

Теперь вопрос, как это все зафиксировать в Linux.

Вот пример для Mandriva 2010

Для начала — посмотрел, что у меня сейчас показывает система

zdump -v Europe/Moscow

Вот кусок вывода

Europe/Moscow Sat Oct 30 23:00:00 2010 UTC = Sun Oct 31 02:00:00 2010 MSK isdst=0
Europe/Moscow Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 MSK isdst=0
Europe/Moscow Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 MSD isdst=1
Europe/Moscow Sat Oct 29 22:59:59 2011 UTC = Sun Oct 30 02:59:59 2011 MSD isdst=1
Europe/Moscow Sat Oct 29 23:00:00 2011 UTC = Sun Oct 30 02:00:00 2011 MSK isdst=0
Europe/Moscow Sat Mar 24 22:59:59 2012 UTC = Sun Mar 25 01:59:59 2012 MSK isdst=0
Europe/Moscow Sat Mar 24 23:00:00 2012 UTC = Sun Mar 25 03:00:00 2012 MSD isdst=1
Europe/Moscow Sat Oct 27 22:59:59 2012 UTC = Sun Oct 28 02:59:59 2012 MSD isdst=1
Europe/Moscow Sat Oct 27 23:00:00 2012 UTC = Sun Oct 28 02:00:00 2012 MSK isdst=0
Europe/Moscow Sat Mar 30 22:59:59 2013 UTC = Sun Mar 31 01:59:59 2013 MSK isdst=0

Читайте также:  Vagrant synced folder windows

Затем забрал новые файлы зон
wget ‘ftp://elsie.nci.nih.gov/pub/tz*.tar.gz’

Там в одном из архивов лежит файл europe
Сохраняю его в какой-нибудь директории.

На Mandriva бинарные файлы зон лежат в
/usr/share/zoneinfo

Там, в частности, директория Europe — и в ней лежат города — та же Moscow
Делаю копию этой директории. Затем полностью ее удаляю.

Иду в директорию с файлов europe и там запускаю

В директории
/usr/share/zoneinfo
появилась папка Europe и там файлы — и там есть Moscow

zdump -v Europe/Moscow

Europe/Moscow Sat Oct 30 23:00:00 2010 UTC = Sun Oct 31 02:00:00 2010 MSK isdst=0
Europe/Moscow Sat Mar 26 22:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 MSK isdst=0
Europe/Moscow Sat Mar 26 23:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 MSK isdst=0
Europe/Moscow Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 07:14:07 2038 MSK isdst=0
Europe/Moscow Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 07:14:07 2038 MSK isdst=0

По-идее, перевода уже нет.

Теперь иду в /etc — там файл localtime — делаю его копию и на место этого файла копирую файл
Moscow из zoneinfo/Europe
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Теперь еще раз проверяю — как поведет себя система в будущем

date —date=»2011-10-29 23:00 utc»

Вск Окт 30 03:00:00 MSK 2011
Разница 4 часа есть

date —date=»2011-11-30 12:00 utc»

Срд Ноя 30 16:00:00 MSK 2011
Разница 4 часа есть

date —date=»2012-05-30 12:00 utc»

Срд Май 30 16:00:00 MSK 2012

Разница 4 часа есть.

По-идее, все должно теперь работать нормально. Едиственное — я не знаю, надо ли перегружать машину. Или и так все должно сработать?

Говорят, можно так сделать
установить timezone +4 часа к GMT (в некоторых ОС эта зона значится со знаком минус -4)

Не знаю, сработает ли это и будет так правильно.

Источник

Сбивается время в Ubuntu и Windows

Многие новые пользователи, которые только перешли на Linux с операционной системы Windows, и пока все еще запускают эту систему время от времени, сталкиваются с проблемой, что после загрузки Windows в Ubuntu сбивается время на несколько часов назад или вперед, затем после нескольких перезагрузок уже сложно понять какое сейчас время.

Все это происходит из-за различий формата хранения времени в этих операционных системах. И будет происходить при каждой перезагрузке, сколько бы вы ни устанавливали правильное время. Но эту проблему можно решить. И даже несколькими способами. В этой статье мы рассмотрим, как решить проблему сбивается время в Ubuntu и Windows.

Почему так происходит?

Как я уже сказал, проблема в разных форматах хранения и восстановления времени. В компьютере есть два вида часов. Аппаратные — идут всегда, даже когда компьютер выключен и программные часы, встроенные в ядро. Когда компьютер включается значение аппаратных часов записывается в программные, и в дальнейшем операционная система берет время оттуда. Но Windows и Linux работают по-разному с этими двумя часами. Есть два способа работы:

  • UTC — и аппаратные, и программные часы идут по Гринвичу. То есть часы дают универсальное время на нулевом часовом поясе. Например, если у вас часовой пояс GMT+3, Киев, то часы будут отставать на три часа. А уже пользователи локально прибавляют к этому времени поправку на часовой пояс, например, плюс +3. Каждый пользователь добавляет нужную ему поправку. Так делается на серверах, чтобы каждый пользователь мог получить правильное для своего часового пояса время.
  • localtime — в этом варианте программные часы тоже идут по Гринвичу, но аппаратные часы идут по времени локального часового пояса. Для пользователя разницы никакой нет, все равно нужно добавлять поправку на свой часовой пояс. Но при загрузке и синхронизации времени Windows вычитает из аппаратного времени 3 часа (или другую поправку на часовой пояс), чтобы программное время было верным.
Читайте также:  Таймер выключения для linux mint

Так почему же сбивается время Ubuntu и Windows? Вот, допустим, работает Windows, и со временем там все нормально, оно сохранено в формате localtime. Но при перезагрузке в Linux, операционная система берет время Localtime, и думает что это UTC. Таким образом, пользователь будет брать уже правильное время, и прибавлять к нему поправку на часовой пояс. Поэтому время уже будет неверным.

Дальше вы исправили время, и теперь аппаратные часы работают в UTC. Но затем грузите WIndows. Система думает, что это localtime и для установки правильного программного времени добавляет к аппаратному поправку на часовой пояс, например, в нашем случае +3. Дальше каждый пользователь еще раз применяет эту поправку и время уже сбито, опять.

Единственно верный способ решить эту проблему — заставить обе системы работать по одному формату и сделать это совсем не сложно. Причем можно пойти двумя путями: либо заставить Windows работать по UTC, либо Linux по формату localtime, что является не совсем правильным, но вполне возможно. Итак перейдем к решению проблемы сбивается время в Ubuntu.

Настройка Windows для работы по UTC

Итак, если у вас сбивается время Windows и Linux при переключении между операционными системами, лучшим способом будет заставить Windows работать по более правильному и логичному формату. Для этого достаточно добавить один ключ реестра. Вы можете сделать это с помощью одной команды в консоли. Чтобы открыть консоль в Windows 10 проведите мышь в левый нижний угол, затем нажмите правую кнопку. В контекстном меню выберите Командная строка (администратор):

Дальше наберите команду для 32 битных систем:

> Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

А для 64-битных, нужно использовать тип значения REG_QWORD:

> Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

Почти готово, но служба времени Windows независимо от этой настройки будет писать время в местном формате при обновлении его через интернет, поэтому удобно эту службу отключить. Для этого выполните:

> sc config w32time start= disabled

Как вернуть обратно?

Если вы хотите вернуть все как было, то сделать это можно проще простого. Сначала возвращаем ключ реестра в правильное положение:

> Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0

И запускаем обратно службу синхронизации:

> sc config w32time start= demand

Готово, а дальше рассмотрим, как заставить Linux использовать формат времени localtime.

Настройка Linux для работы localtime

По умолчанию Linux использует формат хранения времени UTC, но если Ubuntu сбивает время Windows, вы можете очень просто заставить систему хранить в аппаратном таймере местное время. Во всех дистрибутивах, использующих Systemd, в том числе в Ubuntu для этого достаточно выполнить команду:

sudo timedatectl set-local-rtc 1 —adjust-system-clock

Чтобы посмотреть текущее состояние аппаратных и программных часов выполните:

Готово, теперь вы можете перезапустить компьютер и запустить Windows, чтобы убедиться, что время не сбивается при перезагрузке. В более старых системах Ubuntu, вам нужно отредактировать файл /etc/default/rcS и заменить UTC=yes на UTC=no. Вы можете сделать это командой:

sudo sed -i ‘s/UTC=yes/UTC=no/’ /etc/default/rcS

Как вернуть обратно?

Опять же, вернуть все как было можно с помощью одной команды:

sudo timedatectl set-local-rtc 0

А в старых дистрибутивах Ubuntu:

sudo sed -i ‘s/UTC=no/UTC=yes/’ /etc/default/rcS

Выводы

Вот и все. Теперь, если вы столкнетесь с проблемой Windows 10 — сбивается время Ubuntu или любом другом Linux дистрибутиве, вы уже будете знать, как её решить с помощью двух полностью работающих способов. Если у вас остались вопросы, спрашивайте в комментариях!

Мы разобрались, как настроить правильное время в Ubuntu и Windows, чтобы временные зоны не сбивались, но что такое временные зоны и зачем они нужны, на завершение видео про это:

Источник

Оцените статью