Soluții - PC Magazine Romania, August 2002
Motto:
"Oh, I've seen that before! It's Unix!" (Din filmul lui Steven Spielberg - Jurassic
Park)
Stuff
Răzvan Sandu
Ultima noastră întâlnire a fost un pas important pentru dvs.:
ați reușit, sper, să obțineți o mașină Unix funcțională. Pentru cei care nu
au depășit încă această etapă, voi spune un singur lucru: dacă instalarea Linux
a eșuat, cauza este o incompatibilitate hardware gravă sau, mai probabil, faptul
că nu ați citit sau respectat documentația. Merită, cred, să reîncercați - nu
înainte de a revedea, pas cu pas, cele spuse până acum.
Pentru aceia dintre dvs. care au terminat instalarea și se găsesc
acum, nedumeriți, în fața promptului login:, cele ce urmează ar putea fi interesante.
Democrație în stilul Linux
Cei care utilizează Windows în mod curent știu că Microsoft a introdus, în versiunile
recente, noi cerințe pentru autentificarea utilizatorilor (numele de utilizator
și parola sunt acum obligatorii). Sistemele Unix folosesc acest mecanism de
mulți ani - pentru realizarea unui sistem sigur este neapărat necesar ca, la
fiecare sesiune, utilizatorul să-și decline identitatea.
În timpul instalării se creează automat un singur utilizator al sistemului,
numit root (echivalent cu Administrator pe sisteme Windows NT, 2000 sau XP).
root este supervizorul sistemului - singurul care poate instala și dezinstala
programe, defini alți utilizatori, face operații de întreținere sau șterge fișiere
de sistem. Parola pentru utilizatorul root ați definit-o în timpul instalării
Linux - v-o mai amintiți, nu-i așa ? ?.
Oricâtă plăcere v-ar face puterea enormă pe care root o are asupra mașinii
(și asupra rețelei, dacă sunteți conectat la o rețea) vă sfătuiesc să începeți
prin a vă defini un cont de utilizator obișnuit, pe care îl veți folosi 99%
din timp. Conectarea prin el vă împiedică să distrugeți sistemul din greșeală
- ca root aveți libertate absolută, dar se presupune că știți ce faceți. Pentru
utilizarea curentă, nu aveți nevoie de privilegii administrative, așa că este
indicat să lucrați ca simplu user.
Introduceți, deci, la promptul login: numele de utilizator root, Enter și parola
aleasă. Sistemul vă va anunța când ați folosit pentru ultima dată contul și
dacă aveți poștă electronică necitită. Apoi veți primi un prompt de comandă
de forma:
[root@statia1 root]#
ceea ce înseamnă că sunteți utilizatorul root pe mașina statia1 și vă aflați
în directorul /root. Prompterul aparține interpretorului de comenzi bash (Bourne
Again Shell), echivalentul funcțional al vechiului COMMAND.COM din DOS). Computerul
dvs. așteaptă acum noi comenzi.
"Nici un pas / Fără STAS"
Această veche zicală a studenților politehniști este aplicabilă în Linux mai
mult ca oricând. Nu-i așa că ultima dată când ați căutat un fișier pe calculatorul
Windows al prietenului dvs. ați fost enervat de dezordinea directoarelor care
se găseau acolo? Fiecare utilizator grăbit care a lucrat pe acel sistem a salvat,
la repezeală, documente și programe pe unde a putut. Chiar dacă Microsoft a
introdus, în versiunile recente de Windows, directorul predefinit My Documents,
numele lungi de fișiere și structura de subdirectoare stufoasă fac ca lucrările
să fie greu accesibile. În plus, unele programe mai vechi pur și simplu refuză
să se instaleze "la locul lor", adică sub directorul Program Files, preferând
vechea amplasare stil DOS, în rădăcină. Dacă nu aveți un sistem Windows recent,
echipat cu partiții NTFS și drepturi clare de securitate, "entropia" lui va
crește în timp până la a-l face inutilizabil.
Comunitatea utilizatorilor a dezvoltat de mult timp un standard universal acceptat
pentru structura de directoare, care vă ajută să găsiți rapid ce vă interesează.
Standardul se numește File Hierarchy Standard (FHS) și poate fi procurat de
la adresa web www.pathname.com
Căile de directoare Unix se formează cu caracterul slash ("/"), directorul-rădăcină
fiind notat cu acest caracter. Fără a intra în detalii tehnice, puteți verifica
ușor că:
- directorul /home este rezervat fișierelor personale ale utilizatorilor.
Fiecare utilizator își păstrează propriile lucrări în directorul /home/numeutilizator.
Tot acolo se găsește și căsuța poștală a fiecărei persoane (mail-urile primite
și copiile celor expediate). Excepție face utilizatorul root, al cărui home-directory
este găzduit direct sub rădăcină, în /root;
- directorul /sbin conține programe executabile de sistem, accesibile administratorului;
- /etc este rezervat fișierelor de configurare ale diverselor programe;
- /usr/sbin și /usr/bin conțin programe executabile care pot fi rulate și
de utilizatorii obișnuiți;
- în /usr/share/doc se află documentația sistemului (dacă le-ați instalat,
în /usr/ share/ doc/HOWTO se găsesc copiile documentelor HOWTO de pe situl
www.tldp.org/);
- /usr/src conține codul sursă al kernelului Linux, în cazul în care doriți
să-l modificați sau recompilați;
- "cozile" de mesaje e-mail, fișierele temporare, jurnalele sistemului și
alte fișiere cu durată scurtă de viață sunt găzduite în diverse directoare
sub /var;
- /proc conține imagini ale memoriei RAM și alte informații despre procese;
- în /opt se păstrează diverse pachete pe programe third-party pe care le
instalați, spre exemplu fișierele mediului de birou integrat Sun StarOffice;
- /mnt este destinat montării părților amovibile din sistemul de fișiere,
cum ar fi dischetele, CD-ROM-urile și benzile magnetice.
Dacă aveți impresia că nu se găsește un director potrivit pentru fișierul pe
care doriți să-l găzduiți, vă rog să rezistați tentației de a crea un subdirector
arbitrar în rădăcină și a-l pune acolo. Nu trebuie decât să consultați standardul
și veți identifica imediat calea corectă - cu siguranță altcineva a mai avut
aceeași problemă înaintea dvs. și o soluție optimă a fost deja găsită.
Câinele Microsoft
Richard Stallman îl numea, zâmbind, "câinele Microsoft" - The MS-DOG. Pentru
mine, a fost una din iubirile din tinerețe: sistemul de operare MS-DOS. Ultima
versiune ce se găsește pe piață este 6.22 - "neacoperită" de interfața grafică
Windows, era un sistem de operare mic, bine cunoscut și eficient.
Paradoxal, DOS avea mai multe în comun cu Unix-ul decât Windows-urile ulterioare.
Asta pentru că, în momentul apariției (1982), se inspirase puternic din Unix-ul
aflat deja la maturitate. Pentru cei care nu urăsc tastatura, cățelușul Microsoft
poate fi acum, într-adevăr, prietenul omului: veți găsi mai mari similitudini
cu el când vine vorba de introducerea în Unix. Iată, foarte pe scurt, un tabel
comparativ cu câteva comenzi de bază: tabel
Pentru cei care au mai avut contact cu sistemele Unix, comparația între aceste
două seturi de comenzi poate părea forțată. Este adevărat - nu doresc decât
să dau novicilor câteva repere pentru a putea începe studiul Linux. Paralelismul
între cele două sisteme de operare nu merge decât până la un punct. Iar interpretorul
de comenzi Linux este ceva mult, mult mai complex - în realitate, este un mediu
de programare. Este suficient să spun că, pentru Linux, numărul comenzilor suportate
de interpretor ajunge la ordinul sutelor și este extesibil prin crearea de scripturi.
Vă reamintesc că, spre deosebire de DOS, comenzile Unix sunt case-sensitive,
așa că trebuie să fiți atent la poziția tastei Caps-Lock.
Jihadul
Există un "război religios" între utilizatorii de Linux privind răspunsul la
întrebarea "Care este cel mai bun editor de texte?". Răspunsul corect este:
"Depinde de preferințe" (și de scopul în care îl folosiți). Orice distribuție
Linux oferă o mulțime de editoare. Unele sunt mai potrivite pentru a scrie cod
C, altele pentru a redacta un document pretențios, cu formatări... emacs, pico,
joe, vi, elvis Abiword, Lyx, KWord, StarWriter: iată numai câteva exemple. joe,
pico și Lyx sunt preferințele mele, dar indiferent ce ați gândi, aveți nevoie
de un editor pentru a modifica fișierele de configurare ale sistemului. Alegerea
este a dvs.: asigurați-vă doar că editorul folosit salvează textul în format
ASCII simplu (plain text).
Nume
Odată ce sistemul v-a acceptat parola și ați obținut mult doritul prompter,
comenzile de mai sus nu vă vor ajuta foarte mult. Este util să puteți renumi
și muta directoare și fișiere, dar logica lucrurilor vă va rămâne la fel de
străină. De aceea, putem începe prin a face proaspătul Unix mai "uman", mai
apropiat de nevoile dvs.
Stabilirea numelui mașinii se face cu comanda hostname. Fișierul text /etc/hosts
reprezintă calea cea mai simplă pentru a asocia adresele IP ale calculatoarelor
din rețeaua dvs. cu numele lor. Dacă mașina pe care lucrați se va numi statia1
și va fi inclusă în domeniul internet mycompany.com, atunci numele său complet
(FQDN - Fully Qualified Domain Name) va fi statia1.mycompany.com. (inclusiv
punctul final, care reprezintă domeniul rădăcină pe internet). Presupunând că
adresa sa IP este 192.168.0.1 (exemplul conține o adresă privată, nerutabilă
spre internet), fișierul dvs. /etc/hosts va conține liniile:
127.0.0.1 localhost.localdomain localhost
192.168.0.1 statia1.mycompany.com statia1
Prima linie arată că interfața de rețea loopback (care pointează spre propria
mașină) are asociată adresa rezervată 127.0.0.1. Această interfață este extrem
de importantă pentru funcționarea calculatorului - ea vă permite să simulați
existența unei rețele chiar și pe un computer standalone și multe programe de
sistem se bazează pe această proprietate. Numele predefinit al mașinii pe această
pseudorețea este localhost.localdomain, cu abrevierea localhost. A doua linie
arată că adresei IP 192.168.0.1 (pe care o folosiți pe rețeaua locală Ethernet
prin intermediul dispozitivului numit /dev/eth0) este asociat numele statia1.mycompany.com,
respectiv statia1.
Vă reamintesc că adresele IP sunt asociate nu mașinilor, ci interfețelor lor
către diverse rețele. De exemplu, un sistem uzual dotat cu placă de rețea Ethernet
și modem conține trei interfețe: loopback, rețea locală eth0 și rețea WAN ppp0.
Tot în fișierul /etc/hosts puteți defini și adresele IP asociate altor mașini
din rețea. Totuși, pentru un sistem bine administrat, el nu va conține decât
cele două linii arătate - restul adreselor se "descoperă" dinamic, prin intermediul
Domain Name System (DNS).
Pe tine cum te cheamă?
Pentru a răspunde acestei întrebări de grădiniță, calculatoarele folosesc o
bază de date distribuită în tot internetul, anume DNS. Serviciul DNS este cel
care asociază nume de tipul www.redhat.com
cu adresa IP corespunzătoare (în ambele sensuri). Pentru a putea accesa această
vastă bază de date, computerul dvs. va trebui să "întrebe" un server DNS existent
în rețea. La fel ca în dilema oului și a găinii, serverul nu poate fi contactat
dacă nu i se cunoaște în prealabil adresa IP. Fișierul text /etc/resolv.conf
oferă veriga lipsă:
search mycompany.com
nameserver 127.0.0.1
nameserver 192.168.0.2
nameserver 192.168.0.3
Desigur, adresele date mai sus sunt exemple - va trebui să le înlocuiți cu
echivalenții lor reali, comunicați de furnizorul dvs. de internet. În mod normal,
atunci când încheiați un abonament, primiți aceste date într-un tabel sintetic,
alături de contract.
În fișierul /etc/resolv.conf pot apărea până la trei adrese IP ale serverelor
de nume care vor fi interogate (în ordinea în care apar). Sistemele Linux conțin
un server DNS inclus în distribuție - dacă l-ați activat în momentul instalării,
mașina dvs. este cea care poate descoperi, cel mai rapid, adresele internet
dorite. De aceea, prima adresă este cea a interfeței loopback, care pointează
către propriul dvs. calculator la adresa 127.0.0.1. Atenție, însă: dacă serverul
DNS nu este activat, existența primei linii de mai sus poate duce la încetinirea
semnificativă a funcționării, fiindcă va fi căutat un server inexistent. Pentru
detalii privind configurarea, vă recomand să citiți documentul DNS-HOWTO de
la www.tldp.org.
A venit poștașul
În Linux, funcțiile de transport și de prezentare a poștei electronice sunt
separate. Trimiterea mesajelor se face prin intermediul unor programe numite
Mail Transport Agents (MTA), dintre care cele mai cunoscute sunt sendmail și
qmail. Interogarea la distanță a unui server POP3 se face cu ajutorul fetchmail,
iar pentru prezentare vă stă la dispoziție un număr mare de programe-client
(Mail User Agents - MUA), atât în mod text cât și în mod grafic (sub interfața
X). În funcție de preferințe, puteți utiliza spartana comandă mail clasică (prezentă
în orice formă de Unix) sau mailere mai comode: mutt, elm, pine, Netscape Messenger,
componenta de mail a emacs-ului etc. Fiecare dintre aceste programe au un mod
de configurare și utilizare diferit, așa că merită să vă alegeți unul și să
îl folosiți consecvent. Alegerea mea personală este pine, un client în mod text
creat la Universitatea din Washington, foarte rapid, care vă permite să inventariați
dintr-o privire cantități enorme de corespondență. Nu este necesar să folosiți
interfața X decât dacă primiți fotografii sau alte documente atașate e-mail-urilor
dvs.
La nivel local, pe mașina dvs., puternicul program procmail se ocupă de distribuirea
poștei între utilizatori. Dacă, de exemplu, sunteți administratorul sistemului
și doriți să primiți poșta în contul de utilizator obișnuit (să zicem andrei),
nu trebuie decât să vă conectați ca root și să creați un fișier text numit .forward
(punctul de la început este important). În el, introduceți adresa de e-mail
către care va fi retrimisă poșta primită de root. Pentru exemplul dat, această
adresă este andrei@localhost.
Stăpânul Lumii
Vă mai amintiți romanul lui Jules Verne? Un bun administrator nu ajunge niciodată
să abuzeze de puterea uriașă pe care contul root i-o oferă asupra tuturor celorlalți
utilizatori din sistem. Așa cum spuneam la început, ar trebui să vă definiți
două identități: una este cea a atotputernicului root, iar cea de a doua este
cea de utilizator obișnuit. Pentru aceasta, conectați-vă ca root și tastați:
useradd andrei
Va fi adăugat utilizatorul andrei, având directorul personal predefinit /home/andrei.
În continuare, trebuie să definiți o parolă pentru utilizatorul abia creat.
passwd andrei
Parola vă va fi cerută de două ori (cu confirmare). Nu folosiți ca parolă numele
dvs., data nașterii, prenumele soției sau numărul de la mașină. Ar fi indicat
să consultați documentele existente pe internet privind alegerea unei parole
cu adevărat sigure; până atunci, voi spune că o parolă bună trebuie să aibă
minim 8-10 caractere, cu majuscule și minuscule intercalate și trebuie să conțină
litere și cifre.
Acum puteți părăsi contul root, pentru a vă lega la sistem ca utilizatorul
andrei. Comanda logout vă va readuce la promptul login: inițial, care arată
că se așteaptă conectarea unui nou utilizator. Introduceți andrei, Enter și
parola stabilită. Veți observa că promptul de comandă a devenit acum:
[andrei@statia1 andrei]$
Observați că ultimul caracter este $, nu #, ca la root. Din acest moment, utilizatorul
andrei poate lucra.
Mici scamatorii
Câte calculatoare aveți acasă? Unul, nu? Și ce se întâmplă dacă doriți să vă
luați poșta electronică și să lucrați, simultan, altceva? Sub Windows e destul
de complicat - chiar dacă dispuneți de multitasking și puteți deschide mai multe
ferestre, sunteți limitat de cei 14 inch ai monitorului. Sub Linux, dacă ecranul
dvs. e ocupat, nu aveți decât să apăsați combinația Alt-F2 și vă veți trezi
în fața unui nou prompt login:, unde puteți începe o nouă sesiune. Cu Alt-F1
vă reîntoarceți la vechiul ecran. Combinațiile Alt-F1 - Alt-F6 vă oferă acces
la 6 mașini virtuale separate, pe care puteți rula ce programe doriți. Credeți-mă,
e o facilitate deosebit de utilă, mai ales când șeful intră pe neașteptate în
birou, iar dvs. sunteți în mijlocul unei partide de Snake ...
Imaginea blondei din biroul de vis-?-vis nu vă dă pace. Știți că o cheamă Cristina
și că are cont deschis pe serverul Unix al firmei, dar alte lucruri nu puteți
afla despre ea. Ce ar fi de făcut? Pentru început, folosind Linux-ul pe care
l-ați instalat pe stația dvs. de lucru puteți încerca să descoperiți câteva
lucruri în plus. Sunt mari șanse ca fata să fie definită în sistem ca utilizatorul
[email protected] - asta dacă serverul principal Unix se cheamă
bigserver.mycompany.com, iar numele ei de utilizator este chiar cristina. Încercați
deci să folosiți "degețelul":
finger [email protected]. com
Dacă administratorul dvs. a instalat daemon-ul fingerd pe serverul central
și a introdus date despre fiecare utilizator, aici veți găsi câteva informații:
numere de telefon, numele complet, 2-3 rânduri despre activitatea ei în firmă.
Serviciul finger este unul dintre vechile utilitare Unix folosite de universitățile
americane pentru ca profesorii, studenții și cercetătorii să se poată găsi unul
pe altul și să își cunoască reciproc preocupările științifice. Unii administratori
de sistem îl dezactivează, din rațiuni de securitate, dar eu unul îl găsesc
atât de util încât ... Poate că și sysadminul dvs. a raționat la fel. Desigur,
completitudinea și corectitudinea informațiilor disponibile acolo depind de
ceea ce persoana în cauză dorește să se știe despre ea însăși. Cu comanda chfn
(Change Finger) puteți introduce și actualiza informațiile despre dvs. înșivă,
iar administratorul unei mașini poate face asta pentru orice utilizator definit
pe mașina în cauză.
Aici se impune o precizare. Desigur, cererea informațiilor despre o persoană
prin finger este perfect legală, ca și căutarea într-o carte de telefon. De
multe ori, veți instala un sistem Linux pe calculatorul dvs. de la firmă fără
știrea sau aprobarea șefilor 0ierarhici. Ca viitor administrator Unix, trebuie
să învățați autodisciplina - nu profitați în mod neloial de avantajul enorm
pe care o asemenea "unealtă" vi le oferă. Pe mâna unui profesionist lipsit de
scrupule, Unix este o "armă mortală".
Uff, iar trebuie să urc scările până la etajul 5, pe căldura asta, pentru a
lucra ceva pe stația colegului meu de acolo! Din fericire, și el are Linux instalat
pe computer, așa că voi putea folosi utilitarul TCP/IP telnet:
telnet 192.168.0.10
Comanda îmi va oferi acces la promptul login: al sistemului care această adresă
IP, pe care voi putea lucra ca și cum m-aș afla în fața tastaturii de acolo.
Desigur, dacă serverul DNS al rețelei funcționează, voi putea folosi și numele
mașinii:
telnet statia2.mycompany.com
fiindcă programul va putea găsi adresa IP pornind de la denumirea corespunzătoare.
Gata ! Ajunge pentru azi !
Am introdus comanda date și Linux îmi spune că e destul de târziu, așa că mă
voi despărți de dvs. Trebuie să ajung acasă: diseară rulează un film despre
Cristofor Columb. Á-propos, Cristofor Columb a descoperit America în 1492. Dacă
doriți știți și în ce zi a săptămanii s-a întamplat asta, nu trebuie decât să
tastați cal 1492. Calendarul este precis - ține seama și de corecțiile introduse
peste secole de Papi.
Înainte de a pleca, voi părăsi mașina Linux. Acțiunile pe care aș putea să
le fac sunt deconectarea utilizatorului andrei (pentru ca un alt utilizator
să poată lucra mai apoi, pornind de la promptul login:), inițializarea mașinii
(pentru a trece, spre exemplu, în Windows, dacă dispun de ambele sisteme de
operare) sau închiderea ei totală. Aceste acțiuni sunt executate, respectiv,
de comenzile logout, reboot sau poweroff (ultimele două fiind forme ale comenzii
shutdown).
Până data viitoare, vă urez "săpături" plăcute printre detaliile sistemului
Linux!
|