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
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
3. Tüm mevcut saat dilimlerini görüntülemek için aşağıdaki komutu çalıştırın:
timedatectl list-timezones
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.*"
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
Her zaman koordine evrensel zamanın, UTC, kullanılması ve ayarlanması önerilir.
sudo timedatectl set-timezone UTC
timedatectl status
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
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'
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
Donanım saatinizi koordinatlı evrensel zaman (UTC) olarak ayarlayın:
sudo timedatectl set-local-rtc 0
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
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.










