Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


Soluții - PC Magazine Romania, Februarie 2004

Tempus

Răzvan Sandu

Motto:

"[...]
Întrebat-am bufnița cu ochiul sferic
Oarba care vede-n întuneric
Tainele nespuse de cuvânt:
-Unde sunt cei care nu mai sunt ?
-Unde sunt cei care nu mai sunt ?
Răspuns-a bufnița: Când va cădea
Marele-ntuneric, vei vedea."

Nechifor Crainic - Unde sunt cei care nu mai sunt
Poezie compusă în închisoarea Aiud

Pe birou, sub conul de lumină al veiozei, au rămas deschise "Principiile" lui Newton - o carte mare, cu legătură masivă. Ridic privirea din paginile ei, presărate cu gravuri și formule, către fereastră. Dincolo de geam, cerul gri acoperă cartierul aproape pustiu, cu căsuțele lui coșcovite sub noianul de fulgi. Întotdeauna mi-a plăcut camera asta, cu confortul și căldura ei din alt secol - biroul din lemn de nuc, cărțile tehnice vechi rânduite pe rafturi care ajung până aproape de tavan, fotoliul, fotografia bunicului în uniformă, bătaia calmă a pendulei... Acum, în tăcerea pioasă dinaintea tainei Crăciunului, sufletele parcă s-au făcut mai mari. Aproape că am reușit să uit că undeva, pe-alături, există supermarket-uri, cozi la brazi și la sifoane, oameni intoxicati caragialește cu sarmale, SMS-uri, manele, petarde, telefoane, carne proaspătă de porc sacrificat printre blocuri...

Astăzi, dragi prieteni, vom vorbi despre Timp.

Planeta noastră

Pentru ca un computer să cunoască ora și data exacte într-un anumit punct al Pământului, el are nevoie de exact două informații, care alcătuiesc, împreună, conceptul de Timp Global:

  • timpul universal (Universal Time Coordinate - UTC), considerat, prin convenție, cel stabilit de observatorul astronomic de la Greenwich, Marea Britanie;
  • zona de timp (time zone) în care se găsește acel punct.

Prin aproximare, imaginați-vă Pământul ca pe o sferă perfectă care se rotește în jurul unei axe ce trece prin cei doi poli ai săi (Axa Lumii). Vă puteți închipui această sferă ca fiind "tăiată" de planul ce trece prin axa sa (deci și prin Poli) și prin localitatea Greenwich. Jumătatea de cerc determinată pe suprafața Pământului de poli și de Greenwich reprezintă meridianul acestei localităti, ales prin convenție drept "meridianul zero". Similar, pornind de la "meridianul zero" către est și către vest se pot trasa semicercuri ce trec prin Axa Lumii și împart Pământul in 24 de "felii" egale (fuse orare). Din punct de vedere geofizic, este suficient să considerăm că în toate localitățile ce se găsesc în interiorul unui fus orar ora este aceeași, decalată cu exact 1, 2, 3... ore față de Timpul Universal. Spre exemplu, Bucureștiul se găsește în interiorul fusului orar 2, deci există permanent o diferență de două ore între București și ora de la Greenwich (când la Greenwich este ora 12 noaptea, la București este ora 2 noaptea).

Din punct de vedere practic, lucrurile nu stau chiar atât de simplu, fiindcă apar două variații de la această schemă:

  • pentru comoditate, guvernele urmăresc, pe cât se poate, ca ora din localitățile țărilor lor să fie aceeași. Acest lucru nu este posibil în toate statele, de exemplu în țările care se desfășoară pe o mare întindere în longitudine, pe mai multe fuse orare (cum ar fi, de exemplu, Statele Unite);
  • din motive de economisire a energiei, prin convenție internațională, se aplică programul Daylight Savings Time - DST. El prevede ca în timpul verii ora locală oficială să fie decalată în avans cu o oră față de cea "geofizică", pentru ca timpul "zilei"(de activitate economică) să fie maxim.

Dacă ora locală oficială ar fi calculată pretutindeni exclusiv pe baza împărțirii geofizice în 24 de fuse orare, nu ar fi nevoie să definim decât 24 de zone de timp pe întreaga suprafață a globului. Date fiind însă cele spuse mai sus, este nevoie de un tabel mult mai complex, care să prevadă diferențele existente între Timpul Universal și fiecare punct al globului, fie vară sau iarnă.

Pe sistemul vostru Linux, fișierele care conțin aceste informații se găsesc în directorul /usr/share/zoneinfo. Zona de timp în care se află chiar calculatorul vostru este prevăzută în fișierul /etc/localtime. De fapt, localtime nu este un fișier, ci un link simbolic către fișierul-zonă corespunzător din directorul /usr/share/zoneinfo.

Sursa pentru obținerea Timpului Universal poate fi un ceas atomic (aceste ceasuri funcționează, de obicei, pe lângă observatoarele astronomice sau pe lângă marile laboratoare de cercetare) sau un sistem GPS (Global Positioning System). În cazul în care sunteți responsabili cu întreținerea rețelei vreunei instituții foarte mari, poate fi necesar să achiziționați un dispozitiv hardware specializat - de cele mai multe ori, un ceas radio care recepționează semnalele emise de observatorul astronomic local și permite menținerea unei "baze de timp" extrem de exacte. Aceasta este o investiție importantă, care nu este accesibilă oricui. Însă, de obicei, proprietarii acestui tip de echipamente conectează ceasurile la Internet, "distribuind" ora și altor utilizatori. Tot ceea ce este necesar pentru a obține "ora exactă", este o mașină Linux corect configurată și conectată la rețea.

La ceasornicăria din colț

Primul lucru de care veți dori să fiți siguri este faptul că ceasul vostru hardware, aflat pe placa de bază, funcționează bine. Până la a cumpăra un ceas atomic, mă gândesc că o baterie nouă pentru placă de bază ar fi o bună investiție ą !

Modul cum veți regla ceasul în BIOS depinde de sistemele de operare pe care le aveți instalate. Dacă computerul vostru face dual-boot între Linux și Windows, este neapărat necesar să îl reglați folosind ora locală. Windows are o imagine mult mai simplistă asupra noțiunii de timp decât Linux: el presupune, întotdeauna, că ceasul hardware al plăcii de bază este corect și că arată ora locală. De notat că Windows XP a început să "învețe" câte ceva despre citirea orei din Internet, dar este încă departe de a furniza nativ mecanismele sofisticate existente în Unix.

Dimpotrivă, dacă pe mașina voastră rulați numai Linux, vă sfătuiesc cu căldură să folosiți UTC pentru a regla ceasul hardware. Practic, pentru România, asta înseamnă să setați ora în BIOS cu două ore în urmă. Desigur, reglajul minutelor și al secundelor trebuie să fie cât mai precis, iar data trebuie să fie și ea corectă.

Spre deosebire de Windows, Linux nu se bazează pe ceasul hardware al plăcii de bază pentru a menține ora sistemului. El citește informația furnizată de acesta în momentul bootării, dar, după aceea, pune în funcțiune un ceas software, care funcționează în paralel. Mai departe, în momentul închiderii calculatorului (în procesul shutdown), ceasul hardware este "potrivit" după cel software (care este mai exact). Pe o mașină Linux, când folosiți comanda date pentru a afla ora, ceea ce interogați, de fapt, este ceasul software.

Ceea ce trebuie să faceți, mai întâi, este să vă asigurați, 100%, că informația despre zona de timp în care vă aflați este cea corectă. Comanda timeconfig vă permite să faceți reglajul dorit:

timeconfig "Europe/Bucharest"

sau

timeconfig —utc "Europe/Bucharest"

Prima comandă reglează ceasul hardware folosind ora dată de ceasul software, indică ca zonă de timp zona "Europa/București" și interpretează informația despre timp dată de ceasul hardware ca oră locală. Cea de a doua comandă este similară, dar ceasul hardware citit în momentul bootării va fi interpretat ca și cum ar fi reglat după UTC. Pe sistemele mele Fedora și Red Hat, acești parametri sunt stocați in fișierul /etc/sysconfig/clock.

Comanda hwclock vă permite să accesați din Linux, în mod direct, ceasul hardware al sistemului (să îl citiți și să îl reglați). Fără parametri, hwclock vă va afișa ora hardware. Este posibil să constatați că între cele două ceasuri, hardware și software (citite cu hwclock și date) există diferențe semnificative. Este cazul să sincronizați, mai întâi, cele două ceasuri, folosind ora corectă. Spre exemplu:

hwclock -w             

setează ceasul hardware după cel software, specificând că se va memora ora locală conform zonei de timp și datei setate curent, sau

hwclock -u -s

setează ceasul software după cel hardware, specificând că se va memora ora UTC.

Detalii suplimentare puteți găsi, bineînțeles, în pagina manual a comenzii hwclock.

Incursiune în supranatural: atenție, demoni!

Așa cum vă spuneam, Linux poate să țină ceasul software al sistemului foarte exact sincronizat cu serverele de timp din Internet. Este nevoie, însă, să porniți ntpd, daemonul serviciului Network Time Protocol. Acest lucru se poate face, cel mai comod, cu utilitarul ntsysv.

Desigur, aveți nevoie de o legătură la rețea. Puteți începe prin a vizita pagina http://www.ntp.org și prin a consulta lista de servere de timp (time servers) publice existentă acolo. Dintre acestea, e necesar să alegeți trei, a căror denumire să o introduceți în fișierul /etc/ntp.conf cu directive de forma:

server somemachine.somedomain.ro

De reținut faptul că politețea și normele Internet vă obligă, chiar și în cazul în care folosiți un server de timp public, să notificați prin e-mail administratorului acestui server că utilizați serviciile sale. Acest lucru ajută personalul de întreținere să poată cuantifica încărcarea propriilor servere.

Într-o organizație mare, se recomandă să aveți cel puțin două mașini care să îndeplinească rolul de servere de timp, iar stațiile de lucru interne să fie sincronizate cu acestea și nu cu cele externe din Internet. Serverele interne - cărora vă sfătuiesc să le creați alias-uri DNS de forma ntp1.firma.ro și ntp2.firma.ro - se pot "corecta" unul pe celălalt, dacă în fișierul /etc/ntp.conf veți folosi (reciproc) directiva peer in loc de directiva server. Deoarece funcția de server de timp este foarte puțin pretențioasă din punct de vedere al resurselor, nu vă va fi greu să găsiți în rețeaua voastră două mașini care să o îndeplinească.

Încheiere

Iată că am reușit să vă schițez o introducere în configurarea serverului de timp, care nu este prea simplă. Detalii puteți găsi în documentul Time-Precision-HOWTO de la www.tldp.org la www.eecis.udel.edu/~mills/ntp/ html/notes.html și în paginile manual ale utilitarelor enumerate. Între timp, putem întâmpina Anul Nou cu precizie de picosecundă ☺ ! Și, nu uitați, vă aștept la www.linuxwill.go.ro și [email protected] !


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro