Soluţii - PC Magazine Romania, Aprilie 2004
Luna lui Mărţişor
Răzvan Sandu
Ionel Teodoreanu - "Să vie Bazarcă!"
Stau în faţa panoului mare din sticlă şi privesc afară. Liziera pădurii din
depărtare a început să capete o nuanţă verzuie, ca şi pâlcurile de salcâmi de
vis-ŕ-vis. Jos, în parcare, doi băieţi descarcă, în joacă, dintr-o dubiţă, buchete
multicolore de flori de primăvară, care vor râde pe birourile fetelor, cu ocazia
Mărţişorului. Alături, pe asfaltul abia zvântat, o colegă nu-şi poate lua ochii
de la maşina ei mică, albastră, nou cumpărată - şi parcă bucuria ni se transmite
tuturor. E-atâta soare şi-atâta optimism în jur, încât mă simt cu cel puţin
zece ani mai tânăr… Aproape că am uitat de servere, de firewall-uri, de
RFC-uri, de importantele maşini Unix…
De-aceea, prieteni, astăzi am să vă spun câteva nimicuri. Aşa, ca de 1 Martie…
Poate vreţi să plecaţi în vacanţă…
În sfârşit, ai reuşit s-o convingi pe roşcata de la parter să îţi accepte invitaţia
de a petrece un weekend la munte! N-ai vrea ca vreun server "căzut"
să-ţi strice momentul, nu? Ei bine, e cazul să afli ce mai face UPS-ul ăla pe
care
l-ai cumpărat anul trecut şi care zace pe undeva, prin magazie, fiindcă n-ai
avut timp să te ocupi de el. Pentru început, adu-l în birou, pufăie-l de praf
- pe biroul colegului de-alături, bineinţeles J - pune-l în priză şi porneşte-l.
Majoritatea UPS-urilor trebuie să se încarce cel puţin opt ore înainte de a
"intra în sarcină" - adică exact timpul care-ţi va fi necesar să accepţi
ideea că trebuie să faci efortul de a citi documentaţia J.
Pentru că voi, toţi cei de pe-aici, lucraţi mai demult cu aceste maşini inteligente
care se cheamă calculatoare, nu m-aş lansa să vă explic ce este acela un UPS.
Şi totuşi, pentru cei care nu cunosc acronimul: UPS (Uninterruptible Power
Source) este un dispozitiv pe bază de acumulatori care permite computerului
vostru să "supravieţuiască" unei căderi de tensiune. Mai precis, el
realizează câteva funcţii foarte utile:
- pentru o perioadă determinată, alimentează computerul cu energie în cazul
în care nu mai aveţi curent din reţeaua electrică;
- în funcţionare normală, când aveţi curent, "filtrează" neregularităţile
alimentării, vârfurile de tensiune etc., protejând placa de bază şi celelalte
componente;
- în cazul în care alimentarea s-a întrerupt pentru o perioadă mai lungă, iar
acumulatorii s-au descărcat, închide normal computerul, pentru a preveni distrugerea
sistemului de fişiere de pe disc. În funcţie de setările din BIOS, dacă alimentarea
revine, calculatorul va putea reporni automat.
Conectat corect, orice UPS va continua să alimenteze computerul cu energie,
în caz de pană, pentru o perioadă stabilită (care depinde doar de capacitatea
acumulatorilor). Aceasta este o funcţie fundamentală, care se realizează, bineînţeles,
indiferent de tipul computerului sau de sistemul de operare instalat. Probleme
apar numai în cazul în care dorim să oprim normal computerul atunci când acumulatorii
s-au descărcat. Detectarea stării acumulatorilor şi comanda de închidere se
fac prin intermediul unui cablu serial conectat la UPS şi la un port COM (/dev/ttySx)
al calculatorului. Evident, acesta trebuie să "ştie" de existenţa
UPS-ului de care este legat. Şi, pentru ca software-ul de comandă să funcţioneze,
sunt necesare drivere pentru UPS-ul pe care îl avem.
Din păcate, în acest domeniu nu există (încă) o standardizare, astfel încât
fiecare model de UPS are nevoie de driverele sale specifice.
Dacă ai norocul ca UPS-ul să fie nou-nouţ, probabil că pe undeva, prin cutie
se găsesc cablul serial şi un CD. Vom începe prin a afla dacă producătorul oferă,
pe acest CD, informaţii legate de funcţionarea sub Linux, drivere etc. Sau,
măcar, adresa Web a vreunui sit de unde acestea pot fi descărcate. Dacă nu,
va trebui să ne bazăm pe driverele generice existente în distribuţie - mai precis,
în pachetul Network UPS Tools (NUT) - http://us1.networkupstools.org/
Eu, personal, am avut puţin noroc. Pentru UPS-ul meu Mustek PowerMust 600Plus
şi pentru Fedora Core 1, driverele NUT sunt disponibile, în format binar la:
http://students.fct.unl.pt/~cer09566/nut/index.html
Şi funcţionează excelent !
S-ar putea ca modelul vostru de UPS să nu fie suportat de NUT. Dacă nici driverul
generic nu funcţionează (genericups), atunci poate că pe CD se găseşte un alt
software care vă va permite să comandaţi UPS-ul (cum ar fi UPSMON de la PowerCom).
Spărgătorul de nuci
Funcţionalitatea pachetului NUT, destul de complexă, este asigurată de trei
arhive RPM: nut, nut-clients şi nut-cgi, care se găsesc şi pe CD-ul 3 al Fedora
Core. Pe scurt, programul se compune din:
- drivere (pentru diverse modele de UPS-uri)
- serverul upsd - care face disponibilă informaţia de stare furnizată de UPS
în întreaga reţea
- clienţi - care intră în legătură cu upsd şi execută anumite acţiuni în funcţie
de semnalele furnizate de acesta
- cgi-bin - sunt clienţi speciali care pot fi folosiţi pentru afişarea informaţiilor
furnizate de UPS pe o pagină Web
Poate că mulţi dintre voi se vor întreba de ce NUT are o asemenea structură
complicată. Ideea care stă în spatele acestei construcţii este simplă: mai multe
calculatoare (rulând, eventual, sisteme de operare diferite) pot fi deservite
de un singur UPS de capacitate mai mare şi fiecare trebuie să poată şti cum
să reacţioneze la schimbările din reţeaua de alimentare. Existenţa driverelor
face posibilă separarea detaliilor hardware de construcţie a UPS-ului de restul
programului, iar monitorizarea se poate face atât local, cât şi de la distanţă.
Punerea în funcţiune a UPS-ului începe cu alegerea driverului corect. Pentru
UPS-ul meu PowerMust 600Plus, am descărcat acest driver de la adresa arătată,
sub forma unui pachet .rpm şi l-am instalat - driverul propriu-zis este executabilul
/sbin/powermust, pe care l-am lansat şi…atât. Dacă nu aveţi acelaşi noroc
ca şi mine, s-ar putea să fie nevoie să efectuaţi câteva teste, ca să identificaţi
un driver compatibil, dintre cele generice. Pagina manual a driverului generic
descrie în detaliu ce aveţi de făcut - man genericups.
Odată găsit driverul care deserveşte UPS-ul vostru, editaţi fişierul /etc/ups/up.conf
şi adăugaţi acolo informaţiile despre acest dispozitiv:
[powermust600plus] driver = powermust port = /dev/ttyS0 desc = "UPS-ul de la calculatorul lui Gigel" Porniţi, apoi, driverul ales folosind utilitarul upsdrvctl: /sbin/upsdrvctl start
Următorul pas înseamnă punerea în funcţiune a serverului upsd, care va furniza
informaţii despre starea UPS-ului atât maşinii locale, cât şi altor clienti,
prin reţea. Pentru asta, trebuie să stabiliţi, mai întâi, cine are dreptul de
a controla UPS-ul vostru. De aceea, pentru controlul UPS-ului se vor defini
un nume de utilizator şi o parolă. În fişierul /etc/ups/upsd.conf scrieţi (dacă
nu există deja) o regulă de acces de forma:
ACL all 0.0.0.0/0 ACL localhost 127.0.0.1/32 ACCESS grant monitor localhost ACCES deny all all
Această regulă va permite ca UPS-ul vostru să poată fi monitorizat doar de
pe maşina locală, pe care o deserveşte. Desigur, puteţi modifica regula după
cum doriţi - amănunte vă stau la dispoziţie în pagina manual a fişierului upsd.conf-
tastaţi man upsd.conf.
În /etc/ups/upsd.users trebuie să definiţi utilizatorul care va monitoriza
UPS-ul şi parola acestuia. De exemplu:
[monuser] password = foartesecret allowfrom = localhost upsmon master
Secţiunea de mai sus a creat utilizatorul monuser, care poate da comenzi UPS-ului
folosind parola "foartesecret". Acest utilizator se poate conecta
de la staţia localhost (maşina locală, definită în regula de acces anterioară).
În fine, ultima linie arată faptul că UPS-ul este direct conectat la portul
serial al acestui computer (poate exista şi situaţia în care UPS-ul alimentează
şi computerul B din reţea, dar legătura serială este făcută la computerul A).
În acest caz, linia corespunzătoare în fişierul de configurare al computerului
B este upsmon slave.
Odată realizate toate acestea, porniţi serverul upsd:
/usr/sbin/upsd
El va începe să primească informaţii de la driverul UPS-ului şi să le distribuie
în reţea. Puteţi verifica acest lucru folosind comanda upsc:
/usr/sbin/upsc powermust600plus@localhost
care va afişa câteva date de stare despre UPS
Ultimul pas constă în a porni programul de monitorizare upsmon. Pentru asta,
trebuie să editaţi, mai întâi, fişierul său de configurare /etc/ups/upsmon.conf
şi să adăugaţi o linie pentru UPS-ul pe care doriţi să-l monitorizaţi:
MONITOR powermust600plus@localhost 1 monuser foartesecret master
Desigur, monitorizarea nu este completă fără să vă asiguraţi că totul va funcţiona
după un restart. Dincolo de metoda "manuală" de editare a scripturilor
din directorul /etc/rc.d, pe sisteme Red Hat şi Fedora trebuie să specificaţi
tipul driverului de UPS şi portul serial folosit în /etc/sysconfig/ups şi să
porniţi serviciul ups folosind utilitarul ntsysv.
Desigur, fiind vorba despre o funcţie critică, veţi dori să testaţi noua instalare.
Dacă aveţi încredere în tot
ce-aţi lucrat este momentul să smulgeţi cablul de alimentare al UPS-ului din
priză J! UPS-ul meu Mustek mi-a semnalizat imediat, printr-un mesaj, faptul
că s-a trecut pe baterii. Iar după aproximativ zece minute a închis normal computerul,
aducându-mi aminte că mai trebuie să plec şi acasă… J!
O situaţie specială, dar foarte des întâlnită, apare atunci când, după o pană
de curent, alimentarea electrică revine în timp ce computerul se închide. Această
situaţie, denumită power race, poate lăsa sistemul într-o stare instabilă. UPS-urile
de bună calitate tratează acest eveniment închizând şi redeschizând imediat
computerul. Însă unele modele mai ieftine nu pot realiza acest lucru. De aceea,
se programează o repornire a sistemului după un anumit interval de timp.
În pas cu moda
Dacă totul funcţionează aşa cum ne-am propus, aţi mai făcut un pas către obţinerea
unui sistem cu grad foarte înalt de disponibilitate. Personal, la prima experienţă
cu NUT, am fost uimit de rezultat: un fel de Hopa-Mitică ce revine mereu în
starea stabilă pe care mi-o doream, fără să resimtă şocurile şi capriciile condiţiilor
exterioare. Ce altceva v-ar mai putea tulbura vacanţa despre care vorbeam la
început?
Ei bine, ca administratori de reţea, una dintre atribuţiile voastre, prieteni,
este şi ţinerea "la zi" a sistemelor pe care lucraţi. În lumea Unix,
sunt extrem de rare situaţiile în care instalarea versiunii mai noi a unui program
să aducă probleme în funcţionarea maşinii, aşa cum se întâmplă uneori sub Windows.
Dimpotrivă, instalând software cât mai nou creşteţi gradul de securitate a reţelei
-vă asiguraţi că bug-urile descoperite au fost corectate.
Dar ţinerea "la zi" a unui număr mare de calculatoare poate fi o
operaţie consumatoare de timp şi resurse. Ar fi ideal dacă aţi putea face asta
în afara programului de lucru, nu ? Ei bine, instrumente care să vă ajute există.
Programele up2date şi yum sunt două utilitare, existente în Red Hat Linux şi
Fedora Core 1, care rulează ca daemoni şi "se ocupă" cu descărcarea
celor mai noi pachete din Internet. Pe sisteme Red Hat Linux, această funcţie
era realizată exclusiv de up2date şi necesită existenţa unei subscrieri plătite
la Red Hat Network. Sistemul descarcă cele mai noi pachete .rpm numai de pe
situl oficial Red Hat, verificând semnătura digitală care le probează autenticitatea
şi integritatea după download. Apoi instalaţi pachetele aduse, împrospătându-le
pe cele existente iniţial.
În noua Fedora Core 1, instrumentul principal de download automat este yum,
deşi s-a menţinut şi vechiul up2date. Funcţia realizată este aceeaşi, dar yum
foloseşte ca sursă situl public al Fedora şi mirror-urile sale. Pentru a introduce
această îmbunătăţire şi în Red Hat Linux 9, descărcaţi şi instalaţi pachetul
yum pentru Red Hat Linux 9 de la adresa http://www.hut.fi/~tkarvine/yum-package-manager.html
Cu comenzile:
yum -y update
respectiv
yum -y update <numepachet>
se realizează împrospătarea întregului sistem sau doar a pachetului <numepachet>.
yum îşi arată adevărata sa putere numai atunci când legătura Internet este bună
şi descărcarea noilor pachete se face rapid. O soluţie care îmbunătăţeste dramatic
viteza sistemului este downloadul de pe un mirror local Red Hat în loc de situl
oficial, destul de aglomerat. Editaţi fişierul /etc/yum.conf şi, la secţiunea
[updates-released], adăugaţi serverul FTP al Grupului Utilizatorilor Români
de Linux (RLUG) ca primă opţiune de download:
[updates-released] name=Fedora Core $releasever - $basearch - Released Updates baseurl=ftp://ftp.lug.ro/fedora/linux/core/ updates/$releasever/i386/ http://fedora.redhat.com/updates/released/ fedora-core-$releasever
Dacă viteza de acces la situl RLUG este bună, veţi obţine un sistem care se
menţine automat "la zi", fără ca măcar să vă avertizeze J! Tot ce
trebuie să faceţi este să porniţi yum ca serviciu, bifând-ul în lista furnizată
de utilitarul ntsysv.
De final
Sper că am reuşit măcar să vă dau câteva idei despre cum să vă îmbunătăţiţi
sistemul şi să mai scăpaţi de problemele de zi cu zi. Între timp, voi adăuga
câteva noutăţi şi la pagina http://www.linuxwill.go.ro
unde vă aştept oricând. Ŕ-propos, vă rămăsesem dator cu câte ceva, vă amintiţi?
Ultima dată, căutam împreună soluţia potrivită pentru a viziona discuri DVD
sub Linux şi ea rămăsese doar o posibilitate teoretică… Ei bine, între
timp, soluţiile practice nu au întârziat să apară: le găsiţi în documentul DVD-Playing-HOWTO
de la http://www.tldp.org şi la
următoarele adrese Web:
Mplayer - player DVD pentru Linux - http://www.mplayerhq.hu
Xine - player DVD pentru Linux - http://www.xinehq.de/
şi
http://cambuca.ldhs.cetuc.puc-rio.br/xine/
Inutil să vă spun că vă aştept cu întrebări la linuxwill@go.ro,
nu? Mă scuzaţi, trebuie să cobor, să ajut şi eu la descărcatul buchetelor de flori…
Ne vedem mai târziu!
|