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

32

Вот вывод моей dateкоманды:

[root@r1304 ~]# date
Wed Apr 18 15:43:28 GST 2012

Я хочу изменить системный часовой пояс по умолчанию на Азию / Дубай. Я следовал за учебником и сделал это:

ln -sf /usr/share/zoneinfo/Asia/Dubai /etc/localtime

Но без эффекта. Похоже, что это делается по-другому в CentOS 6. Как я могу изменить часовой пояс?

Temnovit
источник
Это не должно быть так сложно ...
2012 года

Ответы:

41

Похоже, что CentOS 6.2 не имеет никакой строки hwclock /etc/rc.sysinit, поэтому изменения /etc/sysconfig/clockне будут работать.

попробуйте tzselectили используйте ln -s /usr/share/zoneinfo/xxxx /etc/localtime

caojun
источник
5
Спасибо, это сработало для меня. Мое решение было rm /etc/localtime && ln -s /usr/share/zoneinfo/America/New_York /etc/localtime.
Banjer
Что лучше использовать для этого - lnили cp?
XåpplI'-I0llwlg'I -
В этом случае использование символической ссылки, вероятно, лучше, чем копирование файла
JDS
2
Сделайте это, но также удостоверьтесь, что обновляете /etc/sysconfig/clockс правильным часовым поясом, поскольку обновления могут и будут изменять местное время назад к тому, что находится в часах.
Джастин
ln -sЭто лучше, чем cpпотому, что если пакет tzdata обновляет файл зоны для вашего региона, вы увидите изменения без необходимости повторного копирования.
Дэвид Пердью
9

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

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/New_York

Самая последняя строка - это имя вашего файла zoneinfo.

Теперь создайте символическую ссылку из / etc / localtime на правильный файл zoneinfo, например:

ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime 

Флаг -f необходим для перезаписи существующего / etc / localtime.

Примечание: запуск tzselect ничего не коснется в вашей системе, он просто выведет некоторый текст. «Или» в ответе caojun вводит в заблуждение. Вы должны использовать tzselect AND ln. Из man-страницы tzselect: «[tzselect] выводит результирующее описание часового пояса в стандартный вывод».

Лука Гибелли
источник
4

Отредактируйте файл /etc/sysconfig/clockв соответствии с вашими потребностями.

pkhamre
источник
1
Это не полное решение. Вам необходимо установить смещение часового пояса.
ewwhite
5
хотя это не полный ответ, этот шаг весьма важен. без обновления sysconfig / clock (что мы не делали при смене часовых поясов) ... запуск определенных обновлений / установок yum (не знаю, какие именно) приведет к тому, что часовой пояс вернется к тому, который указан в sysconfig / clock ... независимо от того, что / etc / localtime был заменен на. так что да ... убедитесь, что обновили sysconfig / clock, чтобы изменения в вашем часовом поясе оставались неизменными.
анонимный -
1
Обновление Yum может вызвать сбой в случае, если / etc / localtime и / etc / sysconfig / clock указывают на два разных часовых пояса. Например, обновление mysql может привести к хорошему сдвигу во всех датах.
elbuild
2

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

Сделайте это с помощью: service rsyslog restart

Эд Гринберг
источник
1

Простой учебник, попробуйте это ..

[root@dlp ~]# vi /etc/sysconfig/clock

# change to your location
ZONE="Asia/Tokyo"

[root@dlp ~]# source /etc/sysconfig/clock # reload
# copy your timezone file under the "/usr/share/zoneinfo" like follows
[root@dlp ~]# cp -p /usr/share/zoneinfo
rails_id
источник
это сработало для меня, другие варианты не сработали
Bokw
1
Если эти инструкции работают вообще, было бы хорошо объяснить, почему ... Я не вижу причин, по которым источники /etc/sysconfig/clockмогли бы оказать какое-либо влияние на последующую cpпрограмму (или даже на любую последующую программу)
offby1