因為最近在Pakistan SUPARCO中心Lahore地面站部署項目時,在使用RedHat Server 5.5 x86_64操作系統的數據服務器上,使用網絡時間同步並選擇Karachi(GMT+5)時區後,系統時間比實際時間快了1小時。
在Google上搜了一些相關資料後,發現在2006和2007年有一些國家改變或停止了使用夏令時DST(Daylight Saving Time)。只有tzdata-2010e-i.el5.rpm包以及2007年前的包有上述問題現象,而Redhat Server 5.5 x86_64剛好使用的是此包。
從以下鏈接下載tzdata補丁包
ftp://mirror.switch.ch/pool/2/mirror/redhat/linux/enterprise/5Server/en/os/SRPMS/tzdata-2010i-1.el5.src.rpm
檢查支持包
#rpm –qa java-1.6*
若有java-1.6.0-openjdk-devel-* 則OK,若無可通過系統光盤安裝
#cd /media/RHEL_5.5 x86_64 DVD/Server
#rpm –ivh java-1.6.0* (會安裝5個包)
#rpm –qa glibc-common*
若有glibc-common-2.5* ,版本在2.3.4-20以上則可
若無可通過系統光盤安裝
#rpm –ivh glibc-common*
設置時區(這一步非常重要)
設置成非Kararchi時區
#system-config-time
釋放tzdata補丁包(將包釋放到根目錄)
#rpmbuild --rebuild /tzdata-2010i-1.el5.src.rpm
安裝補丁包
#cd /usr/src/redhat/RPMS/x86_64
#rpm –ivh tzdata-java-2010i-1.el5.x86_64.rpm
# rpm -ivh –-force tzdata-2010i-1.el5.x86_64.rpm
重啟系統
#shutdown –r now
將時區改回Karachi,完成。