Aşağıdaki komutların çıktısı neden farklı?
root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var#
Linux'taki şu anki zamanı değiştirebilir miyim?
Aşağıdaki komutların çıktısı neden farklı?
root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var#
Linux'taki şu anki zamanı değiştirebilir miyim?
Yanıtlar:
Genellikle, saati otomatik olarak ayarlamak istersiniz ve bu durumda, ntpd
saati sizin için otomatik olarak ayarlamak üzere ayarlamak istersiniz.
Özellikler dağıtımdan dağıtıma biraz farklılık gösterir, ancak örneğin Ubuntu kullanıyorsanız, örneğin Ubuntu'da NTP kurma konusunda bir kılavuz vardır . Aksi takdirde, sadece Google ntpd <distribution-name>
ve muhtemelen onu bulacaksınız.
Ancak, elle ayarlamak isterseniz, kullanabilirsiniz date --set="<date string>"
. Buna örnekler olabilir:
date --set="23 June 1988 10:00:00"
date --set="10:00:00"
Donanım Saatini geçerli Sistem Zamanına ayarlayın.
# hwclock --systohc
Donanım Saati'nden Sistem Saati'ni ayarlayın.
# hwclock --hctosys
adil ntpdate ntp.ubuntu.com
ve her şey iyi olacak.
Bu konuda Ubuntu Resmi Dokümantasyon hakkında daha fazla bilgi bulunmaktadır.
Bir başka yaygın, çok sinir bozucu problem, yanlış zaman dilimi seçildiğinde ...
Tarih çıktısı olan saat dilimini kontrol edin:
$ tarih
Fre 23 Ağu 18:47:04 UTC 2013
Saat dilimi türünü düzeltmek için:
$ sudo tzselect
ve karşılık gelen numaralarla doğru bölgeyi seçin.
İkinci görev, doğru zamanı ayarlamaktır:
$ sudo date --set = "18:37:00"
Ya da sadece HW-Clock'tan zaman ayırın:
$ sudo hwclock - hctosys
In CentOS
saat dilimleri yer alır /usr/share/zoneinfo/
, bir sistem tarihini değiştirmek belirli saat diliminde şunları yapabilirsiniz:
İlk önce varolan yerel ayar dosyasının bir yedeğini alın.
sudo mv /etc/localtime /etc/localtime.bak
Ardından, bağlantıyı oluşturun:
sudo ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime
Yazarak yeni sistem tarihini kontrol edin date
.
Linux sistem tarihini manuel olarak ayarlamak için şunu yazabilirsiniz:
date -s "11 MAR 2006 11:11:11"
VEYA
date --set="11 MAR 2015 11:11:11"
VEYA
date +%Y%m%d -s "20150311"
Donanım Saatini geçerli Sistem Zamanına ayarlamak için :
hwclock --systohc
VEYA
hwclock -w
"hwclock" donanımın tarihi (makine) ve "tarih" yazılımın tarihi (işletim sistemi) 'dir.
Pc donanım tarihini değiştirmek için:
hwclock --set --date="2013-7-31 09:30"
Yazılım tarihini değiştirmek için:
date --set "2013-7-31 09:30"
date
CPU'nun başladığı andan itibaren verilen süre ile verilen süreyi ve verilen dahili donanım saatini döndürerek hwclock
, iç saatin sahip olduğu zamanı verir.
CPU tabanlı zaman, makine çalıştığı sürece sürüklenmeye meyillidir, bu da hwclock --hctosys
komutun varlığının sebebidir . Ayrıca, internette uluslararası zamanı koordine etmek için kullanılan Ağ Protokolü Zamanının kullanımının arkasındaki nedenlerden biridir.
NTP istemcisi yoksa bunu kullanın
date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)
URL’deki eest yerel saat diliminizdir
Sen kullanabilirsiniz utc ... vb
Linux'taki saati değiştirebilir miyim?
Benim için önce bu komutu çalıştırmam gerekiyordu:
sudo systemctl stop systemd-timesyncd
Aksi takdirde, systemd saati hemen sıfırlardı. Sistem servisini durdurduktan sonra, çalıştırma date
beklendiği gibi çalışıyor :
$ sudo date -s 'january 1 1971'
Fri Jan 1 00:00:00 CET 1971
$ date
Fri Jan 1 00:00:00 CET 1971
Servis çalışırken, date -s
komut işe yarıyor gibi görünüyordu, ancak date
bir dakika sonra çalıştırmak tekrar sistem zamanını verirdi.