Ceasurile de computer nu sunt perfecte. Având în vedere câteva zile, săptămâni sau luni, acestea derivă și nu mai arată timpul real. Pur și simplu, după ce se îndepărtează, pot arăta că este „10:30” când de fapt este „10:33”. Era o practică obișnuită pe computerele mai vechi să reglați periodic ceasul computerului manual. Dar, după ce conexiunile la internet au devenit omniprezente, sistemele de operare moderne au început să regleze automat ceasul cu ajutorul serverelor NTP.
Ce este NTP?
NTP este un acronim pentru Network Time Protocol. Este un algoritm conceput pentru a sincroniza ceasurile computerului prin conexiuni de rețea și a le menține exacte.
Cum se activează sincronizarea timpului pe Linux
Din fericire, majoritatea distribuțiilor implementează o formă sau alta de sincronizare a timpului, din cutie. Dacă nu ați observat niciodată că ceasul computerului dvs. se îndepărtează de ceasul telefonului, aproape sigur aveți deja un client / demon NTP care rulează.
Pe sistemul de operare Linux cu systemd
Majoritatea distribuțiilor Linux au adoptat systemd, iar odată cu acesta vine și demonul „systemd-timesyncd”. Asta înseamnă că aveți un client NTP deja preinstalat pe Ubuntu, Debian, Fedora, Arch Linux, openSUSE, Manjaro și altele. Pe aceste distribuții și pe altele care se bazează pe acestea (de exemplu, sistem de operare elementar, sistem de operare Zorin), rulați acest lucru pentru a verifica dacă sincronizarea NTP este activată:
timedatectl
Dacă vezi Network time on: yes
în ieșire, atunci ceasul computerului dvs. este ajustat periodic periodic prin NTP. Uneori s-ar putea să observi și tu NTP synchronized: no
ceea ce poate însemna că ceasul este sincronizat prin intermediul altui instrument în afară de „systemd-timesyncd”. De asemenea, poate însemna că systemd-timesyncd nu s-a sincronizat încă, dar o va face mai târziu.
Dacă vezi Network time on: no
, executați următoarea comandă pentru a activa sincronizarea orei NTP.
sudo timedatectl set-ntp true
Asta este tot ce trebuie să faceți pentru aceste distribuții.
Pe sistemul de operare Linux fără systemd
Deoarece MX Linux a devenit atât de popular în ultima vreme, un exemplu referitor la acest sistem de operare pare potrivit pentru început. Este, de asemenea, un caz special. Aceasta „Un fel” are systemd, dar „un fel” nu. timedatectl raportează că timpul rețelei este „pornit”, dar systemd-timesyncd nu este utilizat.
Deci, cum se sincronizează? Puteți verifica cu următoarea comandă pe care o puteți utiliza pe orice alt sistem de operare Linux.
sudo cat /var/log/syslog | grep ntp
Pe MX Linux veți obține un rezultat similar cu ceea ce vedeți în imaginea următoare.
Din acest mesaj jurnal filtrat, puteți vedea că clientul „ntpdate” a rulat o dată. Acesta este un client popular, instalat implicit pe multe distribuții Linux. Este ușor și interogă doar sporadic serverele NTP. Nu rulează în fundal și este declanșat de scripturi, sincronizări, apoi iese.
Aceasta înseamnă că timpul nu este sincronizat cu o precizie extrem de ridicată (gândiți-vă la milisecunde sau microsecunde), dar este suficient de precisă pentru majoritatea scopurilor. În mod normal, este exact, cel puțin până la al doilea.
Pe alte sisteme de operare este posibil să vedeți „ntpd”, care este un daemon, care rulează constant în fundal și extrem de precis. Cu cât rulează mai mult, cu atât devine mai precis.
Dacă, dintr-un anumit motiv, doriți să instalați ntp
sau ntpdate
pe sistemele de operare cu systemd, mai întâi dezactivați clientul ntp al systemd.
sudo timedatectl set-ntp false
Desigur, comanda de mai sus nu este necesară pentru distribuțiile non-systemd.
Instalați clientul ntpdate
Acest lucru este potrivit pentru computerele de acasă, laptopurile și alte dispozitive care nu sunt conectate constant la Internet.
Pe Debian, Ubuntu, Linux Mint, Zorin și alte distribuții bazate pe acestea, rulați:
sudo apt install ntpdate
Pe toate distribuțiile de mai sus bazate pe Debian, acesta este configurat pentru a rula după ce vede o nouă conexiune de rețea. Puteți forța sincronizarea orei acum dacă vă deconectați de la rețea și vă reconectați.
În Fedora, ntpdate va fi depreciat, deci este recomandat să folosiți în schimb demonul ntpd (a se vedea secțiunea următoare). Același lucru este recomandat pentru toate celelalte distribuții din două motive:
- Uneori nu includ ntpdate într-un pachet separat, ci îl grupează cu ntpd din secțiunea următoare.
- Nu automatizează ntpdate pentru a rula automat pe fiecare conexiune de rețea. Trebuie să vă inserați ntpdate într-un script care rulează automat după conectarea rețelei.
În acest caz, este mai logic să instalați ntpd conform instrucțiunilor din secțiunea următoare.
Instalați ntpd Daemon
Pe Debian, Ubuntu, Zorin, Mint și alte distribuții bazate pe Debian sau Ubuntu, rulați:
sudo apt install ntp
Aceste distribuții vor porni ntpd imediat și apoi îl vor lansa automat la fiecare boot; nu vi se cere nicio altă acțiune.
Pe Fedora, instalați cu:
sudo dnf install ntp
Pe CentOS, executați:
sudo yum install ntp
Pentru Arch Linux, utilizați:
sudo pacman -S ntp
Și pe openSUSE, introduceți:
sudo zypper install ntp
Apoi, activați serviciul pentru a lansa la pornire și apoi porniți-l:
sudo systemctl enable ntpd sudo systemctl start ntpd
Pe alte distribuții care rulează fără systemd, poate fi necesar să executați aceste comenzi în schimb:
sudo update-rc.d ntpd enable sudo service ntpd start
sau orice altceva echivalent pentru sistemul dvs. de operare.
Dacă primiți o eroare că ntpd nu există, înlocuiți „ntpd” cu „ntp” în comenzile de mai sus. Unele distribuții denumesc fișierele de serviciu demon NTPD diferit.
Concluzie
Este rar că trebuie să urmați oricare dintre acești pași pe un sistem de operare Linux cu o interfață grafică de utilizator cel puțin. Sincronizarea orei ar trebui să fie deja configurată pentru dvs. Dar acești pași vă pot ajuta cel puțin să depanați uneori o problemă. Multe panouri de control ale mediului desktop vă permit să activați și să dezactivați sincronizarea orei. În fundal, utilizează comenzi similare pentru a configura acest lucru pentru dvs., astfel încât să puteți face acest lucru singur atunci când instrumentele de interfață grafică cu utilizatorul nu reușesc.