对于一些运行在Solaris上的应用,可能依赖一些时区或者时间上的设置。如果安装的时候,时区选择错误,则可以在系统运行起来之后,重新修改Solaris主机所在的时区。
主要需要修改的文件是/etc/TIMEZONE,打开看一下:
# cat /etc/TIMEZONE
#
# Copyright 1992, 1999-2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "@(#)init.dfl 1.7 02/12/03 SMI"
#
# This file is /etc/default/init. /etc/TIMEZONE is a symlink to this file.
# This file looks like a shell script, but it is not. To maintain
# compatibility with old versions of /etc/TIMEZONE, some shell constructs
# (i.e., export commands) are allowed in this file, but are ignored.
#
# Lines of this file should be of the form VAR=value, where VAR is one of
# TZ, LANG, CMASK, or any of the LC_* environment variables. value may
# be enclosed in double quotes (") or single quotes (').
#
TZ=US/Eastern
CMASK=022
LC_COLLATE=en_US.ISO8859-1
LC_CTYPE=en_US.ISO8859-1
LC_MESSAGES=C
LC_MONETARY=en_US.ISO8859-1
LC_NUMERIC=en_US.ISO8859-1
LC_TIME=en_US.ISO8859-1
可以看到这个文件实际是一个链接,需要修改的字段是TZ,比如现在设置的是美国东部时区,我们想修改成中国所在的时区,那么应该改成PRC,再重启使之生效:
#sync; init 6;
确认修改成功,只需要简单echo一下就好了:
# echo $TZ
PRC
那么哪些时区的值是可以设置给TZ字段的呢?看一下这个路径下,就知道了~
# ls /usr/share/lib/zoneinfo
Africa Brazil Egypt GB Hongkong Japan MST7MDT posixrules Turkey Zulu
America Canada Eire GB-Eire HST Kwajalein Navajo PRC UCT
Antarctica CET EST GMT Iceland Libya NZ PST8PDT Universal
Arctic Chile EST5EDT GMT-0 Indian MET NZ-CHAT ROK US
Asia CST6CDT Etc GMT+0 Iran Mexico Pacific Singapore UTC
Atlantic Cuba Europe GMT0 Israel Mideast Poland src W-SU
Australia EET Factory Greenwich Jamaica MST Portugal tab WET
注: 以上配置针对于Solaris 10