Linux'ta timedatectl Komutu Nasıl Kullanılır
Yayınlanan: 2022-06-16 Linux timedatectl
komutu, sistem saatiniz ve gerçek zamanlı saatiniz için saatinizi, tarihinizi ve saat diliminizi ayarlamanıza olanak tanır. Bir dakikanızı ayırın, size her şeyin nasıl çalıştığını gösterelim.
Hepsi akraba
Bilgisayarınızın zamanı işlemesi, oldukça basit olmasını bekleyebileceğiniz şeylerden biridir. En azından, araştırmaya başlayana kadar.
Linux sistem saati, Unix çağından bu yana geçen saniyeleri sayar. Bu, 1 Ocak 1970, UTC'de 00:00:00'daydı. UTC, eşgüdümlü evrensel zaman anlamına gelir, ancak genellikle eşgüdümlü evrensel zaman veya yalnızca evrensel zaman olarak söylenir. Bu, dünyanın zamanı yönettiği ve düzenlediği zaman standardıdır. Farklı saat dilimleri, yerel saatlerini elde etmek için UTC'ye bir fark uygular. Bazı saat dilimleri UTC'nin ilerisinde ve diğerleri onun arkasındadır.
Linux bilgisayarlarda sistem saati yazılım tabanlıdır. Açıkçası, bilgisayar kapalıyken çalışamaz. Pil destekli donanım tabanlı gerçek zamanlı bir saat olan başka bir saat, bilgisayar kapalıyken çalışabilir. Amacı, sistem saatine Linux her açıldığında saatin kaç olduğunu söylemektir. Bir ağ zaman protokolü (NTP) sunucusuna erişim mümkün olmadığı sürece.
NTP sunucuları, talep eden bilgisayarlara doğru zaman bilgisi sağlayan sunuculardır. Bilgisayarınızı veya dizüstü bilgisayarınızı başlatırsanız ve internet erişimi yoksa veya NTP sunucularını kullanacak şekilde yapılandırılmamışsa, sistem saatini başlatmak için bir NTP Sunucusu yerine gerçek zamanlı saat kullanılır.
Sistem saati her zaman UTC'dedir. Yerel saati alması gereken herhangi bir uygulamanın şunları yapması gerekir:
- Sistem saatine erişin ve UTC'yi edinin
- Hangi saat diliminde olduğunu bilin ve doğru ofseti uygulayın
- Gün ışığından yararlanma saatinin geçerli olup olmadığını dikkate alın
UTC'den yerel saate dönüştürme, sistem saati tarafından değil, uygulama tarafından yapılır. Veya daha doğrusu dönüştürme, uygulamanın bağlı olduğu saat ve tarih kitaplıklarına göre gerçekleştirilir. Bu nedenle, bilgisayarınızın hangi saat dilimi olduğunu, UTC saatinin ne olduğunu, Unix döneminden bu yana kaç saniye geçtiğini ve yaz saatinin geçerli olup olmadığını bilmesi hayati önem taşır.
Systemd tabanlı Linux dağıtımlarında, bu ayarları ve değerleri görmek veya değiştirmek için timedatectl
komutunu kullanırız.
timedatectl ile Başlarken
Geçerli verileri, saati ve diğer değerleri görmek için status
operatörüyle timedatectl
komutunu kullanın.
timedatectl durumu
Aslında durumu bırakabilirsiniz ve yine aynı çıktıyı alırsınız.
timedatectl
Her iki çıktı seti de:
- Yerel Saat : Bilgisayarın kendi saat dilimine göre olduğunu düşündüğü saat.
- Evrensel Saat : UTC saati.
- RTC Zamanı : Gerçek zamanlı saatin kullandığı zaman. Genellikle, bu UTC'dir.
- Saat dilimi : Yapılandırılan saat dilimiyle ilgili bilgiler.
- System Clock Synchronized : Sistem saatinin bir NTP sunucusuyla senkronize edilip edilmediği.
- NTP Service : Bilgisayarın NTP servisinin aktif olup olmadığı.
- Yerel TZ'de RTC : Gerçek zamanlı saatin UTC yerine yerel saati kullanıp kullanmadığı.
Aşağıdakileri yazarak timedatectl
komutunun kaç saat dilimini desteklediğini görebilirsiniz:
timedatectl liste-zaman dilimleri | wc -l
Bu, dünyadaki saat dilimlerinden çok daha fazlası. Çıktıyı grep
aktarırsak ve “Amerika” girişlerini filtrelersek ve bunu less
içine aktarırsak, daha yönetilebilir bir listede gezinebiliriz.
timedatectl liste-zaman dilimleri | grep "Amerika/" | az
Bu listeyi incelerken, “Amerika”nın mümkün olan en geniş anlamı olarak kabul edildiğini göreceksiniz. Fark edeceğiniz ikinci şey, girişlerin çoğunun gerçek saat dilimleri olmadığıdır.
Saat Diliminin Ayarlanması
timedatectl
tarafından desteklenen filtrelenmemiş saat dilimleri listesine bakarsanız, zaman dilimlerinin yanı sıra yerleri de görürsünüz. Bir saat dilimi ayarlamak için EST veya GMT gibi bir adla belirtebilir veya Londra veya New York gibi sizinle aynı saat diliminde bir yer seçebilirsiniz.
Saat diliminizi sıfırlamak sık sık yapacağınız bir şey değil, ancak belki eve taşındınız veya bir süredir çalışıyorsunuz ve dizüstü bilgisayarınızı yerelleştirmek istiyorsunuz. Saat diliminizi sıfırlamanız gerekiyorsa, kullanmak istediğiniz saat diliminde bir konum seçin.
Bu bilgisayarı, Edmonton ile aynı saat dilimi olan dağ saatine ayarlayacağız. Daha sonra ayarların nasıl değiştiğini göreceğiz.
timedatectl saat dilimini ayarla "Amerika/Edmonton"
timedatectl
Saat dilimimiz değişti, yerel saatimiz değişti ve UTC'den farkımız arttı.
İLGİLİ: Linux'ta Borular Nasıl Kullanılır
Saat ve Tarihi Manuel Olarak Ayarlama
Saati ve tarihi manuel olarak ayarlamak mümkün olsa da, genellikle bunu yapmanız gerekmez. Zaman senkronizasyonunu ve NTP'yi kullanmak, bilgisayarınızın saatini ve tarihini doğru tutmanın tercih edilen yoludur. Bilgisayarlarınızın tarihini veya saatini değiştirmeye çalışırsanız, muhtemelen zaman senkronizasyonunun kullanımda olduğunu söyleyen bir hata alırsınız.
timedatectl ayar zamanı 10:30:00
Zaman senkronizasyon hizmetini kapatmak için bu komutu kullanın:
sudo systemctl systemd-timesyncd.service'i durdur
timedatectl
set-time operatörünü kullanarak saati, tarihi veya her ikisini de ayarlayabilirsiniz. tarihler yıl-ay-gün, YYY-AA-GG, zaman ise saat-dakika-saniye SS:DD:SS şeklindedir. Bu komutla saati ve tarihi ayarlayacağız:
timedatectl ayar zamanı "2022-01-30 10:30:00"
Daha sonra timedatectl
kullanarak değişikliklerin gerçekleştiğini kontrol edeceğiz.
timedatectl
Tarih ve saat değişti. Ayrıca, bilgisayarın yanlış bir UTC saati kullandığını unutmayın. Ayrıca sistem saatinin senkronize edilmediği ve NTP hizmetinin etkin olmadığı konusunda bilgilendirildik.
İnternet erişiminiz varsa, zaman senkronizasyon hizmetini geri yüklediğiniz anda saat alınır ve tüm ayrıntılar doğru şekilde sıfırlanır.
sudo systemctl systemd-timesyncd.service'i başlat
timedatectl
RTC: UTC veya LTZ?
Gerçek zamanlı saatinizin UTC yerine yerel saat diliminize ayarlanması mümkündür - mümkün, ancak önerilmez. Değişikliği yaparsanız, bunun sisteminizde gelecekte yaratabileceği korkunç etkiler hakkında bir uyarı görürsünüz.
Size bu yöntemi göstermemin nedeni, zaman ayarlarıyla ilgili garip sorunlar yaşayan bir makineyle karşılaşabilmenizdir. Gerçek zamanlı saati UTC'ye bu şekilde ayarlayabilirsiniz.
İlk olarak, yerel saat dilimine ayarlamamız gerekecek.
timedatectl set-local-rtc 1
Ardından timedatectl
durumunu isteyeceğiz.
timedatectl
Duygularını açıkça ifade ettiklerini düşünüyorum.
Gerçek zamanlı saati UTC'ye geri yüklemek için şu komutu kullanın:
timedatectl set-local-rtc 0
Ayarla ve Unut
Linux dağıtımınızın kurulumu sırasında bir hata yapmadığınız veya yerinizin yerini değiştirmediğiniz sürece, genellikle sisteminizin ayarlarını ve gerçek zamanlı saatlerinizi değiştirmek için hiçbir neden yoktur.
Sistem saatini kendi saat diliminize, gerçek zamanlı saati UTC'ye ayarlayın ve sisteminizin bir ağ zaman protokolü sunucusunu yokladığından emin olun. Çoğu kurulumdan sonra varsayılan durum budur.
Her şey hazırsa, bilgisayarınızın zaman sistemleri kendi kendine bakacaktır.
İLGİLİ: Linux Sunucu Saatinizi Ağ Saati Sunucuları (NTP) ile Nasıl Eşitlersiniz?