Sunteți pe pagina 1din 5

Administrare Linux/UNIX

Sistemul de fiiere Linux/UNIX

are o structur ierarhic, sub form de arbore, avnd ca rdcin directorul /


(root); utilizatorul root este singurul cu drept de scriere n acest director;
n interpretorul de comenzi, fiierele pot fi accesate fie prin calea relativ
(directorul curent), fie prin calea absolut (care pornete din rdcin);
nu sunt utilizate extensii pentru interpretarea fiierelor; de asemenea, UNIX este
case-sensitive: file i FILE sunt nume de fiier diferite;
fiecare director conine minim 2 fiiere:
. - direcioneaz ctre directorul curent;
.. - direcioneaz ctre directorul printe;
n UNIX, fiierele sunt de mai multe tipuri:
obinuite (fiiere text sau binare executabile, biblioteci);
directoare;
legturi (hard links i symbolic links);
fiiere speciale:
dispozitive fizice sau virtuale (localizate n /dev);
fiiere bloc sau caracter;
benzi de asamblare (pipes) - pt. comunicaia ntre procese;
fiiere socket - pt. comunicaii n reea;
orice fiier UNIX au o serie de atribute:
deintorul fiierului; grupul cruia aparine deintorul;
drepturile de acces: r, w, x (pentru directoare: dreptul de vizualiza
coninutul);
atribute speciale:
SUID/SGID (s) - determin schimbarea identitii deintorului;
utilizat pentru anumite fiiere (ex. binare): dei deintorul este root, un
alt utilizator poate rula executabilul n contul utilizatorului root;
Sticky bit (t) - utilizat la directoare: interzice unui utilizator tergerea
altor fiiere dect cele proprii;

Procese Linux/UNIX

o instan a unui program aflat n execuie = proces;


sunt, de regul, programe utilizator i daemoni;
conine imaginea fiierului executabil (segmentele de cod, date i stiv)

precum i resursele utilizate n momentul execuiei (registre, fiiere


deschise etc.);
un program este executat de nucleul SO (kernel); lansarea n execuie
presupune:
cutarea fiierului ce conine cod executabil;
ncrcarea n memorie a coninutului su;
predarea controlului ctre acest program;
procesele sunt create de un proces printe (n UNIX: init);
fiecare proces primete, la creare, un identificator unic (PID); init are PID=1;
un proces printe poate crea procese fiu prin intermediul apelurilor de sistem
fork i vfork;
fork returneaz PID-ul procesului fiu n procesul printe i 0 n procesul fiu;
resursele deinute de procesul printe sunt duplicate n procesul fiu
(segmente, fiiere deschise, variabile de mediu);
fork poate eua n 2 cazuri:
n sistem sunt prea multe procese;
se depete nr. maxim de procese acceptate pt. un anumit user;
principalele aplicaii n care este solicitat utilizarea fork:
aplicaii server, care primesc cereri de la clieni, creeaz cte un proces
pentru o cerere i paseaz cererea noului proces, urmnd ca acesta s o
soluioneze;
aplicaii ce trebuie s lanseze n execuie un alt program, simultan
cu continuarea propriei execuii; ex.: interpretorul de comenzi;
vfork a fost introdus pt. a optimiza procedura de creare a fiului;
dac procesul fiu urmeaz s lanseze n execuie un alt program, este inutil
pierderea timpului cu copierea resurselor printelui;
vfork creeaz un fiu care partajeaz acelai spaiu de adresare cu
procesul printe;
printele este pus n ateptare pn cnd procesul fiu va executa un program
sau va apela funcia exit;
permisiunile unui proces de a accesa fiiere sau alte resurse sunt date de
permisiunile utilizatorului ce deine procesul; utilizatorii i pot controla numai
propriile procese (excepie fcnd root);
drepturile de acces ale unui proces fiu sunt motenite de la procesul printe;
procesele pot avea prioritatea ntre -20 (maxim) i 20 (minim);
prioritatea implicit este 10;
procesele pot rula n:
foreground, interacionnd cu utilizatorul;
background, avnd rolul de job;
procesele pot avea diverse stri:
running R - n execuie;
sleep S - suspendat n ateptarea unui eveniment;
wait D - suspendat, neintreruptibil;
stopped T - oprit; poate fi pornit de alt proces;
zombie Z - terminat; informaia nc se afl n tabel;

Tabele de rutare

rutarea este operaiunea de selectare a celor mai bune ci pentru a direciona


traficul ntr-o reea
procesul de rutare se desfoar la nivelul 3 al modelului OSI;
rutrile pot fi:
inexistente, dac reeaua nu conine subreele;
statice, folosite pentru reele de dimensiuni mici sau medii, avnd calea
origine-destinaie relativ simpl; n acest caz, rutele sunt deja stabilite, de
obicei de ctre administratorul de reea; astfel, ruterele nu comunic ntre
ele informaii referitoare la topologia curent a reelei;
dinamice, n care cile spre destinaie sunt determinate la momentul
trimiterii pachetelor, prin protocoale de rutare, pentru care se folosesc
daemonii routed i gated; kernelul ia decizii privind ruta ce ar trebui urmat
de un anumit pachet;
rutarea este bazat pe o tabel care are, n principal, urmtoarele cmpuri:
adresa reelei;
masca de reea;
adresa urmtorului router i/sau
adresa interfeei de ieire;
n momentul n care un dispozitiv ce ruteaz (ex. un router dedicat) primete un
pachet:
extrage adresa IP destinaie;
localizeaz adresa de reea destinaie n tabela de rutare;
ruteaz (dirijeaz) pachetul ctre urmtorul ruter (next hop);
procesul se reia pe urmtorul router pn cnd pachetul ajunge la destinaie;
n sistemele Linux/UNIX, pentru vizualizarea, adugarea sau tergerea rutelor se
folosesc comenzile route sau ip route, urmate de parametrii corespunztori;

Proceduri de backup

cauze ale pierderii de informaii:


tergeri accidentale ale fiierelor;
erori (bug-uri) n programe, ce pot afecta integritatea datelor;
cderi ale echipamentelor, ce pot cauza pierderi de informaii; soluii, n
acest caz, pot fi utilizarea de surse de alimentare nentreruptibile (UPS)
i/sau utilizarea tehnologiei RAID;
pentru prevenirea acestor pierderi de informaii, este necesar efectuarea, de
ctre administratorul de sistem, a unor copii de siguran cel puin pentru
urmtoarele date (n sistemele UNIX):
fiierele de configurare ale sistemului;
fiierele jurnal ale sistemului;

mesajele utilizatorilor (/var/spool/mail);


bazele de date (/var/lib/mysql, /var/lib/pgsql etc.);
directoarele home ale utilizatorilor, dac spaiul de pe mediul de stocare
permite acest lucru;
alte informaii, dup caz;
salvrile trebuie fcute la un interval stabilit de timp, pe un mediu sigur, pstrat
ntr-un loc sigur;
de regul, se prefer efectuarea de backup cnd sistemul are un nivel de
ncrcare i un numr de utilizatori activi minime (spre exemplu, noaptea);
salvarea cu o anumit frecven a datelor se poate realiza prin intermediul
serviciului cron; acesta permite flexibilitate n specificarea frecvenei de
efectuare automat a unor sarcini n sistem;
medii utilizate pentru stocarea copiilor de siguran:
band magnetic
avantaje: comoditate de manipulare, capacitate mare de stocare,
fiabilitate, numr mare de rescrieri;
dezavantaje: costul ridicat al unitilor de band magnetic i relativ
slaba siguran a informaiilor casetele trebuie stocate ntr-un mediu
fr praf, fr emisii magnetice, fr praf i fr cldur excesiv;
discuri optice
medii sigure i durabile;
cost mic;
vitez lent;
incomod de manipulat;
discuri dure
soluie avantajoas dpdv. al costului i al modului de manipulare;
reea
se pot utiliza servicii precum ftp, rsync i un dispozitiv de stocare pe
reea dedicat (NAS);
pentru backup-uri mai puin sofisticate, se folosesc cu precdere tar (Tape
Archive), dump sau cpio; restaurarea datelor se poate efectua cu restore;

Scripturi Linux/UNIX

interpretorul de comenzi (shell) este un program ce preia comenzi de la


utilizator (de la tastatur sau dintr-un fiier numit script) i, n cazul n care sunt
valide, le trimite nucleului (kernel) pentru execuie;
scripturile shell sunt interpretate, i nu compilate;
n afar de trimiterea de comenzi ctre kernel, shell-ul are i rolul de a furniza
un mediu de lucru pentru utilizator (CLI Command Line Interface), ce poate fi
personalizat folosind variabile de mediu i fiiere de configurare
exist o varietate de interpretoare de comenzi pentru sistemele UNIX i UNIXlike, printre care: sh (Bourne shell), bash (Bourne again shell standardul de
facto pentru sistemele GNU/Linux), csh (C shell cu o sintax asemntoare
cu cea a limbajului C), ksh (Korn shell de regul setat ca implicit pe sistemele

UNIX) etc.;
n mod normal, shell-urile sunt interactive (ateapt comanda de la utilizator, o
ruleaz i apoi o ateapt pe urmtoarea);
n multe situaii este util crearea unui fiier text cu mai multe comenzi (shell
script):
pentru a rula acelai set de comenzi folosind un alt set de parametri, astfel
ctignd timp;
pentru a crea propriile comenzi;
pentru a automatiza o oarecare sarcin frecvent;
pentru a putea rula un script, utilizatorul trebuie s aib drept de execuie pe
acel fiier;
un mod simplu i eficient de a partaja setri de configurare ntre aplicaii l
constituie variabilele de mediu; exemple: PATH (conine directoarele n care
se caut fiierele executabile corespunztoare comenzilor introduse de utilizator),
HOME (directorul personal al utilizatorului), HISTSIZE (dimensiunea istoricului
de comenzi) etc.;
pentru a vedea cele mai importante variabile de mediu se pot folosi comenzile
env sau printenv;
variabilele de mediu setate ntr-o sesiune de shell se vor copia i n shell-ul fiu;
n schimb, dac se modific o variabil din shell-ul printe, modificarea nu va fi
vizibil n shell-ul fiu i vice-versa;
pentru a modifica o variabil de mediu pentru un utilizator, se va modifica
fiierul .bash_profile (sau .bashrc), adugndu-se o linie export
<nume_var>=<valoare>; ex.: export PATH=$PATH:~my_user/bin;
dac se dorete ca modificarea variabilei s fie global, ea se va realiza ntr-unul
din fiierele /etc/profile, /etc/bash.bashrc sau /etc/environment; ex.:
export PATH=$PATH:~$USER/bin;
pentru a rula un script cu o anumit frecven, se poate folosi serviciul cron;

S-ar putea să vă placă și