Saat dilimi ayarları komut satırından nasıl değiştirilir


221

Birkaç iş arkadaşının farklı zaman dilimlerinde sahip olduğu PST'ye ayarlanmış bir sanal makinem var.

Saat dilimini EST ve GMT olarak değiştirmek istersem ne yapmam gerekir?

Yanıtlar:


288

kullanım timedatectl

sudo timedatectl set-timezone <timeszone>

Örnekler:

  • EST olarak saat dilimi

    sudo timedatectl set-timezone EST
    
  • UTC olarak saat dilimi

    sudo timedatectl set-timezone UTC
    
  • Tüm geçerli Zaman Dilimlerini Listeleme

    timedatectl list-timezones
    

Bu komut, otomasyon komut dosyaları için mükemmeldir , çünkü diğer cevaplara dayanarak herhangi bir kullanıcı etkileşimi gerektirmez dpkg-reconfigure tzdata.


1
+1 yorum hayranı değil, ancak bu benim için en iyi şekilde çalıştığı için buraya bir tane koyuyorum. Daha doğrusu bazı tüm menü ya da gui programı (ben bilmiyorum başlatmak isteyen çok, zaman dilimini değiştirmek için tek tek satırlık komut satırı aracı istiyordu tzdatanasıl çalıştığını, yapar ama bununla gerekmez bir satır komutu). Teşekkürler!
Phil Ryan,

cazibe gibi çalışır;)
user332660

İlginçtir ki, tzdata'dan biraz farklı bir şey yapıyor. Bir yama uyguladıktan sonra Java saatinin sistem saatinden farklı olmasıyla ilgili bir sorunum vardı. Tzdata sorunu çözmek için çalışmadı, ama bu yaptı.
Daniel Bower

1
bu benim için işe yaramadı; Ancak dpkg-reconfigurehile yaptı.
Antti Haapala

14.04.4 ubuntu sunucusu
Antti Haapala

40

Kök olarak çalıştırmanız gerekir:

dpkg-reconfigure tzdata

Saat dilimini değiştirmenize izin veren bir menü tabanlı araç başlatılmalıdır.


32

Aşağıdakiler de işe yarıyor. GMT için:

ln -sf /usr/share/zoneinfo/GMT /etc/localtime

EST için:

ln -sf /usr/share/zoneinfo/EST /etc/localtime

8
GMT veya EST yerine şehir dosyalarından birini bağlamanın daha iyi olacağını düşünüyorum, çünkü o zaman gün ışığından yararlanma zamanını izlerler, oysaki (örneğin) GMT, gün ışığından yararlanma süresinin ne zaman geçerli olduğunu yansıtacak şekilde sistem saatini değiştirmez. Senin şehrinde. örneğin:ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime
Asfand Qazi,

bu en iyisi
Hasan Tıngır

16

Özellikle bir sunucu için en kolay yol saat dilimlerini listelemektir:

timedatectl list-timezones

Ve sizinkini seçin, örneğin:

timedatectl set-timezone Europe/Athens

Bu kadar! , :-)


6

Bir programı farklı bir saat dilimi ayarıyla TZçalıştırmak TZ=Pacific/Kiritimati dateiçin , ortam değişkenini ayarlayın , örn . Noel Adası'ndaki saatin kaç olduğunu görmek veya koşunun export TZ=Pacific/Kiritimatikabuk oturumu için en son süreye sahip olmasını sağlamak için çalıştırın .


6

Edit timezoneadresiyle dosyayı /etcklasör olarak:

Etc/GMT

Bir sonraki formatı kullanabilirsiniz:

Region "/" City 

Örnek /etc/timezone:

Europe/Athens

veya

Europe/Paris
Europe/London

Şununla deneyler yapabilirsiniz: dpkg-reconfigure tzdata ve cat saat dilimi dosyasını kontrol edin.

Bir hizmeti yeniden başlatmanız veya yeniden başlatmanız gerekir (ntp servisi değil). Hangisi bilmiyorum. Biri biliyorsa, lütfen bizimle paylaşın. (Ubuntu 15.10'da test edildi ve değişiklik anında göz önünde bulunduruldu)


4
cp -p /usr/share/zoneinfo/US/Pacific /etc/localtime

Başkalarının belirttiği gibi AGAINST bağlantısını tavsiye ederim. Yanlışlıkla bazı komut /etc/localtimedosyaları dosyanızı yazarsa, Pasifik saat dilimi dosyanızın üzerine yazar ... ve dosyayı değiştirmek biraz acı verir.

Pasifik dosyasını yukarıdaki komutla yerel dosya üzerine kopyalamanız yeterli.


Bu aslında benim için çalıştı. Sanırım Docker'la ilgili bir böcek var, ansible (?). Hem timedatectl hem de dpkg-reconfigure tzdata benim için başarısız oldu. Kopyaladıktan sonra, saat dilimi EST'den PDT'ye değişti.
Paz

2

Kullanıcıya hangi saat diliminin ayarlanacağını sormak için aşağıdaki komut dosyasını kullanıyorum ve sonra gerçekten ayarlanmış olduğunu onayladım:

#!/bin/sh
sudo timedatectl set-timezone $(tzselect)
echo
echo timedatectl says:
timedatectl

Ben ararım tz-set.


0

Kök olarak çalıştırmanız gerekir:

ln -fs /usr/share/zoneinfo/Europe/Warsaw /etc/localtime && dpkg-reconfigure --frontend noninteractive tzdata


Lütfen en azından bu komutun saat dilimini değiştirmek için nasıl çalıştığını açıklayın.
Parto

0

Bu benim için GCP Ubuntu 14'te SSH ile çalıştı.

  1. sudo su
  2. cp /usr/share/zoneinfo/Asia/Singapore /etc/localtime
  3. Sunucuyu yeniden başlat
  4. tamam
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.