Linux Sistemler İçin Timezone Güncellemesi – Türkiye yaz saati uygulaması

Bilindiği üzere, Türkiye bu yıldan itibaren Resmi Gazete’de yayımlanan karara göre, 27 Mart 2016 Pazar günü saat 03.00’ten itibaren bir saat ileri alınmak suretiyle başlatılan yaz saati uygulaması her sene yıl boyu sürdürülecek ve kış saatine geçilmeyecek.

Bu yıldan itibaren, Türkiye UTC+3 zaman diliminde sürekli kalacak. Hal böyle olunca Europe/Istanbul zaman diliminde bulunan sistemler için bir timezone güncellemesi gerekiyor, aksi taktirde sistemler ekim ayının son günü saatlerini bir saat geriye alacaklar. Hali hazırda linux dağıtımların bir çoğu için timezone güncellemeleri yayımlanmış durumda, Microsoft tarafında’da 18 Ekim gibi bir yama yayımlanması bekleniyor. (Windows server 2008 ve sonrası sistemler için)

Redhat tabanlı ( centos, scientific linux, oracle linux vb) sistemler için tzdata ve tzdata-java paketlerini güncel repolardan, yada redhat rpm finder üzerinden, Suse sistemler içinse timezone ve timezone-java paketlerini yine zypper ve suse package finder’dan edinebilirsiniz. Debian-Ubuntu sistemler için yine en büyük yardımcınız aptitude olacak.

Örnek olarak;

Redhat 5 ve sonrası sistemler için, “yum -y install tzdata tzdata-java” komutu ile os ve jvm için gerekli yamaları sisteminize kurabilirsiniz.

İndirdiğiniz rpm yamalarını elle kurmak isterseniz; “rpm -Uvh tzdata-*.rpm” komutu ile bulunduğunuz dizindeki tzdata ve tzdata-java paketleri ile sisteminizi güncelleyebilirsiniz.

Debian-Ubuntu sistemler içinse, “apt-get update && apt-get install tzdata tzdata-java” komutu ile gerekli güncellemeleri sistemimize kurabilirsiniz.

Timezone ile ilgili temelde iki paket bulunuyor, biri OS bazında timezone bilgilerini içeren paket, diğer ise JVM sanal makinası için timezone bilgisini içeren paket. Paket isimleri dağıtımdan dağıtıma ve sürümden sürüme fark edebiliyor. Kullandığınız dağıtım için uygun paketi; dağıtımınızın web sitesinde yayımlanan paket güncellemerini kontrol ederek tedarik edebilirsiniz.

Gerçekleştirdiğiniz güncellemenin doğruluğunu teyit etmek ve sistemlerinizin doğru timezone’da olduğunu anlamak için “zdump -v /etc/localtime | grep 2016” ile güncel saat geçişi bilgilerini kontrol edebilirsiniz.

root@vm64:~# zdump -v /etc/localtime | grep 2016

/etc/localtime Sun Mar 27 00:59:59 2016 UTC = Sun Mar 27 02:59:59 2016 EET isdst=0 gmtoff=7200

/etc/localtime Sun Mar 27 01:00:00 2016 UTC = Sun Mar 27 04:00:00 2016 EEST isdst=1 gmtoff=10800

/etc/localtime Tue Sep 6 20:59:59 2016 UTC = Tue Sep 6 23:59:59 2016 EEST isdst=1 gmtoff=10800

/etc/localtime Tue Sep 6 21:00:00 2016 UTC = Wed Sep 7 00:00:00 2016 +03 isdst=0 gmtoff=10800

root@vm64:~# zdump -v Europe/Istanbul | grep 2016

Europe/Istanbul Sun Mar 27 00:59:59 2016 UTC = Sun Mar 27 02:59:59 2016 EET isdst=0 gmtoff=7200

Europe/Istanbul Sun Mar 27 01:00:00 2016 UTC = Sun Mar 27 04:00:00 2016 EEST isdst=1 gmtoff=10800

Europe/Istanbul Tue Sep 6 20:59:59 2016 UTC = Tue Sep 6 23:59:59 2016 EEST isdst=1 gmtoff=10800

Europe/Istanbul Tue Sep 6 21:00:00 2016 UTC = Wed Sep 7 00:00:00 2016 +03 isdst=0 gmtoff=10800

Çıktıların aynı olmasına dikkat etmek gerekiyor, özellikle timezone olarak Europe/Istanbul seçili olmayan sistemlerde aksilikler yaşanabilir.

Eğer sisteminizin timezone’u yanlış ayarlanmış ise değiştirmek için şu adımları izleyebilirsiniz;

  • rm /etc/localtime

ln -s /usr/share/zoneinfo/Europe/Istanbul /etc/localtime

İlgili paketlerin kurulumu sırasında yada sonrası herhangi bir kesinti yada reboot gerekmediğinide hatırlatalım.

Evet hepsi bu kadar 😉

Tüm Sistem yöneticilerine kazasız bir saat geç(me)yişi diliyorum 😉