Как поменять время в кали линукс
Перейти к содержимому

Как поменять время в кали линукс

  • автор:

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

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

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

Как работает время на компьютере?

Статья ориентирована на новичков, в первую очередь на них, потому что профессионалы уже и так знают как это сделать. Поэтому сначала рассмотрим как работает время в Linux. Когда компьютер работает часы идут, это ясно, но когда вы его отключаете, а затем включаете снова часы показывают не то время, на котором остановились, а правильное время. Это происходит потому, что часы на материнской плате идут постоянно. Таймер питается от той же батарейки, что и энергозависимая память BIOS.

Операционная система передает значение таймера в память BIOS при выключении и берет его оттуда при включении. Отсюда берутся проблемы со временем при двойной загрузке Windows и Linux, но эта тема раскрыта в другой статье — сбивается время в Ubuntu и Windows. Другая проблема почему может сбиваться время — это неверно установленный часовой пояс. Если вы установили часовой пояс linux неверно, то часы будут постоянно синхронизироваться через интернет и идти неверно.

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

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

Вы можете видеть текущее время прямо на вашем рабочем столе, в KDE часы добавлены на панель, да и в Gnome, они размещены по центру панели по умолчанию:

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

Но настроить время здесь уже не получится. Для этого нужно открывать настройки системы. Мы будем рассматривать настройки для Gnome. Откройте меню Dash и наберите в строке поиска «Параметры»:

Дальше откройте «Дата и время»:

Как видите, здесь уже установлено значение по умолчанию «Автоматическое определение даты и времени», а внизу есть пункт, который отвечает за часовой пояс.

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

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

Установка времени через терминал

Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date. Сначала смотрим текущее время:

У утилиты есть множество опций отображения и настроек, но мы не будем их рассматривать. Есть еще одна команда, которая позволяет посмотреть системное время linux:

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

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

sudo date —set «Wed Sep 6 20:43:36 EEST 2017»

Если у вас включена коррекция даты через интернет, то ее нужно отключить перед этим, потому что вы даже заметить изменений не успеете, как сервер времени linux установит правильное время. Можно сократить эту строку:

sudo date —set «Sep 6 20:43:36 2017»

Это даст тот же результат. Еще один вариант — указать формат данных, которые вы собираетесь передавать с помощью модификаторов, например, изменить время linux:

sudo date +%T -s «20:43:36»

Здесь формат очень прост — часы:минуты:секунды. Можно давать время в 12 часовом формате, для этого добавьте модификатор %p:

date +%T%p -s «8:43:36PM»

Вы изменяете текущее время, но аппаратное системное время linux не изменяется, чтобы сохранить изменения используйте команду:

Еще один новый инструмент от systemd для управления временем — timedatectl. С помощью него можно выполнить те же операции, сначала смотрим доступную информацию о времени:

Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев. Например:

sudo timedatectl —set-time «2017-09-06 20:43:36»

Можно задать только время, тогда нужно использовать синтаксис времени ЧЧ:ММ:СС, например:

sudo timedatectl —set-time «20:43:36»

Еще раз говорю, что если включена синхронизация по сети, то вы не сможете изменить время. Но с помощью timedatectl ее можно отключить:

sudo timedatectl set-ntp no

Или включить обратно:

sudo timedatectl set-ntp yes

C помощью этой же команды можно не только установить время linux, но и настроить часовой пояс, для этого используйте опцию set-timezone:

sudo timedatectl set-timezone ‘Europe\Kyiv’

Вы можете посмотреть список доступных часовых поясов командой:

Видео о настройке времени с помощью timedatectl:

Выводы

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

Проблема с настройкой часов в Kali Linux

Живу по Московскому времени,в биосе стоит нормальное время,в настройках часах стоит Часовой пояс 00:00 , но браузеры и приложения все равно говорят,что моё время спешит на 10800 секунд (3 часа) что делать? перезагружал много раз, в sudo dpkg-reconfigure tzdata Выбрал GMT+0 , если выбираю Московскую временную зону,то ставит на 3 часа вперед.

kali@kali:~$ timedatectl status Local time: Вс 2020-12-13 10:56:51 GMT Universal time: Вс 2020-12-13 10:56:51 UTC RTC time: Вс 2020-12-13 10:56:52 Time zone: Etc/GMT+0 (GMT, +0000) System clock synchronized: no NTP service: n/a RTC in local TZ: no
UnDerGr0unD

sudo service ntp start

KaPToHHbIu_EHoT

Green Team
08.11.2020 79 12 BIT 0

Живу по Московскому времени,в биосе стоит нормальное время,в настройках часах стоит Часовой пояс 00:00 , но браузеры и приложения все равно говорят,что моё время спешит на 10800 секунд (3 часа) что делать? перезагружал много раз, в sudo dpkg-reconfigure tzdata Выбрал GMT+0 , если выбираю Московскую временную зону,то ставит на 3 часа вперед.

Что значит «ставит» ?
Кто тебе время ставит ?

После запуска скрипта sudo dpkg-reconfigure tzdata необходимо установить время самостоятельно.

Установить часовой пояс:
$ sudo dpkg-reconfigure tzdata

Установить время:
$ sudo date —set hh:mm

Пример:
$ sudo date —set 06:56
Сб дек 5 06:56:00 EET 2020

rwxrwxrwx

Green Team
25.11.2020 114 46 BIT 0

Что значит «ставит» ?
Кто тебе время ставит ?

После запуска скрипта sudo dpkg-reconfigure tzdata необходимо установить время самостоятельно.

Установить часовой пояс:
$ sudo dpkg-reconfigure tzdata

Установить время:
$ sudo date —set hh:mm

Пример:
$ sudo date —set 06:56
Сб дек 5 06:56:00 EET 2020

Часовой пояс я установил,дату тоже установил,сейчас МОСКОВСКОЕ ВРЕМЯ на линуксе и в биосе,но браузеры все равно видят,что спешат на 3 часа,перезагрузка не помогает

KaPToHHbIu_EHoT

Green Team
08.11.2020 79 12 BIT 0

Часовой пояс я установил,дату тоже установил,сейчас МОСКОВСКОЕ ВРЕМЯ на линуксе и в биосе,но браузеры все равно видят,что спешат на 3 часа,перезагрузка не помогает

Я не представляю, как такое может быть. Вероятно, ты что-то недоговариваешь.

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

2. Если всё-же свой внешний IP ты не маскируешь, то можно настроить синхронизацию времени с серверами времени.

rwxrwxrwx

Green Team
25.11.2020 114 46 BIT 0

Я не представляю, как такое может быть. Вероятно, ты что-то недоговариваешь.

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

2. Если всё-же свой внешний IP ты не маскируешь, то можно настроить синхронизацию времени с серверами времени.

kali@kali:~$ timedatectl status Local time: Вс 2020-12-13 12:27:06 GMT Universal time: Вс 2020-12-13 12:27:06 UTC RTC time: Вс 2020-12-13 12:27:10 Time zone: Etc/GMT+0 (GMT, +0000) System clock synchronized: no NTP service: n/a RTC in local TZ: no

Локальное и всемирное время стоит одинаковое,и такое же,как у МСК,в биосе точно так же,но когда я пытаюсь открыть приложение,оно пишет мне что мои часы отстают на 10796 секунд,открываю вк в браузере,оно отматывает 3 часа назад,но сначала оно пишет правильную дату,и через полсекунды пишет дату на 3 часа назад (Например написал смс в 12:30,оно сначала отобразится как отправленное в 12:30,но потом поставится на 9:30,если посмотреть в телефоне то время стоит 12:30) так же и на сайте

54. Настройка времени

Время в операционных системах играет важную роль. Если оно настроено неправильно, то можно столкнуться с различными проблемами:

  • невозможно будет зайти на безопасные сайты. На многих сайтах есть сертификаты, благодаря которым наш браузер и система могут доверять этим сайтам. Но у сертификатов есть срок действия. И если время в нашей системе сильно отстаёт или спешит, то браузер будет считать сертификат недействительным и не пускать нас на сайт;
  • также сложнее будет разобраться в логах и понять, какие события связаны друг с другом, особенно когда у вас множество систем. Где-то часы спешат на 5 минут, где-то отстают на час, и сложнее становится коррелировать события.
  • многие сервисы, настроенные на отказоустойчивость, из-за различий во времени могут привести к серьёзным неполадкам.

И это лишь часть проблем. Поэтому администратору важно уметь настраивать время.

Часы реального времени (RTC)

В каждом компьютере в материнской плате есть часы, называемые часами реального времени — real time clock — RTC. Засчёт плоской батарейки они работают всегда, даже когда компьютер выключен. Но они сбиваются, если эта батарейка разрядится или если её вытащить. И эти часы обычно настраиваются через BIOS, но и операционная система может их изменить.

Операционная система при включении узнаёт время по этим часам. Чтобы посмотреть текущее время на них, можно использовать утилиту hwclock. Цифры после точки — это микросекунды, а плюс указывает, что ко времени добавлено 4 часа — учтён часовой пояс.

Время на таких часах считается в секундах, где нулём является полночь первого января 1970 года, так называемая «Эпоха UNIX», а количество прошедших секунд называется UNIX-временем. По-умолчанию, Linux предполагает, что на часах стоит время по UTC и добавляет к ним разницу в часовом поясе, а Windows предполагает локальное время. И если вы поставите на один компьютер обе системы, Windows-е и Linux будут перебивать часы друг друга. Но это легко исправимо, достаточно на линуксе указать, что на этих часах локальное время.

Системные часы

Во время запуска компьютера ядро операционной системы считывает RTC, берёт время и запускает свои часы, называемые системными. Оно работает в оперативке, поэтому при каждом выключении пропадает. Узнать время на системных часах можно с помощью утилиты date. Это независимые часы, поэтому спустя какое-то время системные часы могут расходиться с часами реального времени:

sudo hwclock; date 

Системное время можно поменять с помощью этой же утилиты. Для этого нужно использовать ключ -s — set. Время можно задавать по разному, найдите в man-е по date строчку «DATE STRING», здесь есть примеры.

Скопируем пример и запустим команду:

sudo date -s '2004-02-29 16:21:42' date sudo hwclock 

Как видите, системное время поменялось, теперь на часах 2004 год. Но это никак не повлияло на RTC.

Можно записать время с системных часов на часы реального времени и наоборот. Это можно сделать через утилиту hwclock с помощью выделенных ключей.

Давайте синхронизируем часы, что исправить время.

sudo hwclock -s sudo hwclock; date 

И теперь системные часы показывают 2021 год.

Есть утилита, которая объединяет настройку часов реального времени, системных часов и часового пояса — timedatectl. Как тут видно, локальное время и время на RTC отличаются. Это как раз о разнице с Windows. И чтобы Linux не добавлял к RTC таймзону нужно использовать опцию set-local-rtc со значением true:

sudo timedatectl set-local-rtc true 

Но я этого делать не буду, у меня со временем проблем нет.

Давайте, для примера, настроим часовой пояс. Для начала найдём таймзону с помощью опции list-timezones и используя поиск с помощью слэша — /Moscow

И с помощью опции set-timezone зададим найденное значение:

sudo timedatectl set-timezone Europe/Moscow timedatectl 

Как видите, теперь часовой пояс — Москва.

NTP

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

Чтобы на всех ваших системах было одно и тоже время и чтобы оно постоянно было правильным, используется протокол NTP — network time protocol. Грубо говоря, есть сервера, которые знают правильное время и ваши системы могут периодически обращаться к этим серверам, узнавать время и поправлять у себя. Сами сервера тоже в свою очередь берут время у других серверов.

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

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

Т.е. всё по иерархии, как на картинке. У каждого сервера есть так называемый стратум, это то, на каком слое он находится, т.е. stratum 1 — это первичные сервера, stratum 2 — вторичные и т.д. Всего значений может быть 15. Чем ближе сервер к атомным часам, тем меньше стратум и тем точнее часы. Но речь идёт о микросекундах, поэтому, в большинстве случаев, это не критично.

Обычно, в локальной сети вы поднимаете несколько своих ntp серверов и указываете их на других машинках. Ваши NTP сервера будут брать время из публичных серверов, а всякие компьютеры и сервера в сети — с ваших локальных NTP серверов. Если вдруг интернет пропадёт, или вы намеренно запретите всем серверам выход в интернет, всё равно будет работать синхронизация с локальным NTP сервером и время не разбежится.

Есть различные программы, которые могут забирать и раздавать время, т.е. выступать NTP клиентом и сервером. Одни из самых популярных — ntpd и chrony. Есть определённые различия в функционале, но они не так существенны в большинстве случаев. Но если вам интересно, можете почитать по ссылке.

При установке системы мы поставили галочку «Network Time», благодаря чему у нас установился ntp клиент. По умолчанию, это chrony. Чтобы постоянно синхронизировать время, он работает как демон:

systemctl status chronyd 

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

Также есть утилита chronyc, которая позволяет управлять и смотреть всякую информацию. Одна из главных опций — sources, она позволяет узнать, к каким серверам мы обращаемся и всё ли нормально. А ключ -v — verbose — даёт подсказки, что означают те или иные символы:

chronyc sources 

Если проанализировать вывод: все строчки в таблице начинаются с символа карет — наверху видно, что это обозначение для серверов. Как видите, серверов много. Обычно рекомендуется указывать либо 4 и больше серверов, либо 1. Дело в том, что NTP для доставки информации использует UDP — т.е. не гарантирует целостность данных. Также, говоря о точности времени, речь идёт о микросекундах, а у разных серверов время может отличаться. Если указать два сервера — сложно будет понять, кто из них выдаёт правильное время. С одним сервером таких вопросов не будет, но, если такой сервер станет недоступен, то и узнать время не получится. Если же указать 4 или больше серверов, будут использоваться алгоритмы комбинирования для определения времени.

Второй символ в таблице показывает, какой сервер используется — он выделен звёздочкой. Значения с этого сервера могут комбинироваться со значениями от некоторых других серверов, с какими-то не могут. А вот вопрос означает, что такой сервер недоступен.

После адресов серверов мы также видим их стратумы. Обычно это 2 или 3. 0 означает, что мы не можем определить stratum, потому что сервер недоступен.

Опция tracking детальнее раскроет информацию. Большая часть этих данных нужна для диагностики проблем. И это не так важно, если вы не работаете с сервисами, щепетильными ко времени.

Настройка chronyd

Зачастую вам нужно уметь поднять NTP сервер и настроить клиенты, чтобы они подключались к вашему серверу. Сделаем так — RHEL настроим в качестве NTP сервера, который будет брать время от публичных NTP серверов и раздавать на наш Centos.

Начнём с NTP сервера. Им у нас будет chronyd, который уже предустановлен. Но, если у вас его нет, следует его установить и включить. Пакет называется chrony, а сервис — chronyd:

sudo dnf install chrony sudo systemctl enable chronyd 

Обычно, пакет уже приходит с настройками, где указаны публичные NTP сервера, но давайте мы их заменим. Есть проект ntp.org, в котором участвуют сервера по всему миру. Заходим на сайт ntppool.org и выберем регион. Для России это Europe.

В списке находим РФ.

Здесь указаны 4 адреса. Но на самом деле это не 4 сервера, а сотня серверов, которые находятся за этими адресами. Снизу также есть подсказка, что в большинстве случаев лучше указывать pool.ntp.org, чтобы найти ближайшие адреса. Мы можем как скопировать эти 4 адреса и использовать их, так и последовать совету и использовать pool.ntp.org. Параметр server мы будем использовать на CentOS, поэтому давайте на RHEL используем pool.

Зайдём в /etc/chrony.conf. Здесь уже есть строчка pool, закомментируем её и напишем свою. Кстати, в строчке pool также указан параметр iburst. Благодаря ему при запуске операционной системы или сервиса синхронизация времени происходит быстрее.

pool pool.ntp.org iburst 

Спустимся чуть ниже. Чтобы превратить chrony в NTP сервер, т.е. чтобы он также раздавал время, надо раскомментировать строчку allow, в которой нужно указать сети, для которых мы будем раздавать адреса. Допустим, я хочу, чтобы он раздавал в сетях 192.168.10.0/24 и 192.168.31.0/24.

allow 192.168.10.0/24 allow 192.168.31.0/24 

Ещё одно важное замечание. Если вдруг этот компьютер потеряет доступ в интернет и не сможет достучаться до указанных NTP серверов, он перестанет раздавать время. Чтобы он продолжал раздавать время даже когда нет интернета, допустим, в закрытой сети, надо расскомментировать строчку local stratum:

local stratum 10 

После проделанных изменений стоит перезапустить сервис chronyd, подождать пару секунд и проверить синхронизацию времени, с помощью того же chronyc:

sudo systemctl restart chronyd chronyc sources 

Я вижу, что перед одним из серверов стоит звёздочка, да и справа есть значения, а не нули. Значит, всё работает.

Также, чтобы CentOS мог подключиться к этому серверу и брать отсюда время, мне нужно разрешить NTP на файрволе. NTP работает на 123 порту по UDP, а в firewalld его можно добавить просто как сервис:

sudo firewall-cmd --add-service=ntp --permanent sudo firewall-cmd --reload 

NTP сервер мы настроили, осталось настроить клиент.

Для начала убедимся, что CentOS видит RHEL:

ping 192.168.10.105 

Заходим в /etc/chrony.conf, комментируем pool и прописываем server с адресом RHEL.

server 192.168.10.105 iburst 

Сохраняем изменения и перезапускаем сервис:

sudo systemctl restart chronyd 

Ждём пару секунд и убеждаемся, что NTP сервер доступен и работает

chronyc sources 

Как видите, в списке отобразился адрес нашего сервера и перед ним есть звёздочка — значит всё работает. Таким образом, мы настроили локальный NTP сервер и подключили к нему какую-то машинку, чтобы она синхронизировала время.

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

Давайте подведём итоги. Мы с вами разобрали часы реального времени и системные часы. Эти часы можно настроить с помощью различных утилит — hwclock, date и timedatectl. Но лучше всего использовать протокол NTP, чтобы на всех наших серверах было одно актуальное время, что позволит избежать многих проблем.

© Авторские права 2021, GNU Linux Pro, CC-BY-SA-4.0. Ревизия b16e73a6 .

Как изменить часовой пояс в Linux

Часовой пояс в Linux

Часовой пояс в Linux обычно настраивается во время установки системы. Иногда пользователю может потребоваться его изменить. Способ изменения часового пояса (его еще называют временной зоной) может зависеть от конкретного дистрибутива. Рассмотрим некоторые из способов изменения часового пояса.

Оглавление

  • Посмотреть текущий часовой пояс
    • Команда date
    • Команда timedatectl
    • ls -lh /etc/localtime
    • Утилита tzselect
    • Утилита timedatectl
    • Изменяем часовой пояс утилитой timedatectl
    • Изменяем часовой пояс настройкой /etc/localtime
    • Изменить часовой пояс только для одной программы или текущей сессии
    • Изменить часовой пояс через графические утилиты

    Посмотреть текущий часовой пояс

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

    Команда date

    Команда date выводит текущую дату, время и часовой пояс:

    $ date Вт мар 12 19:01:33 MSK 2019

    В выводе команды мы можем видеть, что текущая временная зона соответствует Москве — MSK .

    Команда timedatectl

    Утилита timedatectl применяется для настройки и получения информации о текущем системном времени. Она доступна в системах, использующих systemd.

    Если выполнить команду timedatectl без параметров, то будет выведена информация о системных часах, а также часовой пояс (в поле Time zone ).

    $ timedatectl Local time: Вт 2019-03-12 20:18:08 MSK Universal time: Вт 2019-03-12 17:18:08 UTC RTC time: Вт 2019-03-12 17:18:09 Time zone: Europe/Moscow (MSK, +0300) System clock synchronized: yes NTP service: active RTC in local TZ: no

    ls -lh /etc/localtime

    Файл /etc/localtime это символическая ссылка, которая указывает на текущий часовой пояс, используемый в системе.

    Для просмотра можно воспользоваться командной:

    $ ls -lh /etc/localtime lrwxrwxrwx 1 root root 35 мар 12 20:09 /etc/localtime -> ../usr/share/zoneinfo/Europe/Moscow

    Получить список доступных часовых поясов

    Утилита tzselect

    Перед тем, как устанавливать часовой пояс, нужно понять, какое значение можно установить. Для этого можно воспользоваться утилитой tzselect .

    После запуска утилита tzselect отображает список географических областей. Вы должны ввести номер области и нажать Enter . Затем появится список стран. Аналогично, нужно ввести номер страны. Появится список городов. Вводим номер города. В результате вы сможете увидеть название вашей временной зоны.

    tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent, ocean, "coord", or "TZ". 1) Africa 2) Americas 3) Antarctica 4) Asia 5) Atlantic Ocean 6) Australia 7) Europe 8) Indian Ocean 9) Pacific Ocean 10) coord - I want to use geographical coordinates. 11) TZ - I want to specify the time zone using the Posix TZ format. #? 7

    tzselect

    Утилита timedatectl

    Утилита timedatectl поддерживает опцию list-timezones . Выполнив следующую команду можно просмотреть список всех доступных временных зон:

    timedatectl list-timezones

    Можно воспользоваться grep и ограничить область поиска. Например, выведем список временных зон только для Европы:

    timedatectl list-timezones | grep Europe | less

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

    Изменяем часовой пояс утилитой timedatectl

    Напомним, что утилита timedatectl доступна только для систем, использующих systemd. Если у вас нет утилиты timedatectl, то используйте способ описанный в следующем параграфе.

    Для установки часового пояса с помощью утилиты timedatectl нужно выполнить команду:

    timedatectl set-timezone Europe/Moscow

    Во время ввода часового пояса можно нажимать дважды клавишу Tab , чтобы получить список часовых поясов.

    Изменяем часовой пояс настройкой /etc/localtime

    Данный способ наиболее универсальный и работает в большинстве дистрибутивов Linux.

    Необходимо создать символическую ссылку /etc/localtime , чтобы она указывала на файл нужной временной зоны. Файлы временных зон хранятся в каталоге /usr/share/zoneinfo/ . Каждая зона имеет путь /usr/share/zoneinfo/Название/Зоны . Например, для Москвы это /usr/share/zoneinfo/Europe/Moscow .

    Итак создадим ссылку на нужный файл временной зоны:

    sudo unlink /etc/localtime sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

    Чтобы проверить, что временная зона установлена верно, можно выполнить команду date :

    date

    Изменить часовой пояс только для одной программы или текущей сессии

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

    TZ=America/Chicago программа
    $ TZ=America/Chicago date

    tz timezone

    Чтобы установить часовой пояс только для текущей сессии в терминале, используется команда:

    export TZ=America/Denver

    Изменить часовой пояс через графические утилиты

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

    Если вы работаете в Gnome, откройте Параметры системы .

    Перейдите на вкладку Сведения о системе , далее вкладка Дата и время (в зависимости от версии Gnome названия пунктов могут немного отличаться). Нажмите на надпись Часовой пояс .

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

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

    Откроется карта с возможностью интерактивного выбора часового пояса. Выберите мышкой нужный регион на карте.

    Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *