Arhiva pentru categoria ‘Linux’
Prezentam in urma cu ceva vreme drepturile fisierelor in UNIX. Dupa cum am vazut, un fisier sau un director pot avea permisiuni diferite in functie de proprietarul si grupul acestuia. Spuneam ca exista trei tipuri de utilizatori care acceseaza o resursa: proprietarul, membrul grupului sau oricine altcineva. In functie de cele trei tipuri de utilizatori putem seta anumite permisiuni. Astfel putem da pe un fisier drept de citire si scriere proprietarului, drept de citire unui membru al grupului setat, si niciun drept utilizatorilor straini daca setam permisiunile pe 640. Permisiunile grupate pe cele trei tipuri de utilizatori sunt bine gandite, dar in anumite situatii e greoi sau costisitor din punct de vedere al resurselor sa modificam permisiunile. De exemplu, daca avem nevoie de un script... Mai departe »
Pentru un LAMP eficient e important sa alegem o distributie care sa se potriveasca cererilor. In momentul de fata sunt cateva sute de distributii Linux, fiecare laudandu-se cu cate ceva. Care distributie ni se potriveste cel mai bine depinde de stilul de lucru, de aplicatiile folosite si de asteptarile care le avem. Fara a avea pretentia ca as acoperi toate distributiile care pot fi folosite ca server, mentionez mai jos distributiile care le-am folosit si care le recomand pentru un LAMP eficient incercand sa mentionez cat se poate avantajele fiecareia. CentOS CentOS, varianta scurta pentru Community ENTerprise Operating System, este o versiune gratuita a distributiei Red Hat Enterprise – cu cateva diferente majore bineinteles, dar minore din punct de vedere al functionalitatii si com... Mai departe »
In CentOS putem specifica ruta folosita pentru transmiterea pachetelor in afara retelei folosind directiva GATEWAY= din fisierul /etc/sysconfig/network. Exista situatii in care avem doua sau mai multe routere in acelasi LAN si pentru anumite destinatii dorim sa folosim o alta ruta. Pentru asta folosim comanda route. Pentru a crea o ruta speciala pentru un IP destinatie vom folosi urmatoarea comanda: b0cacd8efc7d599375e9f7ac764d655d004 Aici 192.168.200.5 e adresa IP destinatie iar 192.168.0.1 adresa IP a routerului prin care se face routarea. In cazul unei retele, vom folosi urmatoarea comanda: b0cacd8efc7d599375e9f7ac764d655d005 Diferenta fata de comanda anterioara e parametrul -net care ii spune comenzii route ca routarea se va face pentru orice IP destinatie din clasa care urmeaza (192.1... Mai departe »
Un sistem cu suport TCP/IP trebuie sa aiba un hostname asociat. In Linux, acest hostname se specifica la instalare si de obicei ramane acelasi hostname pana cand sistemul este scos din productie. Pentru a vedea ce hostname are sistemul pe care suntem putem rula comanda hostname: b0cacd8efc7d599375e9f7ac764d655d006 Daca situatia o cere, hostnameul poate fi modificat. Pentru asta trebuie sa modificam fisierul de configurare, /etc/sysconfig/network care arata cam asa: b0cacd8efc7d599375e9f7ac764d655d007 Directivei HOSTNAME ii schimbam valoarea cu hostnameul care dorim sa il setam pentru sistem (ex. www.lamp.ro). Dupa reboot noul hostname va fi activ. Daca din diverse motive dorim ca noul hostname sa fie activ inainte de reboot, o putem face modificand cu utilitarul sysctl valoarea variabilei ... Mai departe »
In CentOS, la fel ca in FreeBSD sau alt sistem de operare folosit ca server, se pot instala mai multe adrese IP pe o singura interfata de retea. Pentru a adauga un grup de adrese IP pe o interfata, ex. eth0, vom crea in directorul /etc/sysconfig/network-scripts fisierul ifcfg-eth0-range0 care va contine un range de IP-uri care urmeaza sa fie setate ca adrese secundare. De exemplu, daca dorim sa adaugam grupul de adrese IP de la 192.168.2.100 la 192.168.2.200, cu masca de retea 255.255.255.0, vom crea fisierul ifcfg-eth0-range0 cu urmatorul continut: b0cacd8efc7d599375e9f7ac764d655d009 In fisierul ifcfg-eth0-range0 avem urmatoarele directive: IPADDR_START – prima adresa secundara care va fi setata pe interfata eth0; IPADDR_END – ultima adresa secundara din grup, care va fi seta... Mai departe »
In CentOS folosim comanda yum pentru instalarea si updatarea pachetelor binare. yum ne usureaza munca verificand dependintele care urmeaza sa le instaleze pentru noi de fiecare data cand vrem sa instalam un pachet. Dezavantajul acestui comportament este ca se intampla sa updatam si pachete care nu ne intereseaza astfel pierzand timp sau, situatii mai rare ce-i drept, se poate intampla sa nu putem updata un pachet din cauza unui alt pachet care nu are in repository versiunea ceruta sau care intra in conflict cu un alt pachet care este cerut ca dependinta. Cel mai usor mod de a rezolva problemele de genul acesta e sa excludem pachetele care nu ne intereseaza. Asta se poate face in doua moduri. Primul ar fi modificarea fisierului de configurare, “/etc/yum.conf“. Fisierul “/e... Mai departe »
O problema de care m-am lovit destul de des e eroarea “Argument list too long” in cazul in care vreau sa sterg mai multe fisiere dintr-un anumit director. De exemplu, pe un server se intampla sa apara in “/tmp” foarte multe fisiere cu numele “pThumbxxxxxxx“, fisiere create de un script conceput prost. Daca incerc sa le sterg din shell primesc eroarea “Argument list too long“: b0cacd8efc7d599375e9f7ac764d655d014 Eroarea apare pentru ca comanda “rm” nu suporta un numar foarte mare de parametri. Exista cateva solutii pentru problema asta. Cea mai simpla e sa folosim comanda “find“: b0cacd8efc7d599375e9f7ac764d655d015 O alta solutie care o putem aplica in cazul in care ne intereseaza sa verificam diferiti parametri ai fisi... Mai departe »
“sed“, dupa cum ii spune numele, este un stream editor – adica filtreaza textul care i se paseaza, text care poate fi modificat. Un caz care poate fi intalnit este eliminarea liniilor goale dintr-un text. Ca sa eliminam liniile goale trebuie sa specificam operatorul “d“. Pentru inceput sa cream un fisier care va contine cateva randuri de text separate de linii goale: b0cacd8efc7d599375e9f7ac764d655d018 Ca sa afisam continutul fisierului eliminand liniile goale putem folosi “sed” dupa cum urmeaza: b0cacd8efc7d599375e9f7ac764d655d019 Prin “^$” ii spunem editorului ca partea care ne intereseaza e un rand gol – inceput de rand reprezentat de caracterul “^” urmat imediat de un sfarsit de rand reprezentat de caracterul ̶... Mai departe »




