Linux'ta Saat, Saat Dilimi ve Saat Senkronizasyonu Nasıl Ayarlanır


Bu makalede, timedatectl, systemd-timesyncd ve chrony kullanarak Linux sistem saatinizi nasıl ayarlayacağınızı, zaman dilimini belirleyeceğinizi ve saat senkronizasyonunu NTP ile nasıl yapacağınızı öğrenin. :

‘timedatectl‘ komutu, RHEL tabanlı ve Debian tabanlı dağıtımlar için bir yardımcı programdır ve ‘systemd‘ sistem ve servis yöneticisinin bir parçasıdır; ‘sysvinit‘ daemon tabanlı Linux dağıtımlarında kullanılan eski geleneksel date komutunun yerini alır.

timedatectl komutu, sistem saatini ve ayarlarını sorgulamanıza ve değiştirmenize olanak tanır; bu komutu kullanarak mevcut tarihi, saati ve zaman dilimini ayarlayabilir veya değiştirebilir, ya da uzak bir NTP sunucusu ile otomatik sistem saati senkronizasyonunu etkinleştirebilirsiniz.

Bu öğreticide, timedatectl, systemd-timesyncd ve chrony kullanarak terminalden tarih, saat, zaman dilimi ayarlamak ve Zamanı NTP ile senkronize etmekde dahil olmak üzere Linux sisteminizde zamanı nasıl yönetebileceğinizi göstereceğim.

Linux sunucunuzda veya sisteminizde doğru zamanı korumak her zaman iyi bir uygulamadır ve bunun aşağıdaki avantajları olabilir:

  • Çoğu Linux görevi zaman tarafından kontrol edildiği için sistem görevlerinin zamanında çalışmasını sürdürün.
  • Olayları ve sistemdeki diğer bilgileri kaydetmek için doğru zaman.
  • Dağıtık sistemler ve uygulamalar için doğru senkronizasyon.
  • Güvenlik protokolleri için, örneğin Kerberos ve SSL/TLS sertifika doğrulaması gibi, gereklidir.

Linux'ta Yerel Saat Dilimini Nasıl Bulur ve Ayarlarsınız

1. Sisteminizde geçerli saat ve tarihi görüntülemek için, komut satırından timedatectl komutunu aşağıdaki şekilde kullanın:

timedatectl  status

Linux Sistem Saatini ve Tarihini Kontrol Et

Yukarıdaki çıktıda, RTC zamanı donanım saati zamanıdır.

2. Linux sisteminizdeki saat her zaman sistemde ayarlanmış olan zaman dilimi aracılığıyla yönetilir, mevcut zaman diliminizi görüntülemek için şu adımı izleyin:

timedatectl 
OR
timedatectl | grep Time

Linux Sistem Saat Diliminizi Kontrol Edin

3. Tüm mevcut saat dilimlerini görüntülemek için aşağıdaki komutu çalıştırın:

timedatectl list-timezones

Linux Sisteminde Tüm Zaman Dilimlerini Listele

4. Bulunduğunuz konuma göre yerel saat dilimini bulmak için aşağıdaki komutu çalıştırın.

timedatectl list-timezones |  egrep  -o "Asia/B.*"
timedatectl list-timezones |  egrep  -o "Europe/L.*"
timedatectl list-timezones |  egrep  -o "America/N.*"

Linux'ta Yerel Saat Diliminizi Bulun

5. Linux'ta yerel zaman diliminizi ayarlamak için aşağıda gösterildiği gibi set-timezone seçeneğini kullanacağız.

sudo timedatectl set-timezone "Asia/Kolkata"
timedatectl status

Bir Linux Sisteminde Yerel Saat Dilimini Ayarlayın

Her zaman koordine evrensel zamanın, UTC, kullanılması ve ayarlanması önerilir.

sudo timedatectl set-timezone UTC
timedatectl status

Sistem Saatinizi UTC'ye Ayarlamak

Doğru saat dilimi adını yazmanız gerekiyor, aksi takdirde saat dilimini değiştirirken hatalar alabilirsiniz. Aşağıdaki örnekte, “Asia/Kolkata” saat dilimi doğru değildir ve bu nedenle hata oluşmaktadır.

failed to set time zone: invalid timezone

Linux'ta Tarih ve Saati Nasıl Ayarlarsınız

Tarih ve saati sisteminizde timedatectl komutunu kullanarak şu şekilde ayarlayabilirsiniz:

Linux'ta Zamanı Ayarla

6. Sadece zamanı ayarlamak için, HH:MM:SS (Saat, Dakika ve Saniye) formatında zaman ile birlikte bir set-time anahtarı kullanabiliriz.

sudo timedatectl set-time 12:25:30
timedatectl status

Yukarıda gösterildiği gibi tarihi ayarladığınızda aşağıdaki hatayı alabilirsiniz:

Failed to set time: Automatic time synchronization is enabled

Hata, manuel zaman değişikliklerini engelleyen otomatik zaman senkronizasyonu (NTP) etkin olduğu için oluşur.

Bunu düzeltmek için önce NTP'yi devre dışı bırakın, ardından zamanı ayarlayın.

sudo timedatectl set-ntp false
sudo timedatectl set-time 12:25:30
timedatectl status

Linux'ta Tarih ve Yerel Saati Ayarlama

7. Tarih ve saati aynı anda ayarlamak için, tarih formatını YYYY-MM-DD (Yıl, Ay, Gün) ve saat formatını HH:MM:SS (Saat, Dakika ve Saniye) şeklinde kullanarak set-time anahtarını kullanın:

sudo timedatectl set-time '2026-01-23 12:25:30'

Tarih ve Saati YY:AA:GG ve SS:DD:SS Formatında Yapılandırma

Linux'ta Donanım Saatini Bulma ve Ayarlama Nasıl Yapılır

8. Donanım saatinizi koordinat evrensel zamana, UTC, ayarlamak için set-local-rtc boolean-value seçeneğini şu şekilde kullanın:

Önce donanım saatinizin yerel saat dilimine ayarlanıp ayarlanmadığını öğrenin:

timedatectl | grep local

Donanım saatinizi yerel saat dilimine ayarlayın:

sudo timedatectl set-local-rtc 1

Linux'ta Donanım Saatinizi UTC'ye Ayarlayın

Donanım saatinizi koordinatlı evrensel zaman (UTC) olarak ayarlayın:

sudo timedatectl set-local-rtc 0

Donanım Saatinizi UTC'ye Ayarlayın

Not: RTC'yi yerel saate ayarlamak önerilmez ve saat dilimi değişiklikleriyle ilgili sorunlara neden olabilir, bu nedenle RTC'yi UTC olarak tutmak en iyisidir.

Linux Sistem Saatini Uzaktan NTP Sunucusuyla Senkronize Etme

NTP, Ağ Zamanı Protokolü anlamına gelir ve bilgisayarlar arasındaki sistem saatini senkronize etmek için kullanılan bir internet protokolüdür.

timedatectl aracı, Linux sistem saatinizi NTP kullanarak uzak bir sunucu grubuyla otomatik olarak senkronize etmenizi sağlar.

Çoğu modern Linux dağıtımı, NTP senkronizasyonu için farklı uygulamalar kullanır:

  • systemd-timesyncd: systemd içine yerleştirilmiş, çoğu masaüstü ve tek sunucu kurulumları için uygun, hafif bir SNTP (Basit NTP) istemcisidir.
  • chrony: Hem istemci hem de sunucu olarak çalışabilen tam özellikli bir NTP uygulamasıdır. Aralıklı ağ bağlantılarını daha iyi yönetir ve daha doğrudur.

systemd-timesyncd kullanımı

Uzak bir NTP sunucusu ile otomatik zaman senkronizasyonunu başlatmak için, terminalde aşağıdaki komutu yazın; bu komut systemd-timesyncd servisinin etkinleştirilmesini ve başlatılmasını sağlayacaktır.

sudo timedatectl set-ntp true

NTP zaman senkronizasyonunu devre dışı bırakmak için terminalde aşağıdaki komutu yazın.

sudo timedatectl set-ntp false

Eşitleme durumunu kontrol etmek için:

timedatectl status

Şunu görmelisiniz: “Sistem saati senkronize: evet” ve “NTP servisi: aktif”.

Chrony kullanmak (Sunucular için önerilir)

Eğer bir sunucu çalıştırıyorsanız veya daha güvenilir zaman senkronizasyonuna ihtiyacınız varsa, chrony daha iyi bir seçenektir ve özellikle şunlar için iyidir:

  • Sürekli çalışmayan sistemler (dizüstü bilgisayarlar, masaüstü bilgisayarlar).
  • Sunucular yüksek doğruluk gerektirir.
  • Aralıklı ağ bağlantısına sahip sistemler.
  • Zaman tutarlılığının kritik olduğu kümelenmiş ortamlar.

Öncelikle, chronyyi yükleyin (eğer daha önce yüklenmemişse):

sudo apt install chrony   [On Debian-based systems]
sudo dnf install chrony   [On RHEL-based systems]

Not: chrony kurulumu, çakışmaları önlemek için otomatik olarak systemd-timesyncdyi devre dışı bırakacaktır.

Kurulumdan sonra etkinleştirin, başlatın ve senkronizasyon durumunu kontrol edin:

sudo systemctl enable --now chronyd
timedatectl status

Sistem Saat Senkronizasyon Durumunu Kontrol Et

Varsayılan sunucular yerine kendi NTP sunucularınızı kullanmak için Chrony yapılandırma dosyasını düzenlemeniz gerekir.

sudo nano /etc/chrony/chrony.conf
OR
sudo nano /etc/chrony/sources.d/custom.sources

Tercih ettiğiniz NTP sunucularını ekleyin (NTP Pool Projesinden NTP sunucularının bir listesini alabilirsiniz).

pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst

Değişikliklerden sonra chrony'i yeniden başlatın:

sudo systemctl restart chronyd

NTP Senkronizasyonu Hakkında Önemli Notlar

  • Aynı anda birden fazla NTP uygulaması çalıştıramazsınız, bu yüzden systemd-timesyncd veya chrony'yi seçin.
  • systemd-timesyncd yalnızca bir istemci uygulamasıdır ve diğer sistemlere zaman sağlayamaz.
  • chrony, yerel ağınız için hem bir zaman istemcisi hem de bir zaman sunucusu olarak çalışabilir.
  • Üretim sunucuları ve kritik altyapılar için, genellikle systemd-timesyncd yerine chrony önerilmektedir.
  • NTP'nin giden bağlantılar için UDP 123 numaralı portun açık olması gerekir.
Özet

Bunlar bu eğitimde anlatılan çok kolay örneklerdir ve umarım çeşitli Linux sistem saatlerini ve zaman dilimlerini ayarlamanızda faydalı bulursunuz.

Bu araç hakkında daha fazla bilgi edinmek için timedatectl kılavuz sayfasına göz atın.

man timedatectl

Bu makale hakkında söylemek istediğiniz bir şey varsa, eklemek istediğiniz daha fazla bilgi için yorum bırakmaktan çekinmeyin.