Программы
Как установить часовой пояс в Linux

Как установить часовой пояс в Linux

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

Понятно, что операция установки временной зоны (таймзоны) – общая операция для многих систем, основанных на GNU/Linux. Однако, в разных дистрибутивах это делается по-разному.

Изображение Шпаргалка по командам Linux, FreeBSD и MacOS

Установка часового пояса в Debian / Ubuntu / Linux Mint

Когда-то для настройки временных зон в дистрибутивах, основанных на Debian использовалась утилита tzconfig. Однако, в Debian традиционно настройки окружения делались через команду dpkg-reconfigure – вот и появилась такая возможность, а старую команду упразднили.

Так что запустим перенастройку пакета tzdata:

sudo dpkg-reconfigure tzdata

Выбрав регион и город, мы установим нашу локальную временную зону.

Также специализированные команды для настройки времени есть и под другие дистрибутивы. К примеру, столь же популярные RedHat, Fedora и CentOS имеют свои утилиты:

  • Redhat: redhat-config-date
  • CentOS/Fedora: system-config-date

Установка временной зоны с помощью tzselect

Утилита, созданная специально для выбора временной зоны, как не трудно догадаться, tzselect – это Time Zone select. Доступна во многих операционных системах на базе ядра Linux, а также и за пределами Linux, например, во FreeBSD.

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

# 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
#? 39

Please select one of the following time zone regions.
 1) Moscow-01 - Kaliningrad
 2) Moscow+00 - west Russia
 3) Moscow+00 - Crimea
 4) Moscow+00 - Caspian Sea
 5) Moscow+00 (Moscow+01 after 2014-10-26) - Samara, Udmurtia
 6) Moscow+02 - Urals
 7) Moscow+03 - west Siberia
 8) Moscow+03 - Novosibirsk
 9) Moscow+03 (Moscow+04 after 2014-10-26) - Kemerovo
10) Moscow+04 - Yenisei River
11) Moscow+05 - Lake Baikal
12) Moscow+06 (Moscow+05 after 2014-10-26) - Zabaykalsky
13) Moscow+06 - Lena River
14) Moscow+06 - Tomponsky, Ust-Maysky
15) Moscow+07 - Amur River
16) Moscow+07 - Sakhalin Island
17) Moscow+07 - Oymyakonsky
18) Moscow+08 (Moscow+07 after 2014-10-26) - Magadan
19) Moscow+08 - E Sakha, N Kuril Is
20) Moscow+08 (Moscow+09 after 2014-10-26) - Kamchatka
21) Moscow+08 (Moscow+09 after 2014-10-26) - Bering Sea
#? 2

The following information has been given:

	Russia
	Moscow+00 - west Russia

Therefore TZ='Europe/Moscow' will be used.
Local time is now:	Mon Oct 27 12:26:20 MSK 2014.
Universal Time is now:	Mon Oct 27 09:26:20 UTC 2014.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
	TZ='Europe/Moscow'; 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/Moscow

К примеру, только что мы выбрали временную зону Москвы.

Установка временной зоны прямым изменением файлов

Так как в Unix "всё есть файл", то и изменение времени мы также можем произвести через файлы. За время отвечают 2 файла: /etc/timezone и /etc/localtime.

Для начала запишем название часового пояса в /etc/timezone:

echo Europe/Moscow > /etc/timezone

Однако, не только названием они отличаются. Так, например, могут меняться как сами зоны, так ещё перевод на зимнее/летнее время может изменить отличие от "Гринвича", например, на час.

Так что установим и файл, отвечающий за часовой пояс:

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

Так мы можем установить временную зону и без различных утилит.