Tarih ve Saati Yapılandırma
Modern işletim sistemlerinde aşağıdaki gibi iki tür saat vardır:
-
İşletim sisteminin geçerli durumundan tamamen bağımsız olan ve bilgisayar kapatıldığında bile çalışan bir gerçek zamanlı saat (real-time clock) (RTC), genellikle donanım saati olarak adlandırılır (genellikle sistem ana kartındaki tümleşik bir devredir).
-
Çekirdek tarafından sağlanan ve yazılım saati olarak da bilinen bir sistem saati, başlangıç değeri olarak gerçek zamanlı saati temel alır. Sistem önyüklendiğinde ve sistem saati başlatıldığında, sistem saati gerçek zamanlı saatten tamamen bağımsızdır.
Sistem saati her zaman Eş Güdümlü Evrensel Zaman (Coordinated Universal Time) (UTC) saat diliminde tutulur ve gerektiğinde uygulamalarda yerel saate dönüştürülür. Yerel saat, yaz saati uygulaması (daylight saving time) (DST) dikkate alınarak geçerli saat diliminizdeki gerçek saattir. Gerçek zamanlı saat, UTC veya yerel saati kullanabilir. UTC tavsiye edilir.
29, sistem tarihi ve saati hakkındaki bilgileri yapılandırmak ve görüntülemek için kullanılabilecek üç komut satırı aracı sunar: 29’da yeni olan ve systemd
paketinin bir parçası olan timedatectl programı; geleneksel date komutu; ve donanım saatine erişmek için hwclock programı.
timedatectl Komutunu Kullanma
timedatectl programı, systemd
sistem ve hizmet yöneticisinin bir parçasıdır ve sistem saatinin yapılandırmasını gözden geçirmenize ve değiştirmenize olanak tanır. Geçerli tarih ve saati değiştirmek, saat dilimini ayarlamak veya sistem saatinin uzak bir sunucuyla otomatik eşzamanlamasını etkinleştirmek için bu aracı kullanabilirsiniz.
Geçerli tarih ve saati özel bir biçimde nasıl görüntüleyeceğiniz hakkında bilgi için ayrıca date Komutunu Kullanma kısmına bakın.
Geçerli Tarih ve Saati Görüntüleme
Sistem ve donanım saatinin yapılandırması hakkında ayrıntılı bilgilerle birlikte geçerli tarih ve saati görüntülemek için, ek komut satırı seçeneği olmadan timedatectl komutunu çalıştırın:
timedatectl
Bu, yerel ve evrensel saati, kullanılan geçerli saat dilimini, Ağ Saati Protokolü (Network Time Protocol - NTP
) yapılandırmasının durumunu ve DST ile ilgili ek bilgileri görüntüler.
Aşağıda, sistem saatini bir uzak sunucuyla eşzamanlamak için NTP
kullanmayan bir sistemde timedatectl komutunun örnek bir çıktısı verilmiştir:
~]$ timedatectl Local time: Mon 2013-09-16 19:30:24 CEST Universal time: Mon 2013-09-16 17:30:24 UTC Timezone: Europe/Prague (CEST, +0200) NTP enabled: no NTP synchronized: no RTC in local TZ: no DST active: yes Last DST change: DST began at Sun 2013-03-31 01:59:59 CET Sun 2013-03-31 03:00:00 CEST Next DST change: DST ends (the clock jumps one hour backwards) at Sun 2013-10-27 02:59:59 CEST Sun 2013-10-27 02:00:00 CET
Geçerli Saati Değiştirme
Geçerli saati değiştirmek için, root
olarak bir kabuk isteminde şunu yazın:
timedatectl set-time
SS:DD:SS
İlk SS saat ile, DD dakika ile, ikinci SS saniye ile değiştirilir, hepsi iki basamaklı biçimde yazılır.
Bu komut hem sistem saatini hem de donanım saatini günceller. Sonuç, hem date --set hem de hwclock --systohc komutlarının kullanılmasına benzerdir.
Bir NTP
hizmeti etkinse komut başarısız olacaktır. Hizmeti geçici olarak devre dışı bırakmak için Sistem Saatini Uzak Sunucuyla Eşzamanlama kısmına bakın.
Geçerli saati 23:26 olarak değiştirmek için root
olarak şu komutu çalıştırın:
~]# timedatectl set-time 23:26:00
Öntanımlı olarak, sistem UTC kullanacak şekilde yapılandırılmıştır. Sisteminizi saati yerel saatte tutacak şekilde yapılandırmak için root
olarak timedatectl komutunu set-local-rtc
seçeneğiyle çalıştırın:
timedatectl set-local-rtc
boole
Sisteminizi saati yerel saatte tutacak şekilde yapılandırmak için, boole kısmını yes
(veya alternatif olarak y
, true
, t
ya da 1
) ile değiştirin. Sistemi UTC kullanacak şekilde yapılandırmak için, boole kısmını no
(veya alternatif olarak n
, false
, f
ya da 0
) ile değiştirin. Öntanımlı değer no
seçeneğidir.
Geçerli Tarihi Değiştirme
Geçerli tarihi değiştirmek için, root
olarak bir kabuk isteminde şunu yazın:
timedatectl set-time
YYYY-AA-GG
YYYY kısmını dört basamaklı bir yıl ile, AA kısmını iki basamaklı bir ay ile ve GG kısmını ayın iki basamaklı bir günüyle değiştirin.
Geçerli saati belirtmeden tarihi değiştirmenin saatin 00:00:00 olarak ayarlanmasına neden olduğunu unutmayın.
Geçerli tarihi 2 Haziran 2013 olarak değiştirmek ve geçerli saati (23:26) korumak için root
olarak şu komutu çalıştırın:
~]# timedatectl set-time "2013-06-02 23:26:00"
Saat Dilimini Değiştirme
Kullanılabilir tüm saat dilimlerini listelemek için, bir kabuk isteminde şunu yazın:
timedatectl list-timezones
Kullanılan geçerli saat dilimini değiştirmek için root
olarak şunu yazın:
timedatectl set-timezone saat_dilimi
saat_dilimi kısmını timedatectl list-timezones komutu tarafından listelenen değerlerden herhangi biriyle değiştirin.
Bulunduğunuz konuma en yakın saat diliminin hangisi olduğunu belirlemek için, timedatectl komutunu list-timezones
komut satırı seçeneğiyle kullanın. Örneğin, Avrupa’daki tüm kullanılabilir saat dilimlerini listelemek için şunu yazın:
~]# timedatectl list-timezones | grep Europe Europe/Amsterdam Europe/Andorra Europe/Athens Europe/Belgrade Europe/Berlin Europe/Bratislava …
Saat dilimini Europe/Istanbul
olarak değiştirmek için root
olarak şunu yazın:
~]# timedatectl set-timezone Europe/Istanbul
Sistem Saatini Uzak Sunucuyla Eşzamanlama
Önceki bölümlerde açıklanan el ile ayarların aksine timedatectl komutu, sistem saatinizin NTP
protokolünü kullanarak bir grup uzak sunucuyla otomatik eşzamanlanmasını etkinleştirmenize de olanak tanır. NTP’yi etkinleştirmek, hangisinin kurulu olduğuna bağlı olarak chronyd
veya ntpd
hizmetini etkinleştirir.
NTP
hizmeti aşağıdaki gibi bir komut kullanılarak etkinleştirilebilir ve devre dışı bırakılabilir:
timedatectl set-ntp
boole
Sisteminizin sistem saatini uzak bir NTP
sunucusuyla eşzamanlamasını etkinleştirmek için, boole kısmını yes
(öntanımlı seçenek) ile değiştirin. Bu özelliği devre dışı bırakmak için boole kısmını no
ile değiştirin.
Sistem saatinin uzak bir sunucuyla otomatik eşzamanlanmasını etkinleştirmek için şunu yazın:
~]# timedatectl set-ntp yes
Bir NTP
hizmeti kurulu değilse komut başarısız olacaktır. Daha fazla bilgi için chrony kurma kısmına bakın.
date Komutunu Kullanma
date programı tüm Linux sistemlerinde bulunur ve geçerli tarih ve saati görüntülemenize ve yapılandırmanıza olanak tanır. Sistem saati hakkında ayrıntılı bilgileri özel bir biçimde görüntülemek için betiklerde sıklıkla kullanılır.
Saat diliminin nasıl değiştirileceği veya sistem saatinin uzak bir sunucuyla otomatik eşzamanlanmasının nasıl etkinleştirileceği hakkında bilgi için timedatectl Komutunu Kullanma kısmına bakın.
Geçerli Tarih ve Saati Görüntüleme
Geçerli tarih ve saati görüntülemek için, ek komut satırı seçeneği olmadan date komutunu çalıştırın:
date
Bu, haftanın gününü ve ardından geçerli tarihi, yerel saati, kısaltılmış saat dilimini ve yılı görüntüler.
Öntanımlı olarak, date komutu yerel saati görüntüler. Saati UTC olarak görüntülemek için, komutu --utc
veya -u
komut satırı seçeneğiyle çalıştırın:
date --utc
Komut satırında +"biçim"
seçeneğini sağlayarak görüntülenen bilgilerin biçimini de özelleştirebilirsiniz:
date +"biçim"
biçim kısmını, Geçerli Tarih ve Saati Görüntüleme kısmında gösterildiği gibi bir veya daha fazla desteklenen denetim dizgesiyle değiştirin. En sık kullanılan biçimlendirme seçeneklerinin listesi için Sık Kullanılan Denetim Dizilerine, bu seçeneklerin tam listesi için date
(1) kılavuz sayfasına bakın.
Denetim Dizisi | Açıklama |
---|---|
|
SS biçiminde saat (örneğin, |
|
MM biçiminde dakika (örneğin, |
|
SS biçiminde saniye (örneğin, |
|
GG biçiminde ayın günü (örneğin, |
|
AA biçiminde ay (örneğin, |
|
YYYY biçiminde yıl (örneğin, |
|
Saat diliminin kısaltması (örneğin, |
|
YYYY-AA-GG biçiminde tam tarih (örneğin, |
|
SS:DD:SS biçiminde tam saat (örneğin, 17:30:24). Bu seçenek, |
Geçerli tarihi ve yerel saati görüntülemek için bir kabuk isteminde şunu yazın:
~]$ date
Mon Sep 16 17:30:24 CEST 2013
UTC saat diliminde geçerli tarihi ve saati görüntülemek için bir kabuk isteminde şunu yazın:
~]$ date --utc
Mon Sep 16 15:30:34 UTC 2013
date komutunun çıktısını özelleştirmek için şunu yazın:
~]$ date +"%Y-%m-%d %H:%M" 2013-09-16 17:30
Geçerli Saati Değiştirme
Geçerli saati değiştirmek için, date komutunu --set
veya -s
seçeneğiyle root
olarak çalıştırın:
date --set
SS:DD:SS
İlk SS saat ile, DD dakika ile, ikinci SS saniye ile değiştirilir, hepsi iki basamaklı biçimde yazılır.
Öntanımlı olarak, date komutu sistem saatini yerel saate ayarlar. Sistem saatini UTC olarak ayarlamak için, komutu --utc
veya -u
komut satırı seçeneğiyle çalıştırın:
date--set
SS:DD:SS--utc
Geçerli saati 23:26 olarak değiştirmek için root
olarak şu komutu çalıştırın:
~]# date --set 23:26:00
Geçerli Tarihi Değiştirme
Geçerli tarihi değiştirmek için, date komutunu --set
veya -s
seçeneğiyle root
olarak çalıştırın:
date --set
YYYY-AA-GG
YYYY kısmını dört basamaklı bir yıl ile, AA kısmını iki basamaklı bir ay ile ve GG kısmını ayın iki basamaklı bir günüyle değiştirin.
Geçerli saati belirtmeden tarihi değiştirmenin saatin 00:00:00 olarak ayarlanmasına neden olduğunu unutmayın.
Geçerli tarihi 2 Haziran 2013 olarak değiştirmek ve geçerli saati (23:26) korumak için root
olarak şu komutu çalıştırın:
~]# date --set 2013-06-02 23:26:00
hwclock Komutunu Kullanma
hwclock
, Gerçek Zamanlı Saat (Real Time Clock - RTC) olarak da adlandırılan donanım saatine erişmek için kullanılan bir programdır. Donanım saati, kullandığınız işletim sisteminden bağımsızdır ve makine kapatıldığında bile çalışır. Bu program, donanım saatinden zamanı görüntülemek için kullanılır. hwclock
ile ayrıca donanım saatindeki sistematik sapmalar da telafi edilebilir.
Donanım saati şu değerleri saklar: yıl, ay, gün, saat, dakika ve saniye. Saat standardını, yerel saati veya Eş Güdümlü Evrensel Zamanı (Coordinated Universal Time - UTC) saklayamaz veya Yaz Saati Uygulamasını (Daylight Saving Time - DST) ayarlayamaz.
hwclock
programı ayarlarını, yaptığınız ilk değişiklikle (örneğin saati el ile ayarladığınızda veya donanım saatini sistem saatiyle eşzamanladığınızda) oluşturulan /etc/adjtime
dosyasına kaydeder.
Fedora 6’da hwclock komutu, sistem her kapatıldığında veya yeniden başlatıldığında otomatik olarak çalıştırılıyordu, ancak 29’da çalıştırılmıyor. Sistem saati Ağ Saati Protokolü (Network Time Protocol - NTP) veya Hassas Saat Protokolü (Precision Time Protocol - PTP) tarafından eşzamanlandığında, çekirdek donanım saatini her 11 dakikada bir otomatik olarak sistem saatiyle eşzamanlar. |
NTP hakkında ayrıntılar için chrony Paketini Kullanarak NTP’yi Yapılandırma ve ntpd Kullanarak NTP’yi Yapılandırma kısımlarına bakın. PTP hakkında bilgi için ptp4l Kullanarak PTP’yi Yapılandırma kısmına bakın. ntpdate çalıştırıldıktan sonra donanım saatinin ayarlanması hakkında bilgi için Donanım Saatini Güncellemeyi Yapılandırma kısmına bakın.
Geçerli Tarih ve Saati Görüntüleme
hwclock komutunu hiçbir komut satırı seçeneği olmadan root
kullanıcısı olarak çalıştırmak, tarih ve saati yerel saate göre standart çıkışa yazdırır.
hwclock
hwclock komutunu --utc
veya --localtime
seçeneklerini kullanmanın, donanım saatini UTC veya yerel saatte görüntülediğiniz anlamına gelmediğini unutmayın. Bu seçenekler, donanım saatini bunlardan herhangi birisinde tutacak şekilde ayarlamak için kullanılır. Saat her zaman yerel saatte görüntülenir. Ayrıca, hwclock --utc veya hwclock --local komutlarının kullanılması, /etc/adjtime
dosyasındaki kaydı değiştirmez. Bu komut, /etc/adjtime
dosyasına kaydedilen ayarın yanlış olduğunu bildiğiniz ama ayarı değiştirmek istemediğiniz zaman faydalı olabilir. Öte yandan, komutu yanlış bir şekilde kullanırsanız yanıltıcı bilgiler alabilirsiniz. Daha fazla ayrıntı için hwclock
(8) kılavuz sayfasına bakın.
Donanım saatinden geçerli tarihi ve geçerli yerel saati görüntülemek için root
olarak şunu çalıştırın:
~]# hwclock Tue 15 Apr 2014 04:23:46 PM CEST -0.329272 seconds
CEST bir saat dilimi kısaltmasıdır ve Central European Summer Time (Orta Avrupa Yaz Saati) anlamına gelir.
Saat diliminin nasıl değiştirileceği hakkında bilgi için Saat Dilimini Değiştirme kısmına bakın.
Tarih ve Saati Ayarlama
Tarih ve saati görüntülemenin yanı sıra, donanım saatini el ile belirli bir saate ayarlayabilirsiniz.
Donanım saatinin tarihini ve saatini değiştirmeniz gerektiğinde, bunu belirttiğiniz argümanlarla birlikte --set
ve --date
seçeneklerini ekleyerek yapabilirsiniz:
hwclock --set --date "gg aaa yyyy SS:DD"
gg kısmını gün ile (iki basamaklı bir sayı), aaa kısmını ay ile (üç harfli bir kısaltma), yyyy kısmını yıl ile (dört basamaklı bir sayı), SS kısmını saat ile (iki basamaklı bir sayı), DD kısmını dakika ile (iki basamaklı bir sayı) değiştirin.
Aynı zamanda, sırasıyla --utc
veya --localtime
seçeneklerinden birini ekleyerek donanım saatini, saati UTC veya yerel saatte tutacak şekilde ayarlayabilirsiniz. Bu durumda UTC
veya LOCAL
, /etc/adjtime
dosyasına kaydedilir.
Tarih ve saati belirli bir değere, örneğin "21:17, October 21, 2014", ayarlamak ve donanım saatini UTC’de tutmak istiyorsanız, komutu aşağıdaki biçimde root
olarak çalıştırın:
~]# hwclock --set --date "21 Oct 2014 21:17" --utc
Tarihi ve Saati Eşzamanlama
Donanım saatini ve geçerli sistem saatini her iki yönde de eşzamanlayabilirsiniz.
-
Şu komutu kullanarak donanım saatini geçerli sistem saatine ayarlayabilirsiniz:
hwclock --systohc
NTP kullanıyorsanız, donanım saatinin her 11 dakikada bir sistem saatiyle otomatik olarak eşzamanlandığını ve bu komutun yalnızca önyükleme sırasında uygun bir başlangıç sistem saati elde etmek için faydalı olduğunu unutmayın.
-
Veya şu komutu kullanarak sistem saatini donanım saatinden ayarlayabilirsiniz:
hwclock --hctosys
Donanım saatini ve sistem saatini eşzamanladığınızda, --utc
veya --localtime
seçeneğini ekleyerek donanım saatini yerel saatte mi yoksa UTC’de mi tutmak istediğinizi belirtebilirsiniz. --set
kullanımına benzer şekilde, UTC
veya LOCAL
, /etc/adjtime
dosyasına kaydedilir.
hwclock --systohc --utc komutu, timedatectl set-local-rtc false komutuyla aynı işleve sahiptir ve hwclock --systohc --local komutu, timedatectl set-local-rtc true komutuna bir alternatiftir.
Donanım saatini geçerli sistem saatine ayarlamak ve donanım saatini yerel saatte tutmak için root
olarak şu komutu çalıştırın:
~]# hwclock --systohc --localtime
Saat dilimi ve DST değişimi ile ilgili sorunları önlemek için donanım saatini UTC’de tutmanız tavsiye edilir. Donanım Saatini Sistem Saati ile Eşzamanlama kısmında gösterilen, örneğin donanım saatinin öntanımlı olarak yerel saatte çalıştığını ve diğer tüm sistemlerin yerel saati kullanarak buna uyum sağlaması gerektiğini varsayan bir Windows sistemiyle çoklu önyükleme durumunda faydalıdır. Bu, bir sanal makine ile de gerekli olabilir; ana makine tarafından sağlanan sanal donanım saati yerel saatte çalışıyorsa, konuk sistemin de yerel saati kullanacak şekilde yapılandırılması gerekir.
Ek Kaynaklar
29’da tarih ve saatin nasıl yapılandırılacağı hakkında daha fazla bilgi için aşağıda listelenen kaynaklara bakın.
-
timedatectl
(1) — timedatectl komut satırı programının kılavuz sayfası, sistem saatini ve ayarlarını sorgulamak ve değiştirmek için bu aracın nasıl kullanılacağını belgelendirir. -
date
(1) — date komutunun kılavuz sayfası, desteklenen komut satırı seçeneklerinin tam listesini sağlar. -
hwclock
(8) — hwclock komutunun kılavuz sayfası, desteklenen komut satırı seçeneklerinin tam listesini sağlar.
-
Sistem Yerel Ayarı ve Klavye Yapılandırması bölümü, klavye düzeninin nasıl yapılandırılacağını belgelendirir.
Want to help? Learn how to contribute to Fedora Docs ›