Настройка часового пояса и синхронизация времени в Linux. Установка времени линукс


Изменить часовой пояс Linux | Losst

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

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

Поэтому в определенный момент время в разных участках планеты будет отличаться на час. В этой небольшой статье мы рассмотрим как изменить часовой пояс Linux, чтобы операционная система правильно работала со временем и могла правильно его синхронизировать через интернет.

Содержание статьи:

Как работает время в Linux?

Операционная система Linux хранит и обрабатывает системное время в специальном Unix формате - количество секунд прошедших с полуночи первого января 1970 года. Эта дата считается началом эпохи Unix. И используется не ваше локальное время, а время по гринвичскому меридиану.

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

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

Настройка часового пояса в /etc/localtime

Наиболее популярный и поддерживаемый в большинстве дистрибутивов способ установки часового пояса для всех пользователей - с помощью символической ссылки /etc/localtime на файл нужного часового пояса. Список доступных часовых поясов можно посмотреть командой:

ls /usr/share/zoneinfo/

Сначала создайте резервную копию текущего часового пояса:

cp /etc/localtime /etc/localtime.bak

Для создания символической ссылки используйте команду ln -sf. Файл зоны нужно выбрать из доступных в системе. Например, мой часовой пояс - Украина, Киев, для установки будет использоваться следующая команда:

ln -sf /usr/share/zoneinfo/Ukraine/Kyiv /etc/locatime

Теперь можете проверить текущее системное время с помощью утилиты date:

date

Если у вас установлена утилита rdate можно синхронизировать время с сетью:

/usr/bin/rdate -s time-a.nist.gov

Осталось только синхронизировать ваши аппаратные часы с новыми настройками, для этого выполните команду:

/sbin/hwclock --systohc

Если нужно изменить часовой пояс только для определенной программы или скрипта, просто измените для нее переменную окружения TZ, например:

export TZ=Ukraine/Kyiv

Эта настройка сохраняется только для текущего сеанса командной оболочки. Чтобы сменить часовой пояс linux для определенного пользователя тоже нужно использовать переменную среды TZ. Только ее нужно добавить в файл ~/.environment. Этот файл читается по умолчанию при входе в систему, а значит переменная будет доступна всем программам:

vi ~/.environment

export TZ=Ukraine/Kyiv

Готово, теперь вы знаете как выполняется настройка часового пояса linux для определенного пользователя.

Другие консольные утилиты

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

В Red Hat Linux:

 redhat-config-date

В CentOS и Fedora:

system-config-date

В Slackware или FreeBSD:

 tzselect

В Ubuntu:

dpkg-reconfigure tzdata

tzconfig

В большинстве случаев вы увидите подобное диалоговое окно:

Здесь просто нужно выбрать нужный часовой пояс и нажать кнопку Enter. После этого для окончательного применения настроек нужно будет перезагрузить систему.

Настройка часового пояса в GUI

В дистрибутиве Ubuntu и других, использующих Gnome, настройка часового пояса linux может быть выполнена прямо в параметрах системы. Для этого выберите пункт Дата и время, выберите свое местоположение на карте, или наберите название для поиска в поле ввода:

В KDE аналогично можно установить часовой пояс в настройках системы. Запустите утилиту настроек, откройте пункт Локализация, перейдите в раздел Дата и время, а затем откройте вкладку Часовой пояс:

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

Выводы

Теперь вы знаете как выполняется установка часового пояса в linux и сможете настроить не только свой домашний компьютер но и сервер с множеством пользователей, которым нужен отдельный часовой пояс для правильного местного времени. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение видео, в котором подробно рассказано, что такое часовые пояса и зачем они нужны:

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

Загрузка...

losst.ru

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

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

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

Содержание статьи:

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

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

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

Так почему же сбивается время 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 16.04 сбивает время windows, вы можете очень просто заставить систему хранить в аппаратном таймере местное время. Во всех дистрибутивах, использующих Systemd, в том числе в Ubuntu 16.04 для этого достаточно выполнить команду:

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

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

sudo timedatectl

Готово, теперь вы можете перезапустить компьютер и запустить 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, чтобы временные зоны не сбивались, но что такое временные зоны и зачем они нужны, на завершение видео про это:

losst.ru

Сетевой сервис синхронизации времени NTP Centos Ubuntu. Служба времени Linux.

Network Time Protocol (NTP) — сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью.

В Linux существует два понятия времени - аппаратное(время в биосе) и системное(с учетом часового пояса). Аппаратное время можно узнать командой hwclock(запускается от имени суперпользователя), где также показывается отставание аппаратных часов от системных(команда date).

[root@centos s]# hwclock Втр 13 Сен 2011 03:48:49 -1.467155 секунд

Но при решении некоторых задач иногда бывает необходимо записать текущее значение аппаратных часов в системные, для этого используется команда hwclock с опцией --systohc, а если нужно сделать наоборот - записать значение системных часов в аппаратные команда запускается с опцией --hctosys.

[root@centos s]# hwclock --systohc [root@centos s]# hwclock --hctosys

Если использовать команду date без каких либо опций, то выводится информация в след виде, где вызывают вопрос только 3 буквы - MSD - это летнее время в Москве (наступит осень и будет отображаться MSK).

[root@centos s]# date Втр Сен 13 00:00:38 MSD 2011

MSK отличается в + от времени по гринвичу на 3 часа, а MSD на 4 .

Установка времени в Linux

Устанавливается время командой date с опцией s, от слова set.

[root@centos s]# date -s 19:10 Втр Сен 13 19:10:00 MSD 2011

Но откуда операционная система знает, в каком регионе в мы живем ? По какому времени ходят системные часы ? Реально они идут по гринвичу, а система смотрит на наличие файла /etc/localtime

[root@centos s]# file /etc/localtime /etc/localtime: timezone data, version 2, 12 gmt time flags, 12 std time flags,no leap seconds, 129 transition times, 12 abbreviation chars

Запишем в этот файлик данные относящиеся к временной зоне например Нью-Йорка, для чего потребуется выполнить следующую команду:

[root@centos s]# cp /usr/share/zoneinfo/America/New_York /etc/localtime cp: переписать «/etc/localtime»? y [root@centos s]# date Втр Сен 13 11:19:37 EDT 2011

*Кстати вводить длинные команды удобнее используя табуляцию (кнопка TAB), начиная вводить начало каждого слова в команде и нажимая TAB система будет автоматом подставлять значение, что значительно сокращает время набора длинных команд и путей.

Меняя содержимое этого файла, мы меняем все значения, отвечающие за вывод времени, но при этом на системное время мы влияния не оказываем, т.к. оно "ходит" по Гринвичу.

Существует два стандарта времени GMT - Greenwich Mean Time - астрономическое (Среднее солнечное) время меридиана, проходящего через прежнее место расположения Гринвичскойкоролевской обсерватории и UTC - всемирное координированное время, в сущности являющиеся одним и тем же. UTC появилось после того как в США возник вопрос "а по какой из 6ти деревень Гринвич, находящихся в разных штатах проходит Гривический мередиан". Чтобы не обижать национальные чувства американцев, было применено понятие UTC =))))))

Автоматическая синхронизация времени по протоколу NTP - Network Time Protocol.

Основной параметр серверов времени - Stratum - уровень сервера, сервера с этим параметром, равным 0 не общаются с клиентами, а позволяют синхронизировать время только других серверов синхронизации с уровенем 1 и ниже.

В Линукс есть программка ntpdate, с помощью которой можно синхронизировать системное время с сервером точного времени, предварительно указав при запуске программы(от roota)

[root@centos s]# ntpdate time.nist.gov 12 Sep 16:37:10 ntpdate[7743]: step time server 192.43.244.18 offset -68520.369071 sec

Если повторять синхронизацию постоянно, то все равно будут отклонения в несколько микросекунд.

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

[root@centos s]# crontab -e 0 * * * * /usr/sbin/ntpdate сервера NTP

Эта запись значит что каждый час будет запускаться синхронизация с сервером времени.(0.00 1.00 2.00 и тд)

Но можно все сделать гораздо удобнее, установив программу NTP

[root@centos s]# yum install ntp - для Centos $ sudo apt-get install ntp - для UBUNTU

Теперь настроим программу NTP.

Файл конфигурации:

/etc/ntp.conf

server ntp.ubuntu.com

server time.nist.gov

server europe.pool.ntp.org

Разрешение доступа из локальной сети:

По умолчанию ваш сервер NTP будет доступен всем хостам в Интернет. Параметр restrict в

файле /etc/ntp.conf позволяет вам контролировать, какие машины могут обращаться к вашему

серверу.

Если вы хотите запретить всем машинам обращаться к вашему серверу NTP, добавьте

следующую строку в файл /etc/ntp.conf:

restrict default ignore

Если вы хотите разрешить синхронизировать свои часы с вашим сервером только машинам в

вашей сети, но запретить им настраивать сервер или быть равноправными участниками

синхронизации времени, то вместо указанной добавьте строчку

restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap

/etc/ntp.conf может содержать несколько директив restrict

restrict 10.0.0.0 mask 255.0.0.0 noquery

Логисервера:

/var/log/ntpstats/

Проверка запросов:

ntpq –p

Запуск сервера:

/etc/init.d/ntpd start или service ntpd start - для CentOS

/etc/init.d/ntp start или service ntp start - для Ubuntu.

* Опять же вводя команду узнать имя демона(ntp или ntpd) можно нажав кнопку TAB начав набирать имя сервиса.

sergeyivanov.ru

Изменение даты, времени, временной зоны в Debian/Linux

Date — утилита Unix/Linux для работы с системными часами. Если вызвать date без параметров, то будет выведена текущая дата и время, соответствующие текущему часовому поясу. Чтобы посмотреть время в часовом поясе UTC, используйте команду date --utc (или сокращенно date -u).Необходимо следить за правильностью установки даты и времени, это нужно для корректной работы планировщика задач. Также, время и дата указывается во все основные системные лог-файлы и лог-файлы посещений веб-сервера.

Как изменить временную зону в Debian/Linux?Нужно создать симлинк из /etc/localtime на "нужный" файл из каталога /usr/share/zoneinfo/:

# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Также советую изменить соответствующую запись в /etc/timezone

Как изменить дату и время в Debian/Linux?

# date MMDDhhmmYYYY.ssMM - месяцDD - деньhh - часmm - минутыYYYY - годss - секунды

Как изменить время в Debian/Linux?

# date --set hh:mm

Синхронизация времени в Linux/Ubuntu. NTP и Ntpdate.NTP - это протокол синхронизации времени по сети.Сервис NTP ntpd вычисляет насколько отстают ваши часы и постоянно подправляет их, благодаря этому не происходит сильных изменений, что может приводить к непоследовательности в журналах. Этот сервис не требует много ресурсов, поэтому его можно установить не задумываясь.Для установки ntpd из консоли введите:

# apt-get install ntp

Конфигурация находится в файле /etc/ntp.conf, тут можно добавлять и удалять сервера, с которыми нужно синхронизировать время.По умолчанию сервера в Ubuntu выглядят так:

pool 0.ubuntu.pool.ntp.org iburstpool 1.ubuntu.pool.ntp.org iburstpool 2.ubuntu.pool.ntp.org iburstpool 3.ubuntu.pool.ntp.org iburst

Если вы добавите свои сервера, то нужно перезапустить сервис ntpd для применения изменений:

# service ntp restart

linux-freebsd.ru

Linux: установка даты, времени и временной зоны

В дополнение к статье FreeBSD: изменение даты и времени – выполним аналогичные действия на Linux.

В примере используется операционная система:

# cat /etc/redhat-release CentOS release 6.4 (Final)

Текущее время:

# date Sat Sep 28 11:49:05 MSK 2013

Время неверное, так как установлено по MSK, вместо Киева.

Что бы изменить время – выполняем команду date с ключём -s (--set) с указанием формата %T (--time):

# date +%T -s "10:50:30" 10:50:30

Посмотрим результат:

# date Sat Sep 28 10:50:35 MSK 2013

Всё верно. Если же надо изменить изменить и дату – пропускаем опцию %T:

# date -s "28 SEP 2013 10:51:00" Sat Sep 28 10:51:00 MSK 2013

Можно упростить операцию, ограничившись вводом только даты. Для этого используются ключи указания формата %Y, %m и %d (Y – год, m – месяц, d – день):

# date +%Y%m%d -s "20130928" 20130928

Больше параметров доступно в man date.

Перейдём к установке временной зоны.

Файлы описания зон хранятся в каталоге /usr/share/zoneinfo/. К примеру, MSK описывается в файле:

# file /usr/share/zoneinfo/Europe/Moscow /usr/share/zoneinfo/Europe/Moscow: timezone data, version 2, 13 gmt time flags

Соответственно Киев – в файле:

# file /usr/share/zoneinfo/Europe/Kiev /usr/share/zoneinfo/Europe/Kiev: timezone data, version 2, 12 gmt time flags

Локальная зона указывается в файле /etc/localtime:

# file /etc/localtime /etc/localtime: timezone data, version 2, 13 gmt time flags, 13 std time flags

Что бы установить новую зону – выполняем:

# rm -rf /etc/localtime # ln -s /usr/share/zoneinfo/Europe/Kiev /etc/localtime

Проверяем:

# date Sat Sep 28 11:10:03 EEST 2013

При необходимости – установите корректное время.

Другой вариант – с помощью утилиты tzselect (Time Zone select):

# tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia 8) Europe 9) Indian Ocean 10) Pacific Ocean 11) none - I want to specify the time zone using the Posix TZ format. #? 8 Please select a country. 1) Aaland Islands 18) Greece 35) Norway 2) Albania 19) Guernsey 36) Poland 3) Andorra 20) Hungary 37) Portugal 4) Austria 21) Ireland 38) Romania 5) Belarus 22) Isle of Man 39) Russia 6) Belgium 23) Italy 40) San Marino 7) Bosnia & Herzegovina 24) Jersey 41) Serbia 8) Britain (UK) 25) Latvia 42) Slovakia 9) Bulgaria 26) Liechtenstein 43) Slovenia 10) Croatia 27) Lithuania 44) Spain 11) Czech Republic 28) Luxembourg 45) Sweden 12) Denmark 29) Macedonia 46) Switzerland 13) Estonia 30) Malta 47) Turkey 14) Finland 31) Moldova 48) Ukraine 15) France 32) Monaco 49) Vatican City 16) Germany 33) Montenegro 17) Gibraltar 34) Netherlands #? 48 Please select one of the following time zone regions. 1) most locations 2) Ruthenia 3) Zaporozh'ye, E Lugansk / Zaporizhia, E Luhansk 4) central Crimea #? 1 The following information has been given: Ukraine most locations Therefore TZ='Europe/Kiev' will be used. Local time is now: Fri Sep 27 23:10:36 EEST 2013. Universal Time is now: Fri Sep 27 20:10:36 UTC 2013. Is the above information OK? 1) Yes 2) No #? 1 You can make this change permanent for yourself by appending the line TZ='Europe/Kiev'; export TZ to the file '.profile' in your home directory; then log out and log in again. Here is that TZ value again, this time on standard output so that you can use the /usr/bin/tzselect command in shell scripts: Europe/Kiev

rtfm.co.ua

Дата и время в Linux

$ date --date="yesterday" +%Fили$ date --date="1 days ago" +%F2008-08-13Или, скажем, какое число будет в воскресенье через две недели:$ date --date="sunday next 2 week"

Sun Aug 31 01:00:00 EEST 2008

Если специально не оговаривать срок, то названия дней недели командой date будут восприниматься как ближайшие. Например, узнать дату ближайшей пятницы:

$ date --date="friday" +%F

2008-08-15

Тот же результат вы получите, если добавите ко дню недели слово this то есть date --date="this friday" +%F

Прошедшие дни недели указываются при помощи ключевого слова last например, какое число было в прошлую пятницу:

$ date --date="last friday" +%F

2008-08-08

Думаю, что это хороший повод ещё разок за рюмкой чая почитать man date здесь (на русском).

Консольный календарь в LinuxА ещё можно смотреть не просто на даты, а на календарик в консоли - для этого есть замечательная команда cal - без параметров она выдаст календарь на текущий месяц:

Июль 2009Пн Вт Ср Чт Пт Сб Вс1 2 3 4 56 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28 29 30 31 Если же вам нужен календарь на год:$ cal 2009получим календарь на 2009 год. Календарь на месяц можно приготовить так: $ cal 02 2009 выдаст календарь на февраль 2009 года. Помимо cal существует также ncal — Если же нужен «вертикальный» календарик, вроде

Февраль 2010Пн 1 8 15 22Вт 2 9 16 23Ср 3 10 17 24Чт 4 11 18 25Пт 5 12 19 26Сб 6 13 20 27Вс 7 14 21 28

это можно сделать с помощью команды ncal. Хотя на самом деле, cal в современных дистрибутивах - просто ссылка на ncal, который смотрит как его вызвали и решает, симулировать ли ему поведение cal.

Ещё у команде cal очень полезен ключ -3, показывает текущий месяц, предыдущий и слудующий:

$ cal -3и получаем:

Февраль 2012 Март 2012 Апрель 2012Пн Вт Ср Чт Пт Сб Вс Пн Вт Ср Чт Пт Сб Вс Пн Вт Ср Чт Пт Сб Вс1 2 3 4 5 1 2 3 4 16 7 8 9 10 11 12 5 6 7 8 9 10 11 2 3 4 5 6 7 813 14 15 16 17 18 19 12 13 14 15 16 17 18 9 10 11 12 13 14 1520 21 22 23 24 25 26 19 20 21 22 23 24 25 16 17 18 19 20 21 2227 28 29 26 27 28 29 30 31 23 24 25 26 27 28 2930

Вызвав ncal с полезной опцией -w:

$ ncal -wполучим календарик с номерами недель:

$ ncal -w 02 2009Февраль 2009Пн 2 9 16 23Вт 3 10 17 24Ср 4 11 18 25Чт 5 12 19 26Пт 6 13 20 27Сб 7 14 21 28Вс 1 8 15 225 6 7 8 9

Кстати, этот вывод очень хорошо вставляется в Inkscape и далее можно быстро набросать простой календарик для ежедневника.

Часовые пояса в LinuxЕсли вы куда-то далеко переезжаете, то потребуется на ноутбуках менять часовые пояса. Тут нас выручит утилита tzselect. Для этого можно использовать утилиты tzselect (выбрать часовой пояс временно) и tzconfig (поставить часовой пояс постоянно). Например, быстренько посмотреть, сколько времени сейчас на другом конце света можно так:

dot:/home/dot# tzconfigWARNING: the tzconfig command is deprecated, please use:dpkg-reconfigure tzdatadot:/home/dotЧтобы не пришлось делать это каждый раз, конфигурируем наши часовые пояса с помощью:# dpkg-reconfigure tzdataCurrent default timezone: 'Australia/Sydney'Local time is now: Wed Feb 24 09:08:35 EST 2010.Universal Time is now: Tue Feb 23 22:08:35 UTC 2010

Всё, теперь будет установлено Австралийское время.

Часы в Windows и Linux при двойной загрузкеЕсли у вас на одном компьютере Windows и Linux, то после загрузки Windows часы в Linux будут идти неправильно. Дело в том, что Linux устанавливает часы по GMT, и не важно, в каком часовом поясе (time zone) вы живёте. Далее, в зависимости от часового пояса, время добавляется или отнимается, чтобы получилось правильное время. Это стандарт, и Linux его соблюдает. Продукция Майкрософт никогда не славилась соблюдением стандартов, и это большая проблема Майкрософт: Windows при загрузке устанавливает часы иначе.

Логичным шагом было бы исправть это в Windows, однако это проще сделать в Linux. Для этого редактируем файл:

sudo vim /etc/default/rcSи исправляем параметр сUTC=yes наUTC=noСохраняем изменения и выходим. Теперь в Linux и Windows часы будут работать одинаково.

СсылкиПост основан на материалах ЛинСовета и конкретно на этом посте ув.тов. bliznezz.Спасибо ув.тов. Minoru за напоминание про ncal.

mydebianblog.blogspot.com

Настройка часового пояса и синхронизация времени в Linux

/ Статьи / Системное / Настройка часового пояса и синхронизация времени в Linux / В этой небольшой статье я расскажу о том, как правильно настроить часовой пояс и синхронизацию времени в Linux.

Узнать текущее время можно командой date Установить время можно таким образом

date -s 15:45 Эта команда установит на вашем компьютере время в 15ч 45м. Настроить и дату и время можно такой командой:date nnddhhmmyyyy.ss где nn - месяц (01..12) dd - день (01..31) hh - час (00..23) mm - минута (00..59) yyyy - год (2009) ss - секунды (00..59) Не забудьте ставить точку перед секундами.# date 100205272009.30 Птн Окт 2 05:27:30 MSD 2009 Если у вас не настроен часовой пояс, вывод команды date будет таким:# date Птн Окт 2 05:27:30 Local time zone must be set--see zic manual page 2009 Чтобы настроить часовой пояс, нужно выбрать нужный файл в каталоге /usr/share/zoneinfo/ # ls /usr/share/zoneinfo/ Africa Brazil Egypt GB Hongkong Jamaica Mideast Poland ROC UTC America Canada Eire GB-Eire HST Japan MST Portugal ROK WET Antarctica CET EST GMT Iceland Kwajalein MST7MDT posix Singapore W-SU Arctic Chile EST5EDT GMT0 Indian Libya Navajo posixrules Turkey zone.tab Asia CST6CDT Etc GMT-0 Iran localtime NZ PRC UCT Zulu Atlantic Cuba Europe GMT+0 iso3166.tab MET NZ-CHAT PST8PDT Universal Australia EET Factory Greenwich Israel Mexico Pacific right US Если ваше время - московское, то вам нужен файл /usr/share/zoneinfo/Europe/Moscow

Только не забудьте время в БИОСе поставить в UTC. UTC - это Универсальное Координированное Время или Всемирное Скоординированное Время. UTC не переводится зимой и летом. UTC было введено как замена GMT, поэтому некоторые называют его GMT (что ошибочно). Узнать время UTC можно, выполнив запрос в Google "время UTC". Установите это время в БИОС. Ничего страшного если будет погрешность в несколько минут - мы все-равно будем синхронизировать время с интернетом.

Теперь, для выбора часового пояса, выполните такую команду:

ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime Для внесения изменений можно перезапустить компьютер.

Теперь у вас настроен правильный часовой пояс можно настроить синхронизацию времени. Синхронизацией занимается программа ntp. Скорее всего ntp не установлена в вашем дистрибутиве по умолчанию, поэтому установите ее. После установки никаких настроек не требуется, сервера синхронизации времени уже есть в конфигурационном файле. Вы можете запустить сервис ntpd, чтобы он автоматически корректировал время. В Gentoo это делается так:

# /etc/init.d/ntpd start Теперь ntpd будет постепенно корректировать ваше время, поэтому если ваши часы отстают на 5 минут, то синхронизация будет постепенной и займет довольно много времени. Если вы хотите сразу скорректировать ваши часы, выполните команду: # ntpdate ntp0.zenon.net Теперь добавьте ntpd в автозагрузку. В Gentoo это делается так:# rc-update add ntpd default Чтобы узнать, как добавить сервисы в автозагрузку для вашего дистрибутива, читайте соответствующую документацию. Возможно, эти материалы Вас заинтересуют: Рекомендовать эту страницу:

Комментарии:(13)

Комментировать:

zenux.ru