Si të përdorni komandën timedatectl në Linux
Komanda Linux timedatectl
ju lejon të vendosni kohën, datën dhe zonën kohore për orën e sistemit tuaj dhe orën tuaj në kohë reale. Lini një moment dhe ne do t'ju tregojmë se si funksionon gjithçka.
Është gjithçka relative
Trajtimi i kohës nga kompjuteri juaj është një nga ato gjëra që mund të prisni të jetë mjaft e drejtpërdrejtë. Të paktën, derisa të filloni ta shikoni atë.
Ora e sistemit Linux numëron numrin e sekondave që nga epoka Unix. Kjo ishte në orën 00:00:00 më 1 janar 1970, UTC. UTC do të thotë koha e koordinuar universale, por zakonisht thuhet si kohë universale e koordinuar ose thjesht kohë universale. Ky është standardi kohor me të cilin bota menaxhon dhe rregullon kohën. Zona të ndryshme kohore aplikojnë një kompensim në UTC për të marrë orën e tyre lokale. Disa zona kohore janë përpara UTC dhe të tjera janë pas saj.
Ora e sistemit në kompjuterët Linux është e bazuar në softuer. Natyrisht, nuk mund të funksionojë kur kompjuteri është i fikur. Një orë tjetër, një orë në kohë reale e bazuar në pajisje me bateri, mund të funksionojë kur kompjuteri është i fikur. Qëllimi i tij është t'i tregojë orës së sistemit sa është ora sa herë që niset Linux. Përveç nëse qasja në një server të protokollit të kohës së rrjetit (NTP) është e mundur.
Serverët NTP janë serverë që ofrojnë informacion të saktë të kohës për kompjuterët që e kërkojnë atë. Nëse e nisni kompjuterin ose laptopin tuaj dhe nuk ka akses në internet - ose nuk është konfiguruar për të përdorur serverët NTP - ora në kohë reale përdoret për të aktivizuar orën e sistemit në vend të një serveri NTP.
Ora e sistemit është gjithmonë në UTC. Çdo aplikim që duhet të marrë kohën lokale duhet të:
- Qasni në orën e sistemit dhe merrni UTC
- Di se në cilën zonë kohore është dhe zbato zhvendosjen e saktë
- Merr parasysh nëse koha e kursimit të ditës është në fuqi
Konvertimi nga UTC në orën lokale bëhet nga aplikacioni, jo nga ora e sistemit. Ose, më saktë, konvertimi kryhet nga bibliotekat e kohës dhe datës me të cilat është lidhur aplikacioni. Kjo është arsyeja pse është jetike që kompjuteri juaj të dijë se cila zonë kohore është, sa është ora UTC, sa sekonda kanë kaluar nga epoka Unix dhe nëse koha e kursimit të ditës është në fuqi.
Në shpërndarjet Linux të bazuara në sistem, ne përdorim komandën timedatectl
për të parë ose ndryshuar ato cilësime dhe vlera.
Fillimi me timedatectl
Për të parë të dhënat aktuale dhe kohën dhe vlerat e tjera, përdorni komandën timedatectl
me operatorin status
.
timedatectl status
Në fakt, ju mund ta hiqni statusin dhe do të merrni të njëjtin rezultat.
timedatectl
Të dy grupet e prodhimit tregojnë:
- Koha lokale: Ora që kompjuteri mendon se është, sipas zonës së tij kohore.
- Koha universale: Ora UTC.
- Koha RTC: Koha që përdor ora në kohë reale. Zakonisht, kjo është UTC.
- Zona kohore: Informacion në lidhje me zonën kohore të konfiguruar.
- Ora e sistemit të sinkronizuar: Nëse ora e sistemit është e sinkronizuar me një server NTP.
- Shërbimi NTP: Nëse shërbimi NTP i kompjuterit është aktiv.
- RTC në TZ lokale: Nëse ora në kohë reale po përdor orën lokale në vend të UTC.
Ju mund të shihni se sa zona kohore mbështet komanda timedatectl
duke shtypur:
timedatectl list-timezones | wc -l
Kjo është shumë më tepër sesa ka zona kohore në botë. Nëse e vendosim daljen në grep
dhe filtrojmë hyrjet për America dhe e vendosim atë në less
, mund të lëvizim nëpër një listë më të menaxhueshme.
timedatectl list-timezones | grep "America/" | less
Ndërsa rishikoni atë listë, do të shihni se Amerika konsiderohet të ketë kuptimin e saj më të gjerë të mundshëm. Gjëja e dytë që do të vini re është se shumica e hyrjeve nuk janë zona kohore aktuale.
Vendosja e zonës kohore
Nëse shikoni listën e pafiltruar të zonave kohore të mbështetura nga timedatectl
, do të shihni vendet si dhe zonat kohore. Për të caktuar një zonë kohore, mund ta specifikoni atë me emër si EST ose GMT, ose mund të zgjidhni një vendndodhje në të njëjtën zonë kohore si ju, si Londra ose Nju Jorku.
Rivendosja e zonës tuaj kohore nuk është diçka që do ta bëni shpesh, por ndoshta jeni zhvendosur në shtëpi ose jeni duke punuar larg për një kohë dhe dëshironi të lokalizoni laptopin tuaj. Nëse keni nevojë të rivendosni zonën tuaj kohore, zgjidhni një vendndodhje në zonën kohore që dëshironi të përdorni.
Ne do ta vendosim këtë kompjuter në orën malore, e cila është e njëjta zonë kohore si Edmonton. Më pas do të shohim se si kanë ndryshuar cilësimet.
timedatectl set-timezone "America/Edmonton"
timedatectl
Zona jonë kohore është ndryshuar, ora jonë lokale është ndryshuar dhe kompensimi ynë nga UTC është rritur.
Vendosja manuale e orës dhe datës
Megjithëse përcaktimi manual i orës dhe datës është i mundur, zakonisht nuk do t'ju duhet. Përdorimi i sinkronizimit të kohës dhe NTP-së është mënyra e preferuar për të mbajtur saktë orën dhe datën e kompjuterit tuaj. Nëse përpiqeni të ndryshoni datën ose orën e kompjuterit tuaj, me siguri do të merrni një gabim, duke ju thënë se sinkronizimi i kohës është në përdorim.
timedatectl set-time 10:30:00
Përdorni këtë komandë për të çaktivizuar shërbimin e sinkronizimit të kohës:
sudo systemctl stop systemd-timesyncd.service
Mund të caktoni orën, datën ose të dyja duke përdorur operatorin e kohës së caktuar timedatectl
. datat janë në rendin vit-muaj-ditë VVV-MM-DD dhe koha është në rendin orë-minuta-sekonda HH:MM:SS. Ne do të vendosim orën dhe datën me këtë komandë:
timedatectl set-time "2022-01-30 10:30:00"
Më pas do të kontrollojmë nëse ndryshimet kanë ndodhur, duke përdorur timedatectl
.
timedatectl
Data dhe ora kanë ndryshuar. Gjithashtu, vini re se kompjuteri po përdor një kohë të rreme UTC. Gjithashtu jemi të informuar se ora e sistemit nuk po sinkronizohet dhe shërbimi NTP është joaktiv.
Nëse keni akses në internet, sapo të rivendosni shërbimin e sinkronizimit të kohës, koha merret dhe të gjitha detajet rivendosen saktë.
sudo systemctl start systemd-timesyncd.service
timedatectl
RTC: UTC apo LTZ?
Është e mundur që ora juaj në kohë reale të vendoset në orën e zonës tuaj lokale kohore në vend të UTC-e mundur, por e pakëshillueshme. Nëse e bëni ndryshimin, do të shihni një paralajmërim për efektet e tmerrshme që mund të ketë në sistemin tuaj në të ardhmen.
Arsyeja për t'ju treguar këtë metodë është se mund të hasni në një makinë ku ata kanë probleme të çuditshme me cilësimet e tyre të kohës. Kjo është mënyra se si të vendosni orën në kohë reale në UTC.
Së pari, do të duhet ta vendosim atë në zonën lokale kohore.
timedatectl set-local-rtc 1
Më pas do të kërkojmë statusin e timedatectl
.
timedatectl
Unë mendoj se ata i kanë bërë të qarta ndjenjat e tyre.
Për të rivendosur orën në kohë reale në UTC, përdorni këtë komandë:
timedatectl set-local-rtc 0
Vendoseni dhe harroni atë
Nëse nuk keni bërë një gabim gjatë instalimit të shpërndarjes suaj Linux, ose nëse zhvendoseni, zakonisht nuk ka asnjë arsye për të modifikuar cilësimet e sistemit tuaj dhe orët në kohë reale.
Vendosni orën e sistemit në zonën tuaj kohore, orën në kohë reale në UTC dhe sigurohuni që sistemi po anketon një server të protokollit të kohës së rrjetit. Kjo është gjendja e paracaktuar pas shumicës së instalimeve.
Nëse janë gati të gjitha, sistemet kohore të kompjuterit tuaj do të kujdesen për veten e tyre.