Как установить часовой пояс в Linux
В рамках первичной настройки Операционной Системы важно установить и по какому времени вы живёте, ведь при следующем обновлении времени через Интернет ваше время слетит.
Понятно, что операция установки временной зоны (таймзоны) – общая операция для многих систем, основанных на GNU/Linux. Однако, в разных дистрибутивах это делается по-разному.
Установка часового пояса в 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
Так мы можем установить временную зону и без различных утилит.