2011-06-26 13:23:39 +0000 2011-06-26 13:23:39 +0000
71
71

Jak ustawić aktualny czas w Linuksie?

Dlaczego wyjście następujących poleceń jest inne?

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#

I czy mogę zmienić aktualny czas w Linuksie?

Respostas (10)

92
92
92
2011-06-26 15:28:54 +0000

Zazwyczaj chcesz, aby czas był ustawiany automatycznie, a w takim przypadku chcesz ustawić ntpd, aby czas był ustawiany automatycznie.

Specyfikacje różnią się nieco w zależności od dystrybucji, ale jeśli używasz Ubuntu, na przykład, jest przewodnik na temat konfiguracji NTP na Ubuntu . W przeciwnym razie, po prostu Google ntpd <distribution-name>, i prawdopodobnie go znajdziesz.

Jeśli jednak chcesz ustawić go ręcznie, możesz użyć date --set="<date string>". Przykładami tego mogą być:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"
37
37
37
2011-06-26 14:13:09 +0000

Ustawić Zegar Sprzętowy na aktualny czas systemowy.

# hwclock --systohc

Ustawić czas systemowy z Zegara Sprzętowego.

# hwclock --hctosys
23
23
23
2013-04-01 13:13:25 +0000

tylko ntpdate ntp.ubuntu.com i wszystko będzie dobrze.

Więcej informacji na ten temat znajduje się na stronie Ubuntu Official Documentation

13
13
13
2013-08-23 16:51:36 +0000

Innym częstym, bardzo irytującym problemem jest, gdy wybrana jest niewłaściwa strefa czasowa…

Sprawdź strefę czasową z wyjściem daty:

$ data

Fre Aug 23 18:47:04 UTC 2013

Aby skorygować typ strefy czasowej:

$ sudo tzselect

i wybierz właściwy Region z odpowiednimi numerami.

Drugim zadaniem jest ustawienie prawidłowego czasu:

$ sudo date –set=“18:37:00”

Albo po prostu weź czas z blokady sprzętowej:

$ sudo hwclock –hctosys

3
3
3
2015-04-03 10:00:44 +0000

W CentOS strefy czasowe znajdują się w /usr/share/zoneinfo/, aby zmienić datę systemową na specyficzną strefę czasową można:

Najpierw zrobić kopię zapasową istniejącego pliku czasu lokalnego.

sudo mv /etc/localtime /etc/localtime.bak

Następnie utworzyć link:

sudo ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime

Sprawdź nową datę systemową wpisując date.

Aby ustawić system Linux data ręczna możesz wpisać:

date -s "11 MAR 2006 11:11:11"
date --set="11 MAR 2015 11:11:11"
date +%Y%m%d -s "20150311"

Aby ustawić Zegar Sprzętowy na aktualny czas systemowy:

hwclock --systohc
hwclock -w
2
2
2
2015-06-17 09:24:07 +0000

Spróbuj tego:

date +%T -s "12:21:00"

lub

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"
1
1
1
2013-07-31 07:32:37 +0000

“hwclock” jest datą sprzętu (maszyny), a “data” jest datą oprogramowania (systemu operacyjnego).

Dla zmiany daty sprzętu komputerowego:

hwclock --set --date="2013-7-31 09:30"

Dla zmiany daty oprogramowania:

date --set "2013-7-31 09:30"
0
0
0
2011-11-26 11:33:01 +0000

date zwraca czas podany jako czas od momentu uruchomienia cpu plus podany czas wewnętrznego zegara sprzętowego, hwclock podaje czas, jaki ma wewnętrzny zegar.

Czas bazujący na cpu ma tendencję do dryfowania w górę, co jest powodem istnienia komendy hwclock --hctosys. Jest to również jeden z powodów użycia Network Protocol Time, który jest używany do międzynarodowego koordynowania czasu w Internecie.

0
0
0
2016-09-26 12:37:17 +0000

użyj tego, jeśli nie masz klienta NTP

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)

najlepszy w adresie URL to twoja lokalna strefa czasowa

Możesz użyć utc… i itd.

0
0
0
2019-02-20 14:18:53 +0000

czy mogę zmienić aktualny czas w Linuksie?

Dla mnie, musiałem najpierw uruchomić tę komendę:

sudo systemctl stop systemd-timesyncd

W przeciwnym razie systemd natychmiast zresetowałby czas. Po zatrzymaniu usługi systemd, uruchomienie date działało zgodnie z oczekiwaniami:

$ sudo date -s 'january 1 1971'
Fri Jan 1 00:00:00 CET 1971
$ date
Fri Jan 1 00:00:00 CET 1971

W czasie gdy usługa była uruchomiona, komenda date -s wydawała się działać, ale uruchomienie date chwilę później dałoby mi ponownie czas systemd.