Yanıtlar:
Kullanımı daha kolay bulduğum bir araç dpkg-reconfigure. kullanın:
sudo dpkg-reconfigure tzdata
Size dahil olmayanlar da dahil olmak üzere birçok seçenek verilecek tzselect.
Bu muhtemelen OP için biraz gecikmeli ve buraya gelen diğer araştırmacılar için daha fazla amaçlanmış.
Etkileşimli olmayan bir çözüme ihtiyacınız varsa , dpkg-reconfigure tzdata ve debconf-set-seçimleriyle saat dilimini değiştirmekten bu çözümü deneyin
echo "Europe/Zurich" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
Saat diliminizi / usr / share / zoneinfo içinde dolaşarak anlayabilirsiniz. Aslında yukarıdaki dpkg-reconfigure komutu uygun dosyayı oradan / etc / localtime dosyasına kopyalar. Bunu sadece el ile yapardım ve iyi çalışıyor gibi görünüyor.
Eğer uzun süren işlemler değişime uğramazsa, çok şaşırmayın. Örneğin, Apache log zaman damgaları akla geliyor. Bunun önemli olup olmadığını ve dolayısıyla çalışan işlemleri yeniden başlatmanız veya yeniden başlatmanız gerekip gerekmediğini göz önünde bulundurun.
/etc/localtimezaten mevcut olmayan bir gereksinim olduğuna dikkat edin . Eğer varsa ve bir softlink ise /usr/share/zoneinfo/whatever, üs olarak kabul edilir ve /etc/localtimedeğişikliklerin üzerine yazılarak buna göre güncellenir.
En son Debian ve Ubuntu sürümlerinde (Stretch / Xenial vb.) Etkileşimli olmayan bir şekilde düzenlemek için, kaldırmanız gerekir /etc/localtime, aksi takdirde /etc/timezoneüzerine yazılır.
echo 'Europe/Zurich' > /etc/timezone
rm /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
Bu cevap mc0e'nin cevabına dayanıyor. Şöhretimle yorum ekleyemiyorum.
TL; DR
echo "TZ=Etc/UTC" >> /etc/environment
tzconfig
nerede Etc/UTCTercih saat dilimidir kullanmakta buldu tzselect.
Daha uzun versiyon
Kullanırken
dpkg-reconfigure tzdata
saat dilimi bilgileri yeniden başlatıldıktan sonra saklanmaz. İle ayarlarınızı doğrulayabilirsiniz.
diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Yalnızca güncelleme yapıyorsanız /etc/timezone, güncelleme ile tutarlı olmaz /etc/localtime, bu nedenle yürütülmesi daha iyi olur
tzconfig
tzselectHangi zaman dilimlerinin gerçekte var olduğunu bulmak için kullanın (veya sadece /usr/share/zoneinfodizine göz atın ).
POSIX sistemlerinde daha TZönce öncelik olması gerekir /etc/localtime:
export TZ='Europe/Berlin'
$ date
Tue Apr 10 08:51:03 CEST 2018
export TZ='Pacific/Efate'
$ date
Tue Apr 10 18:28:33 +11 2018
Doğrudan kullanma TZ , birçok sistem çağrısını sık kullanılan tarih / saatle ilgili işlevlerin, bazı programların geçerli tarih için her soruşunda dosya sistemine erişmesi gerektiğinden kurtarabilir . Bu bir mikro-optimizasyon, ama oldukça basit.
TZProfil dosyanızda dışa aktarma pozitif bir bağlantı oluşturur mu? Bu benim deneyimimde hiç doğru gelmiyor. Belki de "Ayrıca sembolik bağlantıyı oluşturduğunuzdan emin olun" dedin.
$TZdeğişken glibcfonksiyonlar tarafından okunur : gnu.org/software/libc/manual/html_node/TZ-Variable.html
echo "TZ=Etc/UTC" >> /etc/environment? TZ=parçayı kaçırıyorsun ... (eğer biri hala eski debian versiyonlarını kullanıyorsa). Ayrıca, daemon gibi etkileşimli olmayan şeyler hala /etc/localtimebir set yerine versiyonunu kullanır TZ...